diff options
| author | Matt Woodson <mwoodson@redhat.com> | 2015-02-24 10:16:20 -0500 | 
|---|---|---|
| committer | Matt Woodson <mwoodson@redhat.com> | 2015-02-24 10:16:20 -0500 | 
| commit | 41ad58a9b9cd59eb5d8bece20d0c1073190d67b4 (patch) | |
| tree | 7f11cf6a031a5c8b0efe9618c7ec3476c39fcbb8 /playbooks/aws/openshift-node/launch.yml | |
| parent | f780d4fa01a1e8b1559d31a7065715317a884ec4 (diff) | |
| parent | 0d0b7fa2bba160e8d04ba0f67a0de5c7a06499db (diff) | |
Merge branch 'master' into tower_install
Conflicts:
	lib/aws_command.rb
Diffstat (limited to 'playbooks/aws/openshift-node/launch.yml')
| -rw-r--r-- | playbooks/aws/openshift-node/launch.yml | 69 | 
1 files changed, 69 insertions, 0 deletions
diff --git a/playbooks/aws/openshift-node/launch.yml b/playbooks/aws/openshift-node/launch.yml new file mode 100644 index 000000000..a889b93be --- /dev/null +++ b/playbooks/aws/openshift-node/launch.yml @@ -0,0 +1,69 @@ +--- +- name: Launch instance(s) +  hosts: localhost +  connection: local +  gather_facts: no + +  vars: +    inst_region: us-east-1 +    atomic_ami: ami-86781fee +    user_data_file: user_data.txt + +  vars_files: +    - vars.yml + +  tasks: +    - name: Launch instances +      ec2: +        state: present +        region: "{{ inst_region }}" +        keypair: libra +        group: ['public'] +        instance_type: m3.large +        image: "{{ atomic_ami }}" +        count: "{{ oo_new_inst_names | oo_len }}" +        user_data: "{{ lookup('file', user_data_file) }}" +        wait: yes +      register: ec2 + +    - name: Add new instances public IPs to the atomic proxy host group +      add_host: "hostname={{ item.public_ip }} groupname=new_ec2_instances" +      with_items: ec2.instances + +    - 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.dns_name }} 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.dns_name }}" +      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.dns_name }} echo root user is setup" +      register: result +      until: result.rc == 0 +      retries: 20 +      delay: 10 +      with_items: ec2.instances + +# Apply the configs, seprate so that just the configs can be run by themselves +- include: config.yml  | 
