Da Caracal a Epoxy
Procedura indicativa
A grandi linee la procedura sara':
- Si spengono tutti i servizi sul primo controller
- Sul secondo controller i servizi sono attivi con versione C
Si aggiornano i pacchetti a E e si aggiiornano i file di configurazione sul primo controller (senza fare partire i servizi)
Sul primo controller: keystone-manage db_sync --expand (il --expand di fatto fa in modo che il Db sia usabile sia per la versione C che per la versione E)
Sul primo controller si avvia keystone
si spegne keystone sul secondo controller
Sul primo controller: keystone-manage db_sync --contract
lo stesso per tutti gli altri servizi
Alla fine si aggiorna il secondo controller e si fanno partire anche li' i servizi
Si aggiornano i compute node uno alla volta
Check preliminari ed installazione release
- Controllare che tutti i servizi Openstack siano spenti
Controllare se sono installati openstack-client e selinux
[root@controller-01 ~]# yum list installed | grep openstackclient python-openstackclient-lang.noarch 6.6.1-1.el9s @centos-openstack-caracal python3-openstackclient.noarch 6.6.1-1.el9s @centos-openstack-caracal [root@controller-01 ~]# yum list installed | grep openstack-selinux openstack-selinux.noarch 0.8.40-1.el9s @centos-openstack-zed
Controllare versione kernel e ceph
[root@controller-01 ~]# yum list installed | grep kernel kernel.x86_64 5.14.0-427.24.1.el9_4 @anaconda kernel.x86_64 5.14.0-503.33.1.el9_5 @baseos kernel-core.x86_64 5.14.0-427.24.1.el9_4 @anaconda kernel-core.x86_64 5.14.0-503.33.1.el9_5 @baseos kernel-headers.x86_64 5.14.0-503.33.1.el9_5 @appstream kernel-modules.x86_64 5.14.0-427.24.1.el9_4 @anaconda kernel-modules.x86_64 5.14.0-503.33.1.el9_5 @baseos kernel-modules-core.x86_64 5.14.0-427.24.1.el9_4 @anaconda kernel-modules-core.x86_64 5.14.0-503.33.1.el9_5 @baseos kernel-srpm-macros.noarch 1.0-13.el9 @appstream kernel-tools.x86_64 5.14.0-503.33.1.el9_5 @baseos kernel-tools-libs.x86_64 5.14.0-503.33.1.el9_5 @baseos [root@controller-01 ~]# yum list installed | grep ceph blosc.x86_64 1.21.0-3.el9s @centos-ceph-pacific centos-release-ceph-reef.noarch 1.0-1.el9 @extras ceph-common.x86_64 2:18.2.4-2.el9s @centos-ceph-reef [root@controller-01 ~]# uname -a Linux controller-01.cloud.pd.infn.it 5.14.0-503.33.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Mar 20 03:39:23 EDT 2025 x86_64 x86_64 x86_64 GNU/LinuxRimuovere release Caracal
yum remove centos-release-openstack-caracal.noarch
Installare Epoxy
dnf install -y https://trunk.rdoproject.org/rdo_release/rdo-release.el9s.rpm (potrebbe servire) dnf install centos-release-openstack-epoxy
Salvare configurazioni che di solito vengono sovrascritte
export REL=caracal cp /etc/httpd/conf.d/openstack-dashboard.conf /etc/httpd/conf.d/openstack-dashboard.conf.$REL
Update pacchetti
dnf update -y dnf upgrade -y da verificare e scrivere output
Aggiorniamo le configurazioni con puppet puppet agent -t
dbsync a Epoxy
KEYSTONE
#crudini --set /etc/keystone/keystone.conf database connection mysql+pymysql://keystone:KEYSTONE_xx_yyy@192.168.60.88:4306/keystone #crudini --set /etc/keystone/keystone.conf token provider fernet su -s /bin/sh -c "keystone-manage doctor" keystone su -s /bin/sh -c "keystone-manage db_sync --expand" keystone Update your configuration files (/etc/keystone/) on all nodes (except the first node, which you’ve already done) with those corresponding to the latest release. Upgrade all keystone nodes to the next release, and restart them one at a time. During this step, you’ll have a mix of releases operating side by side, both writing to the database. As the next release begins writing to the new schema, database triggers will also migrate the data to the old schema, keeping both data schemas in sync. Run keystone-manage db_sync --contract to remove the old schema and all data migration triggers. When this process completes, the database will no longer be able to support the previous release.
GLANCE
crudini --set /etc/glance/glance-api.conf database connection mysql+pymysql://glance:GLANCE_xx_yyy@192.168.60.88:5306/glance su -s /bin/sh -c "glance-manage db expand" glance su -s /bin/sh -c "glance-manage db migrate" glance
PLACEMENT
crudini --set /etc/placement/placement.conf placement_database connection \ mysql+pymysql://placement:PLACEMENT_xx_yyy@192.168.60.88:6306/placement su -s /bin/sh -c "placement-manage db sync" placement #non scrive nulla a monitor
NOVA
crudini --set /etc/nova/nova.conf api_database connection mysql+pymysql://nova:NOVA_xx_yyy@192.168.60.88:6306/nova_api crudini --set /etc/nova/nova.conf database connection mysql+pymysql://nova:NOVA_xx_yyy@192.168.60.88:6306/nova crudini --set /etc/nova/nova.conf DEFAULT transport_url rabbit://openstack:RABBIT_zzz@192.168.60.223:5672 su -s /bin/sh -c "nova-manage api_db sync" nova #2025-01-17 14:51:17.986 1229364 INFO alembic.runtime.migration [-] Context impl MySQLImpl. #2025-01-17 14:51:17.987 1229364 INFO alembic.runtime.migration [-] Will assume non-transactional DDL. #2025-01-17 14:51:17.996 1229364 INFO alembic.runtime.migration [-] Context impl MySQLImpl. #2025-01-17 14:51:17.996 1229364 INFO alembic.runtime.migration [-] Will assume non-transactional DDL. su -s /bin/sh -c "nova-manage db sync" nova #/usr/lib/python3.9/site-packages/oslo_policy/policy.py:770: UserWarning: Policy "os_compute_api:os-deferred-delete":"rule:admin_or_owner" was deprecated in 21.0.0 in favor of #"os_compute_api:os-deferred-delete:restore":"rule:project_member_or_admin". Reason: #Nova API policies are introducing new default roles with scope_type #capabilities. Old policies are deprecated and silently going to be ignored #in nova 23.0.0 release. #. Either ensure your deployment is ready for the new default or copy/paste the deprecated policy into your policy file and maintain it manually. # warnings.warn(deprecated_msg) #/usr/lib/python3.9/site-packages/oslo_policy/policy.py:770: UserWarning: Policy "os_compute_api:os-deferred-delete":"rule:admin_or_owner" was deprecated in 21.0.0 in favor of #"os_compute_api:os-deferred-delete:force":"rule:project_member_or_admin". Reason: #Nova API policies are introducing new default roles with scope_type #capabilities. Old policies are deprecated and silently going to be ignored #in nova 23.0.0 release. #. Either ensure your deployment is ready for the new default or copy/paste the deprecated policy into your policy file and maintain it manually. # warnings.warn(deprecated_msg) #/usr/lib/python3.9/site-packages/oslo_policy/policy.py:770: UserWarning: Policy "os_compute_api:os-rescue":"rule:admin_or_owner" was deprecated in 21.0.0 in favor of "os_compute_api:os-#unrescue":"rule:project_member_or_admin". Reason: #Rescue/Unrescue API policies are made granular with new policy #for unrescue and keeping old policy for rescue. #. Either ensure your deployment is ready for the new default or copy/paste the deprecated policy into your policy file and maintain it manually. # warnings.warn(deprecated_msg) #2025-01-17 14:51:58.827 1229374 INFO alembic.runtime.migration [None req-0862a936-1b51-47be-9f0c-72119cc26e98 - - - - - -] Context impl MySQLImpl. #2025-01-17 14:51:58.828 1229374 INFO alembic.runtime.migration [None req-0862a936-1b51-47be-9f0c-72119cc26e98 - - - - - -] Will assume non-transactional DDL. #2025-01-17 14:51:58.837 1229374 INFO alembic.runtime.migration [None req-0862a936-1b51-47be-9f0c-72119cc26e98 - - - - - -] Context impl MySQLImpl. #2025-01-17 14:51:58.837 1229374 INFO alembic.runtime.migration [None req-0862a936-1b51-47be-9f0c-72119cc26e98 - - - - - -] Will assume non-transactional DDL. #2025-01-17 14:51:58.845 1229374 INFO alembic.runtime.migration [None req-0862a936-1b51-47be-9f0c-72119cc26e98 - - - - - -] Running upgrade 16f1fbcab42b -> ccb0fa1a2252, Add encryption fields #to BlockDeviceMapping #2025-01-17 14:52:00.215 1229374 INFO alembic.runtime.migration [None req-0862a936-1b51-47be-9f0c-72119cc26e98 - - - - - -] Context impl MySQLImpl. #2025-01-17 14:52:00.215 1229374 INFO alembic.runtime.migration [None req-0862a936-1b51-47be-9f0c-72119cc26e98 - - - - - -] Will assume non-transactional DDL. #2025-01-17 14:52:00.224 1229374 INFO alembic.runtime.migration [None req-0862a936-1b51-47be-9f0c-72119cc26e98 - - - - - -] Context impl MySQLImpl. #2025-01-17 14:52:00.224 1229374 INFO alembic.runtime.migration [None req-0862a936-1b51-47be-9f0c-72119cc26e98 - - - - - -] Will assume non-transactional DDL. #2025-01-17 14:52:00.231 1229374 INFO alembic.runtime.migration [None req-0862a936-1b51-47be-9f0c-72119cc26e98 - - - - - -] Running upgrade 16f1fbcab42b -> ccb0fa1a2252, Add encryption fields #to BlockDeviceMapping
NEUTRON
crudini --set /etc/neutron/neutron.conf database connection mysql+pymysql://neutron:NEUTRON_xx_yyy@192.168.60.88:5306/neutron crudini --set /etc/neutron/neutron.conf DEFAULT transport_url rabbit://openstack:RABBIT_zzz@192.168.60.223:5672 crudini --set /etc/neutron/neutron.conf DEFAULT core_plugin ml2 crudini --set /etc/neutron/neutron.conf DEFAULT service_plugins router crudini --set /etc/neutron/neutron.conf DEFAULT allow_overlapping_ips True crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 type_drivers flat,vlan,vxlan,gre crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types gre crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 mechanism_drivers openvswitch crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 extension_drivers port_security crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_flat flat_networks * crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup enable_ipset True su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron #INFO [alembic.runtime.migration] Context impl MySQLImpl. #INFO [alembic.runtime.migration] Will assume non-transactional DDL. # Running upgrade for neutron ... #INFO [alembic.runtime.migration] Context impl MySQLImpl. #INFO [alembic.runtime.migration] Will assume non-transactional DDL. #INFO [alembic.runtime.migration] Running upgrade 34cf8b009713 -> I43e0b669096 #INFO [alembic.runtime.migration] Running upgrade I43e0b669096 -> 4e6e655746f6 #INFO [alembic.runtime.migration] Running upgrade 4e6e655746f6 -> 659cbedf30a1 #INFO [alembic.runtime.migration] Running upgrade 659cbedf30a1 -> 21ff98fabab1 #INFO [alembic.runtime.migration] Running upgrade 21ff98fabab1 -> 5881373af7f5 # OK
CINDER
crudini --set /etc/cinder/cinder.conf database connection mysql+pymysql://cinder:CINDER_xx_yyy@192.168.60.88:5306/cinder crudini --set /etc/cinder/cinder.conf DEFAULT transport_url rabbit://openstack:RABBIT_zzz@192.168.60.223:5672 su -s /bin/sh -c "cinder-manage db sync" cinder #2025-01-17 15:05:50.953 1229734 INFO alembic.runtime.migration [-] Context impl MySQLImpl. #2025-01-17 15:05:50.953 1229734 INFO alembic.runtime.migration [-] Will assume non-transactional DDL. #2025-01-17 15:05:50.961 1229734 INFO cinder.db.migration [-] Applying migration(s) #2025-01-17 15:05:50.964 1229734 INFO alembic.runtime.migration [-] Context impl MySQLImpl. #2025-01-17 15:05:50.964 1229734 INFO alembic.runtime.migration [-] Will assume non-transactional DDL. #2025-01-17 15:05:50.971 1229734 INFO alembic.runtime.migration [-] Running upgrade 921e1a36b076 -> c92a3e68beed, Make shared_targets nullable #2025-01-17 15:05:51.301 1229734 INFO cinder.db.migration [-] Migration(s) applied
EC2
crudini --set /etc/ec2api/ec2api.conf database connection mysql+pymysql://ec2_user:EC2_xx_yyy@192.168.60.88:4306/ec2 su -s /bin/sh -c "ec2-api-manage db_sync" ec2api #non scrive nulla ne a video ne a log
HEAT
crudini --set /etc/heat/heat.conf database connection mysql+pymysql://heat:HEAT_xx_yyy@192.168.60.88:4306/heat crudini --set /etc/heat/heat.conf DEFAULT transport_url rabbit://openstack:RABBIT_zzz@192.168.60.223:5672 su -s /bin/sh -c "heat-manage db_sync" heat # non scrive nulla a video ne nei log
- DASHBOARD: nulla da fare
Da Zed a Antelope
Check preliminari ed installazione release
Rimuovere release Zed
yum remove centos-release-openstack-zed
Installare Antelope
yum install centos-release-openstack-antelope
Salvare configurazioni
export REL=zed cp /etc/ec2api/ec2api.conf /etc/ec2api/ec2api.conf.$REL cp /etc/ec2api/api-paste.ini /etc/ec2api/api-paste.ini.$REL cp /etc/httpd/conf.d/openstack-dashboard.conf /etc/httpd/conf.d/openstack-dashboard.conf.$REL
Upgrade pacchetti
yum upgrade --disablerepo=dell-system-update_independent --disablerepo=dell-system-update_dependent
Copiare tutti i file di configurazione nuovi (.rpmnew) al posto di quelli preesistenti
cp /etc/neutron/neutron.conf /etc/neutron/neutron.conf.$REL cp /etc/nova/nova.conf /etc/nova/nova.conf.$REL cp /etc/heat/heat.conf /etc/heat/heat.conf.$REL cp /etc/glance/glance-api.conf /etc/glance/glance-api.conf.$REL cp /etc/keystone/keystone.conf /etc/keystone/keystone.conf.$REL cp /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugins/ml2/ml2_conf.ini.$REL cp /etc/cinder/cinder.conf /etc/cinder/cinder.conf.$REL mv -f /etc/neutron/neutron.conf.rpmnew /etc/neutron/neutron.conf mv -f /etc/nova/nova.conf.rpmnew /etc/nova/nova.conf mv -f /etc/heat/heat.conf.rpmnew /etc/heat/heat.conf mv -f /etc/glance/glance-api.conf.rpmnew /etc/glance/glance-api.conf mv -f /etc/keystone/keystone.conf.rpmnew /etc/keystone/keystone.conf mv -f /etc/neutron/plugins/ml2/ml2_conf.ini.rpmnew /etc/neutron/plugins/ml2/ml2_conf.ini mv -f /etc/cinder/cinder.conf.rpmnew /etc/cinder/cinder.conf
dbsync ad Antelope
KEYSTONE
crudini --set /etc/keystone/keystone.conf database connection mysql+pymysql://keystone:KEYSTONE_xx_yyy@192.168.60.88:4306/keystone crudini --set /etc/keystone/keystone.conf token provider fernet su -s /bin/sh -c "keystone-manage db_sync" keystone #2025-01-17 15:30:33.985 1231797 INFO alembic.runtime.migration [-] Context impl MySQLImpl. #2025-01-17 15:30:33.985 1231797 INFO alembic.runtime.migration [-] Will assume non-transactional DDL. #2025-01-17 15:30:33.997 1231797 INFO alembic.runtime.migration [-] Context impl MySQLImpl. #2025-01-17 15:30:33.997 1231797 INFO alembic.runtime.migration [-] Will assume non-transactional DDL.
GLANCE
crudini --set /etc/glance/glance-api.conf database connection mysql+pymysql://glance:GLANCE_xx_yyy@192.168.60.88:5306/glance su -s /bin/sh -c "glance-manage db_sync" glance #2025-01-17 15:31:42.874 1231849 INFO alembic.runtime.migration [-] Context impl MySQLImpl. #2025-01-17 15:31:42.874 1231849 INFO alembic.runtime.migration [-] Will assume non-transactional DDL. #2025-01-17 15:31:42.900 1231849 INFO alembic.runtime.migration [-] Context impl MySQLImpl. #2025-01-17 15:31:42.900 1231849 INFO alembic.runtime.migration [-] Will assume non-transactional DDL. #INFO [alembic.runtime.migration] Context impl MySQLImpl. #INFO [alembic.runtime.migration] Will assume non-transactional DDL. #INFO [alembic.runtime.migration] Running upgrade wallaby_expand01 -> xena_expand01, empty expand for symmetry with 2023_1_expand01 #INFO [alembic.runtime.migration] Running upgrade xena_expand01 -> yoga_expand01, empty expand for symmetry with 2023_1_expand01 #INFO [alembic.runtime.migration] Running upgrade yoga_expand01 -> zed_expand01, empty expand for symmetry with 2023_1_expand01 #INFO [alembic.runtime.migration] Running upgrade zed_expand01 -> 2023_1_expand01, empty expand for symmetry with 2023_1_expand01 #INFO [alembic.runtime.migration] Context impl MySQLImpl. #INFO [alembic.runtime.migration] Will assume non-transactional DDL. #Upgraded database to: 2023_1_expand01, current revision(s): 2023_1_expand01, wallaby_contract01 #INFO [alembic.runtime.migration] Context impl MySQLImpl. #INFO [alembic.runtime.migration] Will assume non-transactional DDL. #INFO [alembic.runtime.migration] Context impl MySQLImpl. #INFO [alembic.runtime.migration] Will assume non-transactional DDL. #Database migration is up to date. No migration needed. #INFO [alembic.runtime.migration] Context impl MySQLImpl. #INFO [alembic.runtime.migration] Will assume non-transactional DDL. #INFO [alembic.runtime.migration] Context impl MySQLImpl. #INFO [alembic.runtime.migration] Will assume non-transactional DDL. #INFO [alembic.runtime.migration] Running upgrade wallaby_contract01 -> xena_contract01 #INFO [alembic.runtime.migration] Running upgrade xena_contract01 -> yoga_contract01 #INFO [alembic.runtime.migration] Running upgrade yoga_contract01 -> zed_contract01 #INFO [alembic.runtime.migration] Running upgrade zed_contract01 -> 2023_1_contract01 #INFO [alembic.runtime.migration] Context impl MySQLImpl. #INFO [alembic.runtime.migration] Will assume non-transactional DDL. #Upgraded database to: 2023_1_contract01, current revision(s): 2023_1_contract01 #INFO [alembic.runtime.migration] Context impl MySQLImpl. #INFO [alembic.runtime.migration] Will assume non-transactional DDL. #Database is synced successfully.
PLACEMENT
crudini --set /etc/placement/placement.conf placement_database connection mysql+pymysql://placement:PLACEMENT_xx_yyy@192.168.60.88:6306/placement su -s /bin/sh -c "placement-manage db sync" placement # non scrive nulla ne a monitor ne a log
NOVA
crudini --set /etc/nova/nova.conf api_database connection mysql+pymysql://nova:NOVA_xx_yyy@192.168.60.88:6306/nova_api crudini --set /etc/nova/nova.conf database connection mysql+pymysql://nova:NOVA_xx_yyy@192.168.60.88:6306/nova crudini --set /etc/nova/nova.conf DEFAULT transport_url rabbit://openstack:RABBIT_zzz@192.168.60.223:5672 su -s /bin/sh -c "nova-manage api_db sync" nova #2025-01-17 15:34:21.209 1231943 INFO alembic.runtime.migration [-] Context impl MySQLImpl. #2025-01-17 15:34:21.210 1231943 INFO alembic.runtime.migration [-] Will assume non-transactional DDL. #2025-01-17 15:34:21.219 1231943 INFO alembic.runtime.migration [-] Context impl MySQLImpl. #2025-01-17 15:34:21.219 1231943 INFO alembic.runtime.migration [-] Will assume non-transactional DD su -s /bin/sh -c "nova-manage db sync" nova #/usr/lib/python3.9/site-packages/oslo_policy/policy.py:770: UserWarning: Policy "os_compute_api:os-deferred-delete":"rule:admin_or_owner" was deprecated in 21.0.0 in favor of #"os_compute_api:os-deferred-delete:restore":"rule:project_member_or_admin". Reason: #Nova API policies are introducing new default roles with scope_type #capabilities. Old policies are deprecated and silently going to be ignored #in nova 23.0.0 release. #. Either ensure your deployment is ready for the new default or copy/paste the deprecated policy into your policy file and maintain it manually. # warnings.warn(deprecated_msg) #/usr/lib/python3.9/site-packages/oslo_policy/policy.py:770: UserWarning: Policy "os_compute_api:os-deferred-delete":"rule:admin_or_owner" was deprecated in 21.0.0 in favor of #"os_compute_api:os-deferred-delete:force":"rule:project_member_or_admin". Reason: #Nova API policies are introducing new default roles with scope_type #capabilities. Old policies are deprecated and silently going to be ignored #in nova 23.0.0 release. #. Either ensure your deployment is ready for the new default or copy/paste the deprecated policy into your policy file and maintain it manually. # warnings.warn(deprecated_msg) #/usr/lib/python3.9/site-packages/oslo_policy/policy.py:770: UserWarning: Policy "os_compute_api:os-rescue":"rule:admin_or_owner" was deprecated in 21.0.0 in favor of "os_compute_api:os-#unrescue":"rule:project_member_or_admin". Reason: #Rescue/Unrescue API policies are made granular with new policy #for unrescue and keeping old policy for rescue. #. Either ensure your deployment is ready for the new default or copy/paste the deprecated policy into your policy file and maintain it manually. # warnings.warn(deprecated_msg) #2025-01-17 15:34:34.625 1231948 INFO alembic.runtime.migration [None req-c88b64e4-97df-436f-b3a0-009af4d06d1b - - - - - -] Context impl MySQLImpl. #2025-01-17 15:34:34.626 1231948 INFO alembic.runtime.migration [None req-c88b64e4-97df-436f-b3a0-009af4d06d1b - - - - - -] Will assume non-transactional DDL. #2025-01-17 15:34:34.635 1231948 INFO alembic.runtime.migration [None req-c88b64e4-97df-436f-b3a0-009af4d06d1b - - - - - -] Context impl MySQLImpl. #2025-01-17 15:34:34.636 1231948 INFO alembic.runtime.migration [None req-c88b64e4-97df-436f-b3a0-009af4d06d1b - - - - - -] Will assume non-transactional DDL. #2025-01-17 15:34:34.643 1231948 INFO alembic.runtime.migration [None req-c88b64e4-97df-436f-b3a0-009af4d06d1b - - - - - -] Running upgrade ccb0fa1a2252 -> 960aac0e09ea, de-#duplicate_indexes_in_instances__console_auth_tokens #2025-01-17 15:34:35.342 1231948 INFO alembic.runtime.migration [None req-c88b64e4-97df-436f-b3a0-009af4d06d1b - - - - - -] Context impl MySQLImpl. #2025-01-17 15:34:35.343 1231948 INFO alembic.runtime.migration [None req-c88b64e4-97df-436f-b3a0-009af4d06d1b - - - - - -] Will assume non-transactional DDL. #2025-01-17 15:34:35.351 1231948 INFO alembic.runtime.migration [None req-c88b64e4-97df-436f-b3a0-009af4d06d1b - - - - - -] Context impl MySQLImpl. #2025-01-17 15:34:35.351 1231948 INFO alembic.runtime.migration [None req-c88b64e4-97df-436f-b3a0-009af4d06d1b - - - - - -] Will assume non-transactional DDL. #2025-01-17 15:34:35.358 1231948 INFO alembic.runtime.migration [None req-c88b64e4-97df-436f-b3a0-009af4d06d1b - - - - - -] Running upgrade ccb0fa1a2252 -> 960aac0e09ea, de-#duplicate_indexes_in_instances__console_auth_tokens
NEUTRON
crudini --set /etc/neutron/neutron.conf database connection mysql+pymysql://neutron:NEUTRON_xx_yyy@192.168.60.88:5306/neutron crudini --set /etc/neutron/neutron.conf DEFAULT transport_url rabbit://openstack:RABBIT_zzz@192.168.60.223:5672 crudini --set /etc/neutron/neutron.conf DEFAULT core_plugin ml2 crudini --set /etc/neutron/neutron.conf DEFAULT service_plugins router crudini --set /etc/neutron/neutron.conf DEFAULT allow_overlapping_ips True (<-- parametro deprecato) crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 type_drivers flat,vlan,vxlan,gre crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types gre crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 mechanism_drivers openvswitch crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 extension_drivers port_security crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_flat flat_networks * crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup enable_ipset True su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron #INFO [alembic.runtime.migration] Context impl MySQLImpl. #INFO [alembic.runtime.migration] Will assume non-transactional DDL. # Running upgrade for neutron ... #INFO [alembic.runtime.migration] Context impl MySQLImpl. #INFO [alembic.runtime.migration] Will assume non-transactional DDL. #INFO [alembic.runtime.migration] Running upgrade 5881373af7f5 -> fc153938cdc1 # OK # nel log non scrive nulla
CINDER
crudini --set /etc/cinder/cinder.conf database connection mysql+pymysql://cinder:CINDER_xx_yyy@192.168.60.88:5306/cinder crudini --set /etc/cinder/cinder.conf DEFAULT transport_url rabbit://openstack:RABBIT_zzz@192.168.60.223:5672 su -s /bin/sh -c "cinder-manage db sync" cinder #2025-01-17 16:00:48.053 1232639 INFO alembic.runtime.migration [-] Context impl MySQLImpl. #2025-01-17 16:00:48.053 1232639 INFO alembic.runtime.migration [-] Will assume non-transactional DDL. #2025-01-17 16:00:48.060 1232639 INFO cinder.db.migration [-] Applying migration(s) #2025-01-17 16:00:48.062 1232639 INFO alembic.runtime.migration [-] Context impl MySQLImpl. #2025-01-17 16:00:48.062 1232639 INFO alembic.runtime.migration [-] Will assume non-transactional DDL. #2025-01-17 16:00:48.069 1232639 INFO alembic.runtime.migration [-] Running upgrade c92a3e68beed -> daa98075b90d, Add resource indexes #2025-01-17 16:01:07.962 1232639 INFO cinder.db.migration [-] Migration(s) applied
EC2
crudini --set /etc/ec2api/ec2api.conf database connection mysql+pymysql://ec2_user:EC2_xx_yyy@192.168.60.88:4306/ec2 su -s /bin/sh -c "ec2-api-manage db_sync" ec2api # non scrive nulla a video ne nei log
HEAT
crudini --set /etc/heat/heat.conf database connection mysql+pymysql://heat:HEAT_xx_yyy@192.168.60.88:4306/heat crudini --set /etc/heat/heat.conf DEFAULT transport_url rabbit://openstack:RABBIT_zzz@192.168.60.223:5672 su -s /bin/sh -c "heat-manage db_sync" heat # non scrive nulla a video ne nei log
- DASHBOARD: nulla da fare
Da Antelope a Bobcat
Check preliminari ed installazione release
Rimuovere release Antelope
yum remove centos-release-openstack-antelope
Installare Bobcat
yum install centos-release-openstack-bobcat
Salvare configurazioni
export REL=antelope cp /etc/ec2api/ec2api.conf /etc/ec2api/ec2api.conf.$REL cp /etc/ec2api/api-paste.ini /etc/ec2api/api-paste.ini.$REL cp /etc/httpd/conf.d/openstack-dashboard.conf /etc/httpd/conf.d/openstack-dashboard.conf.$REL
Upgrade pacchetti disabilitando il repo centos-release-ceph-reef
yum upgrade --disablerepo=dell-system-update_independent --disablerepo=dell-system-update_dependent [root@controller-01 nova]# yum upgrade --disablerepo=dell-system-update_independent --disablerepo=dell-system-update_dependent CentOS-9-stream - Ceph Reef 825 kB/s | 374 kB 00:00 CentOS-9 - OpenStack bobcat 4.3 MB/s | 2.4 MB 00:00 Error: Problem 1: cannot install both thrift-0.15.0-3.el9s.x86_64 from centos-ceph-reef and thrift-0.14.0-7.el9s.x86_64 from @System - package parquet-libs-9.0.0-1.el9s.x86_64 from @System requires libthrift-0.14.0.so()(64bit), but none of the providers can be installed - cannot install the best update candidate for package thrift-0.14.0-7.el9s.x86_64 - cannot install the best update candidate for package parquet-libs-9.0.0-1.el9s.x86_64..... #disabilitare il repo /etc/yum.repos.d/CentOS-Ceph-Reef.repo (enabled = 0) [root@controller-01 yum.repos.d]# yum upgrade --disablerepo=dell-system-update_independent --disablerepo=dell-system-update_dependent ... Running scriptlet: python3-openstackclient-6.3.0-1.el9s.noarch 91/268 Could not load 'bgp_speaker_show_dragents': module 'neutronclient.osc.v2.dynamic_routing.bgp_dragent' has no attribute 'ListDRAgentsHostingBgpSpeaker' ...
Copiare tutti i file di configurazione nuovi (.rpmnew) al posto di quelli preesistenti
cp /etc/neutron/neutron.conf /etc/neutron/neutron.conf.$REL cp /etc/nova/nova.conf /etc/nova/nova.conf.$REL cp /etc/placement/placement.conf /etc/placement/placement.conf.$REL cp /etc/heat/heat.conf /etc/heat/heat.conf.$REL cp /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugins/ml2/ml2_conf.ini.$REL cp /etc/glance/glance-api.conf /etc/glance/glance-api.conf.$REL cp /etc/cinder/cinder.conf /etc/cinder/cinder.conf.$REL cp /etc/keystone/keystone.conf /etc/keystone/keystone.conf.$REL mv -f /etc/neutron/neutron.conf.rpmnew /etc/neutron/neutron.conf mv -f /etc/nova/nova.conf.rpmnew /etc/nova/nova.conf mv -f /etc/placement/placement.conf.rpmnew /etc/placement/placement.conf mv -f /etc/heat/heat.conf.rpmnew /etc/heat/heat.conf mv -f /etc/neutron/plugins/ml2/ml2_conf.ini.rpmnew /etc/neutron/plugins/ml2/ml2_conf.ini mv -f /etc/glance/glance-api.conf.rpmnew /etc/glance/glance-api.conf mv -f /etc/cinder/cinder.conf.rpmnew /etc/cinder/cinder.conf mv -f /etc/keystone/keystone.conf.rpmnew /etc/keystone/keystone.conf
dbsync ad Bobcat
KEYSTONE
crudini --set /etc/keystone/keystone.conf database connection mysql+pymysql://keystone:KEYSTONE_xx_yyy@192.168.60.88:4306/keystone crudini --set /etc/keystone/keystone.conf token provider fernet su -s /bin/sh -c "keystone-manage db_sync" keystone # 2025-01-17 17:02:48.551 1235474 INFO alembic.runtime.migration [-] Context impl MySQLImpl. #2025-01-17 17:02:48.552 1235474 INFO alembic.runtime.migration [-] Will assume non-transactional DDL. #2025-01-17 17:02:48.575 1235474 INFO alembic.runtime.migration [-] Running upgrade e25ffa003242 -> 99de3849d860, Fix incorrect constraints. #2025-01-17 17:02:48.908 1235474 INFO alembic.runtime.migration [-] Running upgrade 99de3849d860 -> c88cdce8f248, Remove duplicate constraints. #2025-01-17 17:02:49.009 1235474 INFO alembic.runtime.migration [-] Running upgrade 29e87d24a316 -> b4f8b3f584e0, Fix incorrect constraints. #2025-01-17 17:02:49.105 1235474 INFO alembic.runtime.migration [-] Running upgrade b4f8b3f584e0 -> 11c3b243b4cb, Remove service_provider.relay_state_prefix server default.
GLANCE
crudini --set /etc/glance/glance-api.conf database connection mysql+pymysql://glance:GLANCE_xx_yyy@192.168.60.88:5306/glance su -s /bin/sh -c "glance-manage db_sync" glance #2025-01-17 17:03:31.583 1235483 INFO alembic.runtime.migration [-] Context impl MySQLImpl. #2025-01-17 17:03:31.584 1235483 INFO alembic.runtime.migration [-] Will assume non-transactional DDL. #Database is up to date. No migrations needed.
PLACEMENT
crudini --set /etc/placement/placement.conf placement_database connection mysql+pymysql://placement:PLACEMENT_xx_yyy@192.168.60.88:6306/placement su -s /bin/sh -c "placement-manage db sync" placement # non scrive nulla ne a monitor ne a log
NOVA
crudini --set /etc/nova/nova.conf api_database connection mysql+pymysql://nova:NOVA_xx_yyy@192.168.60.88:6306/nova_api crudini --set /etc/nova/nova.conf database connection mysql+pymysql://nova:NOVA_xx_yyy@192.168.60.88:6306/nova crudini --set /etc/nova/nova.conf DEFAULT transport_url rabbit://openstack:RABBIT_zzz@192.168.60.223:5672 su -s /bin/sh -c "nova-manage api_db sync" nova #2025-01-17 17:04:59.582 1235523 INFO alembic.runtime.migration [-] Context impl MySQLImpl. #2025-01-17 17:04:59.582 1235523 INFO alembic.runtime.migration [-] Will assume non-transactional DDL. #2025-01-17 17:04:59.590 1235523 INFO alembic.runtime.migration [-] Running upgrade b30f573d3377 -> cdeec0c85668, Drop legacy migrate_version table su -s /bin/sh -c "nova-manage db sync" nova #/usr/lib/python3.9/site-packages/oslo_policy/policy.py:771: UserWarning: Policy "os_compute_api:os-deferred-delete":"rule:admin_or_owner" was deprecated in 21.0.0 in favor of #"os_compute_api:os-deferred-delete:restore":"rule:project_member_or_admin". Reason: #Nova API policies are introducing new default roles with scope_type #capabilities. Old policies are deprecated and silently going to be ignored #in nova 23.0.0 release. #. Either ensure your deployment is ready for the new default or copy/paste the deprecated policy into your policy file and maintain it manually. # warnings.warn(deprecated_msg) ##/usr/lib/python3.9/site-packages/oslo_policy/policy.py:771: UserWarning: Policy "os_compute_api:os-deferred-delete":"rule:admin_or_owner" was deprecated in 21.0.0 in favor of #"os_compute_api:os-deferred-delete:force":"rule:project_member_or_admin". Reason: #Nova API policies are introducing new default roles with scope_type #capabilities. Old policies are deprecated and silently going to be ignored #in nova 23.0.0 release. #. Either ensure your deployment is ready for the new default or copy/paste the deprecated policy into your policy file and maintain it manually. # warnings.warn(deprecated_msg) #/usr/lib/python3.9/site-packages/oslo_policy/policy.py:771: UserWarning: Policy "os_compute_api:os-rescue":"rule:admin_or_owner" was deprecated in 21.0.0 in favor of "os_compute_api:os-#unrescue":"rule:project_member_or_admin". Reason: #Rescue/Unrescue API policies are made granular with new policy #for unrescue and keeping old policy for rescue. #. Either ensure your deployment is ready for the new default or copy/paste the deprecated policy into your policy file and maintain it manually. # warnings.warn(deprecated_msg) #2025-01-17 17:05:32.254 1235528 INFO alembic.runtime.migration [None req-053b3479-329d-4e68-b729-937362026a7f - - - - - -] Context impl MySQLImpl. #2025-01-17 17:05:32.254 1235528 INFO alembic.runtime.migration [None req-053b3479-329d-4e68-b729-937362026a7f - - - - - -] Will assume non-transactional DDL. #2025-01-17 17:05:32.263 1235528 INFO alembic.runtime.migration [None req-053b3479-329d-4e68-b729-937362026a7f - - - - - -] Running upgrade 960aac0e09ea -> 1b91788ec3a6, Drop legacy #migrate_version table #2025-01-17 17:05:32.321 1235528 INFO alembic.runtime.migration [None req-053b3479-329d-4e68-b729-937362026a7f - - - - - -] Running upgrade 1b91788ec3a6 -> 1acf2c98e646, Add compute_id to #instance #2025-01-17 17:05:33.166 1235528 INFO alembic.runtime.migration [None req-053b3479-329d-4e68-b729-937362026a7f - - - - - -] Context impl MySQLImpl. #2025-01-17 17:05:33.167 1235528 INFO alembic.runtime.migration [None req-053b3479-329d-4e68-b729-937362026a7f - - - - - -] Will assume non-transactional DDL. #2025-01-17 17:05:33.175 1235528 INFO alembic.runtime.migration [None req-053b3479-329d-4e68-b729-937362026a7f - - - - - -] Running upgrade 960aac0e09ea -> 1b91788ec3a6, Drop legacy #migrate_version table #2025-01-17 17:05:33.230 1235528 INFO alembic.runtime.migration [None req-053b3479-329d-4e68-b729-937362026a7f - - - - - -] Running upgrade 1b91788ec3a6 -> 1acf2c98e646, Add compute_id to #instance
NEUTRON (attenzione DEFAULT allow_overlapping_ips True <-- parametro deprecato)
crudini --set /etc/neutron/neutron.conf database connection mysql+pymysql://neutron:NEUTRON_xx_yyy@192.168.60.88:5306/neutron crudini --set /etc/neutron/neutron.conf DEFAULT transport_url rabbit://openstack:RABBIT_zzz@192.168.60.223:5672 crudini --set /etc/neutron/neutron.conf DEFAULT core_plugin ml2 crudini --set /etc/neutron/neutron.conf DEFAULT service_plugins router crudini --set /etc/neutron/neutron.conf DEFAULT allow_overlapping_ips True crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 type_drivers flat,vlan,vxlan,gre crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types gre crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 mechanism_drivers openvswitch crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 extension_drivers port_security crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_flat flat_networks * crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup enable_ipset True su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron INFO [alembic.runtime.migration] Context impl MySQLImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. Running upgrade for neutron ... INFO [alembic.runtime.migration] Context impl MySQLImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running upgrade fc153938cdc1 -> 93f394357a27 INFO [alembic.runtime.migration] Running upgrade 93f394357a27 -> 6f1145bff34c Traceback (most recent call last): File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/base.py", line 1900, in _execute_context self.dialect.do_execute( File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute cursor.execute(statement, parameters) ..... File "/usr/lib/python3.9/site-packages/pymysql/err.py", line 107, in raise_mysql_exception raise errorclass(errno, errval) pymysql.err.OperationalError: (3780, "Referencing column 'port_id' and referenced column 'id' in foreign key constraint 'porthints_ibfk_1' are incompatible.") ########## ATTENZIONE Questo errore dovuto al charset del DB, sistemato direttamente nei db ########## [root@controller-01 yum.repos.d]# su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron INFO [alembic.runtime.migration] Context impl MySQLImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. Running upgrade for neutron ... INFO [alembic.runtime.migration] Context impl MySQLImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running upgrade 93f394357a27 -> 6f1145bff34c INFO [alembic.runtime.migration] Running upgrade 6f1145bff34c -> 682c319773d7 INFO [alembic.runtime.migration] Running upgrade 682c319773d7 -> 0aefee21cd87 INFO [alembic.runtime.migration] Running upgrade 0aefee21cd87 -> b1199a3adbef INFO [alembic.runtime.migration] Running upgrade b1199a3adbef -> c33da356b165 INFO [alembic.runtime.migration] Running upgrade c33da356b165 -> 89c58a70ceba OKCINDER
crudini --set /etc/cinder/cinder.conf database connection mysql+pymysql://cinder:CINDER_xx_yyy@192.168.60.88:5306/cinder crudini --set /etc/cinder/cinder.conf DEFAULT transport_url rabbit://openstack:RABBIT_zzz@192.168.60.223:5672 su -s /bin/sh -c "cinder-manage db sync" cinder #2025-01-17 18:37:51.145 1238077 INFO cinder.db.migration [-] Applying migration(s) #2025-01-17 18:37:51.148 1238077 INFO alembic.runtime.migration [-] Context impl MySQLImpl. #2025-01-17 18:37:51.149 1238077 INFO alembic.runtime.migration [-] Will assume non-transactional DDL. #2025-01-17 18:37:51.157 1238077 INFO alembic.runtime.migration [-] Running upgrade daa98075b90d -> 89aa6f9639f9, Drop legacy migrate_version table #2025-01-17 18:37:51.255 1238077 INFO cinder.db.migration [-] Migration(s) applied
EC2
crudini --set /etc/ec2api/ec2api.conf database connection mysql+pymysql://ec2_user:EC2_xx_yyy@192.168.60.88:4306/ec2 su -s /bin/sh -c "ec2-api-manage db_sync" ec2api # non scrive nulla ne a monitor ne sui log
HEAT
crudini --set /etc/heat/heat.conf database connection mysql+pymysql://heat:HEAT_xx_yyy@192.168.60.88:4306/heat crudini --set /etc/heat/heat.conf DEFAULT transport_url rabbit://openstack:RABBIT_zzz@192.168.60.223:5672 su -s /bin/sh -c "heat-manage db_sync" heat #2025-01-17 18:39:33.883 1238116 INFO heat.db.migration [-] Applying migration(s) #2025-01-17 18:39:33.897 1238116 INFO alembic.runtime.migration [-] Context impl MySQLImpl. #2025-01-17 18:39:33.898 1238116 INFO alembic.runtime.migration [-] Will assume non-transactional DDL. #2025-01-17 18:39:33.901 1238116 INFO heat.db.migration [-] The database is still under sqlalchemy-migrate control; fake applying the initial alembic migration #2025-01-17 18:39:33.902 1238116 INFO alembic.runtime.migration [-] Context impl MySQLImpl. #2025-01-17 18:39:33.902 1238116 INFO alembic.runtime.migration [-] Will assume non-transactional DDL. #2025-01-17 18:39:34.004 1238116 INFO alembic.runtime.migration [-] Running stamp_revision -> c6214ca60943 #2025-01-17 18:39:34.010 1238116 INFO alembic.runtime.migration [-] Context impl MySQLImpl. #2025-01-17 18:39:34.010 1238116 INFO alembic.runtime.migration [-] Will assume non-transactional DDL. #2025-01-17 18:39:34.028 1238116 INFO heat.db.migration [-] Migration(s) applied
- DASHBOARD: nulla da fare
Da Bobcat a Caracal (2024.1)
Check preliminari ed installazione release
Rimuovere release Bobcat
yum remove centos-release-openstack-bobcat
Installare Caracal
yum install centos-release-openstack-caracal
Salvare configurazioni
export REL=bobcat cp /etc/ec2api/ec2api.conf /etc/ec2api/ec2api.conf.$REL cp /etc/ec2api/api-paste.ini /etc/ec2api/api-paste.ini.$REL cp /etc/httpd/conf.d/openstack-dashboard.conf /etc/httpd/conf.d/openstack-dashboard.conf.$REL
Upgrade pacchetti disabilitando il repo CentOS-Ceph-Reef.repo
[root@controller-01 ~]# yum upgrade --disablerepo=dell-system-update_independent --disablerepo=dell-system-update_dependent Last metadata expiration check: 2:59:30 ago on Thu 27 Mar 2025 11:35:08 AM CET. Error: Problem 1: cannot install both thrift-0.15.0-3.el9s.x86_64 from centos-ceph-reef and thrift-0.14.0-7.el9s.x86_64 from @System - package parquet-libs-9.0.0-1.el9s.x86_64 from @System requires libthrift-0.14.0.so()(64bit), but none of the providers can be installed - cannot install the best update candidate for package thrift-0.14.0-7.el9s.x86_64 - cannot install the best update candidate for package parquet-libs-9.0.0-1.el9s.x86_64 Dopo aver disabilitato il repo /etc/yum.repos.d/CentOS-Ceph-Reef.repo (enabled 0) [root@controller-01 neutron]# yum upgrade ... Running scriptlet: python3-openstackclient-6.6.1-1.el9s.noarch 137/368 Could not load 'image_metadef_namespace_create': module 'openstackclient.image.v2.metadef_namespaces' has no attribute 'CreateMetadefNameSpace' Could not load 'image_metadef_namespace_delete': module 'openstackclient.image.v2.metadef_namespaces' has no attribute 'DeleteMetadefNameSpace' Could not load 'image_metadef_namespace_list': module 'openstackclient.image.v2.metadef_namespaces' has no attribute 'ListMetadefNameSpaces' Could not load 'image_metadef_namespace_set': module 'openstackclient.image.v2.metadef_namespaces' has no attribute 'SetMetadefNameSpace' Could not load 'image_metadef_namespace_show': module 'openstackclient.image.v2.metadef_namespaces' has no attribute 'ShowMetadefNameSpace' ... warning: /etc/nova/nova.conf created as /etc/nova/nova.conf.rpmnew
Copiare tutti i file di configurazione nuovi (.rpmnew) al posto di quelli preesistenti
cp /etc/placement/placement.conf /etc/placement/placement.conf.$REL cp /etc/nova/nova.conf /etc/nova/nova.conf.$REL cp /etc/openstack-dashboard/local_settings /etc/openstack-dashboard/local_settings.$REL cp /etc/neutron/neutron.conf /etc/neutron/neutron.conf.$REL cp /etc/heat/heat.conf /etc/heat/heat.conf.$REL cp /etc/keystone/keystone.conf /etc/keystone/keystone.conf.$REL cp /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugins/ml2/ml2_conf.ini.$REL cp /etc/glance/glance-api.conf /etc/glance/glance-api.conf.$REL cp /etc/cinder/cinder.conf /etc/cinder/cinder.conf.$REL cp /etc/keystone/policy.json.rpmsave /etc/keystone/policy.json.$REL mv -f /etc/placement/placement.conf.rpmnew /etc/placement/placement.conf mv -f /etc/nova/nova.conf.rpmnew /etc/nova/nova.conf mv -f /etc/openstack-dashboard/local_settings.rpmnew /etc/openstack-dashboard/local_settings mv -f /etc/neutron/neutron.conf.rpmnew /etc/neutron/neutron.conf mv -f /etc/heat/heat.conf.rpmnew /etc/heat/heat.conf mv -f /etc/keystone/keystone.conf.rpmnew /etc/keystone/keystone.conf mv -f /etc/neutron/plugins/ml2/ml2_conf.ini.rpmnew /etc/neutron/plugins/ml2/ml2_conf.ini mv -f /etc/glance/glance-api.conf.rpmnew /etc/glance/glance-api.conf mv -f /etc/cinder/cinder.conf.rpmnew /etc/cinder/cinder.conf
dbsync ad Caracal
KEYSTONE
crudini --set /etc/keystone/keystone.conf database connection mysql+pymysql://keystone:KEYSTONE_xx_yyy@192.168.60.88:4306/keystone crudini --set /etc/keystone/keystone.conf token provider fernet su -s /bin/sh -c "keystone-manage db_sync" keystone #2025-01-17 19:03:41.765 1240102 INFO alembic.runtime.migration [-] Context impl MySQLImpl. #2025-01-17 19:03:41.765 1240102 INFO alembic.runtime.migration [-] Will assume non-transactional DDL. #2025-01-17 19:03:41.785 1240102 INFO alembic.runtime.migration [-] Running upgrade 11c3b243b4cb -> 47147121, Add Identity Federation attribute mapping schema version.
GLANCE
crudini --set /etc/glance/glance-api.conf database connection mysql+pymysql://glance:GLANCE_xx_yyy@192.168.60.88:5306/glance su -s /bin/sh -c "glance-manage db_sync" glance #2025-01-17 19:04:47.968 1240128 INFO alembic.runtime.migration [-] Context impl MySQLImpl. #2025-01-17 19:04:47.969 1240128 INFO alembic.runtime.migration [-] Will assume non-transactional DDL. #2025-01-17 19:04:47.995 1240128 INFO alembic.runtime.migration [-] Context impl MySQLImpl. #2025-01-17 19:04:47.995 1240128 INFO alembic.runtime.migration [-] Will assume non-transactional DDL. #2025-01-17 19:04:48.050 1240128 INFO alembic.runtime.migration [-] Context impl MySQLImpl. #2025-01-17 19:04:48.051 1240128 INFO alembic.runtime.migration [-] Will assume non-transactional DDL. #2025-01-17 19:04:48.066 1240128 INFO alembic.runtime.migration [-] Running upgrade 2023_1_expand01 -> 2024_1_expand01, adds cache_node_reference and cached_images table(s) #2025-01-17 19:04:48.333 1240128 INFO alembic.runtime.migration [-] Context impl MySQLImpl. #2025-01-17 19:04:48.333 1240128 INFO alembic.runtime.migration [-] Will assume non-transactional DDL. #Upgraded database to: 2024_1_expand01, current revision(s): 2023_1_contract01, 2024_1_expand01 #2025-01-17 19:04:48.347 1240128 INFO alembic.runtime.migration [-] Context impl MySQLImpl. #2025-01-17 19:04:48.347 1240128 INFO alembic.runtime.migration [-] Will assume non-transactional DDL. #2025-01-17 19:04:48.359 1240128 INFO alembic.runtime.migration [-] Context impl MySQLImpl. #2025-01-17 19:04:48.359 1240128 INFO alembic.runtime.migration [-] Will assume non-transactional DDL. #Database migration is up to date. No migration needed. #2025-01-17 19:04:48.393 1240128 INFO alembic.runtime.migration [-] Context impl MySQLImpl. #2025-01-17 19:04:48.393 1240128 INFO alembic.runtime.migration [-] Will assume non-transactional DDL. #2025-01-17 19:04:48.430 1240128 INFO alembic.runtime.migration [-] Context impl MySQLImpl. #2025-01-17 19:04:48.430 1240128 INFO alembic.runtime.migration [-] Will assume non-transactional DDL. #2025-01-17 19:04:48.447 1240128 INFO alembic.runtime.migration [-] Running upgrade 2023_1_contract01 -> 2024_1_contract01 #2025-01-17 19:04:48.471 1240128 INFO alembic.runtime.migration [-] Context impl MySQLImpl. #2025-01-17 19:04:48.471 1240128 INFO alembic.runtime.migration [-] Will assume non-transactional DDL. #Upgraded database to: 2024_1_contract01, current revision(s): 2024_1_contract01 #2025-01-17 19:04:48.483 1240128 INFO alembic.runtime.migration [-] Context impl MySQLImpl. #2025-01-17 19:04:48.483 1240128 INFO alembic.runtime.migration [-] Will assume non-transactional DDL. Database is synced successfully.
PLACEMENT
crudini --set /etc/placement/placement.conf placement_database connection mysql+pymysql://placement:PLACEMENT_xx_yyy@192.168.60.88:6306/placement su -s /bin/sh -c "placement-manage db sync" placement # non scrive nulla ne a monitor ne a log
NOVA
crudini --set /etc/nova/nova.conf api_database connection mysql+pymysql://nova:NOVA_xx_yyy@192.168.60.88:6306/nova_api crudini --set /etc/nova/nova.conf database connection mysql+pymysql://nova:NOVA_xx_yyy@192.168.60.88:6306/nova crudini --set /etc/nova/nova.conf DEFAULT transport_url rabbit://openstack:RABBIT_zzz@192.168.60.223:5672 su -s /bin/sh -c "nova-manage api_db sync" nova #2025-01-17 19:06:35.183 1240199 INFO alembic.runtime.migration [-] Context impl MySQLImpl. #2025-01-17 19:06:35.184 1240199 INFO alembic.runtime.migration [-] Will assume non-transactional DDL. su -s /bin/sh -c "nova-manage db sync" nova #/usr/lib/python3.9/site-packages/oslo_policy/policy.py:775: UserWarning: Policy "os_compute_api:os-deferred-delete":"rule:admin_or_owner" was deprecated in 21.0.0 in favor of #"os_compute_api:os-deferred-delete:restore":"rule:project_member_or_admin". Reason: #Nova API policies are introducing new default roles with scope_type #capabilities. Old policies are deprecated and silently going to be ignored #in nova 23.0.0 release. #. Either ensure your deployment is ready for the new default or copy/paste the deprecated policy into your policy file and maintain it manually. # warnings.warn(deprecated_msg) #/usr/lib/python3.9/site-packages/oslo_policy/policy.py:775: UserWarning: Policy "os_compute_api:os-deferred-delete":"rule:admin_or_owner" was deprecated in 21.0.0 in favor of #"os_compute_api:os-deferred-delete:force":"rule:project_member_or_admin". Reason: #Nova API policies are introducing new default roles with scope_type #capabilities. Old policies are deprecated and silently going to be ignored #in nova 23.0.0 release. #. Either ensure your deployment is ready for the new default or copy/paste the deprecated policy into your policy file and maintain it manually. # warnings.warn(deprecated_msg) #/usr/lib/python3.9/site-packages/oslo_policy/policy.py:775: UserWarning: Policy "os_compute_api:os-rescue":"rule:admin_or_owner" was deprecated in 21.0.0 in favor of "os_compute_api:os-#unrescue":"rule:project_member_or_admin". Reason: #Rescue/Unrescue API policies are made granular with new policy #for unrescue and keeping old policy for rescue. #. Either ensure your deployment is ready for the new default or copy/paste the deprecated policy into your policy file and maintain it manually. # warnings.warn(deprecated_msg) #2025-01-17 19:08:48.460 1240238 INFO alembic.runtime.migration [None req-f1e24e45-1f93-43db-8865-3b42523a8f67 - - - - - -] Context impl MySQLImpl. #2025-01-17 19:08:48.461 1240238 INFO alembic.runtime.migration [None req-f1e24e45-1f93-43db-8865-3b42523a8f67 - - - - - -] Will assume non-transactional DDL. #2025-01-17 19:08:48.472 1240238 INFO alembic.runtime.migration [None req-f1e24e45-1f93-43db-8865-3b42523a8f67 - - - - - -] Running upgrade 1acf2c98e646 -> 13863f4e1612, #create_share_mapping_table #2025-01-17 19:08:48.874 1240238 INFO alembic.runtime.migration [None req-f1e24e45-1f93-43db-8865-3b42523a8f67 - - - - - -] Context impl MySQLImpl. #2025-01-17 19:08:48.874 1240238 INFO alembic.runtime.migration [None req-f1e24e45-1f93-43db-8865-3b42523a8f67 - - - - - -] Will assume non-transactional DDL. #2025-01-17 19:08:48.883 1240238 INFO alembic.runtime.migration [None req-f1e24e45-1f93-43db-8865-3b42523a8f67 - - - - - -] Running upgrade 1acf2c98e646 -> 13863f4e1612, #create_share_mapping_table
NEUTRON
crudini --set /etc/neutron/neutron.conf database connection mysql+pymysql://neutron:NEUTRON_xx_yyy@192.168.60.88:5306/neutron crudini --set /etc/neutron/neutron.conf DEFAULT transport_url rabbit://openstack:RABBIT_zzz@192.168.60.223:5672 crudini --set /etc/neutron/neutron.conf DEFAULT core_plugin ml2 crudini --set /etc/neutron/neutron.conf DEFAULT service_plugins router crudini --set /etc/neutron/neutron.conf DEFAULT allow_overlapping_ips True crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 type_drivers flat,vlan,vxlan,gre crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types gre crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 mechanism_drivers openvswitch crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 extension_drivers port_security crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_flat flat_networks * crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup enable_ipset True su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron #INFO [alembic.runtime.migration] Context impl MySQLImpl. #INFO [alembic.runtime.migration] Will assume non-transactional DDL. # Running upgrade for neutron ... #INFO [alembic.runtime.migration] Context impl MySQLImpl. #INFO [alembic.runtime.migration] Will assume non-transactional DDL. #INFO [alembic.runtime.migration] Running upgrade 89c58a70ceba -> 054e34dbe6b4 #INFO [alembic.runtime.migration] Running upgrade 054e34dbe6b4 -> 0e6eff810791
CINDER
crudini --set /etc/cinder/cinder.conf database connection mysql+pymysql://cinder:CINDER_xx_yyy@192.168.60.88:5306/cinder crudini --set /etc/cinder/cinder.conf DEFAULT transport_url rabbit://openstack:RABBIT_zzz@192.168.60.223:5672 su -s /bin/sh -c "cinder-manage db sync" cinder 2025-01-21 16:49:39.243 55053 ERROR cinder File "/usr/lib/python3.9/site-packages/pymysql/protocol.py", line 223, in raise_for_error 2025-01-21 16:49:39.243 55053 ERROR cinder err.raise_mysql_exception(self._data) 2025-01-21 16:49:39.243 55053 ERROR cinder File "/usr/lib/python3.9/site-packages/pymysql/err.py", line 107, in raise_mysql_exception 2025-01-21 16:49:39.243 55053 ERROR cinder raise errorclass(errno, errval) 2025-01-21 16:49:39.243 55053 ERROR cinder sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (1138, 'Invalid use of NULL value') 2025-01-21 16:49:39.243 55053 ERROR cinder [SQL: ALTER TABLE volumes MODIFY use_quota BOOL NOT NULL DEFAULT true] 2025-01-21 16:49:39.243 55053 ERROR cinder (Background on this error at: https://sqlalche.me/e/14/e3q8) 2025-01-21 16:49:39.243 55053 ERROR cinder ############################################################# ATTENZIONE Va modificata la tabella VOLUMES di cinder UPDATE volumes SET use_quota = 0 WHERE use_quota IS NULL; mysql> UPDATE volumes SET use_quota = 0 WHERE use_quota IS NULL; Query OK, 64477 rows affected (3.15 sec) Rows matched: 64477 Changed: 64477 Warnings: 0 ################################################################ [root@controller-01 etc]# su -s /bin/sh -c "cinder-manage db sync" cinder 2025-01-21 18:05:13.454 57254 INFO cinder.db.migration [-] Applying migration(s) 2025-01-21 18:05:13.457 57254 INFO alembic.runtime.migration [-] Context impl MySQLImpl. 2025-01-21 18:05:13.457 57254 INFO alembic.runtime.migration [-] Will assume non-transactional DDL. 2025-01-21 18:05:13.468 57254 INFO alembic.runtime.migration [-] Running upgrade b8660621f1b9 -> 9ab1b092a404, Make use_quota non nullable 2025-01-21 18:05:48.604 57254 INFO alembic.runtime.migration [-] Running upgrade 9ab1b092a404 -> b7b88f50aab5, Remove quota consistencygroups 2025-01-21 18:05:48.919 57254 INFO alembic.runtime.migration [-] Running upgrade b7b88f50aab5 -> 9c74c1c6971f, Quota: Add backup defaults in quota class 2025-01-21 18:05:48.946 57254 INFO cinder.db.migration [-] Migration(s) applied
EC2
########## ATTENZIONE rimuoviamo ec2 perche' non piu' supportato ########## [root@controller-01 etc]# yum list installed | grep ec2 openstack-ec2-api.noarch 17.0.0-1.el9s @centos-openstack-bobcat python3-ec2-api.noarch 17.0.0-1.el9s @centos-openstack-bobcat [root@controller-01 yum.repos.d]# yum remove openstack-ec2-api Dependencies resolved. =================================================================================================================================================================================================================== Package Architecture Version Repository Size =================================================================================================================================================================================================================== Removing: openstack-ec2-api noarch 17.0.0-1.el9s @centos-openstack-bobcat 15 k Removing unused dependencies: python3-ec2-api noarch 17.0.0-1.el9s @centos-openstack-bobcat 1.2 M python3-migrate noarch 0.13.0-5.el9s @centos-openstack-yoga 746 k Transaction Summary =================================================================================================================================================================================================================== Remove 3 Packages
HEAT
crudini --set /etc/heat/heat.conf database connection mysql+pymysql://heat:HEAT_xx_yyy@192.168.60.88:4306/heat crudini --set /etc/heat/heat.conf DEFAULT transport_url rabbit://openstack:RABBIT_zzz@192.168.60.223:5672 su -s /bin/sh -c "heat-manage db_sync" heat #2025-01-21 18:08:27.376 57375 INFO heat.db.migration [-] Applying migration(s) #2025-01-21 18:08:27.392 57375 INFO alembic.runtime.migration [-] Context impl MySQLImpl. #2025-01-21 18:08:27.392 57375 INFO alembic.runtime.migration [-] Will assume non-transactional DDL. #2025-01-21 18:08:27.423 57375 INFO alembic.runtime.migration [-] Context impl MySQLImpl. #2025-01-21 18:08:27.423 57375 INFO alembic.runtime.migration [-] Will assume non-transactional DDL. 32025-01-21 18:08:27.432 57375 INFO heat.db.migration [-] Migration(s) applied
- DASHBOARD: nulla da fare
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_Caracal" ed eseguire puppet nel nodo
puppet agent -t
- se puppet da problemi con shibbolet, perche' non trova la libreria libxerces-c-3_3, va installata
[root@controller-01 ~]# yum install libxerces-c-3_3 Last metadata expiration check: 0:08:09 ago on Wed 22 Jan 2025 03:03:45 PM CET. Dependencies resolved. ============================================================================================================================================================================================== Package Architecture Version Repository Size ============================================================================================================================================================================================== Installing: libxerces-c-3_3 x86_64 3.3.0-1.el9 shibboleth 964 k Transaction Summary ============================================================================================================================================================================================== Install 1 Package
Installare pacchetti openstack-heat-ui e python3-osc-placement
[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
Servizio nova usa rabbit-03
transport_url = rabbit://openstack:RABBIT_zzz@192.168.60.225:5672
Servizio neutron usa rabbit-02
transport_url = rabbit://openstack:RABBIT_zzz@192.168.60.224:5672
gli altri servizi (no keystone) usano rabbit-01
[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
[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
systemctl enable puppet
Fare il reboot del nodo
shutdown -r now