Class: OvirtSDK4::ClusterService

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

#affinity_groups_serviceAffinityGroupsService

A reference to the service that manages affinity groups.

Returns:


4905
4906
4907
# File 'lib/ovirtsdk4/services.rb', line 4905

def affinity_groups_service
  @affinity_groups_service ||= AffinityGroupsService.new(self, 'affinitygroups')
end

#cpu_profiles_serviceAssignedCpuProfilesService

A reference to the service that manages assigned CPU profiles for the cluster.

Returns:


4914
4915
4916
# File 'lib/ovirtsdk4/services.rb', line 4914

def cpu_profiles_service
  @cpu_profiles_service ||= AssignedCpuProfilesService.new(self, 'cpuprofiles')
end

#enabled_features_serviceClusterEnabledFeaturesService

A reference to the service that manages the collection of enabled features for the cluster.

Returns:


4923
4924
4925
# File 'lib/ovirtsdk4/services.rb', line 4923

def enabled_features_service
  @enabled_features_service ||= ClusterEnabledFeaturesService.new(self, 'enabledfeatures')
end

#external_network_providers_serviceClusterExternalProvidersService

A reference to the service that manages the collection of external network providers.

Returns:


4932
4933
4934
# File 'lib/ovirtsdk4/services.rb', line 4932

def external_network_providers_service
  @external_network_providers_service ||= ClusterExternalProvidersService.new(self, 'externalnetworkproviders')
end

#get(opts = {}) ⇒ Cluster

Gets information about the cluster.

An example of getting a cluster:

GET /ovirt-engine/api/clusters/123
<cluster href="/ovirt-engine/api/clusters/123" id="123">
  <actions>
    <link href="/ovirt-engine/api/clusters/123/resetemulatedmachine" rel="resetemulatedmachine"/>
  </actions>
  <name>Default</name>
  <description>The default server cluster</description>
  <link href="/ovirt-engine/api/clusters/123/networks" rel="networks"/>
  <link href="/ovirt-engine/api/clusters/123/permissions" rel="permissions"/>
  <link href="/ovirt-engine/api/clusters/123/glustervolumes" rel="glustervolumes"/>
  <link href="/ovirt-engine/api/clusters/123/glusterhooks" rel="glusterhooks"/>
  <link href="/ovirt-engine/api/clusters/123/affinitygroups" rel="affinitygroups"/>
  <link href="/ovirt-engine/api/clusters/123/cpuprofiles" rel="cpuprofiles"/>
  <ballooning_enabled>false</ballooning_enabled>
  <cpu>
    <architecture>x86_64</architecture>
    <type>Intel Nehalem Family</type>
  </cpu>
  <error_handling>
    <on_error>migrate</on_error>
  </error_handling>
  <fencing_policy>
    <enabled>true</enabled>
    <skip_if_connectivity_broken>
      <enabled>false</enabled>
      <threshold>50</threshold>
    </skip_if_connectivity_broken>
    <skip_if_sd_active>
      <enabled>false</enabled>
    </skip_if_sd_active>
  </fencing_policy>
  <gluster_service>false</gluster_service>
  <ha_reservation>false</ha_reservation>
  <ksm>
    <enabled>true</enabled>
    <merge_across_nodes>true</merge_across_nodes>
  </ksm>
  <memory_policy>
    <over_commit>
      <percent>100</percent>
    </over_commit>
    <transparent_hugepages>
      <enabled>true</enabled>
    </transparent_hugepages>
  </memory_policy>
  <migration>
    <auto_converge>inherit</auto_converge>
    <bandwidth>
      <assignment_method>auto</assignment_method>
    </bandwidth>
    <compressed>inherit</compressed>
  </migration>
  <required_rng_sources>
    <required_rng_source>random</required_rng_source>
  </required_rng_sources>
  <scheduling_policy href="/ovirt-engine/api/schedulingpolicies/456" id="456"/>
  <threads_as_cores>false</threads_as_cores>
  <trusted_service>false</trusted_service>
  <tunnel_migration>false</tunnel_migration>
  <version>
    <major>4</major>
    <minor>0</minor>
  </version>
  <virt_service>true</virt_service>
  <data_center href="/ovirt-engine/api/datacenters/111" id="111"/>
</cluster>

Parameters:

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

    Additional options.

Options Hash (opts):

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

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


4676
4677
4678
# File 'lib/ovirtsdk4/services.rb', line 4676

def get(opts = {})
  internal_get(GET, opts)
end

#gluster_hooks_serviceGlusterHooksService

A reference to the service that manages the Gluster hooks for the cluster.

Returns:


4941
4942
4943
# File 'lib/ovirtsdk4/services.rb', line 4941

def gluster_hooks_service
  @gluster_hooks_service ||= GlusterHooksService.new(self, 'glusterhooks')
end

#gluster_volumes_serviceGlusterVolumesService

A reference to the service that manages Gluster volumes for the cluster.

Returns:


4950
4951
4952
# File 'lib/ovirtsdk4/services.rb', line 4950

def gluster_volumes_service
  @gluster_volumes_service ||= GlusterVolumesService.new(self, 'glustervolumes')
end

#network_filters_serviceNetworkFiltersService

A sub-collection with all the supported network filters for the cluster.

Returns:


4959
4960
4961
# File 'lib/ovirtsdk4/services.rb', line 4959

def network_filters_service
  @network_filters_service ||= NetworkFiltersService.new(self, 'networkfilters')
end

#networks_serviceClusterNetworksService

A reference to the service that manages assigned networks for the cluster.

Returns:


4968
4969
4970
# File 'lib/ovirtsdk4/services.rb', line 4968

def networks_service
  @networks_service ||= ClusterNetworksService.new(self, 'networks')
