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]> 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]. > 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/CAL8fbwNoBVG3dwz5ssB7SyNHp%2Be9_dYtEXHJ4VEwMpAg2QpdRg%40mail.gmail.com.
