class OvirtSDK4::HostService

Constants

ACTIVATE
APPROVE
APPROVE_USING_ROOT_PASSWORD
APPROVE_USING_SSH
COMMIT_NET_CONFIG
COPY_HOST_NETWORKS
DEACTIVATE
DISCOVER_ISCSI
ENROLL_CERTIFICATE
FENCE
FORCE_SELECT_SPM
GET
INSTALL
INSTALL_USING_ROOT_PASSWORD
INSTALL_USING_SSH
ISCSI_DISCOVER
ISCSI_LOGIN
REFRESH
REMOVE
SETUP_NETWORKS
SYNC_ALL_NETWORKS
UNREGISTERED_STORAGE_DOMAINS_DISCOVER
UPDATE
UPDATE_USING_ROOT_PASSWORD
UPDATE_USING_SSH
UPGRADE
UPGRADE_CHECK

Public Instance Methods

activate(opts = {}) click to toggle source

Activates the host for use, for example to run virtual machines.

@param opts [Hash] Additional options.

@option opts [Boolean] :async Indicates if the activation should be performed asynchronously.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

# File lib/ovirtsdk4/services.rb, line 38793
def activate(opts = {})
  internal_action(:activate, nil, ACTIVATE, opts)
end
affinity_labels_service() click to toggle source

List of scheduling labels assigned to this host.

@return [AssignedAffinityLabelsService] A reference to `affinity_labels` service.

# File lib/ovirtsdk4/services.rb, line 40161
def affinity_labels_service
  @affinity_labels_service ||= AssignedAffinityLabelsService.new(self, 'affinitylabels')
end
approve(opts = {}) click to toggle source

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.

@param opts [Hash] Additional options.

@option opts [Boolean] :activate When set to 'true', this host will be activated after its approval completes. When set to 'false'

the host will remain in 'maintenance' status after its approval. Absence of this parameter will be
interpreted as 'true', since the desired default behavior is activating the host after approval.

@option opts [Boolean] :async Indicates if the approval should be performed asynchronously.

@option opts [Cluster] :cluster The cluster where the host will be added after it is approved.

@option opts [Host] :host The host to approve.

@option opts [Boolean] :reboot Indicates if the host should be rebooted after successful installation. The default value is `true`.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

# File lib/ovirtsdk4/services.rb, line 38835
def approve(opts = {})
  internal_action(:approve, nil, APPROVE, opts)
end
approve_using_root_password(opts = {}) click to toggle source

Executes the `approve_using_root_password` method.

@param opts [Hash] Additional options.

@option opts [Boolean] :activate When set to 'true', this host will be activated after its approval completes. When set to 'false'

the host will remain in 'maintenance' status after its approval. Absence of this parameter will be
interpreted as 'true', since the desired default behavior is activating the host after approval.

@option opts [Boolean] :async Indicates if the approval should be performed asynchronously.

@option opts [Cluster] :cluster The cluster where the host will be added after it is approved.

@option opts [Host] :host The host to approve.

@option opts [Boolean] :reboot Indicates if the host should be rebooted after successful installation. The default value is `true`.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

# File lib/ovirtsdk4/services.rb, line 39937
def approve_using_root_password(opts = {})
  internal_action(:approve, nil, APPROVE_USING_ROOT_PASSWORD, opts)
end
approve_using_ssh(opts = {}) click to toggle source

Approve the specified host to be added to the engine by using ssh authentication. This occurs when the host registers itself with the engine.

@param opts [Hash] Additional options.

@option opts [Boolean] :activate When set to 'true', this host will be activated after its approval completes. When set to 'false'

the host will remain in 'maintenance' status after its approval. Absence of this parameter will be
interpreted as 'true', since the desired default behavior is activating the host after approval.

@option opts [Boolean] :async Indicates if the approval should be performed asynchronously.

@option opts [Cluster] :cluster The cluster where the host will be added after it is approved.

@option opts [Host] :host The host to approve.

@option opts [Boolean] :reboot Indicates if the host should be rebooted after successful installation. The default value is `true`.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

