Hi all,

I'm using Ansible 2.5.11, using the EC2 dynamic inventory script. I'm 
trying to do some tasks over an instance with a role using block and 
rescue, so if one of the tasks fails, the rescue task runs (removing the 
instance). But I don't know why the rescue tasks never runs.

I'm running a playbook which executes the roles, like this:


# Install common packages and tasks, and deploy software
- hosts: tag_Environment_Development:&tag_Role_Pilot:&tag_Name_Backend
  gather_facts: True
  vars_files:
    - variables-dev.yml
  roles:
    - deploy-api


And the role deploy-api/tasks/main.yml looks like this:

---
- block:
  - name: Create .ssh path for user
    become: yes
    file:
       path: "{{ deploy_path }}/.ssh"
       owner: example
       group: example
       state: directory
       mode: 0700
    tags:
      - backend
      - ssh

  - name: Upload RSA public key
    become: yes
    template:
      src: 'templates/example-id_rsa.pub'
      dest: "{{ deploy_path }}/.ssh/authorized_keys"
      owner: example
      group: example
      mode: 0640
    tags:
      - backend
      - ssh
[ ...More stuff... ]

- rescue:
  - name: Get Temporal Backend Pilot Instance ID
    ec2_instance_facts:
      region: "{{ ec2_region }}"
      filters:
        "tag:App": EXAMPLE
        "tag:Name": Backend Dev
        "tag:Role": Pilot
        "tag:Environment": Development
        "instance-state-name": running
    register: ec2_instance_facts_rescue
    tags:
      - backend
      - rescue

  - name: Cleanup Pilot instance
    ec2:
      aws_access_key: "{{ec2_access_key}}"
      aws_secret_key: "{{ec2_secret_key}}"
      region: "{{ ec2_region }}"
      state: 'absent'
      instance_ids: '{{ ec2_instance_facts_rescue.instances.0.instance_id 
}}'
    when: ec2_instance_facts_rescue.instances != ""
    tags:
      - backend
      - rescue


But, in fact, the rescue code is never executed.

I'm not sure if I understand correctly how block&rescue works, can somebody 
help me?


-- 
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/53e9b895-c0eb-443c-a8f0-4c4f57cc03e1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to