[PYTHON] Ausführen des in Ansible Tower hinzugefügten Ansible-Moduls

Was ist Ansible Tower?

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.

Informationen zum Hinzufügen eines Ansible-Moduls

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.

Fallstricke bei der Verwendung von Python 3 zum Ausführen von Playbooks in Ansible Tower

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

Umgebungsvariablen für Module hinzugefügt, die auf Tower hinzugefügt wurden

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

Ausführen des in Ansible Tower hinzugefügten Ansible-Moduls
Verwendung des optparse-Moduls
So führen Sie TensorFlow 1.0-Code in 2.0 aus
Verwendung des ConfigParser-Moduls
Verwendung der C-Bibliothek in Python
So führen Sie CNN in 1 Systemnotation mit Tensorflow 2 aus
So erhalten Sie die Dateien im Ordner [Python]
So führen Sie LeapMotion mit Nicht-Apple Python aus
So rufen Sie den n-ten größten Wert in Python ab
So führen Sie AutoGluon in einer Google Colab-GPU-Umgebung aus
So ermitteln Sie die Anzahl der Stellen in Python
Wie Sie das aktuelle Verzeichnis in Python in Blender kennen
So führen Sie Python im virtuellen Raum aus (für MacOS)
Verwendung von Raspeye Relay Module Python
So führen Sie Tests zusammen mit Python unittest aus
Verwendung der Exist-Klausel in Django Queryset
Wie man setUp nur einmal in Python unittest ausführt
So beheben Sie SSL-Modulfehler in einer Anaconda-Umgebung
Verwendung des in Lobe in Python erlernten Modells
So greifen Sie auf die globale Variable des importierten Moduls zu
[Python] So geben Sie Listenwerte der Reihe nach aus
Verwendung des Generators
So führen Sie Notepad ++ Python aus
Wie man in Python entwickelt
Wie benutzt man den Dekorateur?
So erhöhen Sie die Achse
So starten Sie die erste Projektion
So schreiben Sie eine benutzerdefinierte Validierung in Django REST Framework
So finden Sie die optimale Anzahl von Clustern für k-means
[Ansible] So rufen Sie Variablen auf, wenn Sie ein eigenes Modul erstellen
[Python] So überprüfen Sie, ob der Schlüssel im Wörterbuch vorhanden ist
[TensorFlow 2 / Keras] Ausführen des Lernens mit CTC Loss in Keras
So testen Sie die Attribute, die durch add_request_method of pyramid hinzugefügt wurden
So debuggen Sie eine Standard-Python-Bibliothek in Visual Studio
So importieren Sie NoteBook als Modul in Jupyter (IPython)
Verwendung der Methode __call__ in der Python-Klasse
So legen Sie das HTML-Klassenattribut in Djangos forms.py fest
So manipulieren Sie das DOM im Iframe mit Selen
So melden Sie sich automatisch wie 1Password von der CLI an
(Hinweis) So übergeben Sie den Pfad Ihres eigenen Moduls
So generieren Sie eine Abfrage mit dem IN-Operator in Django
So führen Sie die Exportfunktion des GCP-Datenspeichers automatisch aus
So erhalten Sie den letzten (letzten) Wert in einer Liste in Python
So erhalten Sie alle Schlüssel und Werte im Wörterbuch
Wie man in Django die angezeigte lange Zeichenkette in der Mitte abkürzt ....
Hinweise zur Verwendung von Marshmallow in der Schemabibliothek
So importieren Sie NoteBook als Modul in Jupyter (IPython)
[Shell] So erhalten Sie den Remote-Standardzweig mit Git
Programmieren, um in der Welt zu kämpfen ~ 5-1
So geben Sie beim Testen absichtlich einen Fehler in der Shell aus
Programmieren, um in der Welt zu kämpfen 5-3
[Python] Wie man PCA mit Python macht
Umgang mit Sitzungen in SQLAlchemy
Verwendung der Zip-Funktion
[sh] Das Speichern der Befehlsausführung führt zu Variablen
So bestimmen Sie die Existenz eines Selenelements in Python
So installieren Sie OpenCV in Cloud9 und führen es in Python aus
So implementieren Sie Java-Code im Hintergrund von Red Hat (Linux ONE)
So lösen Sie ModuleNotFoundError auf: Kein Modul mit dem Namen XXX in Jupyter Notebook