RDO tickets are now tracked in Jira https://issues.redhat.com/projects/RDO/issues/
Bug 1359377 - can't yum update to new swift packages
Summary: can't yum update to new swift packages
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: RDO
Classification: Community
Component: openstack-swift
Version: trunk
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
: trunk
Assignee: Alan Pevec
QA Contact: nlevinki
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-07-23 12:30 UTC by James Slagle
Modified: 2016-10-03 13:26 UTC (History)
6 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2016-10-03 13:26:17 UTC
Embargoed:


Attachments (Terms of Use)

Description James Slagle 2016-07-23 12:30:13 UTC
I believe that the swift packaging changes https://review.rdoproject.org/r/#/c/1575/ has broken upgrading from the previous versions to the latest versions:

Here is my output from a yum update attempt to the latest delorean repo at
http://trunk.rdoproject.org/centos7/34/5a/345af4b33bd9d0f27d6cd57b1af03647adad2842_78921014

Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
 * base: repo1.ash.innoscale.net
 * epel: la-mirrors.evowise.com
 * extras: repo1.ash.innoscale.net
 * updates: mirror.team-cymru.org
1014 packages excluded due to repository priority protections
Resolving Dependencies
There are unfinished transactions remaining. You might consider running yum-complete-transaction, or "yum-complete-transaction --cleanup-only" and "yum history redo last", first to finish them. If those don't work you'll have to try removing/installing packages by hand (maybe package-cleanup can help).
--> Running transaction check
---> Package instack-undercloud.noarch 0:5.0.0-0.20160722025557.fe121a9.el7.centos will be updated
---> Package instack-undercloud.noarch 0:5.0.0-0.20160722215252.58536e8.el7.centos will be an update
---> Package openstack-cinder.noarch 1:9.0.0-0.20160722141905.58e554f.el7.centos will be updated
---> Package openstack-cinder.noarch 1:9.0.0-0.20160723055320.625cab1.el7.centos will be an update
---> Package openstack-glance.noarch 1:13.0.0-0.20160722131104.99dd153.el7.centos will be updated
---> Package openstack-glance.noarch 1:13.0.0-0.20160722224820.cc4b523.el7.centos will be an update
---> Package openstack-heat-api.noarch 1:7.0.0-0.20160722051749.bf8031a.el7.centos will be updated
---> Package openstack-heat-api.noarch 1:7.0.0-0.20160723011732.7538c6d.el7.centos will be an update
---> Package openstack-heat-api-cfn.noarch 1:7.0.0-0.20160722051749.bf8031a.el7.centos will be updated
---> Package openstack-heat-api-cfn.noarch 1:7.0.0-0.20160723011732.7538c6d.el7.centos will be an update
---> Package openstack-heat-common.noarch 1:7.0.0-0.20160722051749.bf8031a.el7.centos will be updated
---> Package openstack-heat-common.noarch 1:7.0.0-0.20160723011732.7538c6d.el7.centos will be an update
---> Package openstack-heat-engine.noarch 1:7.0.0-0.20160722051749.bf8031a.el7.centos will be updated
---> Package openstack-heat-engine.noarch 1:7.0.0-0.20160723011732.7538c6d.el7.centos will be an update
---> Package openstack-keystone.noarch 1:10.0.0-0.20160721223228.7e127fd.el7.centos will be updated
---> Package openstack-keystone.noarch 1:10.0.0-0.20160723042004.a4580a8.el7.centos will be an update
---> Package openstack-neutron.noarch 1:9.0.0-0.20160721195646.97c4912.el7.centos will be updated
---> Package openstack-neutron.noarch 1:9.0.0-0.20160723032047.dcb43cf.el7.centos will be an update
---> Package openstack-neutron-common.noarch 1:9.0.0-0.20160721195646.97c4912.el7.centos will be updated
---> Package openstack-neutron-common.noarch 1:9.0.0-0.20160723032047.dcb43cf.el7.centos will be an update
---> Package openstack-neutron-ml2.noarch 1:9.0.0-0.20160721195646.97c4912.el7.centos will be updated
---> Package openstack-neutron-ml2.noarch 1:9.0.0-0.20160723032047.dcb43cf.el7.centos will be an update
---> Package openstack-neutron-openvswitch.noarch 1:9.0.0-0.20160721195646.97c4912.el7.centos will be updated
---> Package openstack-neutron-openvswitch.noarch 1:9.0.0-0.20160723032047.dcb43cf.el7.centos will be an update
---> Package openstack-swift-account.noarch 0:2.9.1-0.20160722145950.3c30fad.el7.centos will be updated
---> Package openstack-swift-account.noarch 0:2.9.1-0.20160722213233.574a666.el7.centos will be an update
---> Package openstack-swift-container.noarch 0:2.9.1-0.20160722145950.3c30fad.el7.centos will be updated
---> Package openstack-swift-container.noarch 0:2.9.1-0.20160722213233.574a666.el7.centos will be an update
---> Package openstack-swift-object.noarch 0:2.9.1-0.20160722145950.3c30fad.el7.centos will be updated
---> Package openstack-swift-object.noarch 0:2.9.1-0.20160722213233.574a666.el7.centos will be an update
---> Package openstack-swift-proxy.noarch 0:2.9.1-0.20160722145950.3c30fad.el7.centos will be updated
---> Package openstack-swift-proxy.noarch 0:2.9.1-0.20160722213233.574a666.el7.centos will be an update
---> Package openstack-tripleo-common.noarch 0:5.0.0-0.20160722151810.d8af511.el7.centos will be updated
---> Package openstack-tripleo-common.noarch 0:5.0.0-0.20160722163903.cea4aae.el7.centos will be an update
---> Package openstack-tripleo-heat-templates.noarch 0:5.0.0-0.20160722150456.aa71f16.el7.centos will be updated
---> Package openstack-tripleo-heat-templates.noarch 0:5.0.0-0.20160722163117.af9352e.el7.centos will be an update
---> Package puppet-ceph.noarch 0:2.0.0-0.20160720110710.ff24009.el7.centos will be updated
---> Package puppet-ceph.noarch 0:2.0.0-0.20160722213720.4969e3c.el7.centos will be an update
---> Package puppet-elasticsearch.noarch 0:0.12.0-0.20160720165647.296dc0b.el7.centos will be updated
---> Package puppet-elasticsearch.noarch 0:0.12.0-0.20160722225700.5a6c202.el7.centos will be an update
---> Package puppet-neutron.noarch 0:9.1.0-0.20160722122955.e3665a8.el7.centos will be updated
---> Package puppet-neutron.noarch 0:9.1.0-0.20160722192256.9c86780.el7.centos will be an update
---> Package puppet-tripleo.noarch 0:5.0.0-0.20160721214934.964526b.el7.centos will be updated
---> Package puppet-tripleo.noarch 0:5.0.0-0.20160722163501.b0f6a45.el7.centos will be an update
---> Package puppet-zaqar.noarch 0:9.0.0-0.20160711144045.5c694c2.el7.centos will be updated
---> Package puppet-zaqar.noarch 0:9.1.0-0.20160722232343.24b18af.el7.centos will be an update
---> Package python-ceilometer.noarch 1:7.0.0-0.20160721181247.a151bcc.el7.centos will be updated
---> Package python-ceilometer.noarch 1:7.0.0-0.20160722230131.b523822.el7.centos will be an update
---> Package python-ceilometer-tests.noarch 1:7.0.0-0.20160721181247.a151bcc.el7.centos will be updated
---> Package python-ceilometer-tests.noarch 1:7.0.0-0.20160722230131.b523822.el7.centos will be an update
---> Package python-cinder.noarch 1:9.0.0-0.20160722141905.58e554f.el7.centos will be updated
---> Package python-cinder.noarch 1:9.0.0-0.20160723055320.625cab1.el7.centos will be an update
---> Package python-cinder-tests.noarch 1:9.0.0-0.20160722141905.58e554f.el7.centos will be updated
---> Package python-cinder-tests.noarch 1:9.0.0-0.20160723055320.625cab1.el7.centos will be an update
---> Package python-designateclient.noarch 0:2.0.1-0.20160714195912.ca14e9d.el7.centos will be updated
---> Package python-designateclient.noarch 0:2.2.1-0.20160719113248.d9cae52.el7.centos will be updated
---> Package python-designateclient.noarch 0:2.2.1-0.20160722165743.0a61420.el7.centos will be an update
---> Package python-glance.noarch 1:13.0.0-0.20160722131104.99dd153.el7.centos will be updated
---> Package python-glance.noarch 1:13.0.0-0.20160722224820.cc4b523.el7.centos will be an update
---> Package python-glance-tests.noarch 1:13.0.0-0.20160722131104.99dd153.el7.centos will be updated
---> Package python-glance-tests.noarch 1:13.0.0-0.20160722224820.cc4b523.el7.centos will be an update
---> Package python-heat-tests.noarch 1:7.0.0-0.20160722051749.bf8031a.el7.centos will be updated
---> Package python-heat-tests.noarch 1:7.0.0-0.20160723011732.7538c6d.el7.centos will be an update
---> Package python-keystone.noarch 1:10.0.0-0.20160721223228.7e127fd.el7.centos will be updated
---> Package python-keystone.noarch 1:10.0.0-0.20160723042004.a4580a8.el7.centos will be an update
---> Package python-keystone-tests.noarch 1:10.0.0-0.20160721223228.7e127fd.el7.centos will be updated
---> Package python-keystone-tests.noarch 1:10.0.0-0.20160723042004.a4580a8.el7.centos will be an update
---> Package python-neutron.noarch 1:9.0.0-0.20160721195646.97c4912.el7.centos will be updated
---> Package python-neutron.noarch 1:9.0.0-0.20160723032047.dcb43cf.el7.centos will be an update
---> Package python-neutron-lib.noarch 0:0.2.1-0.20160721170138.27407c7.el7.centos will be updated
---> Package python-neutron-lib.noarch 0:0.2.1-0.20160722182745.fd36a04.el7.centos will be an update
---> Package python-neutron-tests.noarch 1:9.0.0-0.20160721195646.97c4912.el7.centos will be updated
---> Package python-neutron-tests.noarch 1:9.0.0-0.20160723032047.dcb43cf.el7.centos will be an update
---> Package python-openstackclient.noarch 0:2.6.1-0.20160722132026.b59ade7.el7.centos will be updated
---> Package python-openstackclient.noarch 0:2.6.1-0.20160723021734.a8880e8.el7.centos will be an update
---> Package python-osprofiler.noarch 0:1.3.1-0.20160712204151.10f48b9.el7.centos will be updated
---> Package python-osprofiler.noarch 0:1.3.1-0.20160722223954.13bec16.el7.centos will be an update
---> Package python-swift.noarch 0:2.9.1-0.20160722145950.3c30fad.el7.centos will be updated
---> Package python-swift.noarch 0:2.9.1-0.20160722213233.574a666.el7.centos will be an update
---> Package python-swift-tests.noarch 0:2.9.1-0.20160722145950.3c30fad.el7.centos will be updated
---> Package python-swift-tests.noarch 0:2.9.1-0.20160722213233.574a666.el7.centos will be an update
---> Package python-trove.noarch 1:6.0.0-0.20160721010853.ecf4b67.el7.centos will be updated
---> Package python-trove.noarch 1:6.0.0-0.20160722204315.69d8008.el7.centos will be an update
---> Package python-trove-tests.noarch 1:6.0.0-0.20160721010853.ecf4b67.el7.centos will be updated
---> Package python-trove-tests.noarch 1:6.0.0-0.20160722204315.69d8008.el7.centos will be an update
---> Package python2-keystoneauth1.noarch 0:2.9.1-0.20160714131740.88d4fdb.el7.centos will be updated
---> Package python2-keystoneauth1.noarch 0:2.9.1-0.20160721003228.712ee40.el7.centos will be updated
---> Package python2-keystoneauth1.noarch 0:2.9.1-0.20160722234857.86e010c.el7.centos will be an update
---> Package python2-muranoclient.noarch 0:0.9.1-0.20160722061214.a6d958d.el7.centos will be updated
---> Package python2-muranoclient.noarch 0:0.9.1-0.20160723034235.5ecacc7.el7.centos will be an update
---> Package python2-openstacksdk.noarch 0:0.9.1-0.20160721161632.3b54b04.el7.centos will be updated
---> Package python2-openstacksdk.noarch 0:0.9.1-0.20160722175337.0713525.el7.centos will be an update
---> Package python2-os-brick.noarch 0:1.4.1-0.20160715021118.3ee1b9a.el7.centos will be updated
---> Package python2-os-brick.noarch 0:1.4.1-0.20160722205550.5593380.el7.centos will be an update
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package
     Arch   Version                                      Repository        Size
