summaryrefslogtreecommitdiff
path: root/test/utils/ansible-playbook_integration_runner/ec2.yml
diff options
context:
space:
mode:
Diffstat (limited to 'test/utils/ansible-playbook_integration_runner/ec2.yml')
-rw-r--r--test/utils/ansible-playbook_integration_runner/ec2.yml41
1 files changed, 41 insertions, 0 deletions
diff --git a/test/utils/ansible-playbook_integration_runner/ec2.yml b/test/utils/ansible-playbook_integration_runner/ec2.yml
new file mode 100644
index 0000000000..55619776d9
--- /dev/null
+++ b/test/utils/ansible-playbook_integration_runner/ec2.yml
@@ -0,0 +1,41 @@
+- name: Launch Instance
+ ec2:
+ group_id: 'sg-07bb906d' # jenkins-slave_new
+ count: 1
+ instance_type: 'm3.large'
+ image: '{{ item.image }}'
+ wait: true
+ region: 'us-east-1'
+ keypair: '{{ keypair }}'
+ aws_access_key: "{{ aws_access_key|default(lookup('env', 'AWS_ACCESS_KEY')) }}"
+ aws_secret_key: "{{ aws_secret_key|default(lookup('env', 'AWS_SECRET_KEY')) }}"
+ instance_tags:
+ jenkins: jenkins_ansible_pr_test
+ register: ec2
+ with_items: slaves
+# We could do an async here, that would speed things up
+
+
+- name: Wait for SSH
+ wait_for:
+ host: "{{ item['instances'][0]['public_ip'] }}"
+ port: 22
+ delay: 10
+ timeout: 320
+ state: started
+ with_items: ec2.results
+
+- name: Wait a little longer for centos
+ pause: seconds=20
+
+- name: Add hosts group temporary inventory group with pem path
+ add_host:
+ name: "{{ item.1.platform }}-{{ ec2.results[item.0]['instances'][0]['public_ip'] }}"
+ groups: dynamic_hosts
+ ansible_ssh_host: "{{ ec2.results[item.0]['instances'][0]['public_ip'] }}"
+ ansible_ssh_private_key_file: '{{ pem_path }}'
+ ansible_ssh_user: "{{ item.1.ssh_user }}"
+ ec2_vars: "{{ ec2.results[item.0]['instances'][0] }}"
+ ec2_instance_ids: "{{ ec2.results[item.0]['instance_ids'] }}"
+ with_indexed_items: slaves
+