Bug 1716953

Summary: [fc29] ovirt-imageio-proxy wrongly packages /usr/bin and /usr/lib conflicting with filesystem package
Product: [oVirt] ovirt-imageio Reporter: Sandro Bonazzola <sbonazzo>
Component: ProxyAssignee: Daniel Erez <derez>
Status: CLOSED CURRENTRELEASE QA Contact: Sandro Bonazzola <sbonazzo>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 1.5.1CC: bugs, cshao, nsoffer, royoung, tnisan, yturgema
Target Milestone: ovirt-4.3.5   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-07-30 14:08:31 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Storage RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1460625    

Description Sandro Bonazzola 2019-06-04 13:01:30 UTC
dnf install ovirt-engine on Fedora 29 fails with;

Error: Transaction check error:
  file /usr/bin from install of ovirt-imageio-proxy-1.5.1-0.201905211616.git7f9c0ef.fc29.noarch conflicts with file from package filesystem-3.9-2.fc29.x86_64
  file /usr/lib from install of ovirt-imageio-proxy-1.5.1-0.201905211616.git7f9c0ef.fc29.noarch conflicts with file from package filesystem-3.9-2.fc29.x86_64

Comment 1 Sandro Bonazzola 2019-06-04 13:30:51 UTC
This is weird.

$ rpm -qlp https://resources.ovirt.org/pub/ovirt-master-snapshot/rpm/fc29/noarch/ovirt-imageio-proxy-1.5.1-0.201905211616.git7f9c0ef.fc29.noarch.rpm
/etc
/etc/ovirt-imageio-proxy
/etc/ovirt-imageio-proxy/logger.conf
/etc/ovirt-imageio-proxy/ovirt-imageio-proxy.conf.sample
/usr
/usr/bin
/usr/bin/ovirt-imageio-proxy
/usr/lib
/usr/lib/python2.7
/usr/lib/python2.7/site-packages
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy-1.5.1-py2.7.egg-info
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/__init__.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/__init__.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/__init__.pyo
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/auth.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/auth.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/auth.pyo
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/config.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/config.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/config.pyo
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/constants.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/constants.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/constants.pyo
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/http_helper.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/http_helper.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/http_helper.pyo
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/image_proxy.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/image_proxy.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/image_proxy.pyo
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/images.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/images.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/images.pyo
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/info.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/info.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/info.pyo
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/server.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/server.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/server.pyo
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/ticket.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/ticket.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/ticket.pyo
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/tickets.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/tickets.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/tickets.pyo
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/util.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/util.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/util.pyo
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/version.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/version.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/version.pyo
/usr/lib/systemd
/usr/lib/systemd/system
/usr/lib/systemd/system/ovirt-imageio-proxy.service
/usr/share
/usr/share/licenses/ovirt-imageio-proxy
/usr/share/licenses/ovirt-imageio-proxy/COPYING
/usr/share/ovirt-engine
/usr/share/ovirt-engine/firewalld
/usr/share/ovirt-engine/firewalld/ovirt-imageio-proxy
/usr/share/ovirt-engine/firewalld/ovirt-imageio-proxy/ovirt-imageio-proxy.xml.in
/usr/share/ovirt-engine/setup
/usr/share/ovirt-engine/setup/ovirt_engine_setup
/usr/share/ovirt-engine/setup/ovirt_engine_setup/ovirt_imageio_proxy
/usr/share/ovirt-engine/setup/ovirt_engine_setup/ovirt_imageio_proxy/__init__.py
/usr/share/ovirt-engine/setup/ovirt_engine_setup/ovirt_imageio_proxy/config.py
/usr/share/ovirt-engine/setup/ovirt_engine_setup/ovirt_imageio_proxy/constants.py
/usr/share/ovirt-engine/setup/plugins
/usr/share/ovirt-engine/setup/plugins/ovirt-engine-common
/usr/share/ovirt-engine/setup/plugins/ovirt-engine-common/ovirt_imageio_proxy
/usr/share/ovirt-engine/setup/plugins/ovirt-engine-common/ovirt_imageio_proxy/__init__.py
/usr/share/ovirt-engine/setup/plugins/ovirt-engine-common/ovirt_imageio_proxy/core.py
/usr/share/ovirt-engine/setup/plugins/ovirt-engine-remove
/usr/share/ovirt-engine/setup/plugins/ovirt-engine-remove/ovirt_imageio_proxy
/usr/share/ovirt-engine/setup/plugins/ovirt-engine-remove/ovirt_imageio_proxy/__init__.py
/usr/share/ovirt-engine/setup/plugins/ovirt-engine-remove/ovirt_imageio_proxy/misc.py
/usr/share/ovirt-engine/setup/plugins/ovirt-engine-rename
/usr/share/ovirt-engine/setup/plugins/ovirt-engine-rename/ovirt_imageio_proxy
/usr/share/ovirt-engine/setup/plugins/ovirt-engine-rename/ovirt_imageio_proxy/__init__.py
/usr/share/ovirt-engine/setup/plugins/ovirt-engine-rename/ovirt_imageio_proxy/config.py
/usr/share/ovirt-engine/setup/plugins/ovirt-engine-setup
/usr/share/ovirt-engine/setup/plugins/ovirt-engine-setup/ovirt_imageio_proxy
/usr/share/ovirt-engine/setup/plugins/ovirt-engine-setup/ovirt_imageio_proxy/__init__.py
/usr/share/ovirt-engine/setup/plugins/ovirt-engine-setup/ovirt_imageio_proxy/config.py
/usr/share/ovirt-engine/setup/plugins/ovirt-engine-setup/ovirt_imageio_proxy/pki.py
/var
/var/log
/var/log/ovirt-imageio-proxy

