crate.operator.change_compute module

class crate.operator.change_compute.AfterChangeComputeSubHandler(namespace, name, ref, context, depends_on=None, run_on_dep_failures=False, operation=None)

Bases: StateBasedSubHandler

A handler which depends on``restart`` having finished successfully and sends a success notification of the change compute process.

Parameters:
async handle(namespace, name, body, old, logger, **kwargs)
Parameters:
class crate.operator.change_compute.ChangeComputeSubHandler(namespace, name, ref, context, depends_on=None, run_on_dep_failures=False, operation=None)

Bases: StateBasedSubHandler

Parameters:
async handle(namespace, name, body, old, logger, **kwargs)
Parameters:
async crate.operator.change_compute.change_cluster_compute(apps, namespace, name, compute_change_data, logger)

Patches the statefulset with the new cpu and memory requests and limits.

Parameters:
async crate.operator.change_compute.generate_body_patch(apps, name, namespace, compute_change_data, logger)

Generates a dict representing the patch that will be applied to the statefulset. That patch modifies cpu/memory requests/limits based on compute_change_data. It also patches affinity as needed based on the existence or not of requests data.

Parameters:
Return type:

dict

crate.operator.change_compute.generate_change_compute_payload(old, body)
async crate.operator.change_compute.update_cprocessor_crate_settings(apps, namespace, sts_name, processors)

Call the Kubernetes API, update the -Cprocessors value in the crate container command, and return the updated command list.

Parameters:
  • apps (AppsV1Api) – An instance of the Kubernetes Apps V1 API.

  • namespace (str) – The Kubernetes namespace for the CrateDB cluster.

  • sts_name (str) – The name of the Kubernetes StatefulSet to update.

  • processors (int) – The new number of processors.

Return type:

List[str]

Returns:

The updated command list.