Bug 1365744

Summary: engine-setup should require ovirt-imageio-proxy-setup
Product: [oVirt] ovirt-engine Reporter: Barak Korren <bkorren>
Component: Setup.EngineAssignee: Yedidyah Bar David <didi>
Status: CLOSED CURRENTRELEASE QA Contact: Aleksei Slaikovskii <aslaikov>
Severity: unspecified Docs Contact:
Priority: high    
Version: 4.0.2.4CC: amureini, bugs, didi, eedri, lsvaty, mperina, sbonazzo, ylavi
Target Milestone: ovirt-4.0.3Flags: rule-engine: ovirt-4.0.z+
rule-engine: blocker+
ylavi: planning_ack+
sbonazzo: devel_ack+
lsvaty: testing_ack+
Target Release: 4.0.3   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Cause: The package ovirt-imageio-proxy-setup was not added as a requirement of the engine-setup packages. ovirt-imageio-proxy package was a dependency of the engine itself, and required ovirt-imageio-proxy-setup. Consequence: On upgrade from earlier versions, ovirt-imageio-proxy-setup was installed only in the middle of engine-setup, so could not affect it - so the question whether to configure the Image I/O Proxy wasn't asked and it was not configured. If engine-setup was ran again, it was activated, asked and optionally configured the service (actually failed configuring it, due to bug 1365451). Fix: ovirt-imageio-proxy-setup was added as a dependency of one of the engine-setup packages. Result: When following the normal upgrade instructions, upgrading engine-setup packages pulls in also ovirt-imageio-proxy-setup so it can ask and configure the service. Workaround: When upgrading, install also ovirt-imageio-proxy-setup before running engine-setup.
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-08-29 14:51:09 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Integration RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1365451    
Bug Blocks:    

Description Barak Korren 2016-08-10 07:00:59 UTC
Description of problem:
BZ#1365451 raised a question - why did the 'ovirt-imageio-proxy-setup' issues occurred on the 2nd engine-setup run but not the first one?
The reason for that is that the 'ovirt-imageio-proxy-setup' package was not installed the 1st time engine-setup was run.
Following the logic of the "ovirt-engine-dwh-setup" package, it may be tha case that we need to have engine-setup refuse to run now if 'ovirt-imageio-proxy-setup' is not installed and up to date.

Version-Release number of selected component (if applicable):
ovirt-engine-setup-4.0.2.4-0.1

How reproducible:
The following flow should theoretically reproduce the issue:

Steps to Reproduce:
0. start with a blank host with ovirt repos configured
1. 'yum install ovirt-engine-\*setup\*'
2. run 'engine-setup'
3. run 'engine-setup'

Actual results:
The 1st engine-setup will also install 'ovirt-imageio-proxy-setup'
The 2nd engine-setup will actually try to setup 'ovirt-imageio-proxy'

Expected results:
The 1st engine-setup should require 'ovirt-imageio-proxy-setup' so it could setup  'ovirt-imageio-proxy'

Additional info:
The reason this is not failing the ovirt-system-tests ATM is because ovirt-system-tests currently does 'yum install ovirt-engine' rather then 'yum install ovirt-engine-setup'.
Please open a bug against it if this should be changed.

No sure ATM if this also made the upgrade jobs fail, those are, alas, too fragile ATM.

Comment 1 Martin Perina 2016-08-10 08:47:16 UTC
If you need to have ovirt-imageio-proxy-setup installed before running engine-setup (which does the upgrade), you need to add "Requires: ovirt-imageio-proxy-setup" into setup-plugin-ovirt-engine RPM (same way as we enforced installation of ovirt-engine-extension-aaa-jdbc in 3.6)

Comment 2 Sandro Bonazzola 2016-08-10 09:27:17 UTC
the whole imageio stuff are handled by Amit, moving to him.
I think we can add a Known Issue on ovirt 4.0.2 release notes about it.

Comment 3 Red Hat Bugzilla Rules Engine 2016-08-10 09:27:22 UTC
Bug tickets must have version flags set prior to targeting them to a release. Please ask maintainer to set the correct version flags and only then set the target milestone.

Comment 4 Aleksei Slaikovskii 2016-08-26 08:44:58 UTC
# repoquery ovirt-engine-setup-plugin-ovirt-engine.noarch --requires --resolve
ovirt-engine-extension-aaa-jdbc-0:1.1.0-1.el7ev.noarch
ovirt-engine-setup-plugin-vmconsole-proxy-helper-0:4.0.3-0.1.el7ev.noarch
bash-0:4.2.46-20.el7_2.x86_64
ovirt-engine-dwh-setup-0:4.0.2-1.el7ev.noarch
openssh-0:6.6.1p1-22.el7.x86_64
python-0:2.7.5-38.el7_2.x86_64
ovirt-imageio-proxy-setup-0:0.3.0-0.el7ev.noarch
ovirt-engine-setup-plugin-ovirt-engine-common-0:4.0.3-0.1.el7ev.noarch
ovirt-engine-0:4.0.2.4-0.1.el7ev.noarch

Comment 5 Yedidyah Bar David 2016-08-28 07:58:44 UTC
(In reply to Barak Korren from comment #0)
> Description of problem:
> BZ#1365451 raised a question - why did the 'ovirt-imageio-proxy-setup'
> issues occurred on the 2nd engine-setup run but not the first one?

General note: Bugs, and especially verifications, should be described functionally. In current case the bug should have had summary line:

imageio-proxy is not asked about, thus not configured, on upgrade from 3.6 to 4.0, but only on the next run of engine-setup after upgrade.

(or something shorter, but you get my point).

'this requires that', or 'this does not require that' is hardly a bug in itself. It can be a root cause for a bug, as in current case.

Also verification, obviously, should have been:

1. Installed and set up 3.6 engine
2. Added 4.0 repos and ran 'yum update ovirt-engine\*setup\*'
3. Ran engine-setup - was asked about imageio-proxy, replied yes
4. imageio-proxy was successfully configured