# ansible\_os\_family values

**URL:** <https://forum.ansible.com/t/ansible-os-family-values/14086>\
**Category:** Ansible Project\
**Tags:** fedora, ubuntu\
**Created:** [December 6, 2013, 8:46am UTC](https://forum.ansible.com/t/ansible-os-family-values/14086 "2013-12-06T08:46:40Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![anatoly\_techtonik](https://avatars.discourse-cdn.com/v4/letter/a/c67d28/32.png) [@anatoly\_techtonik](https://forum.ansible.com/u/anatoly_techtonik)\
**Post date:** [December 6, 2013, 8:46am UTC](https://forum.ansible.com/t/ansible-os-family-values/14086/1 "2013-12-06T08:46:40Z")

</div>

Hi,

I know ansible\_os\_family can be “RedHat” or “Debian”, where “RedHat” includes Fedora  
and “Debian” is for Ubuntu. Where to find the list of all values that “ansible\_os\_family”  
can take? It would be awesome if every value also included most popular examples of  
named families.

---

<div class="post-metadata">

**Author:** ![Serge\_van\_Ginderacht](https://avatars.discourse-cdn.com/v4/letter/s/b782af/32.png) [@Serge\_van\_Ginderacht](https://forum.ansible.com/u/Serge_van_Ginderacht)\
**Post date:** [December 6, 2013, 8:58am UTC](https://forum.ansible.com/t/ansible-os-family-values/14086/2 "2013-12-06T08:58:13Z")

</div>

There’s a list in library/system/setup

---

<div class="post-metadata">

**Author:** ![David\_Karban](https://avatars.discourse-cdn.com/v4/letter/d/90db22/32.png) [@David\_Karban](https://forum.ansible.com/u/David_Karban)\
**Post date:** [December 6, 2013, 8:59am UTC](https://forum.ansible.com/t/ansible-os-family-values/14086/3 "2013-12-06T08:59:40Z")

</div>

Hi,

personally if I do not found this kind of item in documentation, I`ll look into code :). In this case, setup module.

OS\_FAMILY = dict(  
RedHat = ‘RedHat’, Fedora = ‘RedHat’, CentOS = ‘RedHat’, Scientific = ‘RedHat’,  
SLC = ‘RedHat’, Ascendos = ‘RedHat’, CloudLinux = ‘RedHat’, PSBM = ‘RedHat’,  
OracleLinux = ‘RedHat’, OVS = ‘RedHat’, OEL = ‘RedHat’, Amazon = ‘RedHat’,  
XenServer = ‘RedHat’, Ubuntu = ‘Debian’, Debian = ‘Debian’, SLES = ‘Suse’,  
SLED = ‘Suse’, OpenSuSE = ‘Suse’, SuSE = ‘Suse’, Gentoo = ‘Gentoo’,  
Archlinux = ‘Archlinux’, Mandriva = ‘Mandrake’, Mandrake = ‘Mandrake’,  
Solaris = ‘Solaris’, Nexenta = ‘Solaris’, OmniOS = ‘Solaris’, OpenIndiana = ‘Solaris’,  
SmartOS = ‘Solaris’, AIX = ‘AIX’, Alpine = ‘Alpine’, MacOSX = ‘Darwin’,  
FreeBSD = ‘FreeBSD’, HPUX = ‘HP-UX’  
)

---

<div class="post-metadata">

**Author:** ![anatoly\_techtonik](https://avatars.discourse-cdn.com/v4/letter/a/c67d28/32.png) [@anatoly\_techtonik](https://forum.ansible.com/u/anatoly_techtonik)\
**Post date:** [December 6, 2013, 9:21am UTC](https://forum.ansible.com/t/ansible-os-family-values/14086/4 "2013-12-06T09:21:40Z")

</div>

Thanks everyone for the hints. Just for reference direct link to the sources.

[https://github.com/ansible/ansible/blob/devel/library/system/setup#L241](https://github.com/ansible/ansible/blob/devel/library/system/setup#L241)

---

<div class="post-metadata">

**Author:** ![rrrkiran12](https://avatars.discourse-cdn.com/v4/letter/r/41988e/32.png) [@rrrkiran12](https://forum.ansible.com/u/rrrkiran12)\
**Post date:** [May 4, 2015, 10:37am UTC](https://forum.ansible.com/t/ansible-os-family-values/14086/5 "2015-05-04T10:37:03Z")

</div>

How to check for sunos using sparc machines using ansible\_os\_family ?

---

<div class="post-metadata">

**Author:** ![Mayur\_Nagekar](https://avatars.discourse-cdn.com/v4/letter/m/9dc877/32.png) [@Mayur\_Nagekar](https://forum.ansible.com/u/Mayur_Nagekar)\
**Post date:** [April 5, 2017, 8:55am UTC](https://forum.ansible.com/t/ansible-os-family-values/14086/6 "2017-04-05T08:55:16Z")

</div>

With ansible 2.4 round the corner, devel branch has it in build/lib/ansible/module\_utils/facts.py

[![](https://lh3.googleusercontent.com/--xi4oCobu8s/WOSw70T0W-I/AAAAAAAACy0/eh-msHGk-yQ6EJN7ztwVhhTn-mEEa9CygCLcB/s320/Screen%2BShot%2B2017-04-05%2Bat%2B2.24.33%2BPM.png)](https://lh3.googleusercontent.com/--xi4oCobu8s/WOSw70T0W-I/AAAAAAAACy0/eh-msHGk-yQ6EJN7ztwVhhTn-mEEa9CygCLcB/s1600/Screen%2BShot%2B2017-04-05%2Bat%2B2.24.33%2BPM.png)

---

<div class="post-metadata">

**Author:** ![Noel\_Verhoeven](https://avatars.discourse-cdn.com/v4/letter/n/3da27b/32.png) [@Noel\_Verhoeven](https://forum.ansible.com/u/Noel_Verhoeven)\
**Post date:** [April 6, 2017, 9:01am UTC](https://forum.ansible.com/t/ansible-os-family-values/14086/7 "2017-04-06T09:01:51Z")

</div>

Funny how I have “windows” in my OS\_family variable, but it is not member of this dict. Are there 2 separate instances of this in the code, one for linux and one for windows hosts?

---

<div class="post-metadata">

**Author:** ![Matt\_Davis](https://avatars.discourse-cdn.com/v4/letter/m/ce7236/32.png) [@Matt\_Davis](https://forum.ansible.com/u/Matt_Davis)\
**Post date:** [April 6, 2017, 6:23pm UTC](https://forum.ansible.com/t/ansible-os-family-values/14086/8 "2017-04-06T18:23:13Z")

</div>

The Windows setup module is a completely separate thing (written in Powershell)

---

<div class="post-metadata">

**Author:** ![CJ\_Harries](https://avatars.discourse-cdn.com/v4/letter/c/35a633/32.png) [@CJ\_Harries](https://forum.ansible.com/u/CJ_Harries)\
**Post date:** [October 29, 2017, 3:16am UTC](https://forum.ansible.com/t/ansible-os-family-values/14086/9 "2017-10-29T03:16:30Z")

</div>

For anyone stumbling on this now, the values have been moved to [this file](https://github.com/ansible/ansible/blob/5663d11b946dc7c8f1853491bffcda00ab0463b7/lib/ansible/module_utils/facts/system/distribution.py) (`module_utils/facts/system/distribution.py`). I’ve run into this thread twice looking for that and should have updated it the first time I found the moved file. Some useful lines:

- [`OS_FAMILY_MAP`](https://github.com/ansible/ansible/blob/5663d11b946dc7c8f1853491bffcda00ab0463b7/lib/ansible/module_utils/facts/system/distribution.py#L406) (e.g. `SLC ∈ Red Hat`)
- [A list of common Linux `release` files](https://github.com/ansible/ansible/blob/5663d11b946dc7c8f1853491bffcda00ab0463b7/lib/ansible/module_utils/facts/system/distribution.py#L58)
- [Other systems](https://github.com/ansible/ansible/blob/5663d11b946dc7c8f1853491bffcda00ab0463b7/lib/ansible/module_utils/facts/system/distribution.py#L445)

---

<div class="post-metadata">

**Author:** ![Aidan\_Feldman](https://avatars.discourse-cdn.com/v4/letter/a/a3d4f5/32.png) [@Aidan\_Feldman](https://forum.ansible.com/u/Aidan_Feldman)\
**Post date:** [December 27, 2017, 9:49pm UTC](https://forum.ansible.com/t/ansible-os-family-values/14086/10 "2017-12-27T21:49:13Z")

</div>

Submitted a pull request to document the possible values: [https://github.com/ansible/ansible/pull/34263](https://github.com/ansible/ansible/pull/34263)

---

<div class="post-metadata">

**Author:** ![Arden\_Shackelford](https://avatars.discourse-cdn.com/v4/letter/a/9fc348/32.png) [@Arden\_Shackelford](https://forum.ansible.com/u/Arden_Shackelford)\
**Post date:** [August 20, 2018, 3:28pm UTC](https://forum.ansible.com/t/ansible-os-family-values/14086/11 "2018-08-20T15:28:56Z")

</div>

You could also reference their documentation.

[https://docs.ansible.com/ansible/latest/user\_guide/playbooks\_conditionals.html#id18](https://docs.ansible.com/ansible/latest/user_guide/playbooks_conditionals.html#id18)

Contains this kind of information in a different format.
