Hi Sebastien,
   I try with a loop but the result it's the same. Only add one of both. 
Learn05 (.232.141)

The loop:

- name: DEBUG Show inventory_hostname
  debug: msg="inventory_hostname {{inventory_hostname}}"


- name: Add_host with Loop
  add_host:
    name: "{{item.value.ipv4}}"
    groups: in-memory-vms
    ansible_ssh_host: "{{item.value.ipv4}}"
    ansible_distribution: "CentOS"
    ansible_system: "Linux"
    ansible_ssh_private_key_file: /root/.ssh/ansible.pem
  with_dict: "{{ instance_facts }}"
  when: item.key in ['instance']
  changed_when: false


When execute the new playbook, only added learn05, but the debug in "TASK 
[vmware : DEBUG Show inventory_hostname]" show two hosts.

In the common role I added a debug line "TASK [common : debug]" to show all 
groups outside of vmware role. If you can see the in-memory-vms group  have 
only one IP learn05 (.232.141)


*[root@learn01 ansible]# ./createvm.yml*

PLAY [centos-vms] 
***********************************************************************************************************************************************************************************************************************


TASK [vmware : include_tasks] 
***********************************************************************************************************************************************************************************************************
included: /var/adm/ssoo/opt/ansible/roles/vmware/tasks/
create_vms_from_template.yml for learn05, learn06


TASK [vmware : Create VM from Template] 
*************************************************************************************************************************************************************************************************
changed: [learn06 -> localhost]
changed: [learn05 -> localhost]


TASK [vmware : Espera asignacion de IP via DHCP] 
****************************************************************************************************************************************************************************************
Pausing for 60 seconds
(ctrl+C then 'C' = continue early, ctrl+C then 'A' = abort)
ok: [learn05]


TASK [vmware : Gather instance facts] 
***************************************************************************************************************************************************************************************************
ok: [learn06]
ok: [learn05]


TASK [vmware : DEBUG Show inventory_hostname] 
*******************************************************************************************************************************************************************************************
ok: [learn05] => {
    "msg": "inventory_hostname learn05"
}
ok: [learn06] => {
    "msg": "inventory_hostname learn06"
}


