blob: 8cdfedfe5ed4fbc558fa619ad7706049f0d5e847 (
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
|
---
- hosts: all
tasks:
- name: Enable ssh to overcloud nodes from jumphost
shell: "cat /home/stack/jumphost_id_rsa.pub | ssh -T {{ SSH_OPTIONS }} heat-admin@{{ item.value }} 'cat >> ~/.ssh/authorized_keys'"
with_dict: "{{ overcloud_nodes }}"
become: yes
become_user: stack
- name: Configure external network
shell: "{{ overcloudrc }} && {{ item }}"
with_items: "{{ external_network_cmds }}"
when: vim == 'openstack'
- name: Configure gluon networks
shell: "{{ overcloudrc }} && {{ item }}"
when: gluon
with_items:
- openstack network create gluon-network --share --provider-network-type vxlan
- openstack subnet create gluon-subnet --no-gateway --no-dhcp --network GluonNetwork --subnet-range 0.0.0.0/1
- name: Find admin project id
shell: "{{ overcloudrc }} && openstack project list | grep admin | awk '{print $2}'"
register: os_project_id
- name: Ensure rc files owned by stack
file:
path: "/home/stack/{{ item }}"
state: file
owner: stack
group: stack
mode: 0644
become: yes
with_items: "{{ overcloudrc_files }}"
- name: Inject OS_PROJECT_ID and OS_TENANT_NAME into overcloudrc
lineinfile:
line: "{{ item }}"
path: /home/stack/overcloudrc
become: yes
become_user: stack
with_items:
- "export OS_PROJECT_ID={{ os_project_id.stdout }}"
- "export OS_TENANT_NAME=admin"
- name: Install Docker
yum:
name: docker
state: present
when: yardstick or dovetail
become: yes
- systemd:
name: docker
state: started
enabled: yes
when: yardstick or dovetail
become: yes
- name: Pull yardstick docker image
docker_image:
name: opnfv/yardstick
when: yardstick
become: yes
- name: Pull dovetail docker image
docker_image:
name: opnfv/dovetail
when: dovetail
become: yes
- name: Register SDN VIP
shell: "{{ stackrc }} && neutron port-list | grep control_virtual_ip | grep -Eo '([0-9]+\\.){3}[0-9]+'"
register: sdn_vip
become: yes
become_user: stack
when: sdn != false
- name: Write SDN controller VIP to overcloudrc
lineinfile:
line: "export SDN_CONTROLLER_IP={{ sdn_vip.stdout }}"
regexp: 'SDN_CONTROLLER_IP'
path: "/home/stack/{{ item }}"
when: sdn != false
become: yes
become_user: stack
with_items: "{{ overcloudrc_files }}"
- name: Write SDN WEB and REST PORT to overcloudrc
lineinfile:
line: "export {{ item[0] }}=8081"
regexp: "{{ item[0] }}"
path: "/home/stack/{{ item[1] }}"
when: sdn != false
become: yes
become_user: stack
with_nested:
- [ 'SDN_CONTROLLER_WEBPORT', 'SDN_CONTROLLER_RESTCONFPORT' ]
- "{{ overcloudrc_files }}"
- name: Grab Heat Environment variables
shell: "{{ stackrc }} && openstack stack environment show overcloud -f json"
register: heat_env
become: yes
become_user: stack
- name: Write SDN controller password to overcloudrc for ODL
lineinfile:
line: "export SDN_CONTROLLER_PASSWORD={{(heat_env.stdout|from_json)['parameter_defaults']['OpenDaylightPassword']}}"
regexp: 'SDN_CONTROLLER_PASSWORD'
path: "/home/stack/{{ item }}"
when: sdn == 'opendaylight'
become: yes
become_user: stack
with_items: "{{ overcloudrc_files }}"
- name: Register OS Region
shell: "{{ overcloudrc }} && openstack endpoint list -c Region -f json"
register: region
when: vim == 'openstack'
- name: Write Region into overcloudrc
lineinfile:
line: "export OS_REGION_NAME={{(region.stdout|from_json)[1]['Region']}}"
regexp: 'OS_REGION_NAME'
path: "/home/stack/{{ item }}"
become: yes
become_user: stack
with_items: "{{ overcloudrc_files }}"
when: vim == 'openstack'
- name: Create congress datasources
shell: "{{ overcloudrc }} && openstack congress datasource create {{ item }}"
become: yes
become_user: stack
when: congress
with_items: "{{ congress_datasources }}"
ignore_errors: yes
- name: Configure Calipso
block:
- name: Install pip3
yum:
name: python34-pip
state: present
- name: Install Calipso dependencies
pip:
name: "{{ item }}"
executable: pip3
with_items:
- docker
- pymongo
- name: Create Calipso user
user:
name: calipso
createhome: yes
- name: Remove old docker
package:
name: "{{ item }}"
state: absent
with_items:
- docker
- docker-common
- docker-selinux
- docker-engine
- name: Add Docker CE repo
shell: yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- name: Install Docker CE
package:
name: docker-ce
state: latest
- name: Start Docker
service:
name: docker
state: started
enabled: yes
- name: Install Calipso
command: >
python3 /root/calipso-installer.py --command start-all
--copy q --hostname {{ calipso_ip }} --dbport 37017 --webport 81
--apiport 8001 --rabbitmport 15673 --home /root
become: yes
when: calipso
|