Bug 1650505 - Increase of ClusterCompatibilityVersion to Cluster with virtual machines with outstanding configuration changes, those changes will be reverted
Summary: Increase of ClusterCompatibilityVersion to Cluster with virtual machines with...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Virtualization Manager
Classification: Red Hat
Component: ovirt-engine
Version: 4.2.0
Hardware: x86_64
OS: Linux
high
high
Target Milestone: ovirt-4.4.1
: 4.3.0
Assignee: Shmuel Melamud
QA Contact: Tamir
URL:
Whiteboard:
Depends On: 1768230
Blocks: 1723578
TreeView+ depends on / blocked
 
Reported: 2018-11-16 11:07 UTC by Steffen Froemer
Modified: 2022-03-13 16:06 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Previously, after increasing the cluster compatibility version of a cluster with virtual machines that had outstanding configuration changes, those changes were reverted. The current release fixes this issue. It applies both the outstanding configuration changes and the new cluster compatibility version to the virtual machines.
Clone Of:
: 1723578 (view as bug list)
Environment:
Last Closed: 2020-08-04 13:16:18 UTC
oVirt Team: Virt
Target Upstream Version:
Embargoed:
tamir: testing_plan_complete+


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2020:3247 0 None None None 2020-08-04 13:16:43 UTC
oVirt gerrit 97224 0 'None' MERGED core: Block cluster upgrade if there are VMs with NEXT_RUN 2020-12-22 15:22:52 UTC
oVirt gerrit 97688 0 'None' MERGED core: Take NEXT_RUN into account on cluster upgrade 2020-12-22 15:22:52 UTC
oVirt gerrit 101638 0 'None' MERGED core: Take NEXT_RUN into account on cluster upgrade 2020-12-22 15:22:50 UTC

Description Steffen Froemer 2018-11-16 11:07:02 UTC
Description of problem:
If one have virtual machines with outstanding configuration changes, which require the virtual machine to reboot and the Cluster CompatibilityVersion will be upgraded to a newer version, it will overwrite the change and will use the current active configuration instead.


Version-Release number of selected component (if applicable):
ovirt-engine-4.2.6.4-0.1.el7ev.noarch

How reproducible:
100%

Steps to Reproduce:
1. Make change to virtual machine (ex. increase iothread through api-call)
2. increase cluster version


Actual results:
The change is lost on upgrade cluster CompatibilityVersion

Expected results:
Beside the new ClusterCompatibility Version, the change should also included in the next_run configuration.
If not possible, Customers should made aware if increase Cluster Version on running virtual machines, any configuration change which is not already applied will be lost.

Additional info:
[root@rhhi ansible]# /usr/share/ovirt-engine/dbscripts/engine-psql.sh -c "select num_of_io_threads,custom_compatibilit
y_version from vm_static where vm_name='faye-pulanco.crazy.lab'"
 num_of_io_threads | custom_compatibility_version
-------------------+------------------------------
                 0 |
(1 row)


[1]: made change of iothreads
======================
[root@rhhi ansible]# ansible localhost -m ovirt_vms -e @cred.yml --args='auth={{ ovirt_auth }} name=faye-pulanco.crazy
.lab io_threads=1'       


[2]: verify the change
================
[root@rhhi ansible]# /usr/share/ovirt-engine/dbscripts/engine-psql.sh -t -c "select vm_configuration from snapshots where snapshot_type='NEXT_RUN' and vm_id=(select vm_guid from vm_static where vm_name='faye-pulanco.crazy.lab');"| cut -c 2- | xmllint --format - | grep -E "CompatibilityVersion|NumOfIoThreads"
    <NumOfIoThreads>1</NumOfIoThreads>
    <ClusterCompatibilityVersion>4.1</ClusterCompatibilityVersion>


[3]: increase ClusterCompatVersion using UI and verify the Change!

[root@rhhi ansible]# /usr/share/ovirt-engine/dbscripts/engine-psql.sh -t -c "select vm_configuration from snapshots where snapshot_type='NEXT_RUN' and vm_id=(select vm_guid from vm_static where vm_name='faye-pulanco.crazy.lab');"| cut -c 2- | xmllint --format - | grep -E "CompatibilityVersion|NumOfIoThreads"
    <NumOfIoThreads>0</NumOfIoThreads>
    <ClusterCompatibilityVersion>4.2</ClusterCompatibilityVersion>


==> the prior change is reverted.

