- hosts: all connection: local vars: slaves: - distribution: "Ubuntu" version: "12.04" image: "ami-309ddf5a" ssh_user: "ubuntu" platform: "ubuntu-12.04-x86_64" - distribution: "Ubuntu" version: "14.04" image: "ami-d06632ba" ssh_user: "ubuntu" platform: "ubuntu-14.04-x86_64" - distribution: "CentOS" version: "6.5" image: "ami-8997afe0" ssh_user: "root" platform: "centos-6.5-x86_64" - distribution: "CentOS" version: "7" image: "ami-61bbf104" ssh_user: "centos" platform: "centos-7-x86_64" - distribution: "Fedora" version: "23" image: "ami-518bfb3b" ssh_user: "fedora" platform: "fedora-23-x86_64" tasks: - debug: var=ansible_version - include: ec2.yml when: groups['dynamic_hosts'] is not defined # Have to hardcode these per-slave. We can't even run setup yet so we can't # introspect what they have. - hosts: dynamic_hosts sudo: true gather_facts: False tasks: - name: Install packages that let setup and package manager modules run raw: dnf install -y python2 python2-dnf libselinux-python when: "'fedora-23' in '{{ inventory_hostname }}'" - hosts: dynamic_hosts sudo: true vars: credentials_file: '' test_flags: "" make_target: "non_destructive" #pre_tasks: roles: - { role: ansible_test_deps, tags: ansible_test_deps } - { role: run_integration, tags: run_integration, run_integration_test_flags: "{{ test_flags }}", run_integration_credentials_file: "{{ credentials_file }}", run_integration_make_target: "{{ make_target }}", } tasks: - name: Kill ec2 instances sudo: false local_action: module: ec2 state: absent region: 'us-east-1' instance_ids: "{{ hostvars[item]['ec2_instance_ids'] }}" when: hostvars[item]['ec2_instance_ids'] is defined and item == inventory_hostname with_items: "{{groups['dynamic_hosts']}}" - set_fact: ansible_connection: local - name: Fail shell: 'echo "{{ inventory_hostname }}, Failed" && exit 1' when: "'rc' not in test_results or test_results.rc != 0"