Class: OvirtSDK4::HostsService

Inherits:
Service
  • Object
show all
Defined in:
lib/ovirtsdk4/services.rb,
lib/ovirtsdk4/services.rb

Instance Method Summary collapse

Methods inherited from Service

#inspect, #to_s

Instance Method Details

#add(host, opts = {}) ⇒ Host

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:

POST /ovirt-engine/api/hosts

With the following request body:

<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:

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:

POST /ovirt-engine/api/hosts

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

<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>

Parameters:

  • host (Host)

    The host definition with which the new host is created is passed as a parameter, and the newly created host is returned.

  • opts (Hash) (defaults to: {})

    Additional options.

Options Hash (opts):

  • :activate (Boolean)

    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.

  • :deploy_hosted_engine (Boolean)

    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.

  • :reboot (Boolean)

    Indicates if the host should be rebooted after successful installation. The default value is true.

  • :undeploy_hosted_engine (Boolean)

    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.

  • :headers (Hash) — default: {}

    Additional HTTP headers.

  • :query (Hash) — default: {}

    Additional URL query parameters.

  • :timeout (Integer) — default: 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.

  • :wait (Boolean) — default: true

    If true wait for the response.

Returns:



12771
12772
12773
# File 'lib/ovirtsdk4/services.rb', line 12771

def add(host, opts = {})
  internal_add(host, Host, ADD, opts)
end

#add_using_root_password(host, opts = {}) ⇒ Host

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

Parameters:

  • host (Host)

    The host definition with which the new host is created is passed as a parameter, and the newly created host is returned.

  • opts (Hash) (defaults to: {})

    Additional options.

Options Hash (opts):

  • :activate (Boolean)

    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.

  • :deploy_hosted_engine (Boolean)

    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.

  • :reboot (Boolean)

    Indicates if the host should be rebooted after successful installation. The default value is true.

  • :undeploy_hosted_engine (Boolean)

    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.

  • :headers (Hash) — default: {}

    Additional HTTP headers.

  • :query (Hash) — default: {}

    Additional URL query parameters.

  • :timeout (Integer) — default: 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.

  • :wait (Boolean) — default: true

    If true wait for the response.

Returns:



12927
12928
12929
# 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 = {}) ⇒ Host

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

Parameters:

  • host (Host)

    The host definition with which the new host is created is passed as a parameter, and the newly created host is returned.

  • opts (Hash) (defaults to: {})

    Additional options.

Options Hash (opts):

  • :activate (Boolean)

    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.

  • :deploy_hosted_engine (Boolean)

    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.

  • :reboot (Boolean)

    Indicates if the host should be rebooted after successful installation. The default value is true.

  • :undeploy_hosted_engine (Boolean)

    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.

  • :headers (Hash) — default: {}

    Additional HTTP headers.

  • :query (Hash) — default: {}

    Additional URL query parameters.

  • :timeout (Integer) — default: 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.

  • :wait (Boolean) — default: true

    If true wait for the response.

Returns:



12973
12974
12975
# 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) ⇒ HostService

A Reference to service managing a specific host.

Parameters:

  • id (String)

    The identifier of the host.

Returns:



12984
12985
12986
# File 'lib/ovirtsdk4/services.rb', line 12984

def host_service(id)
  HostService.new(self, id)
end

#list(opts = {}) ⇒ Array<Host>

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:

<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.

Parameters:

  • opts (Hash) (defaults to: {})

    Additional options.

Options Hash (opts):

  • :all_content (Boolean)

    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.
  • :case_sensitive (Boolean)

    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.

  • :check_vms_in_affinity_closure (Boolean)

    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
  • :filter (Boolean)

    Indicates if the results should be filtered according to the permissions of the user.

  • :follow (String)

    Indicates which inner links should be followed. The objects referenced by these links will be fetched as part of the current request. See here for details.

  • :max (Integer)

    Sets the maximum number of hosts to return. If not specified all the hosts are returned.

  • :migration_target_of (String)

    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
  • :search (String)

    A query string used to restrict the returned hosts.

  • :headers (Hash) — default: {}

    Additional HTTP headers.

  • :query (Hash) — default: {}

    Additional URL query parameters.

  • :timeout (Integer) — default: 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.

  • :wait (Boolean) — default: true

    If true wait for the response.

Returns:



12881
12882
12883
# File 'lib/ovirtsdk4/services.rb', line 12881

def list(opts = {})
  internal_get(LIST, opts)
end

#service(path) ⇒ Service

Locates the service corresponding to the given path.

Parameters:

  • path (String)

    The path of the service.

Returns:

  • (Service)

    A reference to the service.



12995
12996
12997
12998
12999
13000
13001
13002
13003
13004
# 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