Bug 1561010 - vdsm: perform only minimal changes to the domain XML received from Engine
Summary: vdsm: perform only minimal changes to the domain XML received from Engine
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Virtualization Manager
Classification: Red Hat
Component: vdsm
Version: 4.2.3
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ovirt-4.2.3
: ---
Assignee: Francesco Romani
QA Contact: Liran Rotenberg
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-03-27 12:42 UTC by Francesco Romani
Modified: 2019-05-16 13:03 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-05-15 17:54:11 UTC
oVirt Team: Virt
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHEA-2018:1489 0 None None None 2018-05-15 17:54:14 UTC
oVirt gerrit 89498 0 ovirt-4.2 MERGED virt: introduce the domxml_preprocess module 2018-04-03 09:03:38 UTC
oVirt gerrit 89499 0 ovirt-4.2 MERGED virt: domxml_preprocess: move fixers in the module 2018-04-03 09:03:44 UTC
oVirt gerrit 89500 0 ovirt-4.2 MERGED virt: domxml_preprocess: make devices if missing 2018-04-03 09:03:53 UTC
oVirt gerrit 89501 0 ovirt-4.2 MERGED tests: domxml_preprocess: kickstart tests 2018-04-03 09:04:05 UTC
oVirt gerrit 89502 0 ovirt-4.2 MERGED tests: domxml_preprocess: test passthrough 2018-04-03 09:04:18 UTC
oVirt gerrit 89503 0 ovirt-4.2 MERGED virt: lease: split parse_xml 2018-04-03 09:04:27 UTC
oVirt gerrit 89504 0 ovirt-4.2 MERGED virt: lease: make helper public 2018-04-03 09:04:33 UTC
oVirt gerrit 89505 0 ovirt-4.2 MERGED vm: don't replace device XML, only hooks output 2018-04-05 14:08:59 UTC
oVirt gerrit 89506 0 ovirt-4.2 MERGED virt: extract local adjustments to XML 2018-04-05 14:09:06 UTC
oVirt gerrit 89507 0 ovirt-4.2 MERGED virt: introduce the lookup module 2018-04-05 08:17:37 UTC
oVirt gerrit 89508 0 ovirt-4.2 MERGED virt: storage: minimal changes to the drive XML 2018-04-05 14:13:49 UTC
oVirt gerrit 89509 0 ovirt-4.2 MERGED virt: lease: minimal changes to the lease XML 2018-04-05 14:59:58 UTC
oVirt gerrit 89510 0 ovirt-4.2 MERGED virt: placeholders: minimize replace_placeholders 2018-04-05 15:00:07 UTC
oVirt gerrit 89531 0 ovirt-4.2 MERGED virt: devices: lookup: extract drive_by_serial 2018-04-05 15:00:14 UTC
oVirt gerrit 89532 0 ovirt-4.2 MERGED virt: devices: log changes to disk devices 2018-04-06 07:11:47 UTC
oVirt gerrit 89533 0 ovirt-4.2 MERGED virt: devices: log changes to lease devices 2018-04-06 07:11:52 UTC
oVirt gerrit 89582 0 master ABANDONED doxml_preprocess: I/O mode depends on disk type 2018-04-04 13:10:35 UTC
oVirt gerrit 89583 0 master MERGED tests: domxml_preprocess: add more monkeypatch 2018-03-29 10:22:30 UTC
oVirt gerrit 89594 0 master MERGED API: improve logging 2018-03-31 17:55:14 UTC
oVirt gerrit 89604 0 master MERGED domxml_preprocess: cdrom attr may be missing 2018-03-31 17:55:17 UTC
oVirt gerrit 89739 0 ovirt-4.2 MERGED API: improve logging 2018-04-06 07:11:57 UTC
oVirt gerrit 89740 0 ovirt-4.2 MERGED domxml_preprocess: cdrom attr may be missing 2018-04-06 07:12:02 UTC
oVirt gerrit 89879 0 ovirt-4.2 MERGED tests: domxml_preprocess: add more monkeypatch 2018-04-06 08:18:39 UTC

Description Francesco Romani 2018-03-27 12:42:50 UTC
Description of problem:
Vdsm currently replaces whole sections of XML to perform host-specific changes.
This means we override data from Engine, but Engine is the ultimate source of truth.

Vdsm should minimize those changes.
For hooks, there is no real choice but replace the XML snippet the hooks returned, so this still needs to be done.

For device-specific changes (e.g. NICs, drives, leases), Vdsm should strive to minimize the changes, modifying only the attributes (e.g. drive path, lease offsets) and not replacing the whole XML.

This will make much, much simpler to add features in Engine.

This is the tracker bug

Comment 1 Francesco Romani 2018-04-03 08:52:29 UTC
this change is completely transparent for the users -everything should work as before, or even better, thus doesn't require doc_text

Comment 3 Liran Rotenberg 2018-05-06 09:38:24 UTC
Verified on:
ovirt-engine-4.2.3.3-0.1.el7.noarch
vdsm-4.20.27-1.el7ev.x86_64
libvirt-3.9.0-14.el7_5.3.x86_64

Steps of verification:
Most of the normal flows are checked within the automation.

Some infrequent combinations that were tested manually:
1. hot-plug disk, create snapshot of it
steps:
a. create a VM.
b. start the VM.
c. hot-plug disk.
d. create snapshot of the VM.

2. hot-unplug disk, migrate the VM
steps:
a. create a VM.
b. start the VM.
c. hot-unplug disk.
d. migrate the VM.

3. hot-plug NIC, suspend VM, resume VM
steps:
a. create a VM.
b. start the VM.
c. hot-plug NIC.
d. suspend the VM.
e. resume the VM.

Comment 6 errata-xmlrpc 2018-05-15 17:54:11 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, 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/RHEA-2018:1489

Comment 7 Franta Kust 2019-05-16 13:03:40 UTC
BZ<2>Jira Resync


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