which is clearly wrong since it also includes the setup subpackage files
while if I build the rpm on my fedora 29 laptop:

$ rpm -qlp ovirt-imageio-proxy-1.5.1-0.201906041325.git7f9c0ef.fc29.noarch.rpm
/etc/ovirt-imageio-proxy
/etc/ovirt-imageio-proxy/logger.conf
/etc/ovirt-imageio-proxy/ovirt-imageio-proxy.conf.sample
/usr/bin/ovirt-imageio-proxy
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy-1.5.1-py2.7.egg-info
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/__init__.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/__init__.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/auth.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/auth.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/config.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/config.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/constants.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/constants.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/http_helper.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/http_helper.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/image_proxy.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/image_proxy.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/images.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/images.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/info.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/info.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/server.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/server.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/ticket.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/ticket.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/tickets.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/tickets.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/util.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/util.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/version.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/version.pyc
/usr/lib/systemd/system/ovirt-imageio-proxy.service
/usr/share/licenses/ovirt-imageio-proxy
/usr/share/licenses/ovirt-imageio-proxy/COPYING
/var/log/ovirt-imageio-proxy

Comment 2 Sandro Bonazzola 2019-06-04 14:03:16 UTC
checked builds for el7 and fc28 and both seems correct, only the fc29 one is broken.

Comment 3 Sandro Bonazzola 2019-06-04 14:19:40 UTC
doing some experiments here: https://gerrit.ovirt.org/#/c/100546/

Comment 4 Yuval Turgeman 2019-06-06 11:22:43 UTC
To fix this, you need to have /usr/bin/python so either add a symlink or dnf install python-unversioned-command

