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/b55dd768-b9b0-4621-909f-9e8cfdfbf36e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to