blob: 18ddab48d9ccb48c8a14091792d5832965c41b3b (
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
121
122
123
124
125
126
127
128
129
130
131
132
|
---
- 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: Workaround to downgrade pacemaker (LP#1770692)
block:
- name: Pull haproxy container
shell: docker pull {{ undercloud_ip }}:8787/tripleo{{ os_version }}/centos-binary-haproxy:current-tripleo-rdo
- name: Find container pacemaker version
shell: docker run {{ undercloud_ip }}:8787/tripleo{{ os_version }}/centos-binary-haproxy:current-tripleo-rdo /bin/rpm -q pacemaker
register: pcs_version
- name: Create centos74 repo (contains older pacemaker)
copy:
dest: /tmp/centos74.repo
content: |
[centos74-updates]
name=CentOS-74 - Updates
baseurl=http://mirror.centos.org/centos/7.4.1708/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1
mode: 0644
- name: Install container pacemaker version to overcloud image
shell: >
LIBGUESTFS_BACKEND=direct virt-customize -a /home/stack/overcloud-full.qcow2
--upload /tmp/centos74.repo:/etc/yum.repos.d/
--run-command "yum remove -y pacemaker-cluster-libs pacemaker-libs pacemaker pacemaker-cli"
--run-command "yum install -y {{ pcs_version.stdout }}" -v
--install "pcs"
become: yes
when: ha_enabled
- 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"
rescue:
- name: Show overcloud failures
shell: "{{ stackrc }} && openstack stack failures list overcloud --long"
become: yes
become_user: stack
- 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
|