Comment 1 Martin Tessun 2018-11-16 11:12:42 UTC
I would suggest to document the behaviour, aka telling the customer to update the cluster compatibility level once all pending changes have been applied as otherwise the changes will be lost.

@Michal: Thoughts?

Comment 2 Michal Skrivanek 2018-11-16 11:43:40 UTC
(In reply to Martin Tessun from comment #1)
> I would suggest to document the behaviour, aka telling the customer to
> update the cluster compatibility level once all pending changes

in admin guide we say "After you update the cluster’s compatibility version, you must update the cluster compatibility version of all running or suspended virtual machines by restarting them from within the Manager"

I agree it could be more verbose and talk about implications on configuration changes, suggest to do it at earliest convenient maintenance window, etc


It's also fixable in code, but updating the NEXT_RUN instead of active configuration should still be discouraged as it increases the likelihood of failing to apply it later.

Comment 3 Steffen Froemer 2018-11-16 12:28:47 UTC
My suggestion to this would be to don't allow increase of cluster’s compatibility version if there are outstanding configuration changes of running virtual machines.

This also needs to be documented in update guide, that's impossible to perform the upgrade, if there are VMs left, which require a restart.

That would prevent customers from unwanted behavior.

Comment 4 Martin Tessun 2018-11-16 14:41:30 UTC
(In reply to Steffen Froemer from comment #3)
> My suggestion to this would be to don't allow increase of cluster’s
> compatibility version if there are outstanding configuration changes of
> running virtual machines.
> 
> This also needs to be documented in update guide, that's impossible to
> perform the upgrade, if there are VMs left, which require a restart.
> 
> That would prevent customers from unwanted behavior.

Ack. Sounds good to me.

Comment 5 Michal Skrivanek 2019-01-02 12:16:04 UTC
it does sound to me too restrictive though.

Comment 6 Ryan Barry 2019-01-21 14:53:56 UTC
Re-targeting to 4.3.1 since it is missing a patch, an acked blocker flag, or both

Comment 11 Daniel Gur 2019-08-28 13:13:51 UTC
sync2jira

Comment 12 Daniel Gur 2019-08-28 13:18:04 UTC
sync2jira

Comment 14 RHEL Program Management 2019-11-03 08:56:48 UTC
The documentation text flag should only be set after 'doc text' field is provided. Please provide the documentation text and set the flag to '?' again.

Comment 18 RHV bug bot 2019-12-13 13:14:04 UTC
WARN: Bug status (VERIFIED) wasn't changed but the folowing should be fixed:

[Found non-acked flags: '{}', ]

For more info please contact: rhv-devops: Bug status (VERIFIED) wasn't changed but the folowing should be fixed:

[Found non-acked flags: '{}', ]

For more info please contact: rhv-devops

Comment 19 RHV bug bot 2019-12-20 17:43:58 UTC
WARN: Bug status (VERIFIED) wasn't changed but the folowing should be fixed:

[Found non-acked flags: '{}', ]

For more info please contact: rhv-devops: Bug status (VERIFIED) wasn't changed but the folowing should be fixed:

[Found non-acked flags: '{}', ]

For more info please contact: rhv-devops

Comment 20 RHV bug bot 2020-01-08 14:48:30 UTC
WARN: Bug status (VERIFIED) wasn't changed but the folowing should be fixed:

[Found non-acked flags: '{}', ]

For more info please contact: rhv-devops: Bug status (VERIFIED) wasn't changed but the folowing should be fixed:

[Found non-acked flags: '{}', ]

For more info please contact: rhv-devops

Comment 21 RHV bug bot 2020-01-08 15:14:49 UTC
WARN: Bug status (VERIFIED) wasn't changed but the folowing should be fixed:

[Found non-acked flags: '{}', ]

For more info please contact: rhv-devops: Bug status (VERIFIED) wasn't changed but the folowing should be fixed:

[Found non-acked flags: '{}', ]

For more info please contact: rhv-devops

Comment 22 RHV bug bot 2020-01-24 19:50:19 UTC
WARN: Bug status (VERIFIED) wasn't changed but the folowing should be fixed:

[Found non-acked flags: '{}', ]

For more info please contact: rhv-devops: Bug status (VERIFIED) wasn't changed but the folowing should be fixed:

[Found non-acked flags: '{}', ]

For more info please contact: rhv-devops

Comment 26 errata-xmlrpc 2020-08-04 13:16:18 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Important: RHV Manager (ovirt-engine) 4.4 security, bug fix, and enhancement update), and where to find the updated
files, follow the link below.

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

https://access.redhat.com/errata/RHSA-2020:3247


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