Hi, I was wondering if you could provide us with the j2 template for your 
network interface?  If not, what are the basics that you used for it?

Thank you!

On Friday, December 30, 2016 at 8:34:19 PM UTC-8, Gerald Spencer wrote:
>
> Solved it via running the command as "fire and forget" with async and 
> pool, using a bash command in the background. Then modifying the 
> ansible_ssh_host to the new IP address, and waiting for it port 22 to come 
> up on that host.
>
>     - name: Grab the network interface that the old IP is using and store 
> it.
>       shell: "ifconfig | grep -B1 {{ old_address_start }}| grep -E 
> '^(\\w+)[[:space:]]' | sed 's/\\s.*$//'"
>       args:
>         executable: /bin/bash
>       register: network_interface
>
>     - name: Pushout new /etc/network/interface to hosts
>       template:
>         src: files/linux_network_interfaces.j2
>         dest: /etc/network/interfaces
>         owner: root
>         group: root
>         mode: '0644'
>       become: true
>       when: item.key == inventory_hostname
>       with_dict: "{{ new_addresses }}"
>
>     - name: Reload the hosts' network interface
>       shell: "(sleep 1; ifdown {{ network_interface.stdout }} && ifup {{ 
> network_interface.stdout }}) &"
>       args:
>         executable: /bin/bash
>       become: true
>       async: 100
>       poll: 0
>     
>     - name: Change ansible's ip address for each host
>       set_fact:
>         ansible_ssh_host: "{{ item.value.address }}"
>       when: item.key == inventory_hostname
>       with_dict: "{{ new_addresses }}"
>
>     - name: Wait for the hosts' network interface to come back up
>       local_action:
>         module: wait_for
>         host: "{{ ansible_ssh_host }}"
>         port: 22
>         delay: 10
>         state: started
>       register: wait_result
>
>     - name: Modify all of the route53 records for ip changes that succeeded
>       local_action:
>         module: route53
>         command: create
>         zone: xxxxx
>         record: "{{ item.key }}"
>         type: A
>         value: "{{ item.value.address }}"
>         overwrite: true 
>       when: item.key == inventory_hostname and wait_result|succeeded
>       with_dict: "{{ new_addresses }}"
>
> On Friday, December 30, 2016 at 1:37:26 PM UTC-8, Gerald Spencer wrote:
>>
>> Okay, we've ran out of ip addresses, and got a larger subnet from our ip. 
>> I am currently in the process of switching them over, and decided it would 
>> be nice to do this with ansible, but I have ran into a little snag. 
>>
>> Currently I have:
>>
>>     - shell: "ifconfig | grep -B1 {{ old_address }}| grep -E 
>> '^(\\w+)[[:space:]]' | sed 's/\\s.*$//'"
>>       args:
>>         executable: /bin/bash
>>       register: network_interface
>>
>>     - template:
>>         src: files/linux_network_interfaces.j2
>>         dest: /etc/network/interfaces
>>         owner: root
>>         group: root
>>         mode: '0644'
>>       become: true
>>       when: item.key == inventory_hostname
>>       with_dict: "{{ new_addresses }}"
>>
>>     - shell: "ifdown {{ network_interface.stdout }} && ifup {{ 
>> network_interface.stdout }}"
>>       args:
>>         executable: /bin/bash
>>       become: true
>>
>> But it hangs in the last shell task... since the IP address was changed. 
>>
>> Is there a way I can tell this task to just run, then use set_fact to 
>> modify each host to its new IP to ping and make sure it worked, then I'll 
>> move forward and modify our DNS records to match the new hosts..
>>
>

-- 
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 ansible-project+unsubscr...@googlegroups.com.
To post to this group, send email to ansible-project@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/3ad48255-d3d6-4606-8166-837519588dcc%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to