Bug 1594404
| Summary: | Optionally built sub-packages are missing obsoletes | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Jason Joyce <jjoyce> |
| Component: | openvswitch | Assignee: | Timothy Redaelli <tredaelli> |
| Status: | CLOSED ERRATA | QA Contact: | Rick Alongi <ralongi> |
| Severity: | high | Docs Contact: | |
| Priority: | high | ||
| Version: | 7.5 | CC: | 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
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}
(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. 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
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.
The openvwitch component is delivered through the fast datapath channel, it is not documented in release notes. 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 |