Class: OvirtSDK4::ClusterService
- Defined in:
- lib/ovirtsdk4/services.rb,
lib/ovirtsdk4/services.rb
Instance Method Summary collapse
-
#affinity_groups_service ⇒ AffinityGroupsService
A reference to the service that manages affinity groups.
-
#cpu_profiles_service ⇒ AssignedCpuProfilesService
A reference to the service that manages assigned CPU profiles for the cluster.
-
#enabled_features_service ⇒ ClusterEnabledFeaturesService
A reference to the service that manages the collection of enabled features for the cluster.
-
#external_network_providers_service ⇒ ClusterExternalProvidersService
A reference to the service that manages the collection of external network providers.
-
#get(opts = {}) ⇒ Cluster
Gets information about the cluster.
-
#gluster_hooks_service ⇒ GlusterHooksService
A reference to the service that manages the Gluster hooks for the cluster.
-
#gluster_volumes_service ⇒ GlusterVolumesService
A reference to the service that manages Gluster volumes for the cluster.
-
#network_filters_service ⇒ NetworkFiltersService
A sub-collection with all the supported network filters for the cluster.
-
#networks_service ⇒ ClusterNetworksService
A reference to the service that manages assigned networks for the cluster.
-
#permissions_service ⇒ AssignedPermissionsService
A reference to permissions.
-
#refresh_gluster_heal_status(opts = {}) ⇒ Object
Refresh the Gluster heal info for all volumes in cluster.
-
#remove(opts = {}) ⇒ Object
Removes the cluster from the system.
-
#reset_emulated_machine(opts = {}) ⇒ Object
Executes the
reset_emulated_machinemethod. -
#service(path) ⇒ Service
Locates the service corresponding to the given path.
-
#sync_all_networks(opts = {}) ⇒ Object
Synchronizes all networks on the cluster.
-
#update(cluster, opts = {}) ⇒ Cluster
Updates information about the cluster.
-
#upgrade(opts = {}) ⇒ Object
Start, update or finish upgrade process for the cluster based on the action value.
Methods inherited from Service
Instance Method Details
#affinity_groups_service ⇒ AffinityGroupsService
A reference to the service that manages affinity groups.
4920 4921 4922 |
# File 'lib/ovirtsdk4/services.rb', line 4920 def affinity_groups_service @affinity_groups_service ||= AffinityGroupsService.new(self, 'affinitygroups') end |
#cpu_profiles_service ⇒ AssignedCpuProfilesService
A reference to the service that manages assigned CPU profiles for the cluster.
4929 4930 4931 |
# File 'lib/ovirtsdk4/services.rb', line 4929 def cpu_profiles_service @cpu_profiles_service ||= AssignedCpuProfilesService.new(self, 'cpuprofiles') end |
#enabled_features_service ⇒ ClusterEnabledFeaturesService
A reference to the service that manages the collection of enabled features for the cluster.
4938 4939 4940 |
# File 'lib/ovirtsdk4/services.rb', line 4938 def enabled_features_service @enabled_features_service ||= ClusterEnabledFeaturesService.new(self, 'enabledfeatures') end |
#external_network_providers_service ⇒ ClusterExternalProvidersService
A reference to the service that manages the collection of external network providers.
4947 4948 4949 |
# File 'lib/ovirtsdk4/services.rb', line 4947 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 HTTP/1.1
<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>
4678 4679 4680 |
# File 'lib/ovirtsdk4/services.rb', line 4678 def get(opts = {}) internal_get(GET, opts) end |
#gluster_hooks_service ⇒ GlusterHooksService
A reference to the service that manages the Gluster hooks for the cluster.
4956 4957 4958 |
# File 'lib/ovirtsdk4/services.rb', line 4956 def gluster_hooks_service @gluster_hooks_service ||= GlusterHooksService.new(self, 'glusterhooks') end |
#gluster_volumes_service ⇒ GlusterVolumesService
A reference to the service that manages Gluster volumes for the cluster.
4965 4966 4967 |
# File 'lib/ovirtsdk4/services.rb', line 4965 def gluster_volumes_service @gluster_volumes_service ||= GlusterVolumesService.new(self, 'glustervolumes') end |
#network_filters_service ⇒ NetworkFiltersService
A sub-collection with all the supported network filters for the cluster.
4974 4975 4976 |
# File 'lib/ovirtsdk4/services.rb', line 4974 def network_filters_service @network_filters_service ||= NetworkFiltersService.new(self, 'networkfilters') end |
#networks_service ⇒ ClusterNetworksService
A reference to the service that manages assigned networks for the cluster.
4983 4984 4985 |
# File 'lib/ovirtsdk4/services.rb', line 4983 def networks_service @networks_service ||= ClusterNetworksService.new(self, 'networks') end |
#permissions_service ⇒ AssignedPermissionsService
A reference to permissions.
4992 4993 4994 |
# File 'lib/ovirtsdk4/services.rb', line 4992 def @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 HTTP/1.1
4708 4709 4710 |
# File 'lib/ovirtsdk4/services.rb', line 4708 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
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.
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.
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 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 |
# File 'lib/ovirtsdk4/services.rb', line 5003 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 end if path.start_with?('permissions/') return .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 HTTP/1.1
With a request body like this:
<action/>
4799 4800 4801 |
# File 'lib/ovirtsdk4/services.rb', line 4799 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 HTTP/1.1
With a request body like this:
<cluster>
<cpu>
<type>Intel Haswell-noTSX Family</type>
</cpu>
</cluster>
4846 4847 4848 |
# File 'lib/ovirtsdk4/services.rb', line 4846 def update(cluster, opts = {}) internal_update(cluster, Cluster, UPDATE, opts) end |
#upgrade(opts = {}) ⇒ Object
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.
POST /ovirt-engine/api/clusters/123/upgrade HTTP/1.1
With a request body like this to mark the cluster for upgrade:
<action>
<upgrade_action>
start
</upgrade_action>
</action>
After starting the upgrade, use a request body like this to update the progress to 15%:
<action>
<upgrade_action>
update_progress
</upgrade_action>
<upgrade_percent_complete>
15
</upgrade_percent_complete>
</action>
4911 4912 4913 |
# File 'lib/ovirtsdk4/services.rb', line 4911 def upgrade(opts = {}) internal_action(:upgrade, nil, UPGRADE, opts) end |