# File lib/ovirtsdk4/services.rb, line 40065
def approve_using_ssh(opts = {})
  internal_action(:approve, nil, APPROVE_USING_SSH, opts)
end
commit_net_config(opts = {}) click to toggle source

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:

source

POST /ovirt-engine/api/hosts/123/commitnetconfig


With a request body like this:

source,xml

<action/>


IMPORTANT: Since {engine-name} 4.3, it is possible to also specify `commit_on_success` in the xref:services-host-methods-setup_networks request, in which case the new configuration is automatically saved in the {hypervisor-name} upon completing the setup and re-establishing connectivity between the {hypervisor-name} and {engine-name}, and without waiting for a separate xref:services-host-methods-commit_net_config request.

@param opts [Hash] Additional options.

@option opts [Boolean] :async Indicates if the action should be performed asynchronously.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

# File lib/ovirtsdk4/services.rb, line 38888
def commit_net_config(opts = {})
  internal_action(:commitnetconfig, nil, COMMIT_NET_CONFIG, opts)
end
copy_host_networks(opts = {}) click to toggle source

Copy the network configuration of the specified host to current host.

IMPORTANT: Any network attachments that are not present on the source host will be erased from the target host by the copy operation.

To copy networks from another host, send a request like this:

source

POST /ovirt-engine/api/hosts/123/copyhostnetworks


With a request body like this:

source,xml

<action>

<source_host id="456"/>

</action>


@param opts [Hash] Additional options.

@option opts [Boolean] :async Indicates if the action should be performed asynchronously.

@option opts [Host] :source_host The host to copy networks from.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

# File lib/ovirtsdk4/services.rb, line 38936
def copy_host_networks(opts = {})
  internal_action(:copyhostnetworks, nil, COPY_HOST_NETWORKS, opts)
end
cpu_units_service() click to toggle source

A reference to the list of all host's CPUs with detailed information about the topology (socket, core) and with information about the current CPU pinning.

@return [HostCpuUnitsService] A reference to `cpu_units` service.

# File lib/ovirtsdk4/services.rb, line 40172
def cpu_units_service
  @cpu_units_service ||= HostCpuUnitsService.new(self, 'cpuunits')
end
deactivate(opts = {}) click to toggle source

Deactivates the host to perform maintenance tasks.

@param opts [Hash] Additional options.

@option opts [Boolean] :async Indicates if the deactivation should be performed asynchronously.

@option opts [String] :reason

@option opts [Boolean] :stop_gluster_service Indicates if the gluster service should be stopped as part of deactivating the host. It can be used while

performing maintenance operations on the gluster host. Default value for this variable is `false`.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

# File lib/ovirtsdk4/services.rb, line 38969
def deactivate(opts = {})
  internal_action(:deactivate, nil, DEACTIVATE, opts)
end
devices_service() click to toggle source

A reference to the host devices service. Use this service to view the devices of the host object.

@return [HostDevicesService] A reference to `devices` service.

# File lib/ovirtsdk4/services.rb, line 40181
def devices_service
  @devices_service ||= HostDevicesService.new(self, 'devices')
end
discover_iscsi(opts = {}) click to toggle source

Discovers iSCSI targets on the host, using the initiator details. Returns a list of IscsiDetails objects containing the discovered data.

For example, to discover iSCSI targets available in `myiscsi.example.com`, from host `123`, send a request like this:

source

POST /ovirt-engine/api/hosts/123/discoveriscsi


With a request body like this:

source,xml

<action>

<iscsi>
  <address>myiscsi.example.com</address>
</iscsi>

</action>


The result will be like this:

source,xml

<discovered_targets>

<iscsi_details>
  <address>10.35.1.72</address>
  <port>3260</port>
  <portal>10.35.1.72:3260,1</portal>
  <target>iqn.2015-08.com.tgt:444</target>
</iscsi_details>

</discovered_targets>


IMPORTANT: When using this method to discover iscsi targets, you can use an FQDN or an IP address, but you must use the iscsi details from the discovered targets results to log in using the iscsilogin method.

@param opts [Hash] Additional options.

@option opts [Boolean] :async Indicates if the discovery should be performed asynchronously.

@option opts [Array<IscsiDetails>] :discovered_targets The discovered targets including all connection information.

