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 we override the host firewall definitions 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 which 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 that differs to what is defined in the clusters, overwrite the external network provider when adding hosts by sending a request like this:

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 from which to create the new host is passed as parameter, and the newly created host is returned.

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

    Additional options.

Options Hash (opts):

  • :deploy_hosted_engine (Boolean)

    When set to true it means this host should deploy also hosted engine components. Missing value is treated as true i.e deploy. Omitting this parameter means false and will perform no operation in hosted engine area.

  • :undeploy_hosted_engine (Boolean)

    When set to true it means this host should un-deploy hosted engine components and this host will not function as part of the High Availability cluster. Missing value is treated as true i.e un-deploy. Omitting this parameter means false and will perform no operation in 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:



11540
11541
11542
# File 'lib/ovirtsdk4/services.rb', line 11540

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 from which to create the new host is passed as parameter, and the newly created host is returned.

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

    Additional options.

Options Hash (opts):

  • :deploy_hosted_engine (Boolean)

    When set to true it means this host should deploy also hosted engine components. Missing value is treated as true i.e deploy. Omitting this parameter means false and will perform no operation in hosted engine area.

  • :undeploy_hosted_engine (Boolean)

    When set to true it means this host should un-deploy hosted engine components and this host will not function as part of the High Availability cluster. Missing value is treated as true i.e un-deploy. Omitting this parameter means false and will perform no operation in 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:



11662
11663
11664
# File 'lib/ovirtsdk4/services.rb', line 11662

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

Parameters:

  • host (Host)

    The host definition from which to create the new host is passed as parameter, and the newly created host is returned.

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

    Additional options.

Options Hash (opts):

  • :deploy_hosted_engine (Boolean)

    When set to true it means this host should deploy also hosted engine components. Missing value is treated as true i.e deploy. Omitting this parameter means false and will perform no operation in hosted engine area.

  • :undeploy_hosted_engine (Boolean)

    When set to true it means this host should un-deploy hosted engine components and this host will not function as part of the High Availability cluster. Missing value is treated as true i.e un-deploy. Omitting this parameter means false and will perform no operation in 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:



11700
11701
11702
# File 'lib/ovirtsdk4/services.rb', line 11700

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:



11711
11712
11713
# File 'lib/ovirtsdk4/services.rb', line 11711

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

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

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



11624
11625
11626
# File 'lib/ovirtsdk4/services.rb', line 11624

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.



11722
11723
11724
11725
11726
11727
11728
11729
11730
11731
# File 'lib/ovirtsdk4/services.rb', line 11722

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