Thank Mr.Visser, using delegate_to worked
- name: Terminate instances that were previously launched
ec2:
state: 'absent'
instance_ids: "{{ instanceterminate.stdout }}"
region: us-east-1
delegate_to: dev_java
# when: ENTRY.rc == 0 or ENTRY.rc >= 2
On Wednesday, 3 June 2020 02:37:55 UTC-4, Dick Visser wrote:
>
> You seem to be trying to terminate an instance from that very instance?
> That doesn't sound like it would work.
> You should use another host.
>
>
> On Wed, 3 Jun 2020 at 07:57, Andrew Morgan <[email protected]
> <javascript:>> wrote:
>
>> Hello all,
>>
>> I have a playbook that is 99% complete but fails on the last step.My
>> inventory file and playbook are below. I only added the last parts
>>
>> [dev]
>> dev_jenkins ansible_ssh_host=44.244.444.44
>> ansible_python_interpreter=/usr/bin/python27
>> will have multiple servers
>>
>> [dev:vars]
>> ansible_ssh_user=atest
>> ansible_ssh_private_key_file=/Users/confluence/Desktop/atest
>> ansible_become_user=root
>> ansible_become_method=sudo
>> ansible_become_password=changeme
>> ansible_ssh_pass= changeme
>>
>> [test]
>>
>>
>> [test:vars]
>> ansible_ssh_user=atest
>> ansible_ssh_private_key_file=/Users/confluence/Desktop/atest
>> ansible_become_user=root
>> ansible_become_method=sudo
>> ansible_become_password= changeme
>> ansible_ssh_pass= changeme
>>
>>
>>
>> 1)takes image of live server
>> 2)launches the server
>> 3)verify login
>> 4)kill the server
>>
>> The issue I am having is with killing the server - name:
>> Terminate instances that were previously launched
>>
>> - hosts: all
>>
>> - name: Launch instance
>> ec2:
>> key_name: ansible
>> group: "{{ group }}"
>> instance_type: m1.small
>> image: "{{ image }}"
>> wait: true
>> region: "{{ region }}"
>> vpc_subnet_id: "{{ subnet}}"
>> assign_public_ip: yes
>> register: ec2
>>
>> - name: Add new instance to host group
>> add_host:
>> hostname: "{{ item.public_ip }}"
>> groupname: test
>> loop: "{{ ec2.instances }}"
>>
>> - name: Waiting for SSH to come up
>> delegate_to: "{{ item.public_ip }}"
>> wait_for_connection:
>> delay: 60
>> timeout: 320
>> loop: "{{ ec2.instances }}"
>>
>>
>>
>> - hosts: test. ##blank in the inventory file, but new instance added to
>> it so i can connect to the new instance with password and key
>> become: True
>> gather_facts: True
>>
>> tasks:
>>
>> - name: Testing out the servers
>> shell: ". /etc/profile; echo $DEV_ENV"
>> args:
>> executable: /bin/bash
>> register: ENTRY
>>
>> - name: Output for test server
>> debug: msg="{{ ENTRY.stdout }}"
>>
>>
>> - name: getting instance id again
>> shell: "wget -q -O - http://
>> 169.254.169.254/latest/meta-data/instance-id"
>> register: instanceterminate
>>
>> - name: Terminate instances that were previously launched
>> ec2:
>> state: 'absent'
>> instance_ids: "{{ instanceterminate.stdout }}"
>> region: us-east-1
>> # when: ENTRY.rc == 0 or ENTRY.rc >= 2
>>
>> Problem:
>>
>> In my inventory file, I have unique parameters per host like
>> *ansible_python_interpreter=/usr/bin/python27* , maybe different for
>> each server. So when I add the newly spun up instance from the freshly
>> taken ami I add it to a group called test which is blank in my inventory
>> file(it has the key and password needed to login into the machine.) I do
>> not know of a way to specify the *ansible_python_interpreter *that was
>> used to be used again in this last step and I cannot specify it because it
>> will change from server to server, and so commands to terminate the
>> instance gives error.
>>
>> changed=false
>> msg: boto required for this module
>>
>>
>>
>> Is there a way I can make this work?
>>
>> Thank you
>>
>>
>> --
>> 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] <javascript:>.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/ansible-project/0c3c8f5d-3db3-4dba-90b5-c195757d0eff%40googlegroups.com
>>
>> <https://groups.google.com/d/msgid/ansible-project/0c3c8f5d-3db3-4dba-90b5-c195757d0eff%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
> --
> Sent from a mobile device - please excuse the brevity, spelling and
> punctuation.
>
--
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 view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/55902063-ff05-4c52-97a5-407d0b438df0o%40googlegroups.com.