Ansible Determina il sistema operativo


11

Come parte del mio script deploy voglio verificare su quale sistema operativo sto distribuendo. Ho usato ansible localhost -m setupe come si dice nella documentazione questo produce molto. Esiste un modo per accedere alla distro ubuntu che sto usando? Idealmente, voglio sapere se la scatola esegue Trusty o Precise


Che dire di lsb_release?
Xen2050,

cat /etc/*releaseè quello che uso, per qualsiasi sistema Linux.
qasdfdsaq,

@ Xen2050 In questo caso penso che abbia più senso usare la funzionalità integrata di Ansible che probabilmente chiama ciò che entrambi menzionate per stabilire il fatto
ford prefect

Risposte:


21

ansible_distribution_release

Il fatto si chiama ansible_distribution_release. Se stai usando Ubuntu 14.04, il fatto sarebbe " fidato ".

Altri due valori di esempio: ansible_distribution_releasesarebbero " xenial " per Ubuntu 16.04 e " preciso " per Ubuntu 12.04.

ansible_distribution_version

Puoi anche vedere il fatto ansible_distribution_version. Per Ubuntu 14.04, vedresti " 14.04 ".

Altri due valori di esempio: ansible_distribution_versionsarebbero " 16.04 " per Ubuntu 16.04 e " 12.04 " per Ubuntu 12.04.

Ecco un esempio di attività che potresti inserire in un playbook per installare il build-essentialpacchetto solo su Ubuntu 14.04:

- name: Install build-essential for Ubuntu 14.04 only
  apt: name=build-essential state=present
  when: ansible_distribution_version == "14.04"
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.