================================================================================
Updating:
 instack-undercloud
     noarch 5.0.0-0.20160722215252.58536e8.el7.centos    delorean-current  79 k
 openstack-cinder
     noarch 1:9.0.0-0.20160723055320.625cab1.el7.centos  delorean-current  50 k
 openstack-glance
     noarch 1:13.0.0-0.20160722224820.cc4b523.el7.centos delorean-current  55 k
 openstack-heat-api
     noarch 1:7.0.0-0.20160723011732.7538c6d.el7.centos  delorean-current  12 k
 openstack-heat-api-cfn
     noarch 1:7.0.0-0.20160723011732.7538c6d.el7.centos  delorean-current  12 k
 openstack-heat-common
     noarch 1:7.0.0-0.20160723011732.7538c6d.el7.centos  delorean-current 1.5 M
 openstack-heat-engine
     noarch 1:7.0.0-0.20160723011732.7538c6d.el7.centos  delorean-current  12 k
 openstack-keystone
     noarch 1:10.0.0-0.20160723042004.a4580a8.el7.centos delorean-current  45 k
 openstack-neutron
     noarch 1:9.0.0-0.20160723032047.dcb43cf.el7.centos  delorean-current  28 k
 openstack-neutron-common
     noarch 1:9.0.0-0.20160723032047.dcb43cf.el7.centos  delorean-current 270 k
 openstack-neutron-ml2
     noarch 1:9.0.0-0.20160723032047.dcb43cf.el7.centos  delorean-current  12 k
 openstack-neutron-openvswitch
     noarch 1:9.0.0-0.20160723032047.dcb43cf.el7.centos  delorean-current  13 k
 openstack-swift-account
     noarch 2.9.1-0.20160722213233.574a666.el7.centos    delorean-current  19 k
 openstack-swift-container
     noarch 2.9.1-0.20160722213233.574a666.el7.centos    delorean-current  21 k
 openstack-swift-object
     noarch 2.9.1-0.20160722213233.574a666.el7.centos    delorean-current  22 k
 openstack-swift-proxy
     noarch 2.9.1-0.20160722213233.574a666.el7.centos    delorean-current  24 k
 openstack-tripleo-common
     noarch 5.0.0-0.20160722163903.cea4aae.el7.centos    delorean-current  70 k
 openstack-tripleo-heat-templates
     noarch 5.0.0-0.20160722163117.af9352e.el7.centos    delorean-current 172 k
 puppet-ceph
     noarch 2.0.0-0.20160722213720.4969e3c.el7.centos    delorean-current  39 k
 puppet-elasticsearch
     noarch 0.12.0-0.20160722225700.5a6c202.el7.centos   delorean-current  58 k
 puppet-neutron
     noarch 9.1.0-0.20160722192256.9c86780.el7.centos    delorean-current 117 k
 puppet-tripleo
     noarch 5.0.0-0.20160722163501.b0f6a45.el7.centos    delorean-current  78 k
 puppet-zaqar
     noarch 9.1.0-0.20160722232343.24b18af.el7.centos    delorean-current  24 k
 python-ceilometer
     noarch 1:7.0.0-0.20160722230131.b523822.el7.centos  delorean-current 509 k
 python-ceilometer-tests
     noarch 1:7.0.0-0.20160722230131.b523822.el7.centos  delorean-current 489 k
 python-cinder
     noarch 1:9.0.0-0.20160723055320.625cab1.el7.centos  delorean-current 3.4 M
 python-cinder-tests
     noarch 1:9.0.0-0.20160723055320.625cab1.el7.centos  delorean-current 2.4 M
 python-designateclient
     noarch 2.2.1-0.20160722165743.0a61420.el7.centos    delorean-current 110 k
 python-glance
     noarch 1:13.0.0-0.20160722224820.cc4b523.el7.centos delorean-current 902 k
 python-glance-tests
     noarch 1:13.0.0-0.20160722224820.cc4b523.el7.centos delorean-current 846 k
 python-heat-tests
     noarch 1:7.0.0-0.20160723011732.7538c6d.el7.centos  delorean-current 1.3 M
 python-keystone
     noarch 1:10.0.0-0.20160723042004.a4580a8.el7.centos delorean-current 952 k
 python-keystone-tests
     noarch 1:10.0.0-0.20160723042004.a4580a8.el7.centos delorean-current 877 k
 python-neutron
     noarch 1:9.0.0-0.20160723032047.dcb43cf.el7.centos  delorean-current 1.7 M
 python-neutron-lib
     noarch 0.2.1-0.20160722182745.fd36a04.el7.centos    delorean-current  49 k
 python-neutron-tests
     noarch 1:9.0.0-0.20160723032047.dcb43cf.el7.centos  delorean-current 1.9 M
 python-openstackclient
     noarch 2.6.1-0.20160723021734.a8880e8.el7.centos    delorean-current 647 k
 python-osprofiler
     noarch 1.3.1-0.20160722223954.13bec16.el7.centos    delorean-current  89 k
 python-swift
     noarch 2.9.1-0.20160722213233.574a666.el7.centos    delorean-current 1.0 M
 python-swift-tests
     noarch 2.9.1-0.20160722213233.574a666.el7.centos    delorean-current 1.5 M
 python-trove
     noarch 1:6.0.0-0.20160722204315.69d8008.el7.centos  delorean-current 979 k
 python-trove-tests
     noarch 1:6.0.0-0.20160722204315.69d8008.el7.centos  delorean-current 829 k
 python2-keystoneauth1
     noarch 2.9.1-0.20160722234857.86e010c.el7.centos    delorean-current 307 k
 python2-muranoclient
     noarch 0.9.1-0.20160723034235.5ecacc7.el7.centos    delorean-current 305 k
 python2-openstacksdk
     noarch 0.9.1-0.20160722175337.0713525.el7.centos    delorean-current 235 k
 python2-os-brick
     noarch 1.4.1-0.20160722205550.5593380.el7.centos    delorean-current 307 k