@option opts [IscsiDetails] :iscsi The target iSCSI device.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

# File lib/ovirtsdk4/services.rb, line 39038
def discover_iscsi(opts = {})
  internal_action(:discoveriscsi, :discovered_targets, DISCOVER_ISCSI, opts)
end
enroll_certificate(opts = {}) click to toggle source

Enrolls the certificate of the host. Useful in case you get a warning that it is about to expire or has already expired.

@param opts [Hash] Additional options.

@option opts [Boolean] :async Indicates if the enrollment should be performed asynchronously.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

# File lib/ovirtsdk4/services.rb, line 39065
def enroll_certificate(opts = {})
  internal_action(:enrollcertificate, nil, ENROLL_CERTIFICATE, opts)
end
external_network_provider_configurations_service() click to toggle source

External network providers provisioned by the system on the host.

@return [ExternalNetworkProviderConfigurationsService] A reference to `external_network_provider_configurations` service.

# File lib/ovirtsdk4/services.rb, line 40190
def external_network_provider_configurations_service
  @external_network_provider_configurations_service ||= ExternalNetworkProviderConfigurationsService.new(self, 'externalnetworkproviderconfigurations')
end
fence(opts = {}) click to toggle source

Controls the host's power management device.

For example, to start the host. This can be done via:

source

#!/bin/sh -ex

url=“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”


@param opts [Hash] Additional options.

@option opts [Boolean] :async Indicates if the fencing should be performed asynchronously.

@option opts [String] :fence_type

@option opts [Boolean] :maintenance_after_restart Indicates if host should be put into maintenance after restart.

@option opts [PowerManagement] :power_management

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

# File lib/ovirtsdk4/services.rb, line 39125
def fence(opts = {})
  internal_action(:fence, :power_management, FENCE, opts)
end
fence_agents_service() click to toggle source

A reference to the fence agents service. Use this service to manage fence and power management agents on the host object.

@return [FenceAgentsService] A reference to `fence_agents` service.

# File lib/ovirtsdk4/services.rb, line 40200
def fence_agents_service
  @fence_agents_service ||= FenceAgentsService.new(self, 'fenceagents')
end
force_select_spm(opts = {}) click to toggle source

To manually set a host as the storage pool manager (SPM).

source

POST /ovirt-engine/api/hosts/123/forceselectspm


With a request body like this:

source,xml

<action/>


@param opts [Hash] Additional options.

@option opts [Boolean] :async Indicates if the action should be performed asynchronously.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

# File lib/ovirtsdk4/services.rb, line 39163
def force_select_spm(opts = {})
  internal_action(:forceselectspm, nil, FORCE_SELECT_SPM, opts)
end
get(opts = {}) click to toggle source

Gets the host details.

source

GET /ovirt-engine/api/hosts/123


@param opts [Hash] Additional options.

@option opts [Boolean] :all_content Indicates if all of the attributes of the host should be included in the response.

By default the following attributes are excluded:

- `hosted_engine`

For example, to retrieve the complete representation of host '123':

....
GET /ovirt-engine/api/hosts/123?all_content=true
....

NOTE: These attributes are not included by default because retrieving them impacts performance. They are
seldom used and require additional queries to the database. Use this parameter with caution and only when
specifically required.

@option opts [Boolean] :filter Indicates if the results should be filtered according to the permissions of the user.

@option opts [String] :follow Indicates which inner links should be followed. The objects referenced by these links will be fetched as part

of the current request. See <<documents/003_common_concepts/follow, here>> for details.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

@return [Host]

# File lib/ovirtsdk4/services.rb, line 39217
def get(opts = {})
  internal_get(GET, opts)
end
hooks_service() click to toggle source

A reference to the host hooks service. Use this service to view the hooks available in the host object.

@return [HostHooksService] A reference to `hooks` service.

# File lib/ovirtsdk4/services.rb, line 40209
def hooks_service
  @hooks_service ||= HostHooksService.new(self, 'hooks')
end
install(opts = {}) click to toggle source

Installs the latest version of VDSM and related software on the host.

