Procedura indicativa
A grandi linee la procedura sara':
...
- Sul secondo controller i servizi sono attivi con versione C
- Si spengono due dei tre db percona
- Si configura HAproxy in modo da far puntare al secondo controller
- Si spengono tutti i servizi sul primo controller
- Si aggiornano i pacchetti a E sul primo controller senza fare partire i servizi
- Si configura e si fa partire un servizio alla volta sul primo controller e si configura HAproxy in modo da far puntare per quel servizio al primo controller
- Si spengono tutti i servizi sul secondo controller e si aggiorna il secondo controller a epoxy, facendo partire i servizi
- Si modifica HAproxy in modo che punti a entrambi i controller
- Si aggiornano i compute node uno alla volta
Check pre installazione release
- Spegnere due delle tre istanze del db percona
- Modificare la classe puppet epoxy dei controller (service.pp) in modo che non faccia partire i servizi
| Code Block |
|---|
|
ATTENZIONE: modificare il file service.pp di puppet perche' non faccia partire i servizi una volta aggiornati. Per questo mettere tutti i servizi in
ensure => stopped,
enable => false,
e committare su git |
- Modificare l'HA in modo che per tutti i servizi punti al controller-02, che ha i servizi a Caracal attivi. Per questo modificare il file in cld-config ed eseguire puppet sui tre haproxy
| Code Block |
|---|
| language | shell |
|---|
| title | HAProxy |
|---|
|
in cld-config
cp /etc/puppetlabs/code/environments/production/modules/cloudtest_haproxy/files/servizio_httpd_glance_nova_neutron_cinder_heat_spento01_acceso02.cfg /etc/puppetlabs/code/environments/production/modules/cloudtest_haproxy/files/haproxy_el9.cfg
in cld-haproxy-test-01 - 02 - 03
puppet agent -t |
- In entrambi i controller spegnere e disabilitare puppet
| Code Block |
|---|
|
systemctl stop puppet
systemctl disable puppet
|
Installazione Epoxy nel controller-01
- Nel controller-01 spegnere e disabilitare tutti i servizi Openstack
...
A questo punto tutti i servizi puntano al controller1.
Installazione Epoxy nel controller-02
- rimuovere Caracal
| Code Block |
|---|
|
yum remove centos-release-openstack-caracal.noarch |
- installare Epoxy
| Code Block |
|---|
|
dnf install -y https://trunk.rdoproject.org/rdo_release/rdo-release.el9s.rpm (serve questo e contiene il repo epoxy)
#### facendo un check
[root@todelff ~]# rpm -qil rdo-release
Name : rdo-release
Version : epoxy
Release : 1.el9s
Architecture: noarch
Install Date: Wed Mar 11 15:29:25 2026
Group : System Environment/Base
Size : 13372
License : Apache2
Signature : (none)
Source RPM : rdo-release-epoxy-1.el9s.src.rpm
Build Date : Fri Mar 14 17:12:13 2025
Build Host : doogie-n1.rdu2.centos.org
Packager : CBS <cbs@centos.org>
Vendor : CentOS Cloud SIG
URL : https://github.com/rdo-infra/rdo-release
Summary : RDO repository configuration
Description :
This package contains the RDO repository
/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Cloud
/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Messaging
/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-NFV
/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage
/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-9
/etc/yum.repos.d/ceph-reef.repo
/etc/yum.repos.d/messaging.repo
/etc/yum.repos.d/nfv-openvswitch.repo
/etc/yum.repos.d/rdo-release.repo
/etc/yum.repos.d/rdo-testing.repo
|
...
In caso di nodi con VM che non possono essere migrate come fare l'update (vedi in passato)
----QUI---
Configurare il controller via puppet
in foreman https://cld-config.cloud.pd.infn.it/hosts/controller-01.cloud.pd.infn.it editare l'host sostituendo l'hostgroup "hosts_all/ControllerNode-Test" con "hosts_all/ControllerNode-Test_Epoxy" ed eseguire puppet nel nodo
Installare pacchetti openstack-heat-ui e python3-osc-placement
| Code Block |
|---|
|
[root@controller-01 yum.repos.d]# yum install openstack-heat-ui
Last metadata expiration check: 1:28:25 ago on Thu 23 Jan 2025 04:37:45 PM CET.
Dependencies resolved.
==============================================================================================================================================================================================
Package Architecture Version Repository Size
==============================================================================================================================================================================================
Installing:
openstack-heat-ui noarch 11.0.0-2.el9s centos-openstack-caracal 892 k
Installing dependencies:
python3-XStatic-Angular-UUID noarch 0.0.4.0-13.el9s centos-openstack-caracal 13 k
python3-XStatic-Angular-Vis noarch 4.16.0.0-10.el9s centos-openstack-caracal 13 k
python3-XStatic-FileSaver noarch 1.3.2.0-10.el9s centos-openstack-caracal 13 k
python3-XStatic-JS-Yaml noarch 3.8.1.0-11.el9s centos-openstack-caracal 13 k
python3-XStatic-Json2yaml noarch 0.1.1.0-10.el9s centos-openstack-caracal 13 k
xstatic-angular-uuid-common noarch 0.0.4.0-13.el9s centos-openstack-caracal 11 k
xstatic-angular-vis-common noarch 4.16.0.0-10.el9s centos-openstack-caracal 9.6 k
xstatic-filesaver-common noarch 1.3.2.0-10.el9s centos-openstack-caracal 11 k
xstatic-js-yaml-common noarch 3.8.1.0-11.el9s centos-openstack-caracal 30 k
xstatic-json2yaml-common noarch 0.1.1.0-10.el9s centos-openstack-caracal 9.2 k
Transaction Summary
=====================================================
[root@controller-01 keystone]# yum install python3-osc-placement
Last metadata expiration check: 2:05:32 ago on Thu 23 Jan 2025 04:37:45 PM CET.
Dependencies resolved.
==============================================================================================================================================================================================
Package Architecture Version Repository Size
==============================================================================================================================================================================================
Installing:
python3-osc-placement noarch 4.3.0-1.el9s centos-openstack-caracal 51 k
Transaction Summary
============================================================
|
Rabbit per nova e neutron
in caracal abbiamo deciso si utilizzare un rabbit dedicato per il servizio nova, uno per il servizio neutron e uno per tutti gli altri servizi. Va quindi ridefinita cell
...
| Code Block |
|---|
|
[root@controller-01 etc]# nova-manage cell_v2 list_cells --verbose
+-------+--------------------------------------+----------------------------------------------------+----------------------------------------------------------------+----------+
| Name | UUID | Transport URL | Database Connection | Disabled |
+-------+--------------------------------------+----------------------------------------------------+----------------------------------------------------------------+----------+
| cell0 | 00000000-0000-0000-0000-000000000000 | none:///// | mysql+pymysql://nova:NOVA_xx_yyy@192.168.60.88:6306/nova_cell0 | False |
| cell1 | 8fc9fbbe-697a-4d92-9ff6-cba3feb50b8e | rabbit://openstack:RABBIT_zzz@192.168.60.223:5672 | mysql+pymysql://nova:NOVA_xx_yyy@192.168.60.88:6306/nova | False |
+-------+--------------------------------------+----------------------------------------------------+----------------------------------------------------------------+----------+
[root@controller-01 etc]# nova-manage cell_v2 update_cell --cell 8fc9fbbe-697a-4d92-9ff6-cba3feb50b8e --transport-url rabbit://openstack:RABBIT_zzz@192.168.60.225:5672 --database_connection mysql+pymysql://nova:NOVA_xx_yyy@192.168.60.88:6306/nova
[root@controller-01 etc]# nova-manage cell_v2 list_cells --verbose
+-------+--------------------------------------+----------------------------------------------------+----------------------------------------------------------------+----------+
| Name | UUID | Transport URL | Database Connection | Disabled |
+-------+--------------------------------------+----------------------------------------------------+----------------------------------------------------------------+----------+
| cell0 | 00000000-0000-0000-0000-000000000000 | none:///// | mysql+pymysql://nova:NOVA_xx_yyy@192.168.60.88:6306/nova_cell0 | False |
| cell1 | 8fc9fbbe-697a-4d92-9ff6-cba3feb50b8e | rabbit://openstack:RABBIT_zzz@192.168.60.225:5672 | mysql+pymysql://nova:NOVA_xx_yyy@192.168.60.88:6306/nova | False |
+-------+--------------------------------------+----------------------------------------------------+----------------------------------------------------------------+----------+
|
Aggiornare ceph a reef abilitando repo epel
| Code Block |
|---|
|
[root@controller-01 log]# yum update \*ceph\* --enablerepo=epel
Last metadata expiration check: 1:23:23 ago on Mon 07 Apr 2025 12:52:12 PM CEST.
Dependencies resolved.
===================================================================================================================================================================================================================
Package Architecture Version Repository Size
===================================================================================================================================================================================================================
Upgrading:
abseil-cpp x86_64 20211102.0-4.el9 epel 551 k
ceph-common x86_64 2:18.2.4-2.el9s centos-ceph-reef 18 M
grpc-data noarch 1.46.7-10.el9 epel 19 k
libarrow x86_64 9.0.0-13.el9 epel 4.4 M
libarrow-doc noarch 9.0.0-13.el9 epel 25 k
libcephfs2 x86_64 2:18.2.4-2.el9s centos-ceph-reef 691 k
librados2 x86_64 2:18.2.4-2.el9s centos-ceph-reef 3.2 M
libradosstriper1 x86_64 2:18.2.4-2.el9s centos-ceph-reef 457 k
librbd1 x86_64 2:18.2.4-2.el9s centos-ceph-reef 2.9 M
librgw2 x86_64 2:18.2.4-2.el9s centos-ceph-reef 4.4 M
parquet-libs x86_64 9.0.0-13.el9 epel 838 k
python3-ceph-argparse x86_64 2:18.2.4-2.el9s centos-ceph-reef 46 k
python3-ceph-common x86_64 2:18.2.4-2.el9s centos-ceph-reef 130 k
python3-cephfs x86_64 2:18.2.4-2.el9s centos-ceph-reef 163 k
python3-grpcio x86_64 1.46.7-10.el9 epel 2.0 M
python3-rados x86_64 2:18.2.4-2.el9s centos-ceph-reef 320 k
python3-rbd x86_64 2:18.2.4-2.el9s centos-ceph-reef 299 k
python3-rgw x86_64 2:18.2.4-2.el9s centos-ceph-reef 100 k
re2 x86_64 1:20211101-20.el9 epel 191 k
thrift x86_64 0.15.0-4.el9 epel 1.6 M
Transaction Summary
===================================================================================================================================================================================================================
Upgrade 20 Packages |
Riabilitare servizio puppet
| Code Block |
|---|
|
systemctl enable puppet |
Fare il reboot del nodo
| Code Block |
|---|
|
shutdown -r now |
Ricordarsi che il calendar delle GPU va installato a mano