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 4963
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 4972
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 4981
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 4990
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 4712
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 4999
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 5008
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 5017
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 5026
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 5035
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 4743
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 4773
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 4799
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 5046
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 4837
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 4886
def update(cluster, opts = {})
  internal_update(cluster, Cluster, UPDATE, opts)
end
upgrade(opts = {}) click to toggle source

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

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>


After starting the upgrade, use a request body like this to update the progress to 15%:

source,xml

<action>

<upgrade_action>
    update_progress
</upgrade_action>
<upgrade_percent_complete>
    15
</upgrade_percent_complete>

</action>


@param opts [Hash] Additional options.

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

@option opts [String] :correlation_id Explicitly set the upgrade correlation identifier. Use to correlate events

detailing the cluster upgrade to the upgrade itself.  If not specificed, the
correlation id from `Correlation-Id` http header will be used.

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

@option opts [Integer] :upgrade_percent_complete Update the upgrade's progress as a percent complete of the total process.

@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 4954
def upgrade(opts = {})
  internal_action(:upgrade, nil, UPGRADE, opts)
end