The action also performs every configuration steps on the host which is done during adding host to the engine: kdump configuration, hosted-engine deploy, kernel options changes, etc.

The host type defines additional parameters for the action.

Example of installing a host, using `curl` and JSON, plain:

source,bash

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"

} ' \ “engine.example.com/ovirt-engine/api/hosts/123


Example of installing a host using `curl` and JSON with hosted engine components:

source,bash

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"

“deploy_hosted_engine” : “true” } ' \ “engine.example.com/ovirt-engine/api/hosts/123


IMPORTANT: Since version 4.1.2 of the engine, when a host is reinstalled we override the host firewall definitions by default.

@param opts [Hash] Additional options.

@option opts [Boolean] :activate When set to 'true', this host will be activated after its installation completes. When set to 'false'

the host will remain in 'maintenance' status after its installation. Absence of this parameter will be
interpreted as 'true', since the desired default behavior is activating the host after install.

@option opts [Boolean] :async Indicates if the installation should be performed asynchronously.

@option opts [Boolean] :deploy_hosted_engine When set to `true` this host will also deploy the self-hosted engine components. A missing value

is treated as `true` i.e deploy. Omitting this parameter means `false` and will not perform any operation in the
self-hosted engine area.

@option opts [Host] :host The `override_iptables` property is used to indicate if the firewall configuration should be replaced by the

default one.

@option opts [String] :image When installing {hypervisor-name}, an ISO image file is required.

@option opts [Boolean] :reboot Indicates if the host should be rebooted after successful installation. The default value is `true`.

@option opts [String] :root_password The password of the `root` user used to connect to the host via SSH.

@option opts [Ssh] :ssh The SSH details used to connect to the host.

@option opts [Boolean] :undeploy_hosted_engine When set to `true` this host will un-deploy the self-hosted engine components, and this host will

not function as part of the High Availability cluster. A missing value is treated as `true` i.e un-deploy.
Omitting this parameter means `false` and will not perform any operation in the self-hosted engine area.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

# File lib/ovirtsdk4/services.rb, line 39324
def install(opts = {})
  internal_action(:install, nil, INSTALL, opts)
end
install_using_root_password(opts = {}) click to toggle source

Install VDSM and other packages required to get the host ready to be used in the engine providing the root password. This has been deprecated.

@param opts [Hash] Additional options.

@option opts [Boolean] :activate When set to 'true', this host will be activated after its installation completes. When set to 'false'

the host will remain in 'maintenance' status after its installation. Absence of this parameter will be
interpreted as 'true', since the desired default behavior is activating the host after install.

@option opts [Boolean] :async Indicates if the installation should be performed asynchronously.

@option opts [Boolean] :deploy_hosted_engine When set to `true` this host will also deploy the self-hosted engine components. A missing value

is treated as `true` i.e deploy. Omitting this parameter means `false` and will not perform any operation in the
self-hosted engine area.

@option opts [Host] :host The `override_iptables` property is used to indicate if the firewall configuration should be replaced by the

default one.

@option opts [String] :image When installing {hypervisor-name}, an ISO image file is required.

@option opts [Boolean] :reboot Indicates if the host should be rebooted after successful installation. The default value is `true`.

@option opts [String] :root_password The password of the `root` user used to connect to the host via SSH.

@option opts [Ssh] :ssh The SSH details used to connect to the host.

@option opts [Boolean] :undeploy_hosted_engine When set to `true` this host will un-deploy the self-hosted engine components, and this host will

not function as part of the High Availability cluster. A missing value is treated as `true` i.e un-deploy.
Omitting this parameter means `false` and will not perform any operation in the self-hosted engine area.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

# File lib/ovirtsdk4/services.rb, line 39995
def install_using_root_password(opts = {})
  internal_action(:install, nil, INSTALL_USING_ROOT_PASSWORD, opts)
end
install_using_ssh(opts = {}) click to toggle source

Install VDSM and other packages required to get the host ready to be used in the engine providing the SSH password.

@param opts [Hash] Additional options.

@option opts [Boolean] :activate When set to 'true', this host will be activated after its installation completes. When set to 'false'

