blob: 1b9696aacf4c4e2b991553ed65dd3d984bfad892 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
---
- name: Get net id
shell: 'neutron net-show {{ openstack_network_prefix }}-net | awk "/\\<id\\>/ {print \$4}"'
register: net_id_result
- name: Launch instance(s)
nova_compute:
name: '{{ item }}'
image_name: '{{ deployment_vars[deployment_type].image.name | default(omit, true) }}'
image_id: '{{ deployment_vars[deployment_type].image.id | default(omit, true) }}'
flavor_ram: '{{ openstack_flavor[k8s_type].ram | default(omit, true) }}'
flavor_id: '{{ openstack_flavor[k8s_type].id | default(omit, true) }}'
flavor_include: '{{ openstack_flavor[k8s_type].include | default(omit, true) }}'
key_name: '{{ openstack_ssh_keypair }}'
security_groups: '{{ openstack_network_prefix }}-{{ k8s_type }}-secgrp'
nics:
- net-id: '{{ net_id_result.stdout }}'
user_data: "{{ lookup('file','files/user-data') }}"
meta:
env: '{{ cluster }}'
host-type: '{{ type }}'
env-host-type: '{{ cluster }}-openshift-{{ type }}'
floating_ip_pools: '{{ openstack_floating_ip_pools }}'
with_items: instances
register: nova_compute_result
- name: Add new instances groups and variables
add_host:
hostname: '{{ item.item }}'
ansible_ssh_host: '{{ item.public_ip }}'
ansible_ssh_user: "{{ deployment_vars[deployment_type].ssh_user }}"
ansible_sudo: "{{ deployment_vars[deployment_type].sudo }}"
groups: 'tag_env_{{ cluster }}, tag_host-type_{{ type }}, tag_env-host-type_{{ cluster }}-openshift-{{ type }}'
with_items: nova_compute_result.results
- name: Wait for ssh
wait_for:
host: '{{ item.public_ip }}'
port: 22
with_items: nova_compute_result.results
- name: Wait for user setup
command: 'ssh -o StrictHostKeyChecking=no -o PasswordAuthentication=no -o ConnectTimeout=10 -o UserKnownHostsFile=/dev/null {{ hostvars[item.item].ansible_ssh_user }}@{{ item.public_ip }} echo {{ hostvars[item.item].ansible_ssh_user }} user is setup'
register: result
until: result.rc == 0
retries: 30
delay: 1
with_items: nova_compute_result.results
|