Transaction Summary
================================================================================
Upgrade  46 Packages

Total size: 24 M
Is this ok [y/d/N]: Downloading packages:
Running transaction check
Running transaction test


Transaction check error:
  file /usr/lib/python2.7/site-packages/swift/common/storage_policy.py from install of python-swift-2.9.1-0.20160722213233.574a666.el7.centos.noarch conflicts with file from package openstack-swift-2.9.1-0.20160721045247.45080a5.el7.centos.noarch
  file /usr/lib/python2.7/site-packages/swift/common/storage_policy.pyc from install of python-swift-2.9.1-0.20160722213233.574a666.el7.centos.noarch conflicts with file from package openstack-swift-2.9.1-0.20160721045247.45080a5.el7.centos.noarch
  file /usr/lib/python2.7/site-packages/swift/common/storage_policy.pyo from install of python-swift-2.9.1-0.20160722213233.574a666.el7.centos.noarch conflicts with file from package openstack-swift-2.9.1-0.20160721045247.45080a5.el7.centos.noarch

Error Summary
-------------

Comment 1 James Slagle 2016-07-23 12:34:34 UTC
I don't have a record of what delorean repo I started with (it was blown away when I updated the repo files), but it ought to be the one that contains openstack-swift-2.9.1-0.20160721045247.45080a5.el7.centos.noarch

