i am writing an ansible role for setting some kind of "hostgroups" based on 
outputs from commands, path etc.. thing is one host can be a member of more 
then one of such groups, and there is the problem. how to i append multiple 
values to one particular fact, without using a gazillion of different 
variables for the groups, as this list might get really long. someone over 
there at stackoverflow mentioned the ternary filter, but i can not get my 
head around it, so some example code wold be really great.

best would be a list like this:

"itsv_hostgroup": {WBG,LNZ,...} 

in this example the WBG value is overwritten by the VIE value in the end.


Ente

- shell: /usr/bin/uname -L | cut -d ' ' -f2
  register: itsv_lparname

- command: /usr/sbin/lsattr -El sys0 -a systemid -F value
  register: itsv_machine_serial

- set_fact:
        itsv_hostgroup: "LNZ"
        cacheable: true
  when: (itsv_machine_serial.stdout is match "IBM,02781A6BX") or
        (itsv_machine_serial.stdout is match "IBM,02781A6CX") or
        (itsv_machine_serial.stdout is match "IBM,02781A6DX")
- debug:
    var: itsv_hostgroup

- set_fact:
        itsv_hostgroup: "WBG"
        cacheable: true
  when: (itsv_machine_serial.stdout is match "IBM,022199BF7")
- debug:
    var: itsv_hostgroup

- set_fact:
        itsv_hostgroup: "GBG"
        cacheable: true
  when: (itsv_machine_serial.stdout is match "IBM,022199BB7")
- debug:
    var: itsv_hostgroup

- set_fact:
        itsv_hostgroup: "VIE"
        cacheable: true
  when: (itsv_machine_serial.stdout is match "IBM,022199BF7") or
        (itsv_machine_serial.stdout is match "022199BB7") or
        (itsv_machine_serial.stdout is match "IBM,02060CE6R")
- debug:
    var: itsv_hostgroup


root@lpgaixmgmtlx01:/etc/ansible/aix>ansible-playbook -i AIXWUKIT, testplay.yml

PLAY [run test play] 
******************************************************************************************************************************************************************************************

TASK [Gathering Facts] 
****************************************************************************************************************************************************************************************
ok: [AIXWUKIT]

TASK [hostgroups : shell] 
*************************************************************************************************************************************************************************************
changed: [AIXWUKIT]

TASK [hostgroups : command] 
***********************************************************************************************************************************************************************************
changed: [AIXWUKIT]

TASK [hostgroups : set_fact] 
**********************************************************************************************************************************************************************************
skipping: [AIXWUKIT]

TASK [hostgroups : debug] 
*************************************************************************************************************************************************************************************
ok: [AIXWUKIT] => {
    "itsv_hostgroup": []
}

TASK [hostgroups : set_fact] 
**********************************************************************************************************************************************************************************
ok: [AIXWUKIT]

TASK [hostgroups : debug] 
*************************************************************************************************************************************************************************************
ok: [AIXWUKIT] => {
    "itsv_hostgroup": "WBG"
}

TASK [hostgroups : set_fact] 
**********************************************************************************************************************************************************************************
skipping: [AIXWUKIT]

TASK [hostgroups : debug] 
*************************************************************************************************************************************************************************************
ok: [AIXWUKIT] => {
    "itsv_hostgroup": "WBG"
}

TASK [hostgroups : set_fact] 
**********************************************************************************************************************************************************************************
ok: [AIXWUKIT]

TASK [hostgroups : debug] 
*************************************************************************************************************************************************************************************
ok: [AIXWUKIT] => {
    "itsv_hostgroup": "VIE"
}

TASK [print out the hostname of target] 
***********************************************************************************************************************************************************************
changed: [AIXWUKIT]

r code here...


-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/501beb48-c9aa-44ea-a7f2-39eb6115044a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to