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:



4246
4247
4248
# File 'lib/ovirtsdk4/services.rb', line 4246

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:



4255
4256
4257
# File 'lib/ovirtsdk4/services.rb', line 4255

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:



4264
4265
4266
# File 'lib/ovirtsdk4/services.rb', line 4264

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:



4273
4274
4275
# File 'lib/ovirtsdk4/services.rb', line 4273

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:



4132
4133
4134
# File 'lib/ovirtsdk4/services.rb', line 4132

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:



4282
4283
4284
# File 'lib/ovirtsdk4/services.rb', line 4282

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:



4291
4292
4293
# File 'lib/ovirtsdk4/services.rb', line 4291

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:



4300
4301
4302
# File 'lib/ovirtsdk4/services.rb', line 4300

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:



4309
4310
4311
# File 'lib/ovirtsdk4/services.rb', line 4309

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

#permissions_serviceAssignedPermissionsService

A reference to permissions.

Returns:



4318
4319
4320
# File 'lib/ovirtsdk4/services.rb', line 4318

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.



4162
4163
4164
# File 'lib/ovirtsdk4/services.rb', line 4162

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.



4188
4189
4190
# File 'lib/ovirtsdk4/services.rb', line 4188

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:



4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
# File 'lib/ovirtsdk4/services.rb', line 4329

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

#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:



4237
4238
4239
# File 'lib/ovirtsdk4/services.rb', line 4237

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