# Q: How to use "major" portion of {{ ansible\_distribution\_version }} for conditional imports?

**URL:** <https://forum.ansible.com/t/q-how-to-use-major-portion-of-ansible-distribution-version-for-conditional-imports/13166>\
**Category:** Ansible Project\
**Created:** [July 19, 2013, 7:55pm UTC](https://forum.ansible.com/t/q-how-to-use-major-portion-of-ansible-distribution-version-for-conditional-imports/13166 "2013-07-19T19:55:57Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Dale\_Quigg](https://avatars.discourse-cdn.com/v4/letter/d/cab0a1/32.png) [@Dale\_Quigg](https://forum.ansible.com/u/Dale_Quigg)\
**Post date:** [July 19, 2013, 7:55pm UTC](https://forum.ansible.com/t/q-how-to-use-major-portion-of-ansible-distribution-version-for-conditional-imports/13166/1 "2013-07-19T19:55:57Z")

</div>

Looking at the Conditional Imports section of the Advanced Playbook docs, I see this example

vars\_files:

- “vars/common.yml”
- [“vars/{{ ansible\_os\_family }}.yml”, “vars/os\_defaults.yml”]

I need to differentiate between CentOS 5/6 and SLES 10/11. So, I’m thinking of something like;

vars\_files:

- “vars/common.yml”
- [“vars/{{ ansible\_os\_family }}-{{ ansible\_distribution\_version }}.yml”, “vars/os\_defaults.yml”]

But, I only want to differentiate on the “major” version.  
e.g. CentOS-5, CentOS-6, Suse-10, Suse-11

So, how would you suggest using the “major” version only here?

Thanks!  
Dale

---

<div class="post-metadata">

**Author:** ![Michael\_DeHaan2](https://avatars.discourse-cdn.com/v4/letter/m/da6949/32.png) [@Michael\_DeHaan2](https://forum.ansible.com/u/Michael_DeHaan2)\
**Post date:** [July 19, 2013, 8:12pm UTC](https://forum.ansible.com/t/q-how-to-use-major-portion-of-ansible-distribution-version-for-conditional-imports/13166/2 "2013-07-19T20:12:42Z")

</div>

Possibly:

{{ ansible\_distribution\_version.split(“.”)[0] }}

---

<div class="post-metadata">

**Author:** ![Stephen\_Fromm](https://avatars.discourse-cdn.com/v4/letter/s/bbce88/32.png) [@Stephen\_Fromm](https://forum.ansible.com/u/Stephen_Fromm)\
**Post date:** [July 19, 2013, 8:25pm UTC](https://forum.ansible.com/t/q-how-to-use-major-portion-of-ansible-distribution-version-for-conditional-imports/13166/3 "2013-07-19T20:25:44Z")

</div>

An alternative is to install lsb utility (redhat-lsb on redhat-ish distros) and use {{ ansible\_lsb.major\_release }}. ansible\_lsb looks like:

“ansible\_lsb”: {  
“codename”: “Santiago”,  
“description”: “Red Hat Enterprise Linux Server release 6.4 (Santiago)”,  
“id”: “RedHatEnterpriseServer”,  
“major\_release”: “6”,  
“release”: “6.4”  
},

sf

---

<div class="post-metadata">

**Author:** ![Dale\_Quigg](https://avatars.discourse-cdn.com/v4/letter/d/cab0a1/32.png) [@Dale\_Quigg](https://forum.ansible.com/u/Dale_Quigg)\
**Post date:** [July 19, 2013, 9:07pm UTC](https://forum.ansible.com/t/q-how-to-use-major-portion-of-ansible-distribution-version-for-conditional-imports/13166/4 "2013-07-19T21:07:36Z")

</div>

Thanks Michael and Stephen,

I appreciate your responses!

Dale

---

<div class="post-metadata">

**Author:** ![einar.coutin](https://avatars.discourse-cdn.com/v4/letter/e/34f0e0/32.png) [@einar.coutin](https://forum.ansible.com/u/einar.coutin)\
**Post date:** [May 25, 2016, 1:16am UTC](https://forum.ansible.com/t/q-how-to-use-major-portion-of-ansible-distribution-version-for-conditional-imports/13166/5 "2016-05-25T01:16:47Z")

</div>

For anyone that sees this, I don’t recommend it. There are synchronicity issues with installing redhat-lsb-core (for example) and actually accessing ansible\_lsb. Unless your node ALREADY has lsb installed BEFORE you run the playbook you’ll be risking the ansible\_lsb throwing an undifined error. It doesn’t matter whether you check if the binary is now on the node, or even if you use a wait\_for or time command. It’ll fail the playbook and only be available when you RErun the playbook.
