Bug 1624910
| Summary: | REST: run once VM with an attached ISO file that resides on a data domain fails on validation error that active ISO domain is missing | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [oVirt] ovirt-engine | Reporter: | Elad <ebenahar> | ||||
| Component: | RestAPI | Assignee: | Fedor Gavrilov <fgavrilo> | ||||
| Status: | CLOSED NOTABUG | QA Contact: | Elad <ebenahar> | ||||
| Severity: | high | Docs Contact: | |||||
| Priority: | unspecified | ||||||
| Version: | 4.2.6.2 | CC: | bugs, ebenahar, fkust, frolland, tnisan | ||||
| Target Milestone: | ovirt-4.3.3 | Keywords: | Automation | ||||
| Target Release: | --- | Flags: | rule-engine:
ovirt-4.3+
|
||||
| Hardware: | x86_64 | ||||||
| OS: | Unspecified | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2019-03-21 09:59:45 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | Storage | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Attachments: |
|
||||||
|
Description
Elad
2018-09-03 14:54:30 UTC
Elad, currently this does not reproduce for me. To make sure there is no misunderstanding, here is my setup: Freshly installed host and engine, both from yesterday's master branch, the only ISO image resides on an only domain (not counting ovirt-image-repository): domain type: Data (Master) storage type: NFS I run the reproducer and I get 200 OK, VM status changes to running in web UI, everything seems fine. I ran debug and it seems that storagePoolIsoMapDao.get(new StoragePoolIsoMapId(domainId, vm.getStoragePoolId())) in RunVMValidator that previously was either null or non active now returns active as it should. So, I guess, nothing to fix here anymore? Is the ISO file residing on a data domain? Using ovirt-engine-4.3.1.1-0.1.el7.noarch, still impossible to run once a VM with ISO that resides on a data domain, using REST:
====================
Request:
url:/ovirt-engine/api/vms/881ba627-96af-42fd-809d-7de3475c8736/start body:<action>
<async>false</async>
<grace_period>
<expiry>10</expiry>
</grace_period>
<use_cloud_init>false</use_cloud_init>
<use_sysprep>false</use_sysprep>
<vm>
<os>
<boot>
<devices>
<device>cdrom</device>
</devices>
</boot>
</os>
<cdroms>
<cdrom>
<file id="cirunner.iso"/>
</cdrom>
</cdroms>
</vm>
</action>
===========================
Response:
Status: 409
Reason: Conflict
Detail: [Cannot run VM with attached CD without an active ISO domain.
Alternatives:
- Attach an ISO Domain (to enable CD operations).
- Change the boot sequence, using the Edit VM command (Boot Sub-Tab).
- Select a different boot device (using the 'Run Once' command).]
Elad, to choose an ISO file for a CDROM that resides on a data domain, you have to specify in the request the UUID of the data disk containing the ISO image (as file names are not unique), if you supply a file name this refers to the old API and the image that Engine will attempt to attach as CDROM will be from the ISO domain, please verify again by running once with the UUID and see if that works, if so please close the bug as it is an expected behavior Correct, with image UUID it works, thanks for the clarification. Closing the bug |