3.10. ストレージドメインのデータセンターへのアタッチ
Red Hat Virtualization にストレージドメインを追加したら、そのドメインをデータセンターにアタッチし、アクティブ化してからでないと、使用できません。
例3.8 ストレージドメインのデータセンターへのアタッチ
この例では、既存の NFS ストレージドメインである mydata を、既存のデータセンターである Default に接続します。アタッチ操作は、データセンターの storagedomains コレクションの add メソッドによって容易になります。これらの例は、データと ISO ストレージドメインの両方をアタッチするために使用できます。
V4
import ovirtsdk4 as sdk
import ovirtsdk4.types as types
# Create the connection to the server:
connection = sdk.Connection(
url='https://engine.example.com/ovirt-engine/api',
username='admin@internal',
password='password',
ca_file='ca.pem',
)
# Locate the service that manages the storage domains and use it to
# search for the storage domain:
sds_service = connection.system_service().storage_domains_service()
sd = sds_service.list(search='name=mydata')[0]
# Locate the service that manages the data centers and use it to
# search for the data center:
dcs_service = connection.system_service().data_centers_service()
dc = dcs_service.list(search='name=Default')[0]
# Locate the service that manages the data center where we 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(
types.StorageDomain(
id=sd.id,
),
)
# Wait until the storage domain is active:
attached_sd_service = attached_sds_service.storage_domain_service(sd.id)
while True:
time.sleep(5)
sd = attached_sd_service.get()
if sd.status == types.StorageDomainStatus.ACTIVE:
break
print("Attached data storage domain '%s' to data center '%s' (Status: %s)." %
(sd.name(), dc.name(), sd.status.state()))
# Close the connection to the server:
connection.close()
add メソッドの呼び出しが成功すると、例は次のテキストを出力します。
Attached data storage domain 'data1' to data center 'Default' (Status: maintenance).
Status: maintenance は、ストレージドメインをアクティブ化する必要があることを示します。