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.