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

Reply via email to