Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 1594404

Summary: Optionally built sub-packages are missing obsoletes
Product: Red Hat Enterprise Linux 7 Reporter: Jason Joyce <jjoyce>
Component: openvswitchAssignee: Timothy Redaelli <tredaelli>
Status: CLOSED ERRATA QA Contact: Rick Alongi <ralongi>
Severity: high Docs Contact:
Priority: high    
Version: 7.5CC: atragler, ctrautma, fleitner, kfida, mburns, pvauter, tredaelli
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: openvswitch-2.9.0-49.el7fdn Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-08-15 13:53:04 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jason Joyce 2018-06-22 20:59:41 UTC
Description of problem:
When upgrading from an openvswitch version prior to 2.7.3-2 any optional packages (ovn-docker, etc.) in the new version are still installed.

Version-Release number of selected component (if applicable):
openvswitch-2.6.1-15.git20161206.el7ost
openvswitch-2.9.0-19.el7fdp.1

How reproducible:
Always
 then upgrade to openvswitch-2.9.0-19.el7fdp.1 via yum


Steps to Reproduce:
1. Install openvswitch-2.6.1-15.git20161206.el7ost
2. yum upgrade openvswitch 

Actual results:
openvswitch-ovn-docker-2.6.1-16.git20161206.el7ost is still installed


Expected results:
Only openvswitch-2.9.0 packages are left on the system

Additional info:
Obsoletes need to be added for all optional sub-packages

Comment 2 Timothy Redaelli 2018-06-24 11:28:32 UTC
Probably it's better to put some:

Requires: openvswitch-subpackage = %{version}-%{release}

for example python-openvswitch and openvswitch-ovn-common may have:
Requires: openvswitch = %{version}-%{release}

and the other ovn packages may have:
Requires: openvswitch-ovn-common = %{version}-%{release}