I think the problem might be that we use both a delorean pinned repo (called delorean in the yum output) and the latest delorean (called delorean-current), and there is no openstack-swift in delorean-current?

Comment 2 James Slagle 2016-07-23 12:37:38 UTC
if I yum erase openstack-swift I can work around this issue

Comment 3 Pete Zaitcev 2016-07-23 15:11:13 UTC
I suspect it's me, see
 https://review.rdoproject.org/r/1575

However, I have actually tested the upgrade path and the spec includes
Obsoletes: openstack-swift just to deal with this. It's possible that
the condition in it was insufficient. It only obsoletes up to a certain
version, 2.9.0, and the above packages are 2.9.1.

I'll add Haikel to cc:, so he can tell me how to write Obsoletes:
properly.

Comment 4 Alan Pevec 2016-07-23 15:13:31 UTC
There's now Provides: openstack-swift in python-swift subpackage, but Obsoletes: openstack-swift < 2.9.0 works only for Mitaka upgrades. Upgrades on trunk were not supported by design, but we could make it work by removing < 2.9.0. Haikel?

Comment 5 Alan Pevec 2016-07-23 15:29:21 UTC
http://review.rdoproject.org/r/1724 Support upgrades from trunk to trunk packages

Comment 6 Alan Pevec 2016-07-25 07:51:51 UTC
In RDO Trunk master builds since openstack-swift-2.9.1-0.20160724221722.574a666.el7

