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
| Code Block |
|---|
[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
...
| Code Block |
|---|
systemctl stop puppet
systemctl disable puppet
cd /root/StartServices
./complete.sh stop
cd /root/StartServices
./complete.sh disable |
Nei compute:
| Code Block |
|---|
|
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
|
| Code Block |
|---|
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
|
Clonare le macchine
---------------------- CUT HERE ----------------------------
...
Aggiungere da dashboard ruolo Member e member ai project manager di tutti i progetti
Spegnere tutte le VM attive
...
...
...
Controllare che le istanze di Percona siano in permissive e non in Enforcing
Altrimenti ci potrebbero essere problemi con i db-sync
| Code Block |
|---|
|
[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)
| Code Block |
|---|
|
# 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
|
Spegnere mysql su due dei tre nodi percona ricordando l'ordine di spegnimento
| Code Block |
|---|
|
[root@cld-db-test-06 ~]# systemctl stop mysql
[root@cld-db-test-05 ~]# systemctl stop mysql |
Spegnere e disabilitare puppet sui controller e sui compute
| Code Block |
|---|
|
systemctl status puppet
systemctl stop puppet
systemctl disable puppet |
...
Online migration database nova e cinder sul controller
| Code Block |
|---|
|
su -s /bin/sh -c "cinder-manage db online_data_migrations" cinder
su -s /bin/sh -c "nova-manage db online_data_migrations" nova |
...
Disabilitare i check nagios dei compute
In cld-nagios disabilitare i vari check dei compute.
...
| Code Block |
|---|
|
[root@cld-nagios /] vi /etc/nagios/nagios.cfg
# commentare le righe
cfg_file=/etc/nagios/objects/cloudtestcomputenodes.cfg
cfg_file=/etc/nagios/objects/mtu.cfg
# verificare la correttezza della configurazione con
[root@cld-nagios /]# nagios -v /etc/nagios/nagios.cfg
# se non ci sono errori riavviare nagios con
[root@cld-nagios /]# systemctl restart nagios |
Spegnere tutti i servizi openstack sui controller-node e sui compute-node per non modificare il db
nei controller:
| Code Block |
|---|
|
cd /root/StartServices
./complete.sh stop |
lo script complete.sh spegne/accende/controlla lo stato tutti i servizi elencati qui
| Code Block |
|---|
| language | bash |
|---|
| title | complete.sh |
|---|
| collapse | true |
|---|
|
./heat.sh stop
# ovvero systemctl $1 openstack-heat-api.service openstack-heat-api-cfn.service openstack-heat-engine.service
./cinder.sh stop
# ovvero systemctl $1 openstack-cinder-api.service openstack-cinder-scheduler.service
# e systemctl $1 openstack-cinder-volume.service target.service
./ec2.sh stop
# ovvero systemctl $1 openstack-ec2-api.service openstack-ec2-api-metadata.service
./neutron-agents.sh stop
# ovvero systemctl $1 neutron-openvswitch-agent.service neutron-l3-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service
./neutron.sh stop
# ovvero systemctl $1 neutron-server.service
./glance.sh stop
# ovvero systemctl $1 openstack-glance-api.service
./nova.sh stop
# ovvero systemctl $1 openstack-nova-api.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
./keystone.sh stop
# ovvero systemctl $1 httpd.service
systemctl stop memcached
systemctl stop shibd
|
...
nei compute
| Code Block |
|---|
|
systemctl status openvswitch neutron-openvswitch-agent libvirtd.service openstack-nova-compute
systemctl stop openvswitch neutron-openvswitch-agent libvirtd.service openstack-nova-compute
|
Clonare le macchine
Clonare le macchine della cloud di test (sia controller che compute)
| Jira |
|---|
| server | INFN Jira Software |
|---|
| columnIds | issuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution |
|---|
| columns | key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution |
|---|
| serverId | 8087fedc-8816-3706-9e66-78f987f39e0c |
|---|
| key | PDCL-2641 |
|---|
|
Vedi istruzioni https://wiki.infn.it/progetti/cloud-areapd/best_practices/clone_host
Fare il dump dei database
| Code Block |
|---|
|
[root@cld-db-test-04 backup]# mkdir /backup/BackupCaracalPrimaDellUpdate
|
...
Salvare le configurazioni dei controller e dei compute
| Code Block |
|---|
|
nel controller-01
cd /
tar cvfz etc-controller-01-yoga.tgz etc
scp *.tgz <hostname>.pd.infn.it://yyy/etc-controller-01-train.tgz
nel compute-01
cd /
tar cvfz etc-compute-01-yoga.tgz etc
scp *.tgz <hostname>.pd.infn.it://yyy/etc-compute-01-xena.tgz |
Fare il dump di tutti i db
...
[root@cld-db-test-04 ~]# mysqldump -u root -p --all-databases > /backup/BackupCaracalPrimaDellUpdate/cld-db_test_04_ |
...
...
...
[root@cld-db-test-04 ~]# /usr/local/bin/mysql_dump_separate_db
# e sposto |
...
...
...
...
...
...
a /backup/BackupCaracalPrimaDellUpdate (altrimenti in |
...
Clonare le macchine
vedi istruzioni https://wiki.infn.it/progetti/cloud-areapd/best_practices/clone_host
...
Controllare che EPEL sia disabilitato (nei controller)
| Code Block |
|---|
|
per disabilitarlo
yum-config-manager --disable epel\*
# enabled = 0 --> repo disabilitato
|
...
Controllare nei nodi con openmanage se e' installato il pacchetto srvadmin-idracadm7.x86_64
Se ci sono conflitti durante gli update, conviene fare update con --disablerepo=dell-system-update_independent --disablerepo=dell-system-update_dependent
/backup/mysql verrebbero cancellati)
|
Riaccendere i servizi su controller e compute
Facendo partire puppet sui controller e sui compute
...
...