blob: d65fc2719b84b35711586238d49c8fb520e9903b (
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
---
- hosts: all
tasks:
- name: Copy all files to undercloud
copy:
src: "{{ apex_temp_dir }}/{{ item }}"
dest: "/home/stack/{{ item }}"
owner: stack
group: stack
mode: 0644
with_items:
- network-environment.yaml
- instackenv.json
- overcloud-full.qcow2
- deploy_command
- virtual-environment.yaml
- baremetal-environment.yaml
- "{{ apex_env_file }}"
- name: Copy network data to undercloud
copy:
src: "{{ apex_temp_dir }}/network_data.yaml"
dest: "/home/stack/network_data.yaml"
owner: stack
group: stack
mode: 0644
when: os_version != 'ocata'
- copy:
src: "{{ apex_temp_dir }}/storage-environment.yaml"
dest: /usr/share/openstack-tripleo-heat-templates/environments/storage-environment.yaml
owner: root
group: root
mode: 0664
- copy:
src: "{{ apex_temp_dir }}/neutron-opendaylight-sriov.yaml"
dest: /usr/share/openstack-tripleo-heat-templates/environments/neutron-opendaylight-sriov.yaml
owner: root
group: root
mode: 0664
- systemd:
name: openstack-swift-proxy
state: restarted
enabled: yes
become: yes
- name: Remove Ceph OSD from ceph storage role
lineinfile:
path: /usr/share/openstack-tripleo-heat-templates/roles_data.yaml
line: ' - OS::TripleO::Services::CephOSD'
owner: root
group: root
state: absent
become: yes
- name: Insert Ceph OSDs into Compute role
lineinfile:
path: /usr/share/openstack-tripleo-heat-templates/roles_data.yaml
insertbefore: '^\s*-\sOS::TripleO::Services::NovaCompute$'
line: ' - OS::TripleO::Services::CephOSD'
owner: root
group: root
become: yes
- name: Upload glance images
shell: "{{ stackrc }} && openstack overcloud image upload"
become: yes
become_user: stack
- name: Import inventory (baremetal)
shell: "{{ stackrc }} && openstack overcloud node import instackenv.json"
when: introspect
- name: Introspect inventory (baremetal)
shell: "{{ stackrc }} && openstack overcloud node introspect --all-manageable --provide"
when: introspect
- name: Import inventory (virtual)
shell: "{{ stackrc }} && openstack overcloud node import --provide instackenv.json"
when: not introspect
- name: Set flavors
shell: '{{ stackrc }} && openstack flavor set --property "cpu_arch"="{{ ansible_architecture }}" {{ item }}'
with_items:
- baremetal
- control
- compute
- name: Configure DNS server for ctlplane network
shell: "{{ stackrc }} && openstack subnet set ctlplane-subnet {{ dns_server_args }}"
- block:
- name: Execute Overcloud Deployment
shell: "{{ stackrc }} && bash deploy_command"
become: yes
become_user: stack
rescue:
- name: Show overcloud failures
shell: "{{ stackrc }} && openstack stack failures list overcloud --long"
become: yes
become_user: stack
always:
- name: Archive Mistral logs
archive:
path:
- /var/lib/mistral
- /var/log/mistral
dest: /root/mistral_logs.tar.gz
become: yes
- name: Fetch mistral logs
fetch:
src: /root/mistral_logs.tar.gz
dest: "{{ apex_temp_dir }}/"
flat: yes
become: yes
- name: Show Keystone output
shell: "{{ overcloudrc }} && {{ item }}"
when: debug
with_items:
- openstack endpoint list
- openstack service list
- name: Get overcloud nodes and IPs
shell: "{{ stackrc }} && openstack server list -f json"
register: nova_list
- name: Write nova list output to file
local_action: copy content="{{ nova_list.stdout }}" dest="{{ apex_temp_dir }}/nova_output"
- name: Fetch overcloudrc
fetch:
src: /home/stack/overcloudrc
dest: "{{ apex_temp_dir }}/"
flat: yes
|