class OvirtSDK4::HostsService

Constants

ADD
ADD_USING_ROOT_PASSWORD
ADD_USING_SSH
LIST

Public Instance Methods

add(host, opts = {}) click to toggle source

Creates a new host.

The host is created based on the attributes of the `host` parameter. The `name`, `address`, and `root_password` properties are required.

For example, to add a host, send the following request:

source

POST /ovirt-engine/api/hosts


With the following request body:

source,xml

<host>

<name>myhost</name>
<address>myhost.example.com</address>
<root_password>myrootpassword</root_password>

</host>


NOTE: The `root_password` element is only included in the client-provided initial representation and is not exposed in the representations returned from subsequent requests.

IMPORTANT: Since version 4.1.2 of the engine, when a host is newly added, the host's firewall definitions are overridden by default.

To add a hosted engine host, use the optional `deploy_hosted_engine` parameter:

source

POST /ovirt-engine/api/hosts?deploy_hosted_engine=true


If the cluster has a default external network provider that is supported for automatic deployment, the external network provider is deployed when adding the host. Only external network providers for OVN are supported for the automatic deployment. To deploy an external network provider other than the one defined in the clusters, overwrite the external network provider when adding hosts, by sending the following request:

source

POST /ovirt-engine/api/hosts


With a request body that contains a reference to the desired provider in the `external_network_provider_configuration`:

source,xml

<host>

<name>myhost</name>
<address>myhost.example.com</address>
<root_password>123456</root_password>
<external_network_provider_configurations>
  <external_network_provider_configuration>
    <external_network_provider name="ovirt-provider-ovn"/>
  </external_network_provider_configuration>
</external_network_provider_configurations>

</host>


@param host [Host] The host definition with which the new host is created is passed as a parameter, and the newly created host

is returned.

@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] :deploy_hosted_engine When set to `true`, this host deploys the hosted engine components. A missing value is treated

as `true`, i.e., deploy the hosted engine components. Omitting this parameter equals `false`, and
the host performs no operation in the hosted engine area.

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

@option opts [Boolean] :undeploy_hosted_engine When set to `true`, this host un-deploys the hosted engine components and does not

function as part of the High Availability cluster. A missing value is treated as `true`, i.e., un-deploy.
Omitting this parameter equals `false` and the host performs no operation in the 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.

@return [Host]

# File lib/ovirtsdk4/services.rb, line 12771
def add(host, opts = {})
  internal_add(host, Host, ADD, opts)
end
add_using_root_password(host, opts = {}) click to toggle source

Add a new host to the system providing the host root password. This has been deprecated and provided for backwards compatibility.

@param host [Host] The host definition with which the new host is created is passed as a parameter, and the newly created host

is returned.

@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] :deploy_hosted_engine When set to `true`, this host deploys the hosted engine components. A missing value is treated

as `true`, i.e., deploy the hosted engine components. Omitting this parameter equals `false`, and
the host performs no operation in the hosted engine area.

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

@option opts [Boolean] :undeploy_hosted_engine When set to `true`, this host un-deploys the hosted engine components and does not

function as part of the High Availability cluster. A missing value is treated as `true`, i.e., un-deploy.
Omitting this parameter equals `false` and the host performs no operation in the 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.

@return [Host]

# File lib/ovirtsdk4/services.rb, line 12927
def add_using_root_password(host, opts = {})
  internal_add(host, Host, ADD_USING_ROOT_PASSWORD, opts)
end
add_using_ssh(host, opts = {}) click to toggle source

Add a new host to the system providing the ssh password, fingerprint or public key.

@param host [Host] The host definition with which the new host is created is passed as a parameter, and the newly created host

is returned.

@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] :deploy_hosted_engine When set to `true`, this host deploys the hosted engine components. A missing value is treated

as `true`, i.e., deploy the hosted engine components. Omitting this parameter equals `false`, and
the host performs no operation in the hosted engine area.

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

@option opts [Boolean] :undeploy_hosted_engine When set to `true`, this host un-deploys the hosted engine components and does not

function as part of the High Availability cluster. A missing value is treated as `true`, i.e., un-deploy.
Omitting this parameter equals `false` and the host performs no operation in the 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.

@return [Host]

# File lib/ovirtsdk4/services.rb, line 12973
def add_using_ssh(host, opts = {})
  internal_add(host, Host, ADD_USING_SSH, opts)
end
host_service(id) click to toggle source

A Reference to service managing a specific host.

@param id [String] The identifier of the `host`.

@return [HostService] A reference to the `host` service.

# File lib/ovirtsdk4/services.rb, line 12984
def host_service(id)
  HostService.new(self, id)
end
list(opts = {}) click to toggle source

Get a list of all available hosts.

For example, to list the hosts send the following request:

.… GET /ovirt-engine/api/hosts .…

The response body will be similar to this:

source,xml

<hosts>

<host href="/ovirt-engine/api/hosts/123" id="123">
  ...
</host>
<host href="/ovirt-engine/api/hosts/456" id="456">
  ...
</host>
...

</host>


The order of the returned list of hosts is guaranteed only if the `sortby` clause is included in the `search` parameter.

@param opts [Hash] Additional options.

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

By default the following host attributes are excluded:

- `hosted_engine`

For example, to retrieve the complete representation of the hosts:

....
GET /ovirt-engine/api/hosts?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] :case_sensitive Indicates if the search performed using the `search` parameter should be performed taking case into

account. The default value is `true`, which means that case is taken into account. If you want to search
ignoring case set it to `false`.

@option opts [Boolean] :check_vms_in_affinity_closure This parameter can be used with `migration_target_of`

to get valid migration targets for the listed virtual machines
and all other virtual machines that are in positive enforcing
affinity with the listed virtual machines.

This is useful in case the virtual machines will be migrated
together with others in positive affinity groups.

The default value is `false`.

....
GET /ovirt-engine/api/hosts?migration_target_of=123,456&check_vms_in_affinity_closure=true
....

@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 [Integer] :max Sets the maximum number of hosts to return. If not specified all the hosts are returned.

@option opts [String] :migration_target_of Accepts a comma-separated list of virtual machine IDs and returns the hosts

that these virtual machines can be migrated to.

For example, to retrieve the list of hosts to which the virtual machine with ID 123 and
the virtual machine with ID 456 can be migrated to, send the following request:

....
GET /ovirt-engine/api/hosts?migration_target_of=123,456
....

@option opts [String] :search A query string used to restrict the returned hosts.

@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 [Array<Host>]

# File lib/ovirtsdk4/services.rb, line 12881
def list(opts = {})
  internal_get(LIST, 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 12995
def service(path)
  if path.nil? || path == ''
    return self
  end
  index = path.index('/')
  if index.nil?
    return host_service(path)
  end
  return host_service(path[0..(index - 1)]).service(path[(index + 1)..-1])
end