Bug 1519301

Summary: Transaction failed when upgrading engine + ovirt-ansible-roles
Product: Red Hat Enterprise Virtualization Manager Reporter: Martin Sivák <msivak>
Component: ovirt-ansible-rolesAssignee: Ondra Machacek <omachace>
Status: CLOSED ERRATA QA Contact: Petr Kubica <pkubica>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 2.1.0CC: bugs, lsvaty, michal.skrivanek, mperina, omachace
Target Milestone: ovirt-4.2.0   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-05-15 18:00:47 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Infra RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Shell session transcript with the error none

Description Martin Sivák 2017-11-30 14:59:54 UTC
Created attachment 1360968 [details]
Shell session transcript with the error

Description of problem:

Transaction check error:
  file /usr/share/ansible/roles/ovirt-cluster-upgrade from install of ovirt-ansible-cluster-upgrade-1.1.2-1.el7.centos.noarch conflicts with file from package ovirt-ansible-roles-1.1.1-1.el7.centos.noarch
  file /usr/share/ansible/roles/ovirt-infra from install of ovirt-ansible-infra-1.1.2-0.1.master.20171128145751.el7.centos.noarch conflicts with file from package ovirt-ansible-roles-1.1.1-1.el7.centos.noarch
  file /usr/share/ansible/roles/ovirt-manageiq from install of ovirt-ansible-manageiq-1.1.2-1.el7.centos.noarch conflicts with file from package ovirt-ansible-roles-1.1.1-1.el7.centos.noarch
  file /usr/share/ansible/roles/ovirt-image-template from install of ovirt-ansible-image-template-1.1.2-1.el7.centos.noarch conflicts with file from package ovirt-ansible-roles-1.1.1-1.el7.centos.noarch
  file /usr/share/ansible/roles/ovirt-vm-infra from install of ovirt-ansible-vm-infra-1.1.2-1.el7.centos.noarch conflicts with file from package ovirt-ansible-roles-1.1.1-1.el7.centos.noarch


Minor issue: I had to downgrade novnc (0.6.x to 0.5.x) as well, but that might have been my fault.

Version-Release number of selected component (if applicable):

Upgrade of: ovirt-engine-backend.noarch 0:4.2.0-0.0.master.20171105155215.git59d3324.el7.centos
To: ovirt-engine-backend.noarch 0:4.2.0-0.0.master.20171130115853.gitfa7d3b9.el7.centos

The system is CentOS 7 using ovirt master snapshot repositories.

How reproducible:

Always

Steps to Reproduce:
1. install older snapshot (or Alpha?)
2. yum update ovirt-engine
3. boom

Additional info:

The ovirt-ansible-roles package was split into multiple, but it seems no proper Obsoletes and Provides clauses are provided in the new packages according to https://fedoraproject.org/wiki/Upgrade_paths_%E2%80%94_renaming_or_splitting_packages

