...
- Controllare che tutti i servizi Openstack siano spenti
Controllare se sono installati openstack-client e selinux
Code Block language bash [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
Code Block language bash [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
Code Block language bash yum remove centos-release-openstack-caracal.noarch
Installare Epoxy
Code Block language bash 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
Code Block language bash export REL=caracal cp /etc/httpd/conf.d/openstack-dashboard.conf /etc/httpd/conf.d/openstack-dashboard.conf.$REL
Update pacchetti
Code Block language bash dnf update -y dnf upgrade -y da verificare e scrivere output
Code Block language bash title risultato collapse true # DA VERIFICARE PER EPOXY # Nell’update vengono scaricati i nuovi rpm: attenzione a questi file di configurazione cp /etc/openstack-dashboard/local_settings /etc/openstack-dashboard/local_settings.$REL 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/dhcp_agent.ini /etc/neutron/dhcp_agent.ini.$REL cp /etc/neutron/l3_agent.ini /etc/neutron/l3_agent.ini.$REL cp /etc/neutron/metadata_agent.ini /etc/neutron/metadata_agent.ini.$REL cp /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugins/ml2/ml2_conf.ini.$REL cp /etc/neutron/plugins/ml2/openvswitch_agent.ini /etc/neutron/plugins/ml2/openvswitch_agent.ini.$REL cp /etc/keystone/keystone.conf /etc/keystone/keystone.conf.$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/httpd/conf.d/auth_openidc.conf /etc/httpd/conf.d/auth_openidc.conf.$REL 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/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/dhcp_agent.ini.rpmnew /etc/neutron/dhcp_agent.ini mv -f /etc/neutron/l3_agent.ini.rpmnew /etc/neutron/l3_agent.ini mv -f /etc/neutron/metadata_agent.ini.rpmnew /etc/neutron/metadata_agent.ini mv -f /etc/neutron/plugins/ml2/ml2_conf.ini.rpmnew /etc/neutron/plugins/ml2/ml2_conf.ini mv -f /etc/neutron/plugins/ml2/openvswitch_agent.ini.rpmnew /etc/neutron/plugins/ml2/openvswitch_agent.ini mv -f /etc/keystone/keystone.conf.rpmnew /etc/keystone/keystone.conf 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/httpd/conf.d/auth_openidc.conf.rpmnew /etc/httpd/conf.d/auth_openidc.conf
Code Block language bash Aggiorniamo le configurazioni con puppet puppet agent -t (il servizi devono rimanere spenti pero'...controllare)
Aggiornament ad Epoxy
KEYSTONE
Code Block language bash #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 Facciamo ripartire httpd systemctl start httpd Aggiorniamo keystone sul controller2 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
Code Block language bash 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
Code Block language bash 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
Code Block language bash 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
Code Block language bash 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
Code Block language bash 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
Code Block language bash 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
Code Block language bash 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
...