Comment 3 Mike Burns 2018-06-25 20:15:34 UTC
(In reply to Timothy Redaelli from comment #2)
> Probably it's better to put some:
> 
> Requires: openvswitch-subpackage = %{version}-%{release}
> 
> for example python-openvswitch and openvswitch-ovn-common may have:
> Requires: openvswitch = %{version}-%{release}
> 
> and the other ovn packages may have:
> Requires: openvswitch-ovn-common = %{version}-%{release}

I agree we should have these interdependencies.  The issue may not be completely clear, though.  

The issue here is that those optional sub-packages are actually not part of builds anymore, so not available.  If the change was made to add the Requires as specified, yum would actually fail because the optional sub-package doesn't exist for the newer openvswitch package.  

To solve this, in addition to the Requires, the base openvswitch package should also have:

Obsoletes:  <subpackage> < %{version}-%{release}

for each of the optional subpackages.

Comment 4 Flavio Leitner 2018-06-28 12:56:50 UTC
If we don't want that package to remain installed and it doesn't exist anymore, then our only option is to obsolete it in the main package. Just be careful to limit the version to allow us to bring it back in the future if needed.

Other restrictions might be too heavy, because we ship all packages at the same time, so yum should update all installed rpms in a smooth way and if we need to replace any rpm with a debug enabled one, we don't need to upgrade all others.

fbl

Comment 6 Rick Alongi 2018-07-19 19:31:07 UTC
I installed all of the 2.6.1.15 packages:

[root@netqe20 ~]# yum list installed | grep openvswitch
kernel-kernel-networking-openvswitch-vm100.noarch
openvswitch.x86_64                    2.6.1-15.git20161206.el7ost
openvswitch-debuginfo.x86_64          2.6.1-15.git20161206.el7ost
openvswitch-devel.x86_64              2.6.1-15.git20161206.el7ost
openvswitch-ovn-central.x86_64        2.6.1-15.git20161206.el7ost
openvswitch-ovn-common.x86_64         2.6.1-15.git20161206.el7ost
openvswitch-ovn-docker.x86_64         2.6.1-15.git20161206.el7ost
openvswitch-ovn-host.x86_64           2.6.1-15.git20161206.el7ost
openvswitch-ovn-vtep.x86_64           2.6.1-15.git20161206.el7ost

I then pointed to an RHOSP repo (RHOSP 13).  When I do a yum provides openvswitch, I see:

openvswitch-2.9.0-19.el7fdp.1.x86_64 : Open vSwitch
Repo        : rhelosp-13.0-puddle



openvswitch-2.6.1-15.git20161206.el7ost.x86_64 : Open vSwitch
Repo        : installed


When I do a yum provides openvswitch-ovn*, I see:

openvswitch-ovn-central-2.9.0-19.el7fdp.1.x86_64 : Open vSwitch - Open Virtual
                                                 : Network support
Repo        : rhelosp-13.0-puddle
Matched from:
Other       : openvswitch-ovn-central(x86-64) = 2.9.0-19.el7fdp.1
Other       : openvswitch-ovn-central = 2.9.0-19.el7fdp.1



openvswitch-ovn-common-2.9.0-19.el7fdp.1.x86_64 : Open vSwitch - Open Virtual
                                                : Network support
Repo        : rhelosp-13.0-puddle
Matched from:
Other       : openvswitch-ovn-common = 2.9.0-19.el7fdp.1
Other       : openvswitch-ovn-common(x86-64) = 2.9.0-19.el7fdp.1



openvswitch-ovn-host-2.9.0-19.el7fdp.1.x86_64 : Open vSwitch - Open Virtual
                                              : Network support
Repo        : rhelosp-13.0-puddle
Matched from:
Other       : openvswitch-ovn-host(x86-64) = 2.9.0-19.el7fdp.1
Other       : openvswitch-ovn-host = 2.9.0-19.el7fdp.1



openvswitch-ovn-vtep-2.9.0-19.el7fdp.1.x86_64 : Open vSwitch - Open Virtual
                                              : Network support
Repo        : rhelosp-13.0-puddle
Matched from:
Other       : openvswitch-ovn-vtep = 2.9.0-19.el7fdp.1
Other       : openvswitch-ovn-vtep(x86-64) = 2.9.0-19.el7fdp.1



openvswitch-ovn-central-2.6.1-15.git20161206.el7ost.x86_64 : Open vSwitch - Open
     ...: Virtual Network support
Repo        : installed
Matched from:
Provides    : openvswitch-ovn-central(x86-64) = 2.6.1-15.git20161206.el7ost



openvswitch-ovn-common-2.6.1-15.git20161206.el7ost.x86_64 : Open vSwitch - Open
     ...: Virtual Network support
Repo        : installed
Matched from:
Provides    : openvswitch-ovn-common(x86-64) = 2.6.1-15.git20161206.el7ost



openvswitch-ovn-docker-2.6.1-15.git20161206.el7ost.x86_64 : Open vSwitch - Open
     ...: Virtual Network support
Repo        : installed
Matched from:
Provides    : openvswitch-ovn-docker(x86-64) = 2.6.1-15.git20161206.el7ost



openvswitch-ovn-host-2.6.1-15.git20161206.el7ost.x86_64 : Open vSwitch - Open
     ...: Virtual Network support
Repo        : installed
Matched from:
Provides    : openvswitch-ovn-host(x86-64) = 2.6.1-15.git20161206.el7ost



openvswitch-ovn-vtep-2.6.1-15.git20161206.el7ost.x86_64 : Open vSwitch - Open
     ...: Virtual Network support
Repo        : installed
Matched from:
Provides    : openvswitch-ovn-vtep(x86-64) = 2.6.1-15.git20161206.el7ost

I do a yum update openvswitch and then a yum update openvswitch-ovn*.  After this, I checked for what was now installed and see that the obsoleted openvswitch-ovn-docker.x86_64 2.6.1.15 package remains.

[root@netqe20 home]# yum list installed | grep openvswitch
openvswitch.x86_64                    2.9.0-19.el7fdp.1       @rhelosp-13.0-puddle
openvswitch-debuginfo.x86_64          2.6.1-15.git20161206.el7ost
openvswitch-devel.x86_64              2.6.1-15.git20161206.el7ost
openvswitch-ovn-central.x86_64        2.9.0-19.el7fdp.1       @rhelosp-13.0-puddle
openvswitch-ovn-common.x86_64         2.9.0-19.el7fdp.1       @rhelosp-13.0-puddle
openvswitch-ovn-docker.x86_64         2.6.1-15.git20161206.el7ost
openvswitch-ovn-host.x86_64           2.9.0-19.el7fdp.1       @rhelosp-13.0-puddle
openvswitch-ovn-vtep.x86_64           2.9.0-19.el7fdp.1       @rhelosp-13.0-puddle

I removed all packages referenced and re-installed them at 2.6.1.15:

[root@netqe20 home]# yum list installed | grep openvswitchopenvswitch.x86_64                    2.6.1-15.git20161206.el7ost
openvswitch-debuginfo.x86_64          2.6.1-15.git20161206.el7ost
openvswitch-devel.x86_64              2.6.1-15.git20161206.el7ost
openvswitch-ovn-central.x86_64        2.6.1-15.git20161206.el7ost
openvswitch-ovn-common.x86_64         2.9.0-19.el7fdp.1       @rhelosp-13.0-puddle
openvswitch-ovn-docker.x86_64         2.6.1-15.git20161206.el7ost
openvswitch-ovn-host.x86_64           2.6.1-15.git20161206.el7ost
openvswitch-ovn-vtep.x86_64           2.6.1-15.git20161206.el7ost

Created repo containing all of the openvswitch related packages from:

http://download-node-02.eng.bos.redhat.com/brewroot/packages/openvswitch/2.9.0/55.el7fdp/x86_64/

[root@netqe20 home]# yum update openvswitch
Loaded plugins: product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
Resolving Dependencies
--> Running transaction check
---> Package openvswitch.x86_64 0:2.6.1-15.git20161206.el7ost will be updated
---> Package openvswitch.x86_64 0:2.9.0-55.el7fdp will be obsoleting
--> Processing Dependency: openvswitch-selinux-extra-policy for package: openvswitch-2.9.0-55.el7fdp.x86_64
---> Package openvswitch-ovn-docker.x86_64 0:2.6.1-15.git20161206.el7ost will be obsoleted
--> Running transaction check
---> Package openvswitch-selinux-extra-policy.noarch 0:1.0-3.el7fdp will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==========================================================================================
 Package                           Arch    Version             Repository            Size
==========================================================================================
Installing:
 openvswitch                       x86_64  2.9.0-55.el7fdp     infra01-server       6.4 M
     replacing  openvswitch-ovn-docker.x86_64 2.6.1-15.git20161206.el7ost
Installing for dependencies:
 openvswitch-selinux-extra-policy  noarch  1.0-3.el7fdp        rhelosp-13.0-puddle  7.9 k

Transaction Summary
==========================================================================================
Install  1 Package (+1 Dependent package)

Total download size: 6.4 M
Is this ok [y/d/N]: 

Complete the openvswitch update:

[root@netqe20 home]# yum list installed | grep openvswitch
openvswitch.x86_64                    2.9.0-55.el7fdp         @infra01-server   
openvswitch-debuginfo.x86_64          2.6.1-15.git20161206.el7ost
openvswitch-devel.x86_64              2.6.1-15.git20161206.el7ost
openvswitch-ovn-central.x86_64        2.6.1-15.git20161206.el7ost
openvswitch-ovn-common.x86_64         2.9.0-19.el7fdp.1       @rhelosp-13.0-puddle
openvswitch-ovn-host.x86_64           2.6.1-15.git20161206.el7ost
openvswitch-ovn-vtep.x86_64           2.6.1-15.git20161206.el7ost
openvswitch-selinux-extra-policy.noarch

[root@netqe20 home]# yum update openvswitch-ovn*.x86_64
Loaded plugins: product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
Resolving Dependencies
--> Running transaction check
---> Package openvswitch-ovn-central.x86_64 0:2.6.1-15.git20161206.el7ost will be updated
---> Package openvswitch-ovn-central.x86_64 0:2.9.0-55.el7fdp will be an update
---> Package openvswitch-ovn-common.x86_64 0:2.9.0-19.el7fdp.1 will be updated
---> Package openvswitch-ovn-common.x86_64 0:2.9.0-55.el7fdp will be an update
---> Package openvswitch-ovn-host.x86_64 0:2.6.1-15.git20161206.el7ost will be updated
---> Package openvswitch-ovn-host.x86_64 0:2.9.0-55.el7fdp will be an update
---> Package openvswitch-ovn-vtep.x86_64 0:2.6.1-15.git20161206.el7ost will be updated
---> Package openvswitch-ovn-vtep.x86_64 0:2.9.0-55.el7fdp will be an update
--> Finished Dependency Resolution

Dependencies Resolved

==========================================================================================
 Package                      Arch        Version               Repository           Size
==========================================================================================
Updating:
 openvswitch-ovn-central      x86_64      2.9.0-55.el7fdp       infra01-server      875 k
 openvswitch-ovn-common       x86_64      2.9.0-55.el7fdp       infra01-server      2.4 M
 openvswitch-ovn-host         x86_64      2.9.0-55.el7fdp       infra01-server      928 k
 openvswitch-ovn-vtep         x86_64      2.9.0-55.el7fdp       infra01-server      819 k

Transaction Summary
==========================================================================================
Upgrade  4 Packages

Total download size: 4.9 M
Is this ok [y/d/N]: 

Complete the openvswitch-ovn update:

[root@netqe20 home]# yum list installed | grep openvswitch
openvswitch.x86_64                    2.9.0-55.el7fdp         @infra01-server   
openvswitch-debuginfo.x86_64          2.6.1-15.git20161206.el7ost
openvswitch-devel.x86_64              2.6.1-15.git20161206.el7ost
openvswitch-ovn-central.x86_64        2.9.0-55.el7fdp         @infra01-server   
openvswitch-ovn-common.x86_64         2.9.0-55.el7fdp         @infra01-server   
openvswitch-ovn-host.x86_64           2.9.0-55.el7fdp         @infra01-server   
openvswitch-ovn-vtep.x86_64           2.9.0-55.el7fdp         @infra01-server   
openvswitch-selinux-extra-policy.noarch

Do yum update on devel and debuginfo packages:

[root@netqe20 home]# yum list installed | grep openvswitch
openvswitch.x86_64                    2.9.0-55.el7fdp         @infra01-server   
openvswitch-debuginfo.x86_64          2.9.0-55.el7fdp         @infra01-server   
openvswitch-devel.x86_64              2.9.0-55.el7fdp         @infra01-server   
openvswitch-ovn-central.x86_64        2.9.0-55.el7fdp         @infra01-server   
openvswitch-ovn-common.x86_64         2.9.0-55.el7fdp         @infra01-server   
openvswitch-ovn-host.x86_64           2.9.0-55.el7fdp         @infra01-server   
openvswitch-ovn-vtep.x86_64           2.9.0-55.el7fdp         @infra01-server   
openvswitch-selinux-extra-policy.noarch


All obsoleted packages have been removed as expected with this fix.

Marking as Verified using openvswitch 2.9.0.55 FDP.

Comment 7 Timothy Redaelli 2018-08-10 13:45:33 UTC
The openvwitch component is delivered through the fast datapath channel, it is not documented in release notes.

Comment 9 errata-xmlrpc 2018-08-15 13:53:04 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2018:2432