end

#permissions_serviceAssignedPermissionsService

A reference to permissions.

Returns:


4977
4978
4979
# File 'lib/ovirtsdk4/services.rb', line 4977

def permissions_service
  @permissions_service ||= AssignedPermissionsService.new(self, 'permissions')
end

#refresh_gluster_heal_status(opts = {}) ⇒ Object

Refresh the Gluster heal info for all volumes in cluster.

For example, Cluster 123, send a request like this:

POST /ovirt-engine/api/clusters/123/refreshglusterhealstatus

Parameters:

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


4707
4708
4709
# File 'lib/ovirtsdk4/services.rb', line 4707

def refresh_gluster_heal_status(opts = {})
  internal_action(:refreshglusterhealstatus, nil, REFRESH_GLUSTER_HEAL_STATUS, opts)
end

#remove(opts = {}) ⇒ Object

Removes the cluster from the system.

DELETE /ovirt-engine/api/clusters/00000000-0000-0000-0000-000000000000

Parameters:

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

    Additional options.

Options Hash (opts):

  • :async (Boolean)

    Indicates if the remove should be performed asynchronously.

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


4737
4738
4739
# File 'lib/ovirtsdk4/services.rb', line 4737

def remove(opts = {})
  internal_remove(REMOVE, opts)
end

#reset_emulated_machine(opts = {}) ⇒ Object

Executes the reset_emulated_machine method.

Parameters:

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

    Additional options.

Options Hash (opts):

  • :async (Boolean)

    Indicates if the reset should be performed asynchronously.

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


4763
4764
4765
# File 'lib/ovirtsdk4/services.rb', line 4763

def reset_emulated_machine(opts = {})
  internal_action(:resetemulatedmachine, nil, RESET_EMULATED_MACHINE, 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.

Raises:


4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
# File 'lib/ovirtsdk4/services.rb', line 4988

def service(path)
  if path.nil? || path == ''
    return self
  end
  if path == 'affinitygroups'
    return affinity_groups_service
  end
  if path.start_with?('affinitygroups/')
    return affinity_groups_service.service(path[15..-1])
  end
  if path == 'cpuprofiles'
    return cpu_profiles_service
  end
  if path.start_with?('cpuprofiles/')
    return cpu_profiles_service.service(path[12..-1])
  end
  if path == 'enabledfeatures'
    return enabled_features_service
  end
  if path.start_with?('enabledfeatures/')
    return enabled_features_service.service(path[16..-1])
  end
  if path == 'externalnetworkproviders'
    return external_network_providers_service
  end
  if path.start_with?('externalnetworkproviders/')
    return external_network_providers_service.service(path[25..-1])
  end
  if path == 'glusterhooks'
    return gluster_hooks_service
  end
  if path.start_with?('glusterhooks/')
    return gluster_hooks_service.service(path[13..-1])
  end
  if path == 'glustervolumes'
    return gluster_volumes_service
  end
  if path.start_with?('glustervolumes/')
    return gluster_volumes_service.service(path[15..-1])
  end
  if path == 'networkfilters'
    return network_filters_service
  end
  if path.start_with?('networkfilters/')
    return network_filters_service.service(path[15..-1])
  end
  if path == 'networks'
    return networks_service
  end
  if path.start_with?('networks/')
    return networks_service.service(path[9..-1])
  end
  if path == 'permissions'
    return permissions_service
  end
  if path.start_with?('permissions/')
    return permissions_service.service(path[12..-1])
  end
  raise Error.new("The path \"#{path}\" doesn't correspond to any service")
end

#sync_all_networks(opts = {}) ⇒ Object

Synchronizes all networks on the cluster.

POST /ovirt-engine/api/clusters/123/syncallnetworks

With a request body like this:

<action/>

Parameters:

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

    Additional options.

Options Hash (opts):

  • :async (Boolean)

    Indicates if the action should be performed asynchronously.

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


4801
4802
4803
# File 'lib/ovirtsdk4/services.rb', line 4801

def sync_all_networks(opts = {})
  internal_action(:syncallnetworks, nil, SYNC_ALL_NETWORKS, opts)
end

#update(cluster, opts = {}) ⇒ Cluster

Updates information about the cluster.

Only the specified fields are updated; others remain unchanged.

For example, to update the cluster’s CPU:

PUT /ovirt-engine/api/clusters/123

With a request body like this:

<cluster>
  <cpu>
    <type>Intel Haswell-noTSX Family</type>
  </cpu>
</cluster>

Parameters:

  • cluster (Cluster)

    The cluster to update.

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

    Additional options.

Options Hash (opts):

  • :async (Boolean)

    Indicates if the update should be performed asynchronously.

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


4850
4851
4852
# File 'lib/ovirtsdk4/services.rb', line 4850

def update(cluster, opts = {})
  internal_update(cluster, Cluster, UPDATE, opts)
end

#upgrade(opts = {}) ⇒ Object

Start or finish upgrade process for the cluster based on the action value. This action marks the cluster for upgrade or clears the upgrade running flag on the cluster based on the action value which takes values of start or stop.

POST /ovirt-engine/api/clusters/123/upgrade

With a request body like this to mark the cluster for upgrade:

<action>
    <upgrade_action>
        start
    </upgrade_action>
</action>

Parameters:

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

    Additional options.

Options Hash (opts):

  • :async (Boolean)

    Indicates if the action should be performed asynchronously.

  • :upgrade_action (ClusterUpgradeAction)

    The action to be performed.

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


4896
4897
4898
# File 'lib/ovirtsdk4/services.rb', line 4896

def upgrade(opts = {})
  internal_action(:upgrade, nil, UPGRADE, opts)
end