Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1427161

Summary: ovirt-imageio-proxy-setup does not seem to update the ovirt-imageio-proxy package
Product: [oVirt] ovirt-engine Reporter: Barak Korren <bkorren>
Component: DocumentationAssignee: bugs <bugs>
Status: CLOSED NOTABUG QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 4.1.0CC: adahms, amureini, bugs, didi, tnisan, ylavi
Target Milestone: ovirt-4.1.1Flags: rule-engine: ovirt-4.1+
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-03-01 06:53:04 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:

Description Barak Korren 2017-02-27 13:47:00 UTC
Description of problem:
Installing a newer version of ovirt-imageio-proxy-setup and running engine-setup does not seem to cause the ovirt-imageio-proxy package to be updated.

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

How reproducible:
easily

Steps to Reproduce:
1. install an older engine+imageio-proxy version (in my case it was the 4.0
   release)
2. Setup repos to point to a newer version (in my case 4.1.1)
3. Run 'yum update ovirt*setup*' on engine machine to update setup packages
4. Run engine-setup to perform upgrade.

Actual results:
The ovirt-imageio-proxy package remains at an older version.

Here is example output showing the situation:

# yum list ovirt-imageio-proxy\*
Loaded plugins: product-id, search-disabled-repos, subscription-manager, versionlock
Installed Packages
ovirt-imageio-proxy.noarch        0.5.0-0.el7ev 
ovirt-imageio-proxy-setup.noarch  1.0.0-0.el7ev 
Available Packages
ovirt-imageio-proxy.noarch        1.0.0-0.el7ev

Expected results:
The ovirt-imageio-proxy should be updated like other packages such as DWH.

Comment 1 Daniel Erez 2017-02-27 14:24:33 UTC
@Didi - aren't we updating all imageio packages on engine-setup?

Comment 2 Yedidyah Bar David 2017-02-27 14:41:06 UTC
(In reply to Daniel Erez from comment #1)
> @Didi - aren't we updating all imageio packages on engine-setup?

I guess we are not, otherwise this bug would not exist...

'engine-setup' is pluggable. The code in the engine handles only packages generated from the engine code.

To make other packages be updated by engine-setup, a plugin has to add them to self.environment[osetupcons.RPMDistroEnv.PACKAGES_UPGRADE_LIST].

To make engine-setup verify that an up-to-date setup plugin package is already installed, a plugin has to add it to self.environment[osetupcons.RPMDistroEnv.PACKAGES_SETUP]. If you add it and a user runs engine-setup without first updating this package, engine-setup will fail, asking to first update it.

To make it also versionlock a package (no idea if you need that), a plugin has to add it to self.environment[osetupcons.RPMDistroEnv.VERSION_LOCK_APPLY].

See e.g. ovirt-dwh as an example for a plugin that uses all of the above, in packaging/setup/plugins/ovirt-engine-setup/ovirt-engine-dwh/distro-rpm/packages.py .

Comment 3 Yaniv Kaul 2017-02-28 07:22:07 UTC
If it's not version-locked, a simple 'yum update' should suffice. We don't want the engine-setup to be in charge of all packages, just those we for some reason want to carefully coordinated their update. I don't believe the imageio daemon is one of them.

Comment 4 Daniel Erez 2017-02-28 15:17:52 UTC
Installing ovirt-imageio-proxy on the same machine as the engine isn't mandatory (i.e. ovirt-imageio-proxy can be installed on a different machine). Hence, adding update dependency doesn't make sense.

Therefore, we should add a note in the Upgrade Guide as such:
If ovirt-imageio packages have been previously installed, ensure to update both ovirt-imageio-proxy and ovirt-imageio-proxy-setup packages

Comment 5 Red Hat Bugzilla Rules Engine 2017-02-28 15:17:59 UTC
Target release should be placed once a package build is known to fix a issue. Since this bug is not modified, the target version has been reset. Please use target milestone to plan a fix for a oVirt release.

Comment 6 Barak Korren 2017-02-28 17:06:13 UTC
ovirt-imageio-proxy was installed by engine-setup no? Then IMO it should also be updated by it to keep things consistent.

Th indication if to update or not should probably be wither 'ovirt-imageio-proxy-setup' is installed.

Comment 7 Yedidyah Bar David 2017-03-01 06:53:04 UTC
(In reply to Barak Korren from comment #6)
> ovirt-imageio-proxy was installed by engine-setup no?

AFAICT, no. It's a dependency of the engine package, so was installed by yum/dnf.

> Then IMO it should
> also be updated by it to keep things consistent.

Even if it was installed by setup, not sure it should be updated by it.

> 
> Th indication if to update or not should probably be wither
> 'ovirt-imageio-proxy-setup' is installed.

That's a dependency too (of the engine-specific plugin of engine-setup), so it's always installed.

Our docs already say to run 'yum update' following engine-setup, so we should be ok as-is.

To summarize - current criteria is comment 3. If engine-setup can finish successfully without updating a package, it does not update it. If a package is not version-locked, it usually should not be updated by engine-setup. If the engine requires e.g. a specific newer version of ovirt-imageio-proxy, the spec file should be updated to reflect that.

Closing. If you think we should have some other criteria, please open a new bug with a generic description (e.g. "engine-setup should update all packages", or "should update all oVirt-related packages", or something like that).