Description of problem: Updating RHOSP13 from z9 to z11 replaced openvswitch package from openvswitch-2.9.0-117.bz1733374.1.el7ost to openvswitch2.11-2.11.0-26.el7fdp. After that, the old logrotate config file of openvswitch was moved to /etc/logrotate.d/openvswitch.rpmsave and was replaced to the new one. I think that /etc/logrotate.d/openvswitch should not be replaced to the new one because both rpms' spec files have the following line in %files section. %config(noreplace) %{_sysconfdir}/logrotate.d/openvswitch I suppose that renaming the package from openvswitch to openvswitch2.11 causes this issue. The yum.log showed lines as follows: Jan 30 16:41:27 Installed: openvswitch2.11-2.11.0-26.el7fdp.x86_64 :(snip) Jan 30 16:44:12 Erased: openvswitch-2.9.0-117.bz1733374.1.el7ost.x86_64 Is this behavior as expected? Do we have to replace it manually after updating z9 to z10? Version-Release number of selected component (if applicable): RHOSP 13 z9 z10 openvswitch-2.9.0-117.bz1733374.1.el7ost openvswitch2.11-2.11.0-26.el7fdp How reproducible: Steps to Reproduce: Updating RHOSP13 from z9 to z10 with "openstack overcloud update run" Actual results: /etc/logrotate.d/openvswitch was replaced the new one after updating RHOSP from z9 to z10. Expected results: /etc/logrotate.d/openvswitch should not be replaced. Additional info:
I'm switching the component to rpm to see if this is intentional or a bug. I verified both old and new packages have %config(noreplace) %{_sysconfdir}/logrotate.d/openvswitch line in their spec files.
I does sound like a bug, but I'm not able to reproduce this when the switch happens within a single transaction as it should. The behavior seen here matches that of 'rpm -e openvswitch; rpm -Uvh openvswitch2.11-*.rpm', ie two different transactions, but the log timestamp snippets suggest a different order. Can you provide the entire yum.log of the transaction (and preferably the actual command as well) where this happens?
Hi Panu, Thank you so much for your reply and an advice related to "yum swap" . I ran "yum swap openvswitch rhosp-openvswitch" on my OSP13 in which I had changed /etc/logrotated/openvswitch in advance. After that, I found that it was not changed and the new one was created as "openvswitch.rpmnew" as follows: [heat-admin@compute-1 ~]$ rpm -q openvswitch openvswitch-2.9.0-117.bz1733374.1.el7ost.x86_64 [heat-admin@compute-1 ~]$ rpm -qV openvswitch S.5....T. c /etc/logrotate.d/openvswitch [heat-admin@compute-1 ~]$ ls -l /etc/logrotate.d/openvswitch* -rw-r--r--. 1 root root 691 4月 10 17:02 /etc/logrotate.d/openvswitch [heat-admin@compute-1 ~]$ md5sum /etc/logrotate.d/openvswitch* fa8a57237dacee67314435c5daba30f0 /etc/logrotate.d/openvswitch [heat-admin@compute-1 ~]$ sudo yum swap -y openvswitch rhosp-openvswitch :(snip) Erasing : openvswitch-2.9.0-117.bz1733374.1.el7ost.x86_64 22/22 :(snip) Installed: rhosp-openvswitch.noarch 0:2.11-0.6.el7ost Dependency Installed: openvswitch2.11.x86_64 0:2.11.0-35.el7fdp Replaced: openvswitch.x86_64 0:2.9.0-117.bz1733374.1.el7ost Complete! [heat-admin@compute-1 ~]$ rpm -q openvswitch package openvswitch is not installed [heat-admin@compute-1 ~]$ rpm -q openvswitch2.11 openvswitch2.11-2.11.0-35.el7fdp.x86_64 [heat-admin@compute-1 ~]$ ls -l /etc/logrotate.d/openvswitch* -rw-r--r--. 1 root root 691 Apr 10 17:02 /etc/logrotate.d/openvswitch -rw-r--r--. 1 root root 683 Feb 28 2019 /etc/logrotate.d/openvswitch.rpmnew [heat-admin@compute-1 ~]$ md5sum /etc/logrotate.d/openvswitch* fa8a57237dacee67314435c5daba30f0 /etc/logrotate.d/openvswitch 8695266fd09b4ad2b0d6962282e60692 /etc/logrotate.d/openvswitch.rpmnew I think that the above is ideal behavior. If it is possible to run "yum swap" like the above in openstack-tripleo-heat-templates/puppet/services/tripleo-packages.yaml, this issue will be fixed, I think. I will change the product to OSP13 and the component to openstack-tripleo-heat-templates. Thanks,
Recapping some live chat, the current system (in separate transactions) is by design, to prevent dataplane interruptions when updating. This cannot easily be fixed as this is a complex and critical part of the update. The best course of action here is to document this update limitation, noting to reapply the logrotate configuration after if needed. Updating status accordingly
To recap: during updates, if openvswitch major version changes (2.9 to 2.11 for example), customized configuration files for it will be renamed wit .rpmsave extension and default ones installed instead. You will need to reapply these modifications manually afterwards. For example, this includes logrotate configuration /etc/logrotate.d/openvswitch The reason is that we do not handle the RPM update in a single transaction (which would preserve the modifications), but in separate steps. This is to prevent dataplane interruptions that would be triggered by package update
Hi, The following fix added to the RHOSP 13, "Upgrading Red Hat OpenStack Platform" guide: During updates, if the Open vSwitch (OVS) major version changes (for example, 2.9 to 2.11), director renames any user-customized configuration files with an .rpmsave extension, and installs the default OVS configuration. If you want to retain your earlier OVS customizations, you must manually reapply your modifications contained in the renamed files (for example, logrotate configurations in /etc/logrotate.d/openvswitch). This two-step update method avoids data plane interruptions that would be triggered by an automatic RPM package update. Customers can now see this content on the Red Hat Cudtomer Portal, here: https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/13/html-single/upgrading_red_hat_openstack_platform/index#before-starting-the-upgrade Thanks, --Greg