class OvirtSDK4::ClusterService
Constants
- GET
- REFRESH_GLUSTER_HEAL_STATUS
- REMOVE
- RESET_EMULATED_MACHINE
- SYNC_ALL_NETWORKS
- UPDATE
- UPGRADE
Public Instance Methods
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
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
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
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
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
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
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
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
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
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 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
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
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
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
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
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
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