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 -------------
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?
if I yum erase openstack-swift I can work around this issue
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.
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?
http://review.rdoproject.org/r/1724 Support upgrades from trunk to trunk packages
In RDO Trunk master builds since openstack-swift-2.9.1-0.20160724221722.574a666.el7
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.
> 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?
In the immediate future, nope, unless puppet-swift kicks in.