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 HTTP/1.1

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 HTTP/1.1

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 HTTP/1.1

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>

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.



12603
12604
12605
# File 'lib/ovirtsdk4/services.rb', line 12603

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.

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.



12758
12759
12760
# File 'lib/ovirtsdk4/services.rb', line 12758

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.

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.



12804
12805
12806
# File 'lib/ovirtsdk4/services.rb', line 12804

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.



12815
12816
12817
# File 'lib/ovirtsdk4/services.rb', line 12815

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 HTTP/1.1

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.

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 HTTP/1.1
    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 HTTP/1.1
  • :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 HTTP/1.1
  • :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.



12712
12713
12714
# File 'lib/ovirtsdk4/services.rb', line 12712

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

#service(path) ⇒ Service

Locates the service corresponding to the given path.



12826
12827
12828
12829
12830
12831
12832
12833
12834
12835
# File 'lib/ovirtsdk4/services.rb', line 12826

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