123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- ---
- - 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
- - 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: gce.instance_data
- # Apply the configs, separate so that just the configs can be run by themselves
- - include: config.yml
- # Always bounce service to pick up new credentials
- #- name: "Restart instances"
- # hosts: oo_hosts_to_config
- # connection: ssh
- # user: root
- # tasks:
- # - debug: var=groups.oo_hosts_to_config
- # - name: Restart OpenShift
- # service: name=openshift-node enabled=yes state=restarted
|