class OvirtSDK4::ClusterService

Constants

GET
REFRESH_GLUSTER_HEAL_STATUS
REMOVE
RESET_EMULATED_MACHINE
SYNC_ALL_NETWORKS
UPDATE
UPGRADE

Public Instance Methods

affinity_groups_service() click to toggle source

A reference to the service that manages affinity groups.

@return [AffinityGroupsService] A reference to `affinity_groups` service.

# File lib/ovirtsdk4/services.rb, line 4905
def affinity_groups_service
  @affinity_groups_service ||= AffinityGroupsService.new(self, 'affinitygroups')
end
cpu_profiles_service() click to toggle source

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

@return [AssignedCpuProfilesService] A reference to `cpu_profiles` service.

# File lib/ovirtsdk4/services.rb, line 4914
def cpu_profiles_service
  @cpu_profiles_service ||= AssignedCpuProfilesService.new(self, 'cpuprofiles')
end
enabled_features_service() click to toggle source

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

@return [ClusterEnabledFeaturesService] A reference to `enabled_features` service.

# File lib/ovirtsdk4/services.rb, line 4923
def enabled_features_service
  @enabled_features_service ||= ClusterEnabledFeaturesService.new(self, 'enabledfeatures')
end
external_network_providers_service() click to toggle source

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

@return [ClusterExternalProvidersService] A reference to `external_network_providers` service.

# File lib/ovirtsdk4/services.rb, line 4932
def external_network_providers_service
  @external_network_providers_service ||= ClusterExternalProvidersService.new(self, 'externalnetworkproviders')
end
get(opts = {}) click to toggle source

Gets information about the cluster.

An example of getting a cluster:

source

GET /ovirt-engine/api/clusters/123


source,xml

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


@param opts [Hash] Additional options.

@option opts [Boolean] :filter Indicates if the results should be filtered according to the permissions of the user.

@option opts [String] :follow Indicates which inner links should be followed. The objects referenced by these links will be fetched as part

of the current request. See <<documents/003_common_concepts/follow, here>> for details.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (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.

@option opts [Boolean] :wait (true) If `true` wait for the response.

@return [Cluster]

# File lib/ovirtsdk4/services.rb, line 4676
def get(opts = {})
  internal_get(GET, opts)
end
gluster_hooks_service() click to toggle source

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

@return [GlusterHooksService] A reference to `gluster_hooks` service.

# File lib/ovirtsdk4/services.rb, line 4941
def gluster_hooks_service
  @gluster_hooks_service ||= GlusterHooksService.new(self, 'glusterhooks')
end
gluster_volumes_service() click to toggle source

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

@return [GlusterVolumesService] A reference to `gluster_volumes` service.

# File lib/ovirtsdk4/services.rb, line 4950
def gluster_volumes_service
  @gluster_volumes_service ||= GlusterVolumesService.new(self, 'glustervolumes')
end
network_filters_service() click to toggle source

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

@return [NetworkFiltersService] A reference to `network_filters` service.

# File lib/ovirtsdk4/services.rb, line 4959
def network_filters_service
  @network_filters_service ||= NetworkFiltersService.new(self, 'networkfilters')
end
networks_service() click to toggle source

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

@return [ClusterNetworksService] A reference to `networks` service.

# File lib/ovirtsdk4/services.rb, line 4968
def networks_service
  @networks_service ||= ClusterNetworksService.new(self, 'networks')
end
permissions_service() click to toggle source

A reference to permissions.

@return [AssignedPermissionsService] A reference to `permissions` service.

# File lib/ovirtsdk4/services.rb, line 4977
def permissions_service
  @permissions_service ||= AssignedPermissionsService.new(self, 'permissions')
end
refresh_gluster_heal_status(opts = {}) click to toggle source

Refresh the Gluster heal info for all volumes in cluster.

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

source

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


@param opts [Hash] Additional options.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (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.

@option opts [Boolean] :wait (true) If `true` wait for the response.

# 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 = {}) click to toggle source

Removes the cluster from the system.

source

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


@param opts [Hash] Additional options.

@option opts [Boolean] :async Indicates if the remove should be performed asynchronously. @option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (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.

@option opts [Boolean] :wait (true) If `true` wait for the response.

# File lib/ovirtsdk4/services.rb, line 4737
def remove(opts = {})
  internal_remove(REMOVE, opts)
end
reset_emulated_machine(opts = {}) click to toggle source

Executes the `reset_emulated_machine` method.

@param opts [Hash] Additional options.

@option opts [Boolean] :async Indicates if the reset should be performed asynchronously.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (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.

@option opts [Boolean] :wait (true) If `true` wait for the response.

# File lib/ovirtsdk4/services.rb, line 4763
def reset_emulated_machine(opts = {})
  internal_action(:resetemulatedmachine, nil, RESET_EMULATED_MACHINE, opts)
end
service(path) click to toggle source

Locates the service corresponding to the given path.

@param path [String] The path of the service.

@return [Service] A reference to the service.

# 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 = {}) click to toggle source

Synchronizes all networks on the cluster.

source

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


With a request body like this:

source,xml

<action/>


@param opts [Hash] Additional options.

@option opts [Boolean] :async Indicates if the action should be performed asynchronously.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (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.

@option opts [Boolean] :wait (true) If `true` wait for the response.

# File lib/ovirtsdk4/services.rb, line 4801
def sync_all_networks(opts = {})
  internal_action(:syncallnetworks, nil, SYNC_ALL_NETWORKS, opts)
end
update(cluster, opts = {}) click to toggle source

Updates information about the cluster.

Only the specified fields are updated; others remain unchanged.

For example, to update the cluster's CPU:

source

PUT /ovirt-engine/api/clusters/123


With a request body like this:

source,xml

<cluster>

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

</cluster>


@param cluster [Cluster] The `cluster` to update. @param opts [Hash] Additional options.

@option opts [Boolean] :async Indicates if the update should be performed asynchronously.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (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.

@option opts [Boolean] :wait (true) If `true` wait for the response.

@return [Cluster]

# File lib/ovirtsdk4/services.rb, line 4850
def update(cluster, opts = {})
  internal_update(cluster, Cluster, UPDATE, opts)
end
upgrade(opts = {}) click to toggle source

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.

source

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


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

source,xml

<action>

<upgrade_action>
    start
</upgrade_action>

</action>


@param opts [Hash] Additional options.

@option opts [Boolean] :async Indicates if the action should be performed asynchronously.

@option opts [ClusterUpgradeAction] :upgrade_action The action to be performed.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (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.

@option opts [Boolean] :wait (true) If `true` wait for the response.

# File lib/ovirtsdk4/services.rb, line 4896
def upgrade(opts = {})
  internal_action(:upgrade, nil, UPGRADE, opts)
end