Comment 7 Haïkel Guémar 2016-07-25 07:57:48 UTC
No please, don't test upgrades from DLRN to DLRN packages, this is a very bad idea.

1. DLRN versioning generation code is more robust but 100% safe as it doesn't check previously generated versions. So potentially, a newer package can have a lower NVR and we'd have to introduce epoch which are a pain to maintain *forever*

2. We use DLRN in order to co-develop packaging and installers in parallel of upstream code. Sometimes we introduces workarounds not to block CI, or without proper reviewing. Supporting upgrades means that we'd have to support these too.
For instance, we need flexibility to change/test packages split or not (especially with new packages), upgrades would mean that we can't anymore.

Alternative plan:
* test upgrades from released packages to DLRN packages.
* Add non-voting gates on upgrades in RDO *against* released packages.
* Ship M2 and M3 stable packages (Newton M3 will be shipped in CentOS Newton testing)

---

AFAIK, we can make do for that by
Obsoletes: openstack-swift < %{version}-%{release}

You're not supposed to have newer package than the latest so it will effectively (if you do, then we're outside what RPM can do). Unversioned Obsoletes in a released package, means that we cannot reintroduce that subpackage later if needed.

Comment 8 Alan Pevec 2016-07-25 08:30:04 UTC
> Unversioned Obsoletes in a released package, means that we cannot reintroduce that subpackage later if needed.

But in this particular case, this will not happen. I know never say never, but once we approved openstack-swift change in https://review.rdoproject.org/r/1575 we are not going to change out minds, right?

Comment 9 Haïkel Guémar 2016-07-25 10:52:04 UTC
In the immediate future, nope, unless puppet-swift kicks in.


Note You need to log in before you can comment on or make changes to this bug.