it-swarm.com.de

Kann die Konfigurationsdatei in "/ etc / ansible /" unter Mac OS X nicht finden

Ich arbeite unter Mac OS X und bin neu bei Ansible . Ich habe vergessen, wie ich es installiert habe. Ich denke über pip:

$ pip freeze
altgraph==0.12
ansible==1.9.2

Nach dem, was ich lese, sollte es in jedem Fall eine Konfigurationsdatei in /etc/ansible/ geben, aber der Inhalt dieses Verzeichnisses ist einfach:

$ ls -a /etc/ansible/
.       ..      .hosts.swp  hosts       roles

Es sieht nicht so aus, als wäre eine Umgebungsvariable definiert:

$ echo $ANSIBLE_CONFIG
# blank line

Ansible funktioniert, soweit ich das beurteilen kann (ohne einen lokalen ansible.cfg und es befindet sich nichts im Ordner ansible im Benutzerverzeichnis), aber ich bin verwirrt.

Kann mir bitte jemand erklären, was ich hier nicht bekomme?

12
MikeiLL

Soweit ich weiß, befindet sich die Ansible config-Datei (ansible.cfg) hier für Konfigurationseinstellungen auf Benutzerebene:

~/.ansible.cfg

Sowie die systemweite Konfiguration hier; Wo Sie angeben, können Sie keine solche Datei finden:

 /etc/ansible/ansible.cfg

Wenn auf Ihrem System mehrere Benutzer vorhanden sind, befindet sich möglicherweise ein ~/.ansible.cfg in einem der von Ihnen vergessenen Benutzerverzeichnisse.

Sie geben an, dass Sie es möglicherweise mit pip installiert haben, aber wenn Sie die Homebrew-Formel für Ansible überprüfen, wurde es erst vor kurzem von Version 1.9.2 auf 1.9.3 aktualisiert 4. September . Vielleicht haben Sie es über Homebrew installiert?

Und Ihr Hauptanliegen scheint zu sein, ob der ansible.cfg notwendig ist:

Ansible funktioniert, soweit ich das beurteilen kann (ohne einen lokalen ansible.cfg und es befindet sich nichts im Ordner ansible im Benutzerverzeichnis), aber ich bin verwirrt.

Kann mir bitte jemand erklären, was ich hier nicht bekomme?

Ja, es sollte ohne Konfiguration funktionieren. Bei den meisten Softwareteilen setzt eine Konfigurationsdatei lediglich die Standardeinstellungen des Kernsystems außer Kraft. Wenn also ansible.cfg fehlt, funktioniert Ansible weiterhin, verwendet jedoch nur die Standardeinstellungen des Kernsystems. Wie in Ansibles offizieller Dokumentation erklärt:

Bestimmte Einstellungen in Ansible können über eine Konfigurationsdatei angepasst werden. Die Bestandskonfiguration sollte für die meisten Benutzer ausreichen, aber es kann Gründe geben, die Sie ändern möchten.

Änderungen können in einer Konfigurationsdatei vorgenommen und verwendet werden, die in der folgenden Reihenfolge verarbeitet wird:

* ANSIBLE_CONFIG (an environment variable)
* ansible.cfg (in the current directory)
* .ansible.cfg (in the home directory)
* /etc/ansible/ansible.cfg
13
JakeGould

Die Formel homebrew ersetzt die Zeichenfolge /etc/ansible in constants.py durch /usr/local/etc/ansible. Scheint mir ein schlechter Juju zu sein.

Ich hatte keinen /usr/local/etc/ansible nach brew install ansible. Ich habe jedoch bestätigt, dass ein gültiger ansible.cfg (vorerst) anerkannt wird.

Meine Empfehlungen:

  1. Verwenden Sie brew nicht, um Ansible zu installieren.
  2. Seien Sie explizit zu Ihrer Konfiguration und hängen Sie nicht von globalen Systemumgebungen wie /etc/ansible/ansible.cfg ab.

Code Verweise:

brew Ansible Formula Ersatz # 475: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/ansible.rb#L475

ansible constants.py # 61: https://github.com/ansible/ansible/blob/v1.9.3-1/lib/ansible/constants.py#L61

12
Mike D

Ich habe festgestellt, dass Homebrew weder ein /etc/ansible-Verzeichnis noch eine Konfigurations- oder Hostdatei erstellt. Wenn Sie jedoch das Verzeichnis /etc/ansible erstellen und die Konfiguration aus dem Github-Repository in das Verzeichnis /etc/ansible kopieren, wird dies als Konfiguration erkannt.

Sie können auch in diese Konfiguration gehen und die Zeile auskommentieren, die den Lagerort angibt, um:

inventar =/etc/ansible/hosts

Danach führt ansible bei einer Homebrew-Installation die gleichen Schritte aus wie bei jeder anderen Installation, und die Online-Dokumentation kann mit der Homebrew-Version verwendet werden.

2
Guardius

Unter OSX hatte ich ansible mithilfe von pip installiert und festgestellt, dass ansible.cfg nicht in/etc/ansible oder in meinem Ausgangsverzeichnis vorhanden ist.

Quelle: https://github.com/ansible/ansible/issues/18512

pip installiert im Allgemeinen keine Konfigurationsdateien und pip mit ansible ist nicht anders. Wenn Sie nur ansible ausprobieren möchten, funktioniert dies im Allgemeinen ohne eine ansible.cfg-Datei. (Sie müssen zwar Inventar angeben, können dies jedoch in der Befehlszeile und nicht in einer Datei tun, wenn Sie dies möchten.) Wenn Sie eine Beispielkonfigurationsdatei zum Anpassen erhalten möchten, können Sie sie hier aus dem Tarball oder dem Quellrepository abrufen: https://github.com/ansible/ansible/blob/devel/ examples/ansible.cfg

Inventardateien werden hier erläutert: http://docs.ansible.com/ansible/intro_inventory.html Um Hosts für das Inventar in der Befehlszeile anzugeben, geben Sie stattdessen einfach Folgendes ein mach so etwas:

ansible -i 'Host1,Host2,Host3'  all -m command -a 'hostname'

Wenn Sie einen einzelnen Host über die Befehlszeile angeben möchten, verwenden Sie ein nachstehendes Komma in der Inventarzeichenfolge:

ansible -i 'Host1,' all -m command -a 'hostname'
2
vaichidrewar