the host will remain in 'maintenance' status after its installation. Absence of this parameter will be
interpreted as 'true', since the desired default behavior is activating the host after install.

@option opts [Boolean] :async Indicates if the installation should be performed asynchronously.

@option opts [Boolean] :deploy_hosted_engine When set to `true` this host will also deploy the self-hosted engine components. A missing value

is treated as `true` i.e deploy. Omitting this parameter means `false` and will not perform any operation in the
self-hosted engine area.

@option opts [Host] :host The `override_iptables` property is used to indicate if the firewall configuration should be replaced by the

default one.

@option opts [String] :image When installing {hypervisor-name}, an ISO image file is required.

@option opts [Boolean] :reboot Indicates if the host should be rebooted after successful installation. The default value is `true`.

@option opts [String] :root_password The password of the `root` user used to connect to the host via SSH.

@option opts [Ssh] :ssh The SSH details used to connect to the host.

@option opts [Boolean] :undeploy_hosted_engine When set to `true` this host will un-deploy the self-hosted engine components, and this host will

not function as part of the High Availability cluster. A missing value is treated as `true` i.e un-deploy.
Omitting this parameter means `false` and will not perform any operation in the self-hosted engine area.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

# File lib/ovirtsdk4/services.rb, line 40123
def install_using_ssh(opts = {})
  internal_action(:install, nil, INSTALL_USING_SSH, opts)
end
iscsi_discover(opts = {}) click to toggle source

This method has been deprecated since Engine version 4.4.6. DiscoverIscsi should be used instead.

Discovers iSCSI targets on the host, using the initiator details. Returns an array of strings containing the discovered data.

For example, to discover iSCSI targets available in `myiscsi.example.com`, from host `123`, send a request like this:

source

POST /ovirt-engine/api/hosts/123/iscsidiscover


With a request body like this:

source,xml

<action>

<iscsi>
  <address>myiscsi.example.com</address>
</iscsi>

</action>


@param opts [Hash] Additional options.

@option opts [Boolean] :async Indicates if the discovery should be performed asynchronously.

@option opts [IscsiDetails] :iscsi The target iSCSI device.

@option opts [Array<String>] :iscsi_targets The iSCSI targets.

*

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

# File lib/ovirtsdk4/services.rb, line 39379
def iscsi_discover(opts = {})
  internal_action(:iscsidiscover, :iscsi_targets, ISCSI_DISCOVER, opts)
end
iscsi_login(opts = {}) click to toggle source

Login to iSCSI targets on the host, using the target details.

IMPORTANT: When using this method to log in, you must use the iscsi details from the discovered targets results in the discoveriscsi method.

@param opts [Hash] Additional options.

@option opts [Boolean] :async Indicates if the login should be performed asynchronously.

@option opts [IscsiDetails] :iscsi The target iSCSI device.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

# File lib/ovirtsdk4/services.rb, line 39412
def iscsi_login(opts = {})
  internal_action(:iscsilogin, nil, ISCSI_LOGIN, opts)
end
katello_errata_service() click to toggle source

A reference to the service that can show the applicable errata available on the host. This information is taken from Katello.

@return [KatelloErrataService] A reference to `katello_errata` service.

# File lib/ovirtsdk4/services.rb, line 40219
def katello_errata_service
  @katello_errata_service ||= KatelloErrataService.new(self, 'katelloerrata')
end
network_attachments_service() click to toggle source

A reference to the network attachments service. You can use this service to attach Logical networks to host interfaces.

@return [NetworkAttachmentsService] A reference to `network_attachments` service.

# File lib/ovirtsdk4/services.rb, line 40229
def network_attachments_service
  @network_attachments_service ||= NetworkAttachmentsService.new(self, 'networkattachments')
end
nics_service() click to toggle source

A reference to the service that manages the network interface devices on the host.

@return [HostNicsService] A reference to `nics` service.

# File lib/ovirtsdk4/services.rb, line 40238
def nics_service
  @nics_service ||= HostNicsService.new(self, 'nics')
end
numa_nodes_service() click to toggle source

A reference to the service that manage NUMA nodes for the host.

@return [HostNumaNodesService] A reference to `numa_nodes` service.

