Description of problem:
When creating a raw disk via API on block storage domain if you don't specify sparse it defaults to true which is not valid.
sparse attribute is not listed as mandatory attribute in apidoc
Version-Release number of selected component (if applicable):
Tested on RHEV3.6 and RHV4
Steps to Reproduce:
# curl \
> --cacert '/etc/pki/ovirt-engine/ca.pem' \
> --user 'admin@internal:<password>' \
> --request POST \
> --header 'Version: 4' \
> --header 'Content-Type: application/xml' \
> --header 'Accept: application/xml' \
> --data '
> <storage_domain id="4661b3b4-43be-42b9-855e-56ddd72bf564"/>
> ' \
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<detail>[Cannot add Virtual Disk. Disk configuration (RAW Sparse) is incompatible with the storage domain type.]</detail>
not default to sparse true and create disk
This can be worked around very easily by adding sparse = false in call to api, however as noted sparse is not a mandatory attribute.
Either a change in api behaviour is needed or change to apidoc to not that sparse is mandatory attribute in this scenario
This default comes from the DiskImage's consturctor. At the point it's constructed, we don't have enough info (i.e. - don't have the storage type available) to make any smarter decision. We could, of course, change the default regardless of the storage type, but that sounds like a bigger interference with the customers' working script.
Juan - can we get your two cents on this?
[Tentatively targeting to 4.1.3 to express our willingness to help the customer in case we find a reasonable solution, but in all fairness I'm inclined to close as WONTFIX based on the above]
I'd say that if sparse=true doesn't make sense for that combination of disk format and storage domain type, we could just ignore it, instead of generating an error. If that is well documented in the specification of the API I don't see it as big problem.
If we finally decide to not fix this, for whatever the reason, we should anyhow document clearly in the API this limitation, including an example:
When creating a `raw` disk in a block storage domain (iSCSI or fibre
channel) it is mandatory to specify the also that the disk will not
This should go in the two locations where disks can be created: the top level disks collection, and the VM disk attachments collection.
Also, in the description of the Disk.sparse attribute we should also add a note explaining that it is mandatory in this case, and that it must be 'false'.
INFO: Bug status wasn't changed from MODIFIED to ON_QA due to the following reason:
[No relevant external trackers attached]
For more info please contact: firstname.lastname@example.org
Tested, and a note regarding sparse attribute has been added to the documentation:
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.