|
@@ -1,79 +0,0 @@
|
|
|
----
|
|
|
-- name: Launch instance(s)
|
|
|
- hosts: localhost
|
|
|
- connection: local
|
|
|
- become: no
|
|
|
- gather_facts: no
|
|
|
-
|
|
|
- vars:
|
|
|
- inst_region: us-east-1
|
|
|
- rhel7_ami: ami-9101c8fa
|
|
|
- user_data_file: user_data.txt
|
|
|
-
|
|
|
- vars_files:
|
|
|
- - vars.yml
|
|
|
- - "vars.{{ oo_env }}.yml"
|
|
|
-
|
|
|
- tasks:
|
|
|
- - name: Launch instances in VPC
|
|
|
- ec2:
|
|
|
- state: present
|
|
|
- region: "{{ inst_region }}"
|
|
|
- keypair: mmcgrath_libra
|
|
|
- group_id: "{{ oo_security_group_ids }}"
|
|
|
- instance_type: c4.xlarge
|
|
|
- image: "{{ rhel7_ami }}"
|
|
|
- count: "{{ oo_new_inst_names | length }}"
|
|
|
- user_data: "{{ lookup('file', user_data_file) }}"
|
|
|
- wait: yes
|
|
|
- assign_public_ip: "{{ oo_assign_public_ip }}"
|
|
|
- vpc_subnet_id: "{{ oo_vpc_subnet_id }}"
|
|
|
- register: ec2
|
|
|
-
|
|
|
- - name: Add Name and environment tags to instances
|
|
|
- ec2_tag: "resource={{ item.1.id }} region={{ inst_region }} state=present"
|
|
|
- with_together:
|
|
|
- - oo_new_inst_names
|
|
|
- - ec2.instances
|
|
|
- args:
|
|
|
- tags:
|
|
|
- Name: "{{ item.0 }}"
|
|
|
-
|
|
|
- - name: Add other tags to instances
|
|
|
- ec2_tag: "resource={{ item.id }} region={{ inst_region }} state=present"
|
|
|
- with_items: ec2.instances
|
|
|
- args:
|
|
|
- tags: "{{ oo_new_inst_tags }}"
|
|
|
-
|
|
|
- - name: Add new instances public IPs to oo_hosts_to_config
|
|
|
- add_host: "hostname={{ item.0 }} ansible_ssh_host={{ item.1.public_ip }} groupname=oo_hosts_to_config"
|
|
|
- with_together:
|
|
|
- - oo_new_inst_names
|
|
|
- - ec2.instances
|
|
|
-
|
|
|
- - debug: var=ec2
|
|
|
-
|
|
|
- - name: Wait for ssh
|
|
|
- wait_for: "port=22 host={{ item.public_ip }}"
|
|
|
- with_items: ec2.instances
|
|
|
-
|
|
|
- - name: Wait for root user setup
|
|
|
- command: "ssh -o StrictHostKeyChecking=no -o PasswordAuthentication=no -o ConnectTimeout=10 -o UserKnownHostsFile=/dev/null root@{{ item.public_ip }} echo root user is setup"
|
|
|
- register: result
|
|
|
- until: result.rc == 0
|
|
|
- retries: 20
|
|
|
- delay: 10
|
|
|
- with_items: ec2.instances
|
|
|
-
|
|
|
-- name: Initial setup
|
|
|
- hosts: oo_hosts_to_config
|
|
|
- user: root
|
|
|
- gather_facts: true
|
|
|
-
|
|
|
- tasks:
|
|
|
-
|
|
|
- - name: Update All Things
|
|
|
- action: "{{ ansible_pkg_mgr }} name=* state=latest"
|
|
|
-
|
|
|
-# Apply the configs, seprate so that just the configs can be run by themselves
|
|
|
-- include: config.yml
|