@@ -16,7 +16,7 @@ be automatically regenerated with a ``kayobe overcloud service deploy``.
16
16
Some secrets require manual input from the operator to change.
17
17
18
18
Following this process, there may be a few seconds of network downtime for
19
- running VMs when Neutron is reconfigured.
19
+ running VMs when Neutron is reconfigured when using ML2/OVS .
20
20
21
21
There will be API downtime for all services. The main reason for the outage is
22
22
that RabbitMQ must be completely stopped to change the secrets it uses. The
@@ -77,8 +77,7 @@ Full method
77
77
``kolla_docker `` dict in ``ansible/roles/nova/tasks/bootstrap_service.yml `` See
78
78
`here
79
79
<https://github.com/stackhpc/kolla-ansible/pull/496/commits/9da473a63414493517da668075b8c958fec56e96> `__
80
- for an example. (If you are using the latest ``stackhpc/yoga `` branch of
81
- Kolla-Ansible this should already be set)
80
+ for an example.
82
81
83
82
.. code ::
84
83
@@ -144,9 +143,20 @@ Full method
144
143
``kayobe-config/etc/kayobe/ansible/ `` if not, merge the latest
145
144
``stackhpc-kayobe-config ``
146
145
147
- .. code :: bash
146
+ 1. Run the playbook to generate a new keypair and add it to the authorised
147
+ keys of your hosts.
148
+
149
+ .. code :: bash
150
+
151
+ kayobe playbook run $KAYOBE_CONFIG_PATH /ansible/rekey-hosts.yml
152
+
153
+ 2. Ensure you can SSH to other nodes using the new keypair
154
+
155
+ 3. Re-run the playbook with arguments to remove the old keypair.
156
+
157
+ .. code :: bash
148
158
149
- kayobe playbook run $KAYOBE_CONFIG_PATH /ansible/rekey-hosts.yml
159
+ kayobe playbook run $KAYOBE_CONFIG_PATH /ansible/rekey-hosts.yml -t remove-key -e rekey_remove_existing_key=true
150
160
151
161
10. Update the Pulp password
152
162
@@ -165,8 +175,7 @@ Full method
165
175
kayobe seed service deploy -t seed-deploy-containers -kt none
166
176
167
177
(note you may need to skip docker registry login since the password will
168
- now be ‘incorrect’ e.g. ``-e ``
169
- ``deploy_containers_registry_attempt_login ``)
178
+ now be ‘incorrect’ e.g. ``-e deploy_containers_registry_attempt_login=false ``)
170
179
171
180
11. Rotate ``horizon_secret_key ``
172
181
@@ -197,20 +206,20 @@ Full method
197
206
198
207
pwgen -s 40 1
199
208
200
- 2. Exec into the Grafana container on a controller
209
+ 2. Update the value of ``grafana_admin_password `` in ``passwords.yml ``
210
+
211
+ 3. Exec into the Grafana container on a controller
201
212
202
213
.. code :: bash
203
214
204
215
sudo docker exec -it grafana bash
205
216
206
- 3 . Run the password reset command, then enter the new password
217
+ 4 . Run the password reset command, then enter the new password
207
218
208
219
.. code :: bash
209
220
210
221
grafana-cli admin reset-admin-password --password-from-stdin
211
222
212
- 4. Update the value of ``grafana_admin_password `` in ``passwords.yml ``
213
-
214
223
13. Update the MariaDB database password
215
224
216
225
1. Generate a new secret:
@@ -219,52 +228,51 @@ Full method
219
228
220
229
pwgen -s 40 1
221
230
222
- 2. Exec into the MariaDB container on a controller
231
+ 2. Update ``database_password `` in ``passwords.yml `` with your new
232
+ password. Make a note of the old password.
233
+
234
+ 3. Exec into the MariaDB container on a controller
223
235
224
236
.. code :: bash
225
237
226
238
sudo docker exec -it mariadb bash
227
239
228
- 3 . Log in to the database. You will be prompted for the password. Use the
229
- existing value of ``database_password ``
240
+ 4 . Log in to the database. You will be prompted for the password. Use the
241
+ old value of ``database_password ``
230
242
231
243
.. code :: bash
232
244
233
245
mysql -uroot -p
234
246
235
- 4 . Check the current state of the ``root `` user
247
+ 5 . Check the current state of the ``root `` user
236
248
237
249
.. code :: bash
238
250
239
251
SELECT Host,User,Password FROM mysql.user WHERE User=' root' ;
240
252
241
- 5 . Update the password for the ``root `` user
253
+ 6 . Update the password for the ``root `` user
242
254
243
255
.. code :: bash
244
256
245
257
SET PASSWORD FOR ' root' @' %' = PASSWORD(' newpassword' );
246
258
247
- 6 . Check that the password hash has changed in the user list
259
+ 7 . Check that the password hash has changed in the user list
248
260
249
261
.. code :: bash
250
262
251
263
SELECT Host,User,Password FROM mysql.user WHERE User=' root' ;
252
264
253
- 7 . If there are any remaining root users with the old password e.g.
265
+ 8 . If there are any remaining root users with the old password e.g.
254
266
``root@localhost ``, change the password for them too
255
267
256
- 8. Update ``database_password `` in ``passwords.yml `` with your new
257
- password
258
-
259
-
260
268
.. _nova-change :
261
269
262
270
14. Update the Nova Database password
271
+
263
272
.. warning ::
264
273
265
274
From this point onward, service may be disrupted
266
275
267
-
268
276
#. Create a new ``nova_database_password `` and store it in
269
277
``passwords.yml ``
270
278
@@ -296,51 +304,30 @@ Full method
296
304
``00000000-0000-0000-0000-000000000000 ``, change the above command
297
305
accordingly)
298
306
299
-
300
307
15. Re-encrypt your ``passwords.yml `` file
301
308
309
+ 16. Stop all OpenStack services
310
+
311
+ .. code :: bash
312
+
313
+ kayobe playbook run $KAYOBE_CONFIG_PATH /ansible/stop-openstack-services.yml
302
314
303
315
.. _k-a-change :
304
316
305
- 16 . Delete the service users in Keystone. The exact users will depend on the
317
+ 17 . Delete the service users in Keystone. The exact users will depend on the
306
318
deployment. Multinode example:
307
319
308
320
.. note ::
309
321
310
322
Alternatively, cherry-pick
311
- `this patch <https://review.opendev.org/c/openstack/kolla-ansible/+/903178 >`__
323
+ `this patch<https://review.opendev.org/c/openstack/kolla-ansible/+/903178> `__
312
324
313
325
314
326
.. code :: bash
315
327
316
328
openstack user delete glance cinder placement nova neutron heat magnum magnum_trustee_domain_admin barbican designate
317
329
318
- 17. Stop services using RabbitMQ
319
-
320
- .. code :: bash
321
-
322
- kayobe playbook run $KAYOBE_CONFIG_PATH /ansible/stop-openstack-services.yml
323
-
324
- 18. Nuke RabbitMQ
325
-
326
- .. code :: bash
327
-
328
- kayobe overcloud host command run -l controllers --become --command " docker stop rabbitmq && docker rm rabbitmq && docker volume rm rabbitmq"
329
-
330
- 19. Reconfigure Overcloud services to apply changes
331
-
332
-
333
- .. warning ::
334
-
335
- VMs should continue running, but connections to them will briefly be
336
- disrupted when Neutron is redeployed
337
-
338
- .. code :: bash
339
-
340
- kayobe overcloud service deploy
341
-
342
-
343
- 20. Flush the Memcached data on all controllers (any old data will now be
330
+ 18. Flush the Memcached data on all controllers (any old data will now be
344
331
inaccessible)
345
332
346
333
#. Install Telnet (on one of the controllers)
@@ -367,6 +354,23 @@ Full method
367
354
flush_all
368
355
quit
369
356
357
+ 19. Nuke RabbitMQ
358
+
359
+ .. code :: bash
360
+
361
+ kayobe overcloud host command run -l controllers --become --command " docker stop rabbitmq && docker rm rabbitmq && docker volume rm rabbitmq"
362
+
363
+ 20. Reconfigure Overcloud services to apply changes
364
+
365
+ .. warning ::
366
+
367
+ VMs should continue running, but connections to them will briefly be
368
+ disrupted when Neutron is redeployed when using ML2/OVS
369
+
370
+ .. code :: bash
371
+
372
+ kayobe overcloud service deploy
373
+
370
374
21. Manually update ``heat_domain_admin_password ``
371
375
372
376
#. TODO: Instructions
@@ -381,7 +385,7 @@ Full method
381
385
if individual user accounts are used
382
386
383
387
2. Any existing ``openrc `` files generated by Kolla Ansible will need to be
384
- re-generated or edited to use the new Kolla admin password
388
+ re-generated or edited to use the new Keystone admin password
385
389
386
390
24. Create a PR to merge the new secrets into your main Kayobe configuration
387
391
branch
@@ -505,6 +509,7 @@ Full password list
505
509
docker_registry_password
506
510
secrets_pulp_password
507
511
redis_master_password
512
+ haproxy_password
508
513
keystone_ssh_key
509
514
private_key
510
515
public_key
0 commit comments