Nota: lo spegnimento di tutte le VM e gli snapshot lo facciamo sulla cloud di test per poter fare rollback per poter poi ritestare la procedura di update
Cambiare le vecchie password utenti e servizi (algoritmo sha_512 non e' piu' supportato in EPOXY
mysql> SELECT
lu.user_id,
lu.name,
u.created_at,
p.expires_at
FROM local_user AS lu
INNER JOIN user AS u
ON lu.user_id = u.id
INNER JOIN (
SELECT local_user_id, MAX(id) AS max_id
FROM password
GROUP BY local_user_id
) AS latest
ON lu.id = latest.local_user_id
INNER JOIN password AS p
ON p.id = latest.max_id
WHERE u.enabled = 1
AND (p.expires_at IS NULL OR p.expires_at > NOW())
AND (p.password_hash LIKE '$6$%' OR p.password_hash LIKE '$5$%');
cambiare le password da command line con:
openstack user set --password-prompt <username>
Spegnere tutte le VM attive
[root@controller-01 ~]# openstack server list --all-projects [root@controller-01 ~]# openstack server stop <id,id…..>
Spegnere tutti i servizi
Spegnere tutti i servizi openstack sui controller-node e sui compute-node per non modificare il db
Nei controller:
systemctl stop puppet systemctl disable puppet cd /root/StartServices ./complete.sh stop cd /root/StartServices ./complete.sh disable
Nei compute:
systemctl status openvswitch neutron-openvswitch-agent libvirtd.service openstack-nova-compute systemctl stop puppet systemctl disable puppet systemctl stop openvswitch neutron-openvswitch-agent libvirtd.service openstack-nova-compute systemctl disable openvswitch neutron-openvswitch-agent libvirtd.service openstack-nova-compute
systemctl stop puppet systemctl disable puppet systemctl stop openstack-nova-compute systemctl diable openstack-nova-compute systemctl stop neutron-openvswitch-agent systemctl disable neutron-openvswitch-agent systemctl stop openvswitch systemctl disable openvswitch
Controllare che le istanze di Percona siano in permissive e non in Enforcing
Altrimenti ci potrebbero essere problemi con i db-sync
[root@cld-db-test-04 ~]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 681802 Server version: 8.0.32-24.2 Percona XtraDB Cluster (GPL), Release rel24, Revision 2119e75, WSREP version 26.1.4.3 Copyright (c) 2009-2023 Percona LLC and/or its affiliates Copyright (c) 2000, 2023, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> SHOW GLOBAL VARIABLES like 'pxc_strict_mode'; +-----------------+------------+ | Variable_name | Value | +-----------------+------------+ | pxc_strict_mode | PERMISSIVE | +-----------------+------------+ 1 row in set (0.00 sec) mysql> exit Bye
Controllare che nei db mysql siano definite collation-server e character-set-server (utf8)
# in /etc/my.cnf (nei db) controllare che ci siano le due righe, altrimenti aggiungerle e riavviare mysql [mysqld] server-id=1 datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid collation-server = utf8_general_ci <------ character-set-server = utf8 <------ # e riavviare mysql. CLUSTER PERCONA: nel nodo cld-db-test-04 (quello acceso), dopo la modifica va fatto ripartire systemctl stop mysql@bootstrap.service systemctl start mysql@bootstrap.service negli altri due, con ordine inverso rispetto allo spegnimento, si fa partire mysql systemctl start mysql cosi' si sincronizza con il 4
Clonare le macchine
Clonare le macchine della cloud di test (sia controller che compute)
PDCL-2641 - Getting issue details... STATUS
Vedi istruzioni https://wiki.infn.it/progetti/cloud-areapd/best_practices/clone_host
Fare il dump dei database
[root@cld-db-test-04 backup]# mkdir /backup/BackupCaracalPrimaDellUpdate [root@cld-db-test-04 ~]# mysqldump -u root -p --all-databases > /backup/BackupCaracalPrimaDellUpdate/cld-db_test_04_caracal_dump_all.sql [root@cld-db-test-04 ~]# /usr/local/bin/mysql_dump_separate_db # e sposto i file risultanti da /backup/mysql a /backup/BackupCaracalPrimaDellUpdate (altrimenti in /backup/mysql verrebbero cancellati)
Riaccendere i servizi su controller e compute
Facendo partire puppet sui controller e sui compute