Ein Red Hat-Produkt, mit dem Sie Ansible mit einer Web-GUI ausführen können. Ansible Engin wird auch im Operationsteil ausgeführt, aber es war ein wenig anders, als in den Server zu gehen und Ansible auszuführen. Beachten Sie, dass es sich nicht um ein Standardmodul handelt, das bei der Installation von Ansible verwendet werden kann. Was muss ich jedoch tun, um ein zusätzliches Modul zu verschieben? Die Umgebung ist wie folgt.
Offizielles Verfahren zum Hinzufügen eines Moduls mit Standard Ansible ) Es wird reibungslos gehen. Was mich diesmal süchtig macht, ist, dass wenn ich in den Server gehe und Ansible starte, es funktioniert, aber nicht von Tower. .. Es schien kahl zu sein, weil auch andere Fehler auftraten.
Es hat nichts mit dem Hinzufügen von Modulen zu tun, aber in den von mir hinzugefügten Modulen muss der verwendete Python 3 statt 2 sein, also "ansible_python_interpreter" /reference_appendices/python_3_support.html) angegeben, um Python3 zu verwenden, das zusätzlich in RHEL7 installiert wurde. Ich konnte es normal mit Python3 mit normalem Ansible ausführen, aber wenn ich es mit Tower ausführe, wird dieser Fehler angezeigt. .. ..
AttributeError: module 'enum' has no attribute 'IntFlag'
Zusammenfassend war die folgende Aufzählung34 in meiner Umgebung schlecht, daher habe ich sie durch Balsing behoben.
/var/lib/awx/venv/ansible/bin/pip uninstall enum34
Schließlich das Hauptthema, aber nach Behebung des obigen Enum-Fehlers ist der nächste dieser Fehler.
<module>ImportError: cannot import name 'ModuleName'
Zum ersten Mal hier dachte ich: "Oh, ich konnte es nicht lesen." Durch die Registrierung von ansible.com/ansible/latest/dev_guide/developing_locally.html) als JSON konnte ich es normal ausführen.
{
"ANSIBLE_LIBRARY": "/usr/share/ansible/plugins/modules/<added module name>",
"ANSIBLE_MODULE_UTILS": "/usr/share/ansible/plugins/modules/<added module name>/module_utils/"
}
Der festzulegende Speicherort ist Ansible Tower-Einstellungen> Jobs> Zusätzliche Umgebungsvariablen.
Recommended Posts