# File lib/ovirtsdk4/services.rb, line 40247
def numa_nodes_service
  @numa_nodes_service ||= HostNumaNodesService.new(self, 'numanodes')
end
permissions_service() click to toggle source

A reference to the host permission service. Use this service to manage permissions on the host object.

@return [AssignedPermissionsService] A reference to `permissions` service.

# File lib/ovirtsdk4/services.rb, line 40257
def permissions_service
  @permissions_service ||= AssignedPermissionsService.new(self, 'permissions')
end
refresh(opts = {}) click to toggle source

Refresh the host devices and capabilities.

@param opts [Hash] Additional options.

@option opts [Boolean] :async Indicates if the refresh should be performed asynchronously.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

# File lib/ovirtsdk4/services.rb, line 39438
def refresh(opts = {})
  internal_action(:refresh, nil, REFRESH, opts)
end
remove(opts = {}) click to toggle source

Remove the host from the system.

source

#!/bin/sh -ex

url=“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”


@param opts [Hash] Additional options.

@option opts [Boolean] :async Indicates if the remove should be performed asynchronously. @option opts [Boolean] :force Indicates that the host should be removed even if it is non-responsive,

or if it is part of a Gluster Storage cluster and has volume bricks on it.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

# File lib/ovirtsdk4/services.rb, line 39483
def remove(opts = {})
  internal_remove(REMOVE, opts)
end
service(path) click to toggle source

Locates the service corresponding to the given path.

@param path [String] The path of the service.

@return [Service] A reference to the service.

# File lib/ovirtsdk4/services.rb, line 40313
def service(path)
  if path.nil? || path == ''
    return self
  end
  if path == 'affinitylabels'
    return affinity_labels_service
  end
  if path.start_with?('affinitylabels/')
    return affinity_labels_service.service(path[15..-1])
  end
  if path == 'cpuunits'
    return cpu_units_service
  end
  if path.start_with?('cpuunits/')
    return cpu_units_service.service(path[9..-1])
  end
  if path == 'devices'
    return devices_service
  end
  if path.start_with?('devices/')
    return devices_service.service(path[8..-1])
  end
  if path == 'externalnetworkproviderconfigurations'
    return external_network_provider_configurations_service
  end
  if path.start_with?('externalnetworkproviderconfigurations/')
    return external_network_provider_configurations_service.service(path[38..-1])
  end
  if path == 'fenceagents'
    return fence_agents_service
  end
  if path.start_with?('fenceagents/')
    return fence_agents_service.service(path[12..-1])
  end
  if path == 'hooks'
    return hooks_service
  end
  if path.start_with?('hooks/')
    return hooks_service.service(path[6..-1])
  end
  if path == 'katelloerrata'
    return katello_errata_service
  end
  if path.start_with?('katelloerrata/')
    return katello_errata_service.service(path[14..-1])
  end
  if path == 'networkattachments'
    return network_attachments_service
  end
  if path.start_with?('networkattachments/')
    return network_attachments_service.service(path[19..-1])
  end
  if path == 'nics'
    return nics_service
  end
  if path.start_with?('nics/')
    return nics_service.service(path[5..-1])
  end
  if path == 'numanodes'
    return numa_nodes_service
  end
  if path.start_with?('numanodes/')
    return numa_nodes_service.service(path[10..-1])
  end
  if path == 'permissions'
    return permissions_service
  end
  if path.start_with?('permissions/')
    return permissions_service.service(path[12..-1])
  end
  if path == 'statistics'
    return statistics_service
  end
  if path.start_with?('statistics/')
    return statistics_service.service(path[11..-1])
  end
  if path == 'storage'
    return storage_service
  end
  if path.start_with?('storage/')
    return storage_service.service(path[8..-1])
  end
  if path == 'storageconnectionextensions'
    return storage_connection_extensions_service
  end
  if path.start_with?('storageconnectionextensions/')
    return storage_connection_extensions_service.service(path[28..-1])
  end
  if path == 'tags'
    return tags_service
  end
  if path.start_with?('tags/')
    return tags_service.service(path[5..-1])
  end
  if path == 'unmanagednetworks'
    return unmanaged_networks_service
  end
  if path.start_with?('unmanagednetworks/')
    return unmanaged_networks_service.service(path[18..-1])
  end
  raise Error.new("The path \"#{path}\" doesn't correspond to any service")
