Ubuntu – Ansible Determine Operating System

ansibleUbuntu

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

Best Answer

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 Question