新しく作成された仮想マシンがネットワークにアクセスできるようにするには、仮想 NIC を作成してアタッチする必要があります。
例3.12 仮想 NIC の作成
この例では、NIC (nic1) を作成し、それを仮想マシン (vm1) にアタッチします。この例の NIC は、virtio ネットワークデバイスであり、ovirtmgmt 管理ネットワークにアタッチされています。
V4
import ovirtsdk4 as sdk
import ovirtsdk4.types as types
connection = sdk.Connection(
url='https://engine.example.com/ovirt-engine/api',
username='admin@internal',
password='password',
ca_file='ca.pem',
)
# Locate the virtual machines service and use it to find the virtual
# machine:
vms_service = connection.system_service().vms_service()
vm = vms_service.list(search='name=vm1')[0]
# Locate the service that manages the network interface cards of the
# virtual machine:
nics_service = vms_service.vm_service(vm.id).nics_service()
# Locate the vnic profiles service and use it to find the ovirmgmt
# network's profile id:
profiles_service = connection.system_service().vnic_profiles_service()
profile_id = None
for profile in profiles_service.list():
if profile.name == 'ovirtmgmt':
profile_id = profile.id
break
# Use the "add" method of the network interface cards service to add the
# new network interface card:
nic = nics_service.add(
types.Nic(
name='nic1',
interface=types.NicInterface.VIRTIO,
vnic_profile=types.VnicProfile(id=profile_id),
),
)
print("Network interface '%s' added to '%s'." % (nic.name, vm.name))
connection.close()
import ovirtsdk4 as sdk
import ovirtsdk4.types as types
connection = sdk.Connection(
url='https://engine.example.com/ovirt-engine/api',
username='admin@internal',
password='password',
ca_file='ca.pem',
)
# Locate the virtual machines service and use it to find the virtual
# machine:
vms_service = connection.system_service().vms_service()
vm = vms_service.list(search='name=vm1')[0]
# Locate the service that manages the network interface cards of the
# virtual machine:
nics_service = vms_service.vm_service(vm.id).nics_service()
# Locate the vnic profiles service and use it to find the ovirmgmt
# network's profile id:
profiles_service = connection.system_service().vnic_profiles_service()
profile_id = None
for profile in profiles_service.list():
if profile.name == 'ovirtmgmt':
profile_id = profile.id
break
# Use the "add" method of the network interface cards service to add the
# new network interface card:
nic = nics_service.add(
types.Nic(
name='nic1',
interface=types.NicInterface.VIRTIO,
vnic_profile=types.VnicProfile(id=profile_id),
),
)
print("Network interface '%s' added to '%s'." % (nic.name, vm.name))
connection.close()
Copy to ClipboardCopied!Toggle word wrapToggle overflow
add リクエストが成功すると、例は次のテキストを出力します。
Network interface 'nic1' added to 'vm1'.
Network interface 'nic1' added to 'vm1'.
Copy to ClipboardCopied!Toggle word wrapToggle overflow