end
setup_networks(opts = {}) click to toggle source

This method is used to change the configuration of the network interfaces of a host.

For example, if you have a host with three network interfaces `eth0`, `eth1` and `eth2` and 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:

source

#!/bin/sh -ex

url=“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>
       <ip_address_assignment>
         <assignment_method>static</assignment_method>
         <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: 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:

source,xml

<options name=“mode” value=“4”/> <options name=“miimon” value=“100”/> <ip address=“192.168.122.10” netmask=“255.255.255.0”/>


The same thing can be done using the Python SDK with the following code:

source,python

# 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’)

# 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 xref:services-host-methods-commit_net_config.

IMPORTANT: Since {engine-name} 4.3, it is possible to also specify `commit_on_success` in the xref:services-host-methods-setup_networks request, in which case the new configuration is automatically saved in the {hypervisor-name} upon completing the setup and re-establishing connectivity between the {hypervisor-name} and {engine-name}, and without waiting for a separate xref:services-host-methods-commit_net_config request.

@param opts [Hash] Additional options.

@option opts [Boolean] :async Indicates if the action should be performed asynchronously.

@option opts [Boolean] :check_connectivity

@option opts [Boolean] :commit_on_success Specifies whether to automatically save the configuration in the {hypervisor-name} upon completing

the setup and re-establishing connectivity between the {hypervisor-name} and {engine-name},
and without waiting for a separate xref:services-host-methods-commit_net_config[commitnetconfig]
request.
The default value is `false`, which means that the configuration will not be
saved automatically.

@option opts [Integer] :connectivity_timeout

@option opts [Array<HostNic>] :modified_bonds

@option opts [Array<NetworkLabel>] :modified_labels

@option opts [Array<NetworkAttachment>] :modified_network_attachments

@option opts [Array<HostNic>] :removed_bonds

@option opts [Array<NetworkLabel>] :removed_labels

@option opts [Array<NetworkAttachment>] :removed_network_attachments

@option opts [Array<NetworkAttachment>] :synchronized_network_attachments A list of network attachments that will be synchronized.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

# File lib/ovirtsdk4/services.rb, line 39713
def setup_networks(opts = {})
  internal_action(:setupnetworks, nil, SETUP_NETWORKS, opts)
end
statistics_service() click to toggle source

Locates the `statistics` service.

@return [StatisticsService] A reference to `statistics` service.

# File lib/ovirtsdk4/services.rb, line 40266
def statistics_service
  @statistics_service ||= StatisticsService.new(self, 'statistics')
end
storage_connection_extensions_service() click to toggle source

A reference to storage connection extensions.

@return [StorageServerConnectionExtensionsService] A reference to `storage_connection_extensions` service.

# File lib/ovirtsdk4/services.rb, line 40284
def storage_connection_extensions_service
  @storage_connection_extensions_service ||= StorageServerConnectionExtensionsService.new(self, 'storageconnectionextensions')
end
storage_service() click to toggle source

A reference to the service that manages the host's storage.

@return [HostStorageService] A reference to `storage` service.

# File lib/ovirtsdk4/services.rb, line 40275
def storage_service
  @storage_service ||= HostStorageService.new(self, 'storage')
end
sync_all_networks(opts = {}) click to toggle source

To synchronize all networks on the host, send a request like this:

source

POST /ovirt-engine/api/hosts/123/syncallnetworks


With a request body like this:

source,xml

<action/>


@param opts [Hash] Additional options.

@option opts [Boolean] :async Indicates if the action should be performed asynchronously.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

# File lib/ovirtsdk4/services.rb, line 39751
def sync_all_networks(opts = {})
  internal_action(:syncallnetworks, nil, SYNC_ALL_NETWORKS, opts)
end
tags_service() click to toggle source

A reference to the host tags service. Use this service to manage tags on the host object.

@return [AssignedTagsService] A reference to `tags` service.

