DescriptionSandro Bonazzola
2017-10-18 07:07:15 UTC
+++ This bug was initially created as a clone of Bug #1472812 +++
Description of problem:
Running engine-host-update.py for RHVH hosts
Version-Release number of selected component (if applicable):
ovirt-engine-4.1.4.2-0.1.el7.noarch
How reproducible:
100%
Steps to Reproduce:
1. run `./engine-host-update.py --insecure --engine=localhost --username=admin@internal --password=mypass` --host=rhevh
Actual results:
RHVH host is reinstalled. Updates still available.
Expected results:
When host is upgraded properly.
--- Additional comment from Yaniv Lavi (Dary) on 2017-07-31 05:11:17 EDT ---
Which version is the RHVH host are you trying to update?
--- Additional comment from Lukas Svaty on 2017-07-31 05:47:11 EDT ---
It was upgrade 4.1.3 -> 4.1.4 candidate.
However problem is not in host, rather in the utility, current flow:
1. Deactivate host
2. Reinstall host
3. Activate host
Reinstall host uses this code:
host.install(
ovirtsdk.xml.params.Action(
ssh=ovirtsdk.xml.params.SSH(
authentication_method='publickey'
),
host=ovirtsdk.xml.params.Host(override_iptables=True),
)
)
My wild guess:
This method reinstalls the current image
a) for rhel hosts installs the packages and redeploy vdsm/libvirt..., which is correct
b)for rhevh it I believe it just reinstalls the current image, even that new image is available. For new image to be installed, upgrade should be used, not install/reinstall.
--- Additional comment from Yaniv Lavi (Dary) on 2017-08-07 05:06:07 EDT ---
Do we want to fix this?
When is the Ansible to do this planned to be released?
--- Additional comment from Dan Kenigsberg on 2017-08-21 08:32:58 EDT ---
(In reply to Yaniv Lavi (Dary) from comment #3)
> Do we want to fix this?
I do. Most of our install base is using RHVH.
> When is the Ansible to do this planned to be released?
4.1.6, according to Bug 1473535
--- Additional comment from Yaniv Lavi (Dary) on 2017-08-30 05:11:08 EDT ---
Making this work with the vintage node is more critical, than RHVH.
--- Additional comment from Jiri Belka on 2017-08-31 05:39:42 EDT ---
(In reply to Yaniv Lavi (Dary) from comment #5)
> Making this work with the vintage node is more critical, than RHVH.
I talked to mperina@ and he clarified how 'install' works.
1. first 'host.install' action does check what is host type:
- if EL host, it _only_ installs packages which should are defined in
host-deploy code
- if node (and legacy?) it supposes it has all packages available
2. even "installing" packages on EL host does _NOT_ update all packages. These
are defined in the DB (PackageNamesForCheckUpdate), thus simple 'host.install'
won't update all packages in (PackageNamesForCheckUpdate).
3. for node/ngn I suppose 'host.install' does not touch any packaging and
upgrade-manager updates 'ovirt-node-ng-image-update'
('OvirtNodePackageNamesForCheckUpdate' in DB) to update node/ngn.
Thus to update node/ngn (and to correct vds_type if it has been wrong) it would need to to reinstall ('host.install') and tell upgrade-manager to upgrade it as well.
--- Additional comment from Lev Veyde on 2017-09-26 10:34:06 EDT ---
Hi Lukas,
Can you please test my latest patch to see if that solves the issue for you?
--- Additional comment from Lukas Svaty on 2017-09-27 03:58:57 EDT ---
Moving needinfo to Jirka
--- Additional comment from Jiri Belka on 2017-10-03 11:25:09 EDT ---
- do not reinstall rhevh (legacy) it causes confusing message in engine events. rhevh (legacy) is distributed as an iso, please move 'if vdsType in ('rhev-h', 'RHEV_H'):' a little bit up
Host dell-r210ii-13 installation in progress . Failed to install fluentd packages.Please check the log for details.
Host dell-r210ii-13 installation in progress . Vintage node, skipping kernel arguments..
Host dell-r210ii-13 installation in progress . Cannot validate host name settings, reason: resolved host does not match any of the local addresses.
--- Additional comment from Jiri Belka on 2017-10-03 11:32:29 EDT ---
...
Performing RHEVH (Legacy) upgrade...
Installing........................
Rebooting............................................................*.*.*.*.*Error: RuntimeError('Unable to complete the reinstall operational, host is in mode: non_responsive',)
imo it should make another attempt to get host status, it is quite often that host is a little bit in non-responsive state after upgrade
--- Additional comment from Jiri Belka on 2017-10-04 04:05:44 EDT ---
this works incorrectly for RHVH (ngn or aka ovirt-node).
it does host.install, that's useless and does not update anything.
508 if vdsType in ('rhev-h', 'RHEV_H'):
509 print('Performing RHEVH (Legacy) upgrade...')
510 upgradeRHevhhost(api, name)
511 verifyHost(api, name)
but...
Processing Host: dell-r210ii-04
Type: ovirt_node
Moving host to the maintenance.
Host moved to maintenance.
Installing........
^^^ why?
Installed.
^^^ not upgraded anyting!
Activating host..
Host activated.
Requering the host type, type: ovirt_node
Verifying that host stays up..................
Verified.
Closed connection.
#6 was ignored here. summary:
- for rhel7 hosts, host.install is ok
- for rhevh legacy, host.upgrade should be used, no host.install at all!
- for rhvh/ovirt-node (ngn), host.upgrade probably with this time without iso
current implementation is bogus.
--- Additional comment from Lev Veyde on 2017-10-16 13:18:12 EDT ---
Fixed the issues for RHEVH legacy, working to fix the issues for the oVirt NGN as well.