POST /ovirt-engine/api/hosts/123/commitnetconfig
public class HostServiceImpl extends ServiceImpl implements HostService
HostService.ActivateRequest, HostService.ActivateResponse, HostService.ApproveRequest, HostService.ApproveResponse, HostService.CommitNetConfigRequest, HostService.CommitNetConfigResponse, HostService.DeactivateRequest, HostService.DeactivateResponse, HostService.EnrollCertificateRequest, HostService.EnrollCertificateResponse, HostService.FenceRequest, HostService.FenceResponse, HostService.ForceSelectSpmRequest, HostService.ForceSelectSpmResponse, HostService.GetRequest, HostService.GetResponse, HostService.InstallRequest, HostService.InstallResponse, HostService.IscsiDiscoverRequest, HostService.IscsiDiscoverResponse, HostService.IscsiLoginRequest, HostService.IscsiLoginResponse, HostService.RefreshRequest, HostService.RefreshResponse, HostService.RemoveRequest, HostService.RemoveResponse, HostService.SetupNetworksRequest, HostService.SetupNetworksResponse, HostService.UnregisteredStorageDomainsDiscoverRequest, HostService.UnregisteredStorageDomainsDiscoverResponse, HostService.UpdateRequest, HostService.UpdateResponse, HostService.UpgradeCheckRequest, HostService.UpgradeCheckResponse, HostService.UpgradeRequest, HostService.UpgradeResponse
Constructor and Description |
---|
HostServiceImpl(HttpConnection connection,
String path) |
Modifier and Type | Method and Description |
---|---|
HostService.ActivateRequest |
activate()
Activate the host for use, such as running virtual machines.
|
AssignedAffinityLabelsService |
affinityLabelsService()
List of scheduling labels assigned to this host.
|
HostService.ApproveRequest |
approve()
Approve a pre-installed Hypervisor host for usage in the virtualization environment.
|
HostService.CommitNetConfigRequest |
commitNetConfig()
Marks the network configuration as good and persists it inside the host.
|
HostService.DeactivateRequest |
deactivate()
Deactivate the host to perform maintenance tasks.
|
HostDevicesService |
devicesService()
Reference to the host devices service.
|
HostService.EnrollCertificateRequest |
enrollCertificate()
Enroll certificate of the host.
|
HostService.FenceRequest |
fence()
Controls host’s power management device.
|
FenceAgentsService |
fenceAgentsService()
Reference to the fence agents service.
|
HostService.ForceSelectSpmRequest |
forceSelectSpm()
Manually set a host as the storage pool manager (SPM).
|
HostService.GetRequest |
get()
Get the host details.
|
HostHooksService |
hooksService()
Reference to the host hooks service.
|
HostService.InstallRequest |
install()
Install VDSM and related software on the host.
|
HostService.IscsiDiscoverRequest |
iscsiDiscover()
Discover iSCSI targets on the host, using the initiator details.
|
HostService.IscsiLoginRequest |
iscsiLogin()
Login to iSCSI targets on the host, using the target details.
|
KatelloErrataService |
katelloErrataService()
Reference to the service that can show the applicable errata available on the host.
|
NetworkAttachmentsService |
networkAttachmentsService()
Reference to the network attachments service.
|
HostNicsService |
nicsService()
Reference to the service that manages the network interface devices on the host.
|
HostNumaNodesService |
numaNodesService()
Reference to the service that manage NUMA nodes for the host.
|
AssignedPermissionsService |
permissionsService()
Reference to the host permission service.
|
HostService.RefreshRequest |
refresh()
Refresh the host devices and capabilities.
|
HostService.RemoveRequest |
remove()
Remove the host from the system.
|
Service |
service(String path)
Service locator method, returns individual service on which the URI is dispatched.
|
HostService.SetupNetworksRequest |
setupNetworks()
This method is used to change the configuration of the network interfaces of a host.
|
StatisticsService |
statisticsService() |
StorageServerConnectionExtensionsService |
storageConnectionExtensionsService()
Reference to storage connection extensions.
|
HostStorageService |
storageService()
Reference to the service that manage hosts storage.
|
AssignedTagsService |
tagsService()
Reference to the host tags service.
|
String |
toString() |
UnmanagedNetworksService |
unmanagedNetworksService()
Reference to unmanaged networks.
|
HostService.UnregisteredStorageDomainsDiscoverRequest |
unregisteredStorageDomainsDiscover()
Discover the block Storage Domains which are candidates to be imported to the setup.
|
HostService.UpdateRequest |
update()
Update the host properties.
|
HostService.UpgradeRequest |
upgrade()
Upgrade VDSM and selected software on the host.
|
HostService.UpgradeCheckRequest |
upgradeCheck()
Check if there are upgrades available for the host.
|
checkAction, checkFault, getConnection, getPath, throwError
public HostServiceImpl(HttpConnection connection, String path)
public HostService.ActivateRequest activate()
HostService
Activate the host for use, such as running virtual machines.
activate
in interface HostService
public HostService.ApproveRequest approve()
HostService
Approve a pre-installed Hypervisor host for usage in the virtualization environment.
This action also accepts an optional cluster element to define the target cluster for this host.
approve
in interface HostService
public HostService.CommitNetConfigRequest commitNetConfig()
HostService
Marks the network configuration as good and persists it inside the host.
An API user commits the network configuration to persist a host network interface attachment or detachment, or persist the creation and deletion of a bonded interface.
Important
|
Networking configuration is only committed after the engine has established that host connectivity is not lost as a result of the configuration changes. If host connectivity is lost, the host requires a reboot and automatically reverts to the previous networking configuration. |
For example, to commit the network configuration of host with id 123
send a request like this:
POST /ovirt-engine/api/hosts/123/commitnetconfig
With a request body like this:
<action/>
commitNetConfig
in interface HostService
public HostService.DeactivateRequest deactivate()
HostService
Deactivate the host to perform maintenance tasks.
deactivate
in interface HostService
public HostService.EnrollCertificateRequest enrollCertificate()
HostService
Enroll certificate of the host. Useful in case you get a warning that it is about to, or already expired.
enrollCertificate
in interface HostService
public HostService.FenceRequest fence()
HostService
Controls host’s power management device.
For example, let’s assume you want to start the host. This can be done via:
#!/bin/sh -ex
url="https://engine.example.com/ovirt-engine/api"
user="admin@internal"
password="..."
curl \
--verbose \
--cacert /etc/pki/ovirt-engine/ca.pem \
--user "${user}:${password}" \
--request POST \
--header "Version: 4" \
--header "Content-Type: application/xml" \
--header "Accept: application/xml" \
--data '
<action>
<fence_type>start</fence_type>
</action>
' \
"${url}/hosts/123/fence"
fence
in interface HostService
public HostService.ForceSelectSpmRequest forceSelectSpm()
HostService
Manually set a host as the storage pool manager (SPM).
POST /ovirt-engine/api/hosts/123/forceselectspm
With a request body like this:
<action/>
forceSelectSpm
in interface HostService
public HostService.GetRequest get()
HostService
Get the host details.
GET /ovirt-engine/api/hosts/123
get
in interface HostService
public HostService.InstallRequest install()
HostService
Install VDSM and related software on the host. The host type defines additional parameters for the action.
Example of installing a host, using curl
and JSON, plain:
curl \
--verbose \
--cacert /etc/pki/ovirt-engine/ca.pem \
--request PUT \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Version: 4" \
--user "admin@internal:..." \
--data '
{
"root_password": "myrootpassword"
}
' \
"https://engine.example.com/ovirt-engine/api/hosts/123"
Example of installing a host, using curl
and JSON, with hosted engine components:
curl \
curl \
--verbose \
--cacert /etc/pki/ovirt-engine/ca.pem \
--request PUT \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Version: 4" \
--user "admin@internal:..." \
--data '
{
"root_password": "myrootpassword"
}
' \
"https://engine.example.com/ovirt-engine/api/hosts/123?deploy_hosted_engine=true"
Important
|
Since version 4.1.2 of the engine when a host is reinstalled we override the host firewall definitions by default. |
install
in interface HostService
public HostService.IscsiDiscoverRequest iscsiDiscover()
HostService
Discover iSCSI targets on the host, using the initiator details.
iscsiDiscover
in interface HostService
public HostService.IscsiLoginRequest iscsiLogin()
HostService
Login to iSCSI targets on the host, using the target details.
iscsiLogin
in interface HostService
public HostService.RefreshRequest refresh()
HostService
Refresh the host devices and capabilities.
refresh
in interface HostService
public HostService.RemoveRequest remove()
HostService
Remove the host from the system.
#!/bin/sh -ex
url="https://engine.example.com/ovirt-engine/api"
user="admin@internal"
password="..."
curl \
--verbose \
--cacert /etc/pki/ovirt-engine/ca.pem \
--user "${user}:${password}" \
--request DELETE \
--header "Version: 4" \
"${url}/hosts/1ff7a191-2f3b-4eff-812b-9f91a30c3acc"
remove
in interface HostService
public HostService.SetupNetworksRequest setupNetworks()
HostService
This method is used to change the configuration of the network interfaces of a host.
For example, lets assume that you have a host with three network interfaces eth0
, eth1
and eth2
and that
you want to configure a new bond using eth0
and eth1
, and put a VLAN on top of it. Using a simple shell
script and the curl
command line HTTP client that can be done as follows:
#!/bin/sh -ex
url="https://engine.example.com/ovirt-engine/api"
user="admin@internal"
password="..."
curl \
--verbose \
--cacert /etc/pki/ovirt-engine/ca.pem \
--user "${user}:${password}" \
--request POST \
--header "Version: 4" \
--header "Content-Type: application/xml" \
--header "Accept: application/xml" \
--data '
<action>
<modified_bonds>
<host_nic>
<name>bond0</name>
<bonding>
<options>
<option>
<name>mode</name>
<value>4</value>
</option>
<option>
<name>miimon</name>
<value>100</value>
</option>
</options>
<slaves>
<host_nic>
<name>eth1</name>
</host_nic>
<host_nic>
<name>eth2</name>
</host_nic>
</slaves>
</bonding>
</host_nic>
</modified_bonds>
<modified_network_attachments>
<network_attachment>
<network>
<name>myvlan</name>
</network>
<host_nic>
<name>bond0</name>
</host_nic>
<ip_address_assignments>
<assignment_method>static</assignment_method>
<ip_address_assignment>
<ip>
<address>192.168.122.10</address>
<netmask>255.255.255.0</netmask>
</ip>
</ip_address_assignment>
</ip_address_assignments>
<dns_resolver_configuration>
<name_servers>
<name_server>1.1.1.1</name_server>
<name_server>2.2.2.2</name_server>
</name_servers>
</dns_resolver_configuration>
</network_attachment>
</modified_network_attachments>
</action>
' \
"${url}/hosts/1ff7a191-2f3b-4eff-812b-9f91a30c3acc/setupnetworks"
Note that this is valid for version 4 of the API. In previous versions some elements were represented as XML
attributes instead of XML elements. In particular the options
and ip
elements were represented as follows:
<options name="mode" value="4"/>
<options name="miimon" value="100"/>
<ip address="192.168.122.10" netmask="255.255.255.0"/>
Using the Python SDK the same can be done with the following code:
# Find the service that manages the collection of hosts:
hosts_service = connection.system_service().hosts_service()
# Find the host:
host = hosts_service.list(search='name=myhost')[0]
# Find the service that manages the host:
host_service = hosts_service.host_service(host.id)
# Configure the network adding a bond with two slaves and attaching it to a
# network with an static IP address:
host_service.setup_networks(
modified_bonds=[
types.HostNic(
name='bond0',
bonding=types.Bonding(
options=[
types.Option(
name='mode',
value='4',
),
types.Option(
name='miimon',
value='100',
),
],
slaves=[
types.HostNic(
name='eth1',
),
types.HostNic(
name='eth2',
),
],
),
),
],
modified_network_attachments=[
types.NetworkAttachment(
network=types.Network(
name='myvlan',
),
host_nic=types.HostNic(
name='bond0',
),
ip_address_assignments=[
types.IpAddressAssignment(
assignment_method=types.BootProtocol.STATIC,
ip=types.Ip(
address='192.168.122.10',
netmask='255.255.255.0',
),
),
],
dns_resolver_configuration=types.DnsResolverConfiguration(
name_servers=[
'1.1.1.1',
'2.2.2.2',
],
),
),
],
)
# After modifying the network configuration it is very important to make it
# persistent:
host_service.commit_net_config()
Important
|
To make sure that the network configuration has been saved in the host, and that it will be applied when the host is rebooted, remember to call commitnetconfig. |
setupNetworks
in interface HostService
public HostService.UnregisteredStorageDomainsDiscoverRequest unregisteredStorageDomainsDiscover()
HostService
Discover the block Storage Domains which are candidates to be imported to the setup. For FCP no arguments are needed.
unregisteredStorageDomainsDiscover
in interface HostService
public HostService.UpdateRequest update()
HostService
Update the host properties.
For example, to update a the kernel command line of a host send a request like this:
PUT /ovirt-engine/api/hosts/123
With request body like this:
<host>
<os>
<custom_kernel_cmdline>vfio_iommu_type1.allow_unsafe_interrupts=1</custom_kernel_cmdline>
</os>
</host>
update
in interface HostService
public HostService.UpgradeRequest upgrade()
HostService
Upgrade VDSM and selected software on the host.
upgrade
in interface HostService
public HostService.UpgradeCheckRequest upgradeCheck()
HostService
Check if there are upgrades available for the host. If there are upgrades available an icon will be displayed next to host status icon in the webadmin. Audit log messages are also added to indicate the availability of upgrades. The upgrade can be started from the webadmin or by using the upgrade host action.
upgradeCheck
in interface HostService
public AssignedAffinityLabelsService affinityLabelsService()
HostService
List of scheduling labels assigned to this host.
affinityLabelsService
in interface HostService
public HostDevicesService devicesService()
HostService
Reference to the host devices service. Use this service to view the devices of the host object.
devicesService
in interface HostService
public FenceAgentsService fenceAgentsService()
HostService
Reference to the fence agents service. Use this service to manage fence and power management agents on the host object.
fenceAgentsService
in interface HostService
public HostHooksService hooksService()
HostService
Reference to the host hooks service. Use this service to view the hooks available in the host object.
hooksService
in interface HostService
public KatelloErrataService katelloErrataService()
HostService
Reference to the service that can show the applicable errata available on the host. This information is taken from Katello.
katelloErrataService
in interface HostService
public NetworkAttachmentsService networkAttachmentsService()
HostService
Reference to the network attachments service. You can use this service to attach Logical networks to host interfaces.
networkAttachmentsService
in interface HostService
public HostNicsService nicsService()
HostService
Reference to the service that manages the network interface devices on the host.
nicsService
in interface HostService
public HostNumaNodesService numaNodesService()
HostService
Reference to the service that manage NUMA nodes for the host.
numaNodesService
in interface HostService
public AssignedPermissionsService permissionsService()
HostService
Reference to the host permission service. Use this service to manage permissions on the host object.
permissionsService
in interface HostService
public StatisticsService statisticsService()
public HostStorageService storageService()
HostService
Reference to the service that manage hosts storage.
storageService
in interface HostService
public StorageServerConnectionExtensionsService storageConnectionExtensionsService()
HostService
Reference to storage connection extensions.
storageConnectionExtensionsService
in interface HostService
public AssignedTagsService tagsService()
HostService
Reference to the host tags service. Use this service to manage tags on the host object.
tagsService
in interface HostService
public UnmanagedNetworksService unmanagedNetworksService()
HostService
Reference to unmanaged networks.
unmanagedNetworksService
in interface HostService
public Service service(String path)
HostService
Service locator method, returns individual service on which the URI is dispatched.
service
in interface HostService
Copyright © 2017. All rights reserved.