Class: OvirtSDK4::FenceAgentsService

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(agent, opts = {}) ⇒ Agent

Add a new fencing-agent to the host.

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

You should consult the /usr/sbin/fence_<agent_name> manual page for
the legal parameters to [name1=value1, name2=value2,...] in the options field.
If any parameter in options appears by name that means that it is mandatory.
For example in <options>slot=7[,name1=value1, name2=value2,...]</options>
slot is mandatory.

apc, bladecenter, wti fencing agent/s sample request:

  <agent>
    <type>apc</type>
    <order>1</order>
    <ip>192.168.1.101</ip>
    <user>user</user>
    <password>xxx</password>
    <port>9</port>
    <options>slot=7[,name1=value1, name2=value2,...]</options>
  </agent>

apc_snmp, hpblade, ilo, ilo2, ilo_ssh, redfish, rsa fencing agent/s sample request:

  <agent>
    <type>apc_snmp</type>
    <order>1</order>
    <ip>192.168.1.101</ip>
    <user>user</user>
    <password>xxx</password>
    <port>9</port>
    <options>[name1=value1, name2=value2,...]</options>
  </agent>

cisco_ucs, drac5, eps fencing agent/s sample request:

  <agent>
    <type>cisco_ucs</type>
    <order>1</order>
    <ip>192.168.1.101</ip>
    <user>user</user>
    <password>xxx</password>
    <options>slot=7[,name1=value1, name2=value2,...]</options>
  </agent>

drac7, ilo3, ilo4, ipmilan, rsb fencing agent/s sample request:

  <agent>
    <type>drac7</type>
    <order>1</order>
    <ip>192.168.1.101</ip>
    <user>user</user>
    <password>xxx</password>
    <options>[name1=value1, name2=value2,...]</options>
  </agent>

Parameters:

  • agent (Agent)

    The agent to add.

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

    Additional options.

Options Hash (opts):

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



10628
10629
10630
# File 'lib/ovirtsdk4/services.rb', line 10628

def add(agent, opts = {})
  internal_add(agent, Agent, ADD, opts)
end

#agent_service(id) ⇒ FenceAgentService

Reference to service that manages a specific fence agent for this host.

Parameters:

  • id (String)

    The identifier of the agent.

Returns:



10696
10697
10698
# File 'lib/ovirtsdk4/services.rb', line 10696

def agent_service(id)
  FenceAgentService.new(self, id)
end

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

Returns the list of fencing agents configured for the host.

GET /ovirt-engine/api/hosts/123/fenceagents

And here is sample response:

<agents>
  <agent id="0">
    <type>apc</type>
    <order>1</order>
    <ip>192.168.1.101</ip>
    <user>user</user>
    <password>xxx</password>
    <port>9</port>
    <options>name1=value1, name2=value2</options>
  </agent>
</agents>

The order of the returned list of fencing agents isn’t guaranteed.

Parameters:

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

    Additional options.

Options Hash (opts):

  • :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 agents to return. If not specified all the agents are returned.

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



10684
10685
10686
# File 'lib/ovirtsdk4/services.rb', line 10684

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.



10707
10708
10709
10710
10711
10712
10713
10714
10715
10716
# File 'lib/ovirtsdk4/services.rb', line 10707

def service(path)
  if path.nil? || path == ''
    return self
  end
  index = path.index('/')
  if index.nil?
    return agent_service(path)
  end
  return agent_service(path[0..(index - 1)]).service(path[(index + 1)..-1])
end