Ansible Betriebssystem bestimmen

Ansible Betriebssystem bestimmen

Als Teil meines Bereitstellungsskripts möchte ich prüfen, auf welchem ​​Betriebssystem ich bereitstelle. Ich habe verwendet ansible localhost -m setupund wie in der Dokumentation steht, gibt dies eine Menge aus. Gibt es eine Möglichkeit, einfach auf die von mir verwendete Ubuntu-Distribution zuzugreifen? Idealerweise möchte ich herausfinden, ob auf der Box Trusty oder Precise läuft.

Antwort1

ansible_distribution_release

Der Fakt heißt ansible_distribution_release. Wenn Sie Ubuntu 14.04 verwenden, lautet der Fakt "vertrauenswürdig".

Zwei weitere Beispielwerte ansible_distribution_releasewären: „Abonnieren" für Ubuntu 16.04 und "präzise" für Ubuntu 12.04.

ansible_distribution_version

Sie können sich auch die Tatsache ansehen ansible_distribution_version. Für Ubuntu 14.04 würden Sie sehen:14.04".

Zwei weitere Beispielwerte ansible_distribution_versionwären: „16.04" für Ubuntu 16.04 und "12.04" für Ubuntu 12.04.

Hier ist eine Beispielaufgabe, die Sie in ein Playbook einfügen könnten, um das build-essentialPaket nur auf Ubuntu 14.04 zu installieren:

- name: Install build-essential for Ubuntu 14.04 only
  apt: name=build-essential state=present
  when: ansible_distribution_version == "14.04"

verwandte Informationen