# File lib/ovirtsdk4/services.rb, line 40293
def tags_service
  @tags_service ||= AssignedTagsService.new(self, 'tags')
end
unmanaged_networks_service() click to toggle source

A reference to unmanaged networks.

@return [UnmanagedNetworksService] A reference to `unmanaged_networks` service.

# File lib/ovirtsdk4/services.rb, line 40302
def unmanaged_networks_service
  @unmanaged_networks_service ||= UnmanagedNetworksService.new(self, 'unmanagednetworks')
end
unregistered_storage_domains_discover(opts = {}) click to toggle source

Discovers the block Storage Domains which are candidates to be imported to the setup. For FCP no arguments are required.

@param opts [Hash] Additional options.

@option opts [Boolean] :async Indicates if the discovery should be performed asynchronously.

@option opts [IscsiDetails] :iscsi

@option opts [Array<StorageDomain>] :storage_domains

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

# File lib/ovirtsdk4/services.rb, line 39783
def unregistered_storage_domains_discover(opts = {})
  internal_action(:unregisteredstoragedomainsdiscover, :storage_domains, UNREGISTERED_STORAGE_DOMAINS_DISCOVER, opts)
end
update(host, opts = {}) click to toggle source

Update the host properties.

For example, to update a the kernel command line of a host send a request like this:

source

PUT /ovirt-engine/api/hosts/123


With request body like this:

source, xml

<host>

<os>
  <custom_kernel_cmdline>vfio_iommu_type1.allow_unsafe_interrupts=1</custom_kernel_cmdline>
</os>

</host>


@param host [Host] The `host` to update. @param opts [Hash] Additional options.

@option opts [Boolean] :async Indicates if the update should be performed asynchronously.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

@return [Host]

# File lib/ovirtsdk4/services.rb, line 39830
def update(host, opts = {})
  internal_update(host, Host, UPDATE, opts)
end
update_using_root_password(host, opts = {}) click to toggle source

Update the specified host in the system. This is deprecated and is provided only for backwards compatibility.

@param host [Host] The `host` to update. @param opts [Hash] Additional options.

@option opts [Boolean] :async Indicates if the update should be performed asynchronously.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

@return [Host]

# File lib/ovirtsdk4/services.rb, line 40024
def update_using_root_password(host, opts = {})
  internal_update(host, Host, UPDATE_USING_ROOT_PASSWORD, opts)
end
update_using_ssh(host, opts = {}) click to toggle source

Updates the specified host in the system.

@param host [Host] The `host` to update. @param opts [Hash] Additional options.

@option opts [Boolean] :async Indicates if the update should be performed asynchronously.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

@return [Host]

# File lib/ovirtsdk4/services.rb, line 40152
def update_using_ssh(host, opts = {})
  internal_update(host, Host, UPDATE_USING_SSH, opts)
end
upgrade(opts = {}) click to toggle source

Upgrades VDSM and selected software on the host.

@param opts [Hash] Additional options.

@option opts [Boolean] :async Indicates if the upgrade should be performed asynchronously.

@option opts [String] :image This property is no longer relevant, since Vintage Node is no longer supported, and has been deprecated.

@option opts [Boolean] :reboot Indicates if the host should be rebooted after the upgrade.

By default the host is rebooted.

NOTE: This parameter is ignored for {hypervisor-name}, which is always rebooted after the upgrade.

@option opts [Integer] :timeout Upgrade timeout.

The maximum time to wait for upgrade to finish in minutes.
Default value is specified by `ANSIBLE_PLAYBOOK_EXEC_DEFAULT_TIMEOUT` configration option.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

# File lib/ovirtsdk4/services.rb, line 39871
def upgrade(opts = {})
  internal_action(:upgrade, nil, UPGRADE, opts)
end
upgrade_check(opts = {}) click to toggle source

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 Administration Portal. Audit log messages are also added to indicate the availability of upgrades. The upgrade can be started from the webadmin or by using the xref:services-host-methods-upgrade host action.

@param opts [Hash] Additional options.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

# File lib/ovirtsdk4/services.rb, line 39897
def upgrade_check(opts = {})
  internal_action(:upgradecheck, nil, UPGRADE_CHECK, opts)
end