Bug 1495629 - Ovirt host deploy dependency: yum must be installed even in Fedora/dnf environment.
Summary: Ovirt host deploy dependency: yum must be installed even in Fedora/dnf enviro...
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: otopi
Classification: oVirt
Component: General
Version: master
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
: ---
Assignee: Yedidyah Bar David
QA Contact: Pavel Stehlik
URL:
Whiteboard:
Depends On:
Blocks: oVirt_on_Fedora
TreeView+ depends on / blocked
 
Reported: 2017-09-26 11:10 UTC by John Boero
Modified: 2017-09-26 12:34 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-09-26 11:51:16 UTC
oVirt Team: Node
Embargoed:


Attachments (Terms of Use)

Description John Boero 2017-09-26 11:10:06 UTC
Description of problem:
During host deploy on Fedora nodes (4.2.0) I've been experiencing immediate errors that ssh connection failed.  It turns out this isn't because of an SSH issue but is caused by the ssh inline command failing.  The following dependency breaks without installing yum with dnf:

2017-09-26 10:57:10,998+0100 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager._boot:187 Cannot initialize miniyum
Traceback (most recent call last):
  File "/tmp/ovirt-Jb8ysJxPKP/otopi-plugins/otopi/packagers/yumpackager.py", line 179, in _boot
    self._refreshMiniyum()
  File "/tmp/ovirt-Jb8ysJxPKP/otopi-plugins/otopi/packagers/yumpackager.py", line 134, in _refreshMiniyum
    constants.PackEnv.YUM_ENABLED_PLUGINS
  File "/tmp/ovirt-Jb8ysJxPKP/otopi-plugins/otopi/packagers/yumpackager.py", line 61, in _getMiniYum
    from otopi import miniyum
  File "/tmp/ovirt-Jb8ysJxPKP/pythonlib/otopi/miniyum.py", line 17, in <module>
    import rpmUtils.miscutils
ImportError: No module named rpmUtils.miscutils




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


How reproducible:
always


Steps to Reproduce:
Perform a node install on a Fedora box without yum.

Actual results:
Unexplained error causes failure with explanation buried in log: yum is not installed.

Expected results:
Either yum is included as a dependency or dnf is tried as an alternative by the installer.

Additional info:

Comment 1 Yedidyah Bar David 2017-09-26 11:45:38 UTC
IMO this isn't a bug, because if you do have yum installed, you also get into a bad situation - you have both yum and dnf working side-by-side, without each knowing about the other. At least AFAICT.

See also:

http://lists.ovirt.org/pipermail/devel/2017-August/030990.html

Comment 2 Yedidyah Bar David 2017-09-26 11:51:16 UTC
Obviously, when GA date for 4.2 becomes close, we'll have to decide about our "official" position re this. Sadly, I do not see this being resolved soon. So most likely, oVirt 4.2 will not support fedora at all, officially. In practice, since many developers use fedora, we do fix simple/quick issues when they are reported.

If you (or anyone) wants to help, patches are most welcome. See this for some of the things that need to be done:

https://bugzilla.redhat.com/showdependencytree.cgi?id=1460625&hide_resolved=1

First step is probably supporting dnf-2.

I didn't check yet if dnf-2 can work well with python2. If it does not, we'll also need to work on supporting python3, which is a larger project.

Comment 3 John Boero 2017-09-26 12:07:36 UTC
Well at least it's documented now for the next poor sucker that tries to use this..

Comment 4 John Boero 2017-09-26 12:09:25 UTC
Anyway all the fedora yum package does is forward to dnf anyway so it's surely not a conflict.

$  yum repolist
Redirecting to '/usr/bin/dnf repolist' (see 'man yum2dnf')

Comment 5 Yedidyah Bar David 2017-09-26 12:15:11 UTC
(In reply to John Boero from comment #3)
> Well at least it's documented now for the next poor sucker that tries to use
> this..

Indeed, thanks.

Comment 6 Yedidyah Bar David 2017-09-26 12:18:21 UTC
(In reply to John Boero from comment #4)
> Anyway all the fedora yum package does is forward to dnf anyway so it's
> surely not a conflict.
> 
> $  yum repolist
> Redirecting to '/usr/bin/dnf repolist' (see 'man yum2dnf')

This is true for <= 25, but not in 26, at least when I tried.

[root@didi-fedora-host ~]# cat /etc/fedora-release 
Fedora release 26 (Twenty Six)
[root@didi-fedora-host ~]# yum history
ID     | Command line             | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
     4 |                          | 2017-08-08 16:52 | Install        |    1  <
     3 | update -y                | 2017-08-08 16:43 | I, U           |   98 >E
     2 | install -y ovirt-guest-a | 2017-08-08 16:42 | Install        |    5   
     1 | install -y screen rsync  | 2017-08-08 16:41 | I, U           |  103   
[root@didi-fedora-host ~]# dnf history
ID     | Command line             | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
     5 | install ipython          | 2017-08-08 16:55 | Install        |   22  <
     4 | install -y python2-dnf b | 2017-08-08 16:52 | Install        |    5 > 
     3 | install otopi otopi-debu | 2017-08-08 16:51 | Install        |    3  <
     2 | install python           | 2017-08-08 16:37 | Install        |    4 > 
     1 |                          | 2017-08-07 12:56 | Install        |  309 EE

Comment 7 Yedidyah Bar David 2017-09-26 12:31:25 UTC
(In reply to Yedidyah Bar David from comment #6)
> (In reply to John Boero from comment #4)
> > Anyway all the fedora yum package does is forward to dnf anyway so it's
> > surely not a conflict.
> > 
> > $  yum repolist
> > Redirecting to '/usr/bin/dnf repolist' (see 'man yum2dnf')
> 
> This is true for <= 25, but not in 26, at least when I tried.

Now ran dnf update on this machine, and the output is now identical:

[root@didi-fedora-host ~]# dnf history
ID     | Command line             | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
     6 | update                   | 2017-09-26 15:21 | I, U           |  110 EE
     5 | install ipython          | 2017-08-08 16:55 | Install        |   22  <
     4 | install -y python2-dnf b | 2017-08-08 16:52 | Install        |    5 > 
     3 | install otopi otopi-debu | 2017-08-08 16:51 | Install        |    3  <
     2 | install python           | 2017-08-08 16:37 | Install        |    4 > 
     1 |                          | 2017-08-07 12:56 | Install        |  309 EE
[root@didi-fedora-host ~]# yum history
ID     | Command line             | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
     6 | update                   | 2017-09-26 15:21 | I, U           |  110 EE
     5 | install ipython          | 2017-08-08 16:55 | Install        |   22  <
     4 | install -y python2-dnf b | 2017-08-08 16:52 | Install        |    5 > 
     3 | install otopi otopi-debu | 2017-08-08 16:51 | Install        |    3  <
     2 | install python           | 2017-08-08 16:37 | Install        |    4 > 
     1 |                          | 2017-08-07 12:56 | Install        |  309 EE

And is extending the previous output of 'dnf history'. So this was probably a temporary bug, fixed in a recent update to dnf.

Keeping the bug closed anyway, as I do not think it's worth fixing. The right thing to do is to support dnf-2 and python3.

Comment 8 John Boero 2017-09-26 12:34:50 UTC
Thanks for the confirmation Yedidyah.  Great response time.

I now have a smoothly running install on F25 machines and it's glorious.  Can't wait for the packages to hit F26.


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