Comment 1 Michal Skrivanek 2017-11-30 16:47:52 UTC
(In reply to Martin Sivák from comment #0)

> Minor issue: I had to downgrade novnc (0.6.x to 0.5.x) as well, but that
> might have been my fault.

not really a fault of yours, we introduced enforcement to novnc 0.5.1 only recently so older installs may got 0.6.x from EPEL already. Should not be a problem for production 4.1 -> 4.2 upgrades

Comment 2 Martin Perina 2017-11-30 19:53:39 UTC
The issue should be fixed by https://gerrit.ovirt.org/84884 where we have added engine requirement on ovirt-ansible-roles >= 1.1.2

Comment 3 Martin Sivák 2017-11-30 21:00:58 UTC
(In reply to Martin Perina from comment #2)
> The issue should be fixed by https://gerrit.ovirt.org/84884 where we have
> added engine requirement on ovirt-ansible-roles >= 1.1.2

On the contrary - That is very probably what caused this issue. I was not updating the roles themselves, I was updating the engine which depends on ansible roles. And the split of the roles into multiple packages without properly obsoleting the old name caused file conflicts as yum tried to keep both packages installed at the same time.

Comment 4 Martin Perina 2017-12-01 07:29:53 UTC
Right it is a blocker even though that ovirt-ansible-roles were only optional engine dependency in 4.1.

Comment 6 Petr Kubica 2018-01-02 10:36:58 UTC
---> Package ovirt-ansible-roles.noarch 0:1.1.1-1.el7ev will be updated
---> Package ovirt-ansible-roles.noarch 0:1.1.2-1.el7ev will be an update
--> Processing Dependency: ovirt-ansible-vm-infra >= 1.1.0 for package: ovirt-ansible-roles-1.1.2-1.el7ev.noarch
--> Processing Dependency: ovirt-ansible-manageiq >= 1.1.0 for package: ovirt-ansible-roles-1.1.2-1.el7ev.noarch
--> Processing Dependency: ovirt-ansible-infra >= 1.1.0 for package: ovirt-ansible-roles-1.1.2-1.el7ev.noarch
--> Processing Dependency: ovirt-ansible-image-template >= 1.1.0 for package: ovirt-ansible-roles-1.1.2-1.el7ev.noarch
--> Processing Dependency: ovirt-ansible-cluster-upgrade >= 1.1.0 for package: ovirt-ansible-roles-1.1.2-1.el7ev.noarch

...

  Cleanup    : ovirt-ansible-roles-1.1.1-1.el7ev.noarch                                                                                                                                                      73/79 
warning: file /usr/share/ansible/roles/ovirt-vm-infra/meta/main.yml: remove failed: No such file or directory
warning: file /usr/share/ansible/roles/ovirt-vm-infra/meta: remove failed: No such file or directory
warning: file /usr/share/ansible/roles/ovirt-vm-infra/README.md: remove failed: No such file or directory
warning: file /usr/share/ansible/roles/ovirt-manageiq/meta/main.yml: remove failed: No such file or directory
warning: file /usr/share/ansible/roles/ovirt-manageiq/meta: remove failed: No such file or directory
warning: file /usr/share/ansible/roles/ovirt-manageiq/README.md: remove failed: No such file or directory
warning: file /usr/share/ansible/roles/ovirt-infra/meta/main.yml: remove failed: No such file or directory
warning: file /usr/share/ansible/roles/ovirt-infra/meta: remove failed: No such file or directory
warning: file /usr/share/ansible/roles/ovirt-infra/README.md: remove failed: No such file or directory
warning: file /usr/share/ansible/roles/ovirt-image-template/meta/main.yml: remove failed: No such file or directory
warning: file /usr/share/ansible/roles/ovirt-image-template/meta: remove failed: No such file or directory
warning: file /usr/share/ansible/roles/ovirt-image-template/README.md: remove failed: No such file or directory
warning: file /usr/share/ansible/roles/ovirt-cluster-upgrade/meta/main.yml: remove failed: No such file or directory
warning: file /usr/share/ansible/roles/ovirt-cluster-upgrade/meta: remove failed: No such file or directory
warning: file /usr/share/ansible/roles/ovirt-cluster-upgrade/README.md: remove failed: No such file or directory

These warnings are about changed structure of RPM packaging ovirt-ansible-roles into separate RPMs (each role folder was replaced by symlink)

lrwxrwxrwx. 1 root root  46 Jan  2 11:19 ovirt-cluster-upgrade -> /usr/share/ansible/roles/oVirt.cluster-upgrade
drwxr-xr-x. 5 root root  50 Jan  2 11:19 oVirt.cluster-upgrade
lrwxrwxrwx. 1 root root  45 Jan  2 11:19 ovirt-image-template -> /usr/share/ansible/roles/oVirt.image-template
drwxr-xr-x. 5 root root  47 Jan  2 11:19 oVirt.image-template
lrwxrwxrwx. 1 root root  36 Jan  2 11:19 ovirt-infra -> /usr/share/ansible/roles/oVirt.infra
drwxr-xr-x. 5 root root  48 Jan  2 11:19 oVirt.infra
lrwxrwxrwx. 1 root root  39 Jan  2 11:19 ovirt-manageiq -> /usr/share/ansible/roles/oVirt.manageiq
drwxr-xr-x. 5 root root  52 Jan  2 11:19 oVirt.manageiq
lrwxrwxrwx. 1 root root  39 Jan  2 11:19 ovirt-vm-infra -> /usr/share/ansible/roles/oVirt.vm-infra
drwxr-xr-x. 5 root root  50 Jan  2 11:19 oVirt.vm-infra


Verified

Comment 11 errata-xmlrpc 2018-05-15 18:00:47 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/RHEA-2018:1534

Comment 12 Franta Kust 2019-05-16 13:07:17 UTC
BZ<2>Jira Resync