Bug 1904947

Summary: ISO domain images list is empty when virtio-win is not installed on the engine side.
Product: [oVirt] ovirt-engine Reporter: Nisim Simsolo <nsimsolo>
Component: BLL.VirtAssignee: Liran Rotenberg <lrotenbe>
Status: CLOSED CURRENTRELEASE QA Contact: Nikolai Sednev <nsednev>
Severity: high Docs Contact:
Priority: unspecified    
Version: ---CC: ahadas, bugs, juzhou, nsednev, nsimsolo
Target Milestone: ovirt-4.4.4Keywords: Triaged
Target Release: 4.4.4.4Flags: pm-rhel: ovirt-4.4+
pm-rhel: planning_ack+
ahadas: devel_ack+
pm-rhel: testing_ack+
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: ovirt-engine-4.4.4.4 Doc Type: Bug Fix
Doc Text:
Previously, when having a windows VM in a cluster equal or above 4.4 and ISO domain without VirtIO-Win RPM installed on the engine, NullPointerException was risen, preventing ISO domain functionality. Now, the engine will handle the case of not having the RPM installed, allowing ISO domain to work as expected.
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-01-12 16:23:49 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:
Attachments:
Description Flags
engine.log none

Description Nisim Simsolo 2020-12-07 07:30:25 UTC
Description of problem:
After engine update from 4.4.4-2 to 4.4.4-5 the ISO domain images list was empty.
installing virtio-win on the engine side solved this issue.

Version-Release number of selected component (if applicable):
ovirt-engine-4.4.4.3-0.5.el8ev
vdsm-4.40.39-1.el8ev.x86_64
qemu-kvm-5.1.0-14.module+el8.3.0+8790+80f9c6d8.1.x86_64
libvirt-daemon-6.6.0-7.1.module+el8.3.0+8852+b44fca9f.x86_64
virtio-win-1.9.14-4.el8.noarch

How reproducible:
not sure

Steps to Reproduce:
1. Update engine 
2. Browse WebAdmin -> storage -> ISO domain -> images
3.

Actual results:
images list is empty if virtio-win is not installed on the engine side.

Expected results:
ISO domain images list should not be empty.

Additional info:
engine.log attached, engine was updated at 2020-12-06 10:31:21

Comment 1 Nisim Simsolo 2020-12-07 07:33:03 UTC
Created attachment 1737210 [details]
engine.log

Comment 2 Arik 2020-12-07 08:26:27 UTC
For the record, the exception was:
[org.ovirt.engine.core.bll.storage.repoimage.GetImagesListByStoragePoolIdQuery] (default task-101) [fd57602c-b1a0-4343-b818-6fbc4b5f7447] Exception: java.lang.NullPointerException
        at deployment.engine.ear.bll.jar//org.ovirt.engine.core.bll.storage.repoimage.GetImagesListByStoragePoolIdQuery.executeQueryCommand(GetImagesListByStoragePoolIdQuery.java:39)
        at deployment.engine.ear.bll.jar//org.ovirt.engine.core.bll.QueriesCommandBase.executeCommand(QueriesCommandBase.java:106)
        at org.ovirt.engine.core.dal//org.ovirt.engine.core.dal.VdcCommandBase.execute(VdcCommandBase.java:31)
        at deployment.engine.ear.bll.jar//org.ovirt.engine.core.bll.executor.DefaultBackendQueryExecutor.execute(DefaultBackendQueryExecutor.java:14)
        at deployment.engine.ear.bll.jar//org.ovirt.engine.core.bll.Backend.runQueryImpl(Backend.java:512)
        at deployment.engine.ear.bll.jar//org.ovirt.engine.core.bll.Backend.runQuery(Backend.java:481)

Comment 3 Arik 2020-12-07 08:31:41 UTC
And the solution was to install 'virtio-win' on the engine host

Comment 4 Liran Rotenberg 2020-12-08 11:54:24 UTC
The problem is that when we have VMs set with windows type and we are in cluster >= 4.4, we support the new virtio-win RPM.
Once there is no virtio-win installed, the values of the available virtio-win ISO and the current version of available agent to that OS is null.

The engine never checked for null and once we hit the above criteria, we will get NPE on later logic.
Proper handling should be added for this case.

Comment 5 Nikolai Sednev 2020-12-24 11:02:25 UTC
Works fine with rhvm-4.4.4.5-0.10.el8ev.noarch.
ISO images shown fine and available through the list without virtio-win installed on the engine.
Moving to verified.

rhvm-4.4.4.5-0.10.el8ev.noarch
ovirt-hosted-engine-ha-2.4.5-1.el8ev.noarch
ovirt-hosted-engine-setup-2.4.9-2.el8ev.noarch
Linux 4.18.0-240.10.1.el8_3.x86_64 #1 SMP Wed Dec 16 03:30:52 EST 2020 x86_64 x86_64 x86_64 GNU/Linux
Red Hat Enterprise Linux release 8.3 (Ootpa)

Comment 6 Sandro Bonazzola 2021-01-12 16:23:49 UTC
This bugzilla is included in oVirt 4.4.4 release, published on December 21st 2020.

Since the problem described in this bug report should be resolved in oVirt 4.4.4 release, it has been closed with a resolution of CURRENT RELEASE.

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