Comment 5 Sandro Bonazzola 2019-06-06 12:10:21 UTC
(In reply to Yuval Turgeman from comment #4)
> To fix this, you need to have /usr/bin/python so either add a symlink or dnf
> install python-unversioned-command

Trying this here: https://gerrit.ovirt.org/#/c/100598/

Comment 6 Sandro Bonazzola 2019-06-06 13:05:24 UTC
(In reply to Sandro Bonazzola from comment #5)
> (In reply to Yuval Turgeman from comment #4)
> > To fix this, you need to have /usr/bin/python so either add a symlink or dnf
> > install python-unversioned-command
> 
> Trying this here: https://gerrit.ovirt.org/#/c/100598/

Looks like requiring python-unversioned-command solves, but why is it needed?
Any place we missed to call python2 instead of python?

Comment 7 Yuval Turgeman 2019-06-06 13:16:08 UTC
Because the proxy spec specifies %{python_sitelib}/* in %files, and this is evaluated as:

%python_sitelib %(%{__python} -Es %{_rpmconfigdir}/python-macro-helper sitelib)

and %{__python} is /usr/bin/python

so %{python_sitelib} is empty, and you're left with /*

we should probably have an ifdef around it and include python{2,3}_sitelib but I'm not sure what the plan is for this package

Comment 8 Nir Soffer 2019-06-06 15:32:37 UTC
(In reply to Yuval Turgeman from comment #7)
I think this should be fixed in the spec, this will be one line fix, using
the correct macro, no?

Comment 9 Sandro Bonazzola 2019-06-07 07:44:41 UTC
Re-assigning to storage team since packaging plans for ovirt-imageio are still to be defined.

Comment 10 Daniel Erez 2019-06-18 12:11:16 UTC
(In reply to Sandro Bonazzola from comment #9)
> Re-assigning to storage team since packaging plans for ovirt-imageio are
> still to be defined.

The new packaging plans will be addressed only for next version (>=4.4).
For now, changed spec to use python2_sitelib for fc.

Comment 11 Sandro Bonazzola 2019-06-20 15:33:36 UTC
Verified : $ rpm -qlp https://resources.ovirt.org/pub/ovirt-master-snapshot/rpm/fc29/noarch/ovirt-imageio-proxy-1.5.1-0.201906191317.git74e379c.fc29.noarch.rpm
/etc/ovirt-imageio-proxy
/etc/ovirt-imageio-proxy/logger.conf
/etc/ovirt-imageio-proxy/ovirt-imageio-proxy.conf.sample
/usr/bin/ovirt-imageio-proxy
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy-1.5.1-py2.7.egg-info
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/__init__.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/__init__.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/__init__.pyo
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/auth.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/auth.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/auth.pyo
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/config.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/config.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/config.pyo
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/constants.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/constants.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/constants.pyo
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/http_helper.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/http_helper.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/http_helper.pyo
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/image_proxy.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/image_proxy.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/image_proxy.pyo
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/images.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/images.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/images.pyo
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/info.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/info.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/info.pyo
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/server.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/server.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/server.pyo
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/ticket.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/ticket.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/ticket.pyo
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/tickets.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/tickets.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/tickets.pyo
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/util.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/util.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/util.pyo
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/version.py
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/version.pyc
/usr/lib/python2.7/site-packages/ovirt_imageio_proxy/version.pyo
/usr/lib/systemd/system/ovirt-imageio-proxy.service
/usr/share/licenses/ovirt-imageio-proxy
/usr/share/licenses/ovirt-imageio-proxy/COPYING
/var/log/ovirt-imageio-proxy


pending an official build.

Comment 12 Avihai 2019-07-02 06:46:02 UTC
(In reply to Sandro Bonazzola from comment #11)
> Verified : $ rpm -qlp
> https://resources.ovirt.org/pub/ovirt-master-snapshot/rpm/fc29/noarch/ovirt-
> imageio-proxy-1.5.1-0.201906191317.git74e379c.fc29.noarch.rpm
> /etc/ovirt-imageio-proxy
> /etc/ovirt-imageio-proxy/logger.conf
> /etc/ovirt-imageio-proxy/ovirt-imageio-proxy.conf.sample
> /usr/bin/ovirt-imageio-proxy
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy-1.5.1-py2.7.egg-info
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/__init__.py
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/__init__.pyc
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/__init__.pyo
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/auth.py
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/auth.pyc
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/auth.pyo
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/config.py
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/config.pyc
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/config.pyo
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/constants.py
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/constants.pyc
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/constants.pyo
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/http_helper.py
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/http_helper.pyc
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/http_helper.pyo
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/image_proxy.py
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/image_proxy.pyc
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/image_proxy.pyo
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/images.py
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/images.pyc
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/images.pyo
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/info.py
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/info.pyc
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/info.pyo
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/server.py
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/server.pyc
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/server.pyo
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/ticket.py
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/ticket.pyc
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/ticket.pyo
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/tickets.py
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/tickets.pyc
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/tickets.pyo
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/util.py
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/util.pyc
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/util.pyo
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/version.py
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/version.pyc
> /usr/lib/python2.7/site-packages/ovirt_imageio_proxy/version.pyo
> /usr/lib/systemd/system/ovirt-imageio-proxy.service
> /usr/share/licenses/ovirt-imageio-proxy
> /usr/share/licenses/ovirt-imageio-proxy/COPYING
> /var/log/ovirt-imageio-proxy
> 
> 
> pending an official build.

Sandro, if this issue is verified can you please move it to VERIFIED state ?

Comment 13 Sandro Bonazzola 2019-07-30 14:08:31 UTC
This bugzilla is included in oVirt 4.3.5 release, published on July 30th 2019.

Since the problem described in this bug report should be
resolved in oVirt 4.3.5 release, it has been closed with a resolution of CURRENT RELEASE.

If the solution does not work for you, please open a new bug report.