diff options
| author | Jhon Honce <jhonce@redhat.com> | 2014-10-01 14:30:13 -0700 | 
|---|---|---|
| committer | Jhon Honce <jhonce@redhat.com> | 2014-10-02 15:36:01 -0700 | 
| commit | 346da608fbc71029ccac7ca559af38b0f218f3fe (patch) | |
| tree | 1f95c805c91a78c0f2a5b07b69c1afce845918ec /playbooks/gce/origin-minion | |
| parent | 23b5138b592e3ebcc0a33ba578db21e20bb2bf58 (diff) | |
| download | openshift-346da608fbc71029ccac7ca559af38b0f218f3fe.tar.gz openshift-346da608fbc71029ccac7ca559af38b0f218f3fe.tar.bz2 openshift-346da608fbc71029ccac7ca559af38b0f218f3fe.tar.xz openshift-346da608fbc71029ccac7ca559af38b0f218f3fe.zip  | |
WIP Infra - Add playbooks for using openshift binary
* Fixed terminate so that it properly removes the attached OS disk.
Diffstat (limited to 'playbooks/gce/origin-minion')
| -rw-r--r-- | playbooks/gce/origin-minion/config.yml | 39 | ||||
| -rw-r--r-- | playbooks/gce/origin-minion/launch.yml | 38 | ||||
| -rw-r--r-- | playbooks/gce/origin-minion/terminate.yml | 39 | ||||
| -rw-r--r-- | playbooks/gce/origin-minion/vars.yml | 0 | 
4 files changed, 116 insertions, 0 deletions
diff --git a/playbooks/gce/origin-minion/config.yml b/playbooks/gce/origin-minion/config.yml new file mode 100644 index 000000000..0a92d41c7 --- /dev/null +++ b/playbooks/gce/origin-minion/config.yml @@ -0,0 +1,39 @@ +- name: "populate oo_hosts_to_config host group if needed" +  hosts: localhost +  gather_facts: no +  tasks: +  - name: Evaluate oo_host_group_exp +    add_host: "name={{ item }} groups=oo_hosts_to_config" +    with_items: "{{ oo_host_group_exp | default('') }}" +    when: oo_host_group_exp is defined + +- name: "Gather facts for masters in {{ oo_env }}" +  hosts: "tag_env-host-type-{{ oo_env }}-openshift-master" +  connection: ssh +  user: root + +- name: "Set OO sepcific facts on localhost (for later use)" +  hosts: localhost +  gather_facts: no +  tasks: +    - name: Setting oo_master_ips fact on localhost +      set_fact: +        oo_master_ips: "{{ hostvars +            | oo_select_keys(groups['tag_env-host-type-' + oo_env + '-openshift-master']) +            | oo_collect(attribute='ansible_eth0.ipv4.address') }}" +      when: groups['tag_env-host-type-' + oo_env + '-openshift-master'] is defined + +- name: "Configure instances" +  hosts: oo_hosts_to_config +  connection: ssh +  user: root +  vars_files: +    - vars.yml +  roles: +    - ../../../roles/base_os +    - ../../../roles/repos +    - ../../../roles/docker +    - { +        role: ../../../roles/openshift_minion, +        oo_master_ips: "{{ hostvars['localhost'].oo_master_ips | default(['']) }}" +      } diff --git a/playbooks/gce/origin-minion/launch.yml b/playbooks/gce/origin-minion/launch.yml new file mode 100644 index 000000000..0a3ac3fdd --- /dev/null +++ b/playbooks/gce/origin-minion/launch.yml @@ -0,0 +1,38 @@ +--- +- name: Launch instance(s) +  hosts: localhost +  connection: local +  gather_facts: no + +  vars: +    inst_names: "{{ oo_new_inst_names }}" +    machine_type: n1-standard-1 +    image: libra-rhel7 + +  vars_files: +      - vars.yml + +  tasks: +    - name: Launch instances +      gce: +        instance_names: "{{ inst_names }}" +        machine_type: "{{ machine_type }}" +        image: "{{ image }}" +        service_account_email: "{{ gce_service_account_email }}" +        pem_file: "{{ gce_pem_file }}" +        project_id: "{{ gce_project_id }}" +        tags: "{{ oo_new_inst_tags }}" +      register: gce + +    - name: Add new instances public IPs to oo_hosts_to_config +      add_host: "hostname={{ item.name }} ansible_ssh_host={{ item.public_ip }} groupname=oo_hosts_to_config" +      with_items: gce.instance_data + +    - name: Wait for ssh +      wait_for: "port=22 host={{ item.public_ip }}" +      with_items: gce.instance_data + +    - debug: var=gce + +# Apply the configs, separate so that just the configs can be run by themselves +- include: config.yml diff --git a/playbooks/gce/origin-minion/terminate.yml b/playbooks/gce/origin-minion/terminate.yml new file mode 100644 index 000000000..d31f175e1 --- /dev/null +++ b/playbooks/gce/origin-minion/terminate.yml @@ -0,0 +1,39 @@ +- name: "populate oo_hosts_to_terminate host group if needed" +  hosts: localhost +  gather_facts: no +  tasks: +    - debug: var=oo_host_group_exp + +    - name: Evaluate oo_host_group_exp if it's set +      add_host: "name={{ item }} groups=oo_hosts_to_terminate" +      with_items: "{{ oo_host_group_exp | default('') }}" +      when: oo_host_group_exp is defined + +    - debug: msg="{{ groups['oo_hosts_to_terminate'] }}" + + +- name: Terminate instances +  hosts: localhost +  connection: local +  tasks: +    - name: Terminate minion instances +      gce: +        service_account_email: "{{ gce_service_account_email }}" +        pem_file: "{{ gce_pem_file }}" +        project_id: "{{ gce_project_id }}" +        state: 'absent' +        instance_names: "{{ groups['oo_hosts_to_terminate'] }}" +        disks: "{{ groups['oo_hosts_to_terminate'] }}" +      register: gce + +    - debug: var=gce + +#    - name: Remove disks of instances +#      gce_pd: +#        service_account_email: "{{ gce_service_account_email }}" +#        pem_file: "{{ gce_pem_file }}" +#        project_id: "{{ gce_project_id }}" +#        name: "{{ item }}" +#        state: deleted +#      with_items: gce.instance_names + diff --git a/playbooks/gce/origin-minion/vars.yml b/playbooks/gce/origin-minion/vars.yml new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/playbooks/gce/origin-minion/vars.yml  | 
