Ansible Determine Operating System
ansible_distribution_release
The fact is called ansible_distribution_release
. If you are running Ubuntu 14.04, the fact would read "trusty".
Two other example values: ansible_distribution_release
would be "xenial" for Ubuntu 16.04 and "precise" for Ubuntu 12.04.
ansible_distribution_version
You can also look at the fact ansible_distribution_version
. For Ubuntu 14.04, you would see "14.04".
Two other example values: ansible_distribution_version
would be "16.04" for Ubuntu 16.04 and "12.04" for Ubuntu 12.04.
Here is an example task that you could put into a playbook to install the build-essential
package only on Ubuntu 14.04:
- name: Install build-essential for Ubuntu 14.04 only
apt: name=build-essential state=present
when: ansible_distribution_version == "14.04"
Related videos on Youtube
Comments
-
ford prefect over 1 year
As part of my deploy script I wanna check which operating system I am deploying to. I used
ansible localhost -m setup
and as they say in the documentation this outputs a lot. Is there a way I can just access the ubuntu distro I am using? Ideally I want to find if the box is running Trusty or Precise-
Xen2050 over 8 yearsWhat about lsb_release?
-
qasdfdsaq over 8 years
cat /etc/*release
is what I use, for any Linux system. -
ford prefect over 8 years@Xen2050 In this case I think it makes more sense to use ansible's built in functionality which probably calls what you both mention to set the fact
-