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.