TASK [vmware : Add_host with Loop] 
******************************************************************************************************************************************************************************************************
ok: [learn05] => (item={'key': u'instance', 'value': {u'hw_name': u'learn05'
, u'hw_power_status': u'poweredOn', u'hw_processor_count': 1, u
'hw_memtotal_mb': 256, u'module_hw': True, u'snapshots': [], u'customvalues'
: {}, u'hw_guest_full_name': u'CentOS 4/5/6/7 (64-bit)', u'hw_interfaces': [
u'eth0'], u'hw_guest_id': u'centos64Guest', u'current_snapshot': None, u
'ipv6': None, u'guest_tools_version': u'10249', u'hw_eth0': {u'macaddress': 
u'00:50:56:81:16:fe', u'addresstype': u'assigned', u'macaddress_dash': u
'00-50-56-81-16-fe', u'label': u'Network adapter 1', u'ipaddresses': [u
'50.0.232.141'], u'summary': u'DVSwitch: 79 24 01 50 c4 9c af f0-ce 89 4a 
9a 00 1a d2 e8'}, u'hw_product_uuid': u
'4201f0a4-fa12-f243-a715-227d401193bf', u'annotation': u'', u
'guest_tools_status': u'guestToolsRunning', u'ipv4': u'50.0.232.141'}})
skipping: [learn05] => (item={'key': 'attempts', 'value': 1}) 
skipping: [learn05] => (item={'key': 'changed', 'value': False}) 
skipping: [learn05] => (item={'key': u'failed', 'value': False}) 


PLAY [in-memory-vms] 
********************************************************************************************************************************************************************************************************************


TASK [common : debug] 
*******************************************************************************************************************************************************************************************************************
ok: [50.0.232.141] => {
    "groups": {
        "all": [
            "learn05", 
            "learn06", 
            "taurus", 
            "learn01", 
            "learn02", 
            "learn03", 
            "learn04", 
            "50.0.232.141"
        ], 
        "centos-vms": [
            "learn05", 
            "learn06"
        ], 
        "in-memory-vms": [
            "50.0.232.141"
        ], 
        "solaris": [
            "taurus"
        ], 
        "ungrouped": []
    }
}

...
...
...

PLAY RECAP 
******************************************************************************************************************************************************************************************************************************
50.0.232.141               : ok=14   changed=0    unreachable=0    failed=0 
  
learn05                    : ok=6    changed=1    unreachable=0    failed=0 
  
learn06                    : ok=4    changed=1    unreachable=0    failed=0 
  




El lunes, 16 de octubre de 2017, 10:33:56 (UTC+2), Mariano Obarrio Miles 
escribió:
>
> Hi all,
>   I don't know what I do wrong... I try create VMs (vmware) and 
> provisioning after that. But when try add this new vms to inventory with 
> add_host only add one.
>
>   The task "Gather VM facts (vmware_guest_facts)" recover 2 IPs but then 
> "Add Host to inventory" only add one IP to in-memory inventory.
>
>   I try multiples scenarios (with_dict/set_fact....) to add_host to 
> inventory but nothing work!
>
>   Any idias what I do wrong, any suggestions?
>
>
> Thxs,
>
> Mariano
>
> ansible 2.5.0
>   config file = /var/adm/ssoo/opt/ansible/ansible.cfg
>   configured module search path = [u'/root/.ansible/plugins/modules', u
> '/usr/share/ansible/plugins/modules']
>   ansible python module location = /usr/lib/python2.7/site-packages/
> ansible-2.5.0-py2.7.egg/ansible
>   executable location = /usr/bin/ansible
>   python version = 2.7.5 (default, Aug  4 2017, 00:39:18) [GCC 4.8.5 
> 20150623 (Red Hat 4.8.5-16)]
>
>
>
> *# cat /etc/ansible/hosts*
> [centos-vms]
> learn[05:06] disk='10' datastore='LUN24_VNX5600_MIRROR' network=
> 'dvPortGroupCentral' memory='256' cpucount='1' osid='centos64Guest' 
> ansible_ssh_private_key_file=/root/.ssh/learning.pem ansible_user=root 
> ansible_password=xxxxxxx learn[05:06].node.consul=learn[05:06]
>
>
>
> *#!/usr/bin/ansible-playbook*
> ---
> - hosts: centos-vms
>   gather_facts: false
>   connection: local
>   user: root
>  
>   roles:
>     - vmware
>
>
> - hosts: in-memory-vms
>   gather_facts: false
>   connection: local
>   user: root
>
>
>   roles:
>     - common
>
>
> *# cat roles/vmware/tasks/main.yml*
> ---
>
>   - include_tasks: create_vms_from_template.yml
>     tags:
>       - CreateVM from Template
>
>
>
> *# cat roles/vmware/tasks/create_vms_from_template.yml*
> ---
> - name: Create VM from Template
>   vsphere_guest:
>     vcenter_hostname: "{{ vcenter_hostname }}"
>     username: "{{ vcenter_user }}"
>     password: "{{ vcenter_pass }}"
>     validate_certs: no
>     guest: "{{ inventory_hostname }}"
>     from_template: yes
>     template_src: "CentOS_7.3_x64_1511-GPT-20GB_HDD"
>     cluster: VMwareAPP
>     resource_pool: "/Resources/SSOO"
>     vm_extra_config:
>       notes: "{{ notes }}"
>
> - name: Espera asignacion de IP via DHCP
>   pause: seconds=60
>
> - name: Gather VM facts
>   vsphere_guest:
>     vcenter_hostname: "{{ vcenter_hostname }}"
>     username: "{{ vcenter_user }}"
>     password: "{{ vcenter_pass }}"
>     vmware_guest_facts: yes
>     validate_certs: no
>     guest: "{{ inventory_hostname }}"
>   register: vm_facts
>
> - name: IP address info
>   debug: msg="{{ vm_facts.ansible_facts.hw_eth0.ipaddresses[0] }} {{ 
> inventory_hostname }}"
>
> - name: Add Host to inventory
>   add_host:
>     hostname: "{{ vm_facts.ansible_facts.hw_eth0.ipaddresses[0] }}"
>     groups: in-memory-vms
>     ansible_ssh_host: "{{ vm_facts.ansible_facts.hw_eth0.ipaddresses[0] 
> }}"
>     ansible_user: root
>     ansible_password: xxxxxxxxx
>     ansible_distribution: "CentOS"
>     ansible_system: "Linux"
>
>
> - name: 'Inventory' 
>   debug: var=groups
>
>
> - name: 'Stop execution' 
>   fail: msg="Playbook stoped."
>
>
>
>
> *[root@learn01 ansible]# ./createvm.yml *
>
> PLAY [centos-vms] 
> ***********************************************************************************************************************************************************************************************************
>
>
> TASK [vmware : include_tasks] 
> ***********************************************************************************************************************************************************************************************
> included: /var/adm/ssoo/opt/ansible/roles/vmware/tasks/
> create_vms_from_template.yml for learn06, learn05
>
>
> TASK [vmware : Create VM from Template] 
> *************************************************************************************************************************************************************************************
> ok: [learn06]
> ok: [learn05]
>
>
> TASK [vmware : Espera asignacion de IP via DHCP] 
> ****************************************************************************************************************************************************************************
> Pausing for 60 seconds
> (ctrl+C then 'C' = continue early, ctrl+C then 'A' = abort)
> Press 'C' to continue the play or 'A' to abort 
> ok: [learn05]
>
>
> TASK [vmware : *Gather VM facts*] 
> *********************************************************************************************************************************************************************************************
> ok: [learn05]
> ok: [learn06]
>
>
> TASK [vmware : IP address info] 
> *********************************************************************************************************************************************************************************************
> ok: [learn05] => {
>     "msg": "50.0.232.157 learn05"
> }
> ok: [learn06] => {
>     "msg": "50.0.232.158 learn06"
> }
>
>
> TASK [vmware : Add Host to inventory] 
> ***************************************************************************************************************************************************************************************
> changed: [learn05]
>
>
> TASK [vmware : Inventory] 
> ***************************************************************************************************************************************************************************************************
> ok: [learn05] => {
>     "groups": {
>         "all": [
>             "learn05", 
>             "learn06", 
>             "taurus", 
>             "learn01", 
>             "learn02", 
>             "learn03", 
>             "learn04", 
>             "50.0.232.157"
>         ], 
>         "centos-vms": [
>             "learn05", 
>             "learn06"
>         ], 
>         "in-memory-vms": [
>
>             "50.0.232.157"    *<---- ONLY ONE*
>         ], 
>         "solaris": [
>             "taurus"
>         ], 
>         "ungrouped": []
>     }
> }
> ok: [learn06] => {
>     "groups": {
>         "all": [
>             "learn05", 
>             "learn06", 
>             "taurus", 
>             "learn01", 
>             "learn02", 
>             "learn03", 
>             "learn04", 
>             "50.0.232.157"
>         ], 
>         "centos-vms": [
>             "learn05", 
>             "learn06"
>         ], 
>         "in-memory-vms": [
>
>             "50.0.232.157"   *<---- ONLY ONE*
>         ], 
>         "solaris": [
>             "taurus"
>         ], 
>         "ungrouped": []
>     }
> }
>
>
> TASK [vmware : Stop execution] 
> **********************************************************************************************************************************************************************************************
> fatal: [learn05]: FAILED! => {"changed": false, "failed": true, "msg": 
> "Playbook 
> stoped."}
> fatal: [learn06]: FAILED! => {"changed": false, "failed": true, "msg": 
> "Playbook 
> stoped."}
>         to retry, use: --limit @/var/adm/ssoo/opt/ansible/createvm.retry
>
>
> PLAY RECAP 
> ******************************************************************************************************************************************************************************************************************
> learn05                    : ok=7    changed=1    unreachable=0    failed=
> 1   
> learn06                    : ok=5    changed=0    unreachable=0    failed=
> 1   
>
>
>
>

-- 
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/16e3f17c-e923-4d9e-9631-794cc8ce128c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to