This Ruby example attaches an existing NFS storage domain,
mydata, to an existing data center,
mydc. This example is used to attach both data and ISO storage domains.
# Get the reference to the root of the services tree: system_service = connection.system_service # Locate the service that manages the storage domains and use it to # search for the storage domain: sds_service = system_service.storage_domains_service sd = sds_service.list(search: 'name=mydata') # Locate the service that manages the data centers and use it to # search for the data center: dcs_service = system_service.data_centers_service dc = dcs_service.list(search: 'name=mydc') # Locate the service that manages the data center where you want to # attach the storage domain: dc_service = dcs_service.data_center_service(dc.id) # Locate the service that manages the storage domains that are attached # to the data centers: attached_sds_service = dc_service.storage_domains_service # Use the "add" method of service that manages the attached storage # domains to attach it: attached_sds_service.add( OvirtSDK4::StorageDomain.new( id: sd.id ) ) # Wait until the storage domain is active: attached_sd_service = attached_sds_service.storage_domain_service(sd.id) loop do sleep(5) sd = attached_sd_service.get break if sd.status == OvirtSDK4::StorageDomainStatus::ACTIVE end
For more information, see http://www.rubydoc.info/gems/ovirt-engine-sdk/OvirtSDK4/StorageDomainsService:add.