Bug 1598283
| Summary: | FFU: Controller upgrade fails with yum transaction check error when openstack-sahara* packages are updated during fast_forward_upgrade_tasks | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat OpenStack | Reporter: | Marius Cornea <mcornea> | ||||
| Component: | python-django-horizon | Assignee: | Radomir Dopieralski <rdopiera> | ||||
| Status: | CLOSED ERRATA | QA Contact: | Marius Cornea <mcornea> | ||||
| Severity: | high | Docs Contact: | |||||
| Priority: | high | ||||||
| Version: | 13.0 (Queens) | CC: | aschultz, athomas, augol, beth.white, dbecker, joflynn, jpichon, jrist, ltoscano, mburns, morazi, mrunge, rdopiera, srevivo | ||||
| Target Milestone: | z2 | Keywords: | Triaged, ZStream | ||||
| Target Release: | 13.0 (Queens) | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | python-django-horizon-13.0.1-0.20180411230906.el7ost | Doc Type: | No Doc Update | ||||
| Doc Text: |
undefined
|
Story Points: | --- | ||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2018-08-29 16:21:23 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: | |||||||
| Attachments: |
|
||||||
Attached the complete output of the yum operations. python-django-horizon-1:13.0.1-0.20180411230905.c51a46e is from 13, while and python-django-openstack-auth-3.6.0-1.el7ost is from 12. There is no python-django-openstack-auth in 13 because it was merged in horizon for Queens: https://review.openstack.org/#/c/523928/ That said, maybe the horizon package is missing the right replace/obsolete. On the other side, maybe the process should not update that package anymore in 13, as sahara is containerized, but the steps described above are followed also by other services. But other services do not update their -ui package, while here openstack-sahara* also updates openstack-sahara-ui, aka the dashboard. So maybe that package should not be updated (it's in the container anyway) or there is a bigger logical flow when the updates are applied to the containerized versions too, instead of removing stuff. From the tripleo-heat-templates sources for queens: $ git grep -A4 -B1 'yum.*update' docker/services/ docker/services/aodh-api.yaml- - name: Aodh package update docker/services/aodh-api.yaml: shell: yum -y update openstack-aodh* docker/services/aodh-api.yaml- when: docker/services/aodh-api.yaml- - step|int == 6 docker/services/aodh-api.yaml- - is_bootstrap_node|bool docker/services/aodh-api.yaml- - aodh_httpd_enabled|bool -- docker/services/cinder-api.yaml- - name: Cinder package update docker/services/cinder-api.yaml: shell: yum -y update openstack-cinder* docker/services/cinder-api.yaml- when: docker/services/cinder-api.yaml- - step|int == 6 docker/services/cinder-api.yaml- - is_bootstrap_node|bool docker/services/cinder-api.yaml- - name: Cinder db sync -- docker/services/heat-api.yaml- - name: FFU Heat package update docker/services/heat-api.yaml: shell: yum -y update openstack-heat* docker/services/heat-api.yaml- when: docker/services/heat-api.yaml- - step|int == 6 docker/services/heat-api.yaml- - is_bootstrap_node|bool docker/services/heat-api.yaml- - name: FFU Heat db-sync -- docker/services/keystone.yaml- - name: Keystone package update docker/services/keystone.yaml: shell: yum -y update openstack-keystone* docker/services/keystone.yaml- when: docker/services/keystone.yaml- - step|int == 6 docker/services/keystone.yaml- - is_bootstrap_node|bool docker/services/keystone.yaml- - name: keystone db sync -- docker/services/neutron-api.yaml- - name: Neutron package update docker/services/neutron-api.yaml: shell: yum -y update openstack-neutron* docker/services/neutron-api.yaml- when: docker/services/neutron-api.yaml- - step|int == 6 docker/services/neutron-api.yaml- - is_bootstrap_node|bool docker/services/neutron-api.yaml- - name: Neutron package update workaround -- docker/services/nova-api.yaml- - name: Update nova packages docker/services/nova-api.yaml: command: yum update -y *nova* docker/services/nova-api.yaml- when: docker/services/nova-api.yaml- - step|int == 6 docker/services/nova-api.yaml- - is_bootstrap_node|bool docker/services/nova-api.yaml- #FIXME(lyarwood): Use puppet to do this? Moving to DFG:UI since I believe this should be handled by the packaging of python-django-horizon Actually python-django-horizon obsoletes python-django-openstack-auth, but only up to 3.5.1: $ rpm -qp --obsoletes python-django-horizon-13.0.1-0.20180411230905.c51a46e.el7ost.noarch.rpm warning: python-django-horizon-13.0.1-0.20180411230905.c51a46e.el7ost.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY python-django-openstack-auth < 3.5.1-1 python2-django-openstack-auth < 3.5.1-1 I don't think this issue can wait until OSP14 as it affects fast forward upgrade(10->13) so it needs to be addressed in 13. I guess there is a mistake in the version number? The last django-openstack-auth is 3.6.1, so we should be obsoleting those... (In reply to Radomir Dopieralski from comment #7) > I guess there is a mistake in the version number? The last > django-openstack-auth is 3.6.1, so we should be obsoleting those... Please see my comment previous #c4 : yes, it should, but it does not. "Actually python-django-horizon obsoletes python-django-openstack-auth, but only up to 3.5.1" This bug is marked for inclusion in the errata but does not currently contain draft documentation text. To ensure the timely release of this advisory please provide draft documentation text for this bug as soon as possible. If you do not think this bug requires errata documentation, set the requires_doc_text flag to "-". To add draft documentation text: * Select the documentation type from the "Doc Type" drop down field. * A template will be provided in the "Doc Text" field based on the "Doc Type" value selected. Enter draft text in the "Doc Text" field. 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:2592 |
Created attachment 1456633 [details] yum output Description of problem: FFU: Controller upgrade fails with yum transaction check error when openstack-sahara* packages are updated during fast_forward_upgrade_tasks: Transaction check error: file /usr/lib/python2.7/site-packages/openstack_auth/__init__.py from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/__init__.pyc from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/plugin/__init__.pyc from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/__init__.pyo from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/plugin/__init__.pyo from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/plugin/base.py from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/plugin/base.pyc from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/plugin/base.pyo from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/utils.py from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/utils.pyc from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/utils.pyo from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/plugin/token.pyc from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/plugin/token.pyo from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/user.pyc from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/user.pyo from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/exceptions.pyc from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/exceptions.pyo from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/plugin/password.pyc from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/plugin/password.pyo from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/forms.py from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/forms.pyc from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/forms.pyo from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/models.pyc from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/models.pyo from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/urls.pyc from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/urls.pyo from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/views.py from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/views.pyc from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/views.pyo from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/backend.py from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/backend.pyc from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/backend.pyo from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/plugin/k2k.py from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/plugin/k2k.pyc from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/plugin/k2k.pyo from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/policy.py from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/policy.pyc from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch file /usr/lib/python2.7/site-packages/openstack_auth/policy.pyo from install of python-django-horizon-1:13.0.1-0.20180411230905.c51a46e.el7ost.noarch conflicts with file from package python-django-openstack-auth-3.6.0-1.el7ost.noarch Error Summary ------------- Version-Release number of selected component (if applicable): How reproducible: 100% Steps to Reproduce: 1. Deploy OSP10 overcloud 2. On overcloud controller run: rhos-release 11 -P 3. yum -y update openstack-sahara* 4. rhos-release -x; rhos-release 12 -P 5. yum -y update openstack-sahara* 6. rhos-release -x; rhos-release 13 -P 7. yum -y update Actual results: fails with transaction check error Expected results: yum update should complete cleanly Additional info: