When the representation of a disk is retrieved using the API the following XML document is returned: <disk href="/ovirt-engine/api/disks/123" id="123"> ... <storage_domains> <storage_domain id="456"/> </storage_domains> </disk> In that XML document the 'href' attribute of the storage domain is missing. This means that the user of the API as to calculate the 'href' itself in order to retrieve the details of the storage domain. This is specially problematic for developers using the 'follow_link' method of the SDKs, as they won't be able to use it. For example, when the 'href' attribute is populated correctly, the code to retrieve the storage domain with the Ruby SDI is as simple as this: # Retrieve the disk: disk = ... # Retrieve the details of the storage domain: sd = connection.follow_link(disk.storage_domains.first) But if the 'href' isn't populated then the code needs to be like this: # Retrieve the disk: disk = ... # Find the service that manages the storage domain: sd = disk.storage_domains.first sd_service = connection.system_service.storage_domains_service.storage_domain_service(sd.id) # Retrieve the storage domain: sd = sd_service.get() The server should be fixed so that the 'href' attribute is populated correctly.
4.0.6 has been the last oVirt 4.0 release, please re-target this bug.
Verified on ovirt-engine-sdk-python (4.1.0) >>> connection = ... >>> disk = ... >>> sd = connection.follow_link(disk.storage_domains[0]) <ovirtsdk4.types.StorageDomain object at 0x7f96b3ac8748> >>> sd.name 'nfs_0'