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

Bug 1650505

Summary: Increase of ClusterCompatibilityVersion to Cluster with virtual machines with outstanding configuration changes, those changes will be reverted
Product: Red Hat Enterprise Virtualization Manager Reporter: Steffen Froemer <sfroemer>
Component: ovirt-engineAssignee: Shmuel Melamud <smelamud>
Status: CLOSED ERRATA QA Contact: Tamir <tamir>
Severity: high Docs Contact:
Priority: high    
Version: 4.2.0CC: ahadas, mavital, michal.skrivanek, mtessun, rdlugyhe, smelamud
Target Milestone: ovirt-4.4.1Keywords: ZStream
Target Release: 4.3.0Flags: tamir: testing_plan_complete+
Hardware: x86_64   
OS: Linux   
Whiteboard:
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.
Story Points: ---
Clone Of:
: 1723578 (view as bug list) Environment:
Last Closed: 2020-08-04 13:16:18 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Virt RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1768230    
Bug Blocks: 1723578    

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