Class: OvirtSDK4::ClusterService

Inherits:
Service
  • Object
show all
Defined in:
lib/ovirtsdk4/services.rb,
lib/ovirtsdk4/services.rb

Instance Method Summary collapse

Methods inherited from Service

#inspect, #to_s

Instance Method Details

#affinity_groups_serviceAffinityGroupsService

A reference to the service that manages affinity groups.

Returns:



4287
4288
4289
# File 'lib/ovirtsdk4/services.rb', line 4287

def affinity_groups_service
  @affinity_groups_service ||= AffinityGroupsService.new(self, 'affinitygroups')
end

#cpu_profiles_serviceAssignedCpuProfilesService

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

Returns:



4296
4297
4298
# File 'lib/ovirtsdk4/services.rb', line 4296

def cpu_profiles_service
  @cpu_profiles_service ||= AssignedCpuProfilesService.new(self, 'cpuprofiles')
end

#enabled_features_serviceClusterEnabledFeaturesService

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

Returns:



4305
4306
4307
# File 'lib/ovirtsdk4/services.rb', line 4305

def enabled_features_service
  @enabled_features_service ||= ClusterEnabledFeaturesService.new(self, 'enabledfeatures')
end

#external_network_providers_serviceClusterExternalProvidersService

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

Returns:



4314
4315
4316
# File 'lib/ovirtsdk4/services.rb', line 4314

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 Penryn 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>
  <maintenance_reason_required>false</maintenance_reason_required>
  <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>
  <optional_reason>false</optional_reason>
  <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>

Parameters:

  • opts (Hash) (defaults to: {})

    Additional options.

Options Hash (opts):

  • :filter (Boolean)

    Indicates if the results should be filtered according to the permissions of the user.

  • :follow (String)

    Indicates which inner links should be followed. The objects referenced by these links will be fetched as part of the current request. See here for details.

  • :headers (Hash) — default: {}

    Additional HTTP headers.

  • :query (Hash) — default: {}

    Additional URL query parameters.

  • :timeout (Integer) — default: 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.

  • :wait (Boolean) — default: true

    If true wait for the response.

Returns:



4135
4136
4137
# File 'lib/ovirtsdk4/services.rb', line 4135

def get(opts = {})
  internal_get(GET, opts)
end

#gluster_hooks_serviceGlusterHooksService

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

Returns:



4323
4324
4325
# File 'lib/ovirtsdk4/services.rb', line 4323

def gluster_hooks_service
  @gluster_hooks_service ||= GlusterHooksService.new(self, 'glusterhooks')
end

#gluster_volumes_serviceGlusterVolumesService

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

Returns:



4332
4333
4334
# File 'lib/ovirtsdk4/services.rb', line 4332

def gluster_volumes_service
  @gluster_volumes_service ||= GlusterVolumesService.new(self, 'glustervolumes')
end

#network_filters_serviceNetworkFiltersService

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

Returns:



4341
4342
4343
# File 'lib/ovirtsdk4/services.rb', line 4341

def network_filters_service
  @network_filters_service ||= NetworkFiltersService.new(self, 'networkfilters')
end

#networks_serviceClusterNetworksService

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

Returns:



4350
4351
4352
# File 'lib/ovirtsdk4/services.rb', line 4350

def networks_service
  @networks_service ||= ClusterNetworksService.new(self, 'networks')
end

#permissions_serviceAssignedPermissionsService

A reference to permissions.

Returns:



4359
4360
4361
# File 'lib/ovirtsdk4/services.rb', line 4359

def permissions_service
  @permissions_service ||= AssignedPermissionsService.new(self, 'permissions')
end

#remove(opts = {}) ⇒ Object

Removes the cluster from the system.

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

Parameters:

  • opts (Hash) (defaults to: {})

    Additional options.

Options Hash (opts):

  • :async (Boolean)

    Indicates if the remove should be performed asynchronously.

  • :headers (Hash) — default: {}

    Additional HTTP headers.

  • :query (Hash) — default: {}

    Additional URL query parameters.

  • :timeout (Integer) — default: 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.

  • :wait (Boolean) — default: true

    If true wait for the response.



4165
4166
4167
# File 'lib/ovirtsdk4/services.rb', line 4165

def remove(opts = {})
  internal_remove(REMOVE, opts)
end

#reset_emulated_machine(opts = {}) ⇒ Object

Executes the reset_emulated_machine method.

Parameters:

  • opts (Hash) (defaults to: {})

    Additional options.

Options Hash (opts):

  • :async (Boolean)

    Indicates if the reset should be performed asynchronously.

  • :headers (Hash) — default: {}

    Additional HTTP headers.

  • :query (Hash) — default: {}

    Additional URL query parameters.

  • :timeout (Integer) — default: 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.

  • :wait (Boolean) — default: true

    If true wait for the response.



4191
4192
4193
# File 'lib/ovirtsdk4/services.rb', line 4191

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.

Parameters:

  • path (String)

    The path of the service.

Returns:

  • (Service)

    A reference to the service.

Raises:



4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
# File 'lib/ovirtsdk4/services.rb', line 4370

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 = {}) ⇒ Object

Synchronizes all networks on the cluster.

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

With a request body like this:

<action/>

Parameters:

  • opts (Hash) (defaults to: {})

    Additional options.

Options Hash (opts):

  • :async (Boolean)

    Indicates if the action should be performed asynchronously.

  • :headers (Hash) — default: {}

    Additional HTTP headers.

  • :query (Hash) — default: {}

    Additional URL query parameters.

  • :timeout (Integer) — default: 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.

  • :wait (Boolean) — default: true

    If true wait for the response.



4229
4230
4231
# File 'lib/ovirtsdk4/services.rb', line 4229

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>

Parameters:

  • cluster (Cluster)

    The cluster to update.

  • opts (Hash) (defaults to: {})

    Additional options.

Options Hash (opts):

  • :async (Boolean)

    Indicates if the update should be performed asynchronously.

  • :headers (Hash) — default: {}

    Additional HTTP headers.

  • :query (Hash) — default: {}

    Additional URL query parameters.

  • :timeout (Integer) — default: 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.

  • :wait (Boolean) — default: true

    If true wait for the response.

Returns:



4278
4279
4280
# File 'lib/ovirtsdk4/services.rb', line 4278

def update(cluster, opts = {})
  internal_update(cluster, Cluster, UPDATE, opts)
end