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_machine
method. -
#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.
4963 4964 4965 |
# File 'lib/ovirtsdk4/services.rb', line 4963 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.
4972 4973 4974 |
# File 'lib/ovirtsdk4/services.rb', line 4972 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.
4981 4982 4983 |
# File 'lib/ovirtsdk4/services.rb', line 4981 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.
4990 4991 4992 |
# File 'lib/ovirtsdk4/services.rb', line 4990 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>
4712 4713 4714 |
# File 'lib/ovirtsdk4/services.rb', line 4712 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.
4999 5000 5001 |
# File 'lib/ovirtsdk4/services.rb', line 4999 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.
5008 5009 5010 |
# File 'lib/ovirtsdk4/services.rb', line 5008 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.
5017 5018 5019 |
# File 'lib/ovirtsdk4/services.rb', line 5017 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.
5026 5027 5028 |
# File 'lib/ovirtsdk4/services.rb', line 5026 def networks_service @networks_service ||= ClusterNetworksService.new(self, 'networks') end |
#permissions_service ⇒ AssignedPermissionsService
A reference to permissions.
5035 5036 5037 |
# File 'lib/ovirtsdk4/services.rb', line 5035 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
4743 4744 4745 |
# 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 = {}) ⇒ Object
Removes the cluster from the system.
DELETE /ovirt-engine/api/clusters/00000000-0000-0000-0000-000000000000
4773 4774 4775 |
# File 'lib/ovirtsdk4/services.rb', line 4773 def remove(opts = {}) internal_remove(REMOVE, opts) end |
#reset_emulated_machine(opts = {}) ⇒ Object
Executes the reset_emulated_machine
method.
4799 4800 4801 |
# File 'lib/ovirtsdk4/services.rb', line 4799 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.
5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 |
# 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 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
With a request body like this:
<action/>
4837 4838 4839 |
# File 'lib/ovirtsdk4/services.rb', line 4837 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>
4886 4887 4888 |
# File 'lib/ovirtsdk4/services.rb', line 4886 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
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>
4954 4955 4956 |
# File 'lib/ovirtsdk4/services.rb', line 4954 def upgrade(opts = {}) internal_action(:upgrade, nil, UPGRADE, opts) end |