Cluster API

Cluster API

The Cluster Class

The cluster high-level interface is available through the cluster member of a Connection object. The cluster member will only be added if the service is detected.

Build Info Operations

class openstack.clustering.v1._proxy.Proxy(*args, **kwargs)
get_build_info()

Get build info for service engine and API

Returns:A dictionary containing the API and engine revision string.

Profile Type Operations

class openstack.clustering.v1._proxy.Proxy(*args, **kwargs)
profile_types(**query)

Get a generator of profile types.

Returns:A generator of objects that are of type ProfileType
get_profile_type(profile_type)

Get the details about a profile type.

Parameters:profile_type – The name of the profile_type to retrieve or an object of ProfileType.
Returns:A ProfileType object.
Raises:ResourceNotFound when no profile_type matching the name could be found.

Profile Operations

class openstack.clustering.v1._proxy.Proxy(*args, **kwargs)
create_profile(**attrs)

Create a new profile from attributes.

Parameters:attrs (dict) – Keyword arguments that will be used to create a Profile, it is comprised of the properties on the Profile class.
Returns:The results of profile creation.
Return type:Profile.
update_profile(profile, **attrs)

Update a profile.

Parameters:
  • profile – Either the name or the ID of the profile, or an instance of Profile.
  • attrs – The attributes to update on the profile represented by the value parameter.
Returns:

The updated profile.

Return type:

Profile

delete_profile(profile, ignore_missing=True)

Delete a profile.

Parameters:
  • profile – The value can be either the name or ID of a profile or a Profile instance.
  • ignore_missing (bool) – When set to False, an exception ResourceNotFound will be raised when the profile could not be found. When set to True, no exception will be raised when attempting to delete a non-existent profile.
Returns:

None

get_profile(profile)

Get a single profile.

Parameters:profile – The value can be the name or ID of a profile or a Profile instance.
Returns:One Profile
Raises:ResourceNotFound when no profile matching the criteria could be found.
find_profile(name_or_id, ignore_missing=True)

Find a single profile.

Parameters:
  • name_or_id (str) – The name or ID of a profile.
  • ignore_missing (bool) – When set to False ResourceNotFound will be raised when the resource does not exist. When set to True, None will be returned when attempting to find a nonexistent resource.
Returns:

One Profile object or None

profiles(**query)

Retrieve a generator of profiles.

Parameters:query (kwargs) –

Optional query parameters to be sent to restrict the profiles to be returned. Available parameters include:

  • name: The name of a profile.
  • type: The type name of a profile.
  • metadata: A list of key-value pairs that are associated with a
    profile.
  • sort: A list of sorting keys separated by commas. Each sorting
    key can optionally be attached with a sorting direction modifier which can be asc or desc.
  • limit: Requests a specified size of returned items from the
    query. Returns a number of items up to the specified limit value.
  • marker: Specifies the ID of the last-seen item. Use the limit
    parameter to make an initial limited request and use the ID of the last-seen item from the response as the marker parameter value in a subsequent limited request.
  • global_project: A boolean value indicating whether profiles
    from all projects will be returned.
Returns:A generator of profile instances.
validate_profile(**attrs)

Validate a profile spec.

Parameters:attrs (dict) – Keyword arguments that will be used to create a ProfileValidate, it is comprised of the properties on the Profile class.
Returns:The results of profile validation.
Return type:ProfileValidate.

Policy Type Operations

class openstack.clustering.v1._proxy.Proxy(*args, **kwargs)
policy_types(**query)

Get a generator of policy types.

Returns:A generator of objects that are of type PolicyType
get_policy_type(policy_type)

Get the details about a policy type.

Parameters:policy_type – The name of a poicy_type or an object of PolicyType.
Returns:A PolicyType object.
Raises:ResourceNotFound when no policy_type matching the name could be found.

Policy Operations

class openstack.clustering.v1._proxy.Proxy(*args, **kwargs)
create_policy(**attrs)

Create a new policy from attributes.

Parameters:attrs (dict) – Keyword arguments that will be used to create a Policy, it is comprised of the properties on the Policy class.
Returns:The results of policy creation.
Return type:Policy.
update_policy(policy, **attrs)

Update a policy.

Parameters:
  • policy – Either the name or the ID of a policy, or an instance of Policy.
  • attrs – The attributes to update on the policy represented by the value parameter.
Returns:

The updated policy.

Return type:

Policy

delete_policy(policy, ignore_missing=True)

Delete a policy.

Parameters:
  • policy – The value can be either the name or ID of a policy or a Policy instance.
  • ignore_missing (bool) – When set to False, an exception ResourceNotFound will be raised when the policy could not be found. When set to True, no exception will be raised when attempting to delete a non-existent policy.
Returns:

None

get_policy(policy)

Get a single policy.

Parameters:policy – The value can be the name or ID of a policy or a Policy instance.
Returns:A policy object.
Return type:Policy
Raises:ResourceNotFound when no policy matching the criteria could be found.
find_policy(name_or_id, ignore_missing=True)

Find a single policy.

Parameters:
  • name_or_id (str) – The name or ID of a policy.
  • ignore_missing (bool) – When set to False ResourceNotFound will be raised when the specified policy does not exist. When set to True, None will be returned when attempting to find a nonexistent policy.
Returns:

A policy object or None.

Return type:

Policy

policies(**query)

Retrieve a generator of policies.

Parameters:query (kwargs) –

Optional query parameters to be sent to restrict the policies to be returned. Available parameters include:

  • name: The name of a policy.
  • type: The type name of a policy.
  • sort: A list of sorting keys separated by commas. Each sorting
    key can optionally be attached with a sorting direction modifier which can be asc or desc.
  • limit: Requests a specified size of returned items from the
    query. Returns a number of items up to the specified limit value.
  • marker: Specifies the ID of the last-seen item. Use the limit
    parameter to make an initial limited request and use the ID of the last-seen item from the response as the marker parameter value in a subsequent limited request.
  • global_project: A boolean value indicating whether policies from
    all projects will be returned.
Returns:A generator of policy instances.
validate_policy(**attrs)

Validate a policy spec.

Parameters:attrs (dict) – Keyword arguments that will be used to create a PolicyValidate, it is comprised of the properties on the Policy class.
Returns:The results of Policy validation.
Return type:PolicyValidate.

Cluster Operations

class openstack.clustering.v1._proxy.Proxy(*args, **kwargs)
create_cluster(**attrs)

Create a new cluster from attributes.

Parameters:attrs (dict) – Keyword arguments that will be used to create a Cluster, it is comprised of the properties on the Cluster class.
Returns:The results of cluster creation.
Return type:Cluster.
update_cluster(cluster, **attrs)

Update a cluster.

Parameters:
  • cluster – Either the name or the ID of the cluster, or an instance of Cluster.
  • attrs – The attributes to update on the cluster represented by the cluster parameter.
Returns:

The updated cluster.

Return type:

Cluster

delete_cluster(cluster, ignore_missing=True, force_delete=False)

Delete a cluster.

Parameters:
  • cluster – The value can be either the name or ID of a cluster or a Cluster instance.
  • ignore_missing (bool) – When set to False, an exception ResourceNotFound will be raised when the cluster could not be found. When set to True, no exception will be raised when attempting to delete a non-existent cluster.
  • force_delete (bool) – When set to True, the cluster deletion will be forced immediately.
Returns:

The instance of the Cluster which was deleted.

Return type:

Cluster.

get_cluster(cluster)

Get a single cluster.

Parameters:cluster – The value can be the name or ID of a cluster or a Cluster instance.
Returns:One Cluster
Raises:ResourceNotFound when no cluster matching the criteria could be found.
find_cluster(name_or_id, ignore_missing=True)

Find a single cluster.

Parameters:
  • name_or_id (str) – The name or ID of a cluster.
  • ignore_missing (bool) – When set to False ResourceNotFound will be raised when the resource does not exist. When set to True, None will be returned when attempting to find a nonexistent resource.
Returns:

One Cluster object or None

clusters(**query)

Retrieve a generator of clusters.

Parameters:query (kwargs) –

Optional query parameters to be sent to restrict the clusters to be returned. Available parameters include:

  • name: The name of a cluster.
  • status: The current status of a cluster.
  • sort: A list of sorting keys separated by commas. Each sorting
    key can optionally be attached with a sorting direction modifier which can be asc or desc.
  • limit: Requests a specified size of returned items from the
    query. Returns a number of items up to the specified limit value.
  • marker: Specifies the ID of the last-seen item. Use the limit
    parameter to make an initial limited request and use the ID of the last-seen item from the response as the marker parameter value in a subsequent limited request.
  • global_project: A boolean value indicating whether clusters
    from all projects will be returned.
Returns:A generator of cluster instances.
check_cluster(cluster, **params)

Check a cluster.

Parameters:
  • cluster – The value can be either the ID of a cluster or a Cluster instance.
  • params (dict) – A dictionary providing the parameters for the check action.
Returns:

A dictionary containing the action ID.

recover_cluster(cluster, **params)

recover a cluster.

Parameters:
  • cluster – The value can be either the ID of a cluster or a Cluster instance.
  • params (dict) – A dictionary providing the parameters for the recover action.
Returns:

A dictionary containing the action ID.

resize_cluster(cluster, **params)

Resize of cluster.

Parameters:
  • cluster – Either the name or the ID of the cluster, or an instance of Cluster.
  • params (dict) – A dictionary providing the parameters for the resize action.
Returns:

A dict containing the action initiated by this operation.

scale_in_cluster(cluster, count=None)

Shrink the size of a cluster.

Parameters:
  • cluster – Either the name or the ID of the cluster, or an instance of Cluster.
  • count – Optional parameter specifying the number of nodes to be removed.
Returns:

A dict containing the action initiated by this operation.

scale_out_cluster(cluster, count=None)

Inflate the size of a cluster.

Parameters:
  • cluster – Either the name or the ID of the cluster, or an instance of Cluster.
  • count – Optional parameter specifying the number of nodes to be added.
Returns:

A dict containing the action initiated by this operation.

collect_cluster_attrs(cluster, path)

Collect attribute values across a cluster.

Parameters:
  • cluster – The value can be either the ID of a cluster or a Cluster instance.
  • path – A Json path string specifying the attribute to collect.
Returns:

A dictionary containing the list of attribute values.

perform_operation_on_cluster(cluster, operation, **params)

Perform an operation on the specified cluster.

Parameters:
  • cluster – The value can be either the ID of a cluster or a Cluster instance.
  • operation – A string specifying the operation to be performed.
  • params (dict) – A dictionary providing the parameters for the operation.
Returns:

A dictionary containing the action ID.

add_nodes_to_cluster(cluster, nodes)

Add nodes to a cluster.

Parameters:
  • cluster – Either the name or the ID of the cluster, or an instance of Cluster.
  • nodes – List of nodes to be added to the cluster.
Returns:

A dict containing the action initiated by this operation.

remove_nodes_from_cluster(cluster, nodes, **params)

Remove nodes from a cluster.

Parameters:
  • cluster – Either the name or the ID of the cluster, or an instance of Cluster.
  • nodes – List of nodes to be removed from the cluster.
  • params (kwargs) –

    Optional query parameters to be sent to restrict the nodes to be returned. Available parameters include:

    • destroy_after_deletion: A boolean value indicating whether the
      deleted nodes to be destroyed right away.
Returns:

A dict containing the action initiated by this operation.

replace_nodes_in_cluster(cluster, nodes)

Replace the nodes in a cluster with specified nodes.

Parameters:
  • cluster – Either the name or the ID of the cluster, or an instance of Cluster.
  • nodes – List of nodes to be deleted/added to the cluster.
Returns:

A dict containing the action initiated by this operation.

attach_policy_to_cluster(cluster, policy, **params)

Attach a policy to a cluster.

Parameters:
  • cluster – Either the name or the ID of the cluster, or an instance of Cluster.
  • policy – Either the name or the ID of a policy.
  • params (dict) – A dictionary containing the properties for the policy to be attached.
Returns:

A dict containing the action initiated by this operation.

update_cluster_policy(cluster, policy, **params)

Change properties of a policy which is bound to the cluster.

Parameters:
  • cluster – Either the name or the ID of the cluster, or an instance of Cluster.
  • policy – Either the name or the ID of a policy.
  • params (dict) – A dictionary containing the new properties for the policy.
Returns:

A dict containing the action initiated by this operation.

detach_policy_from_cluster(cluster, policy)

Detach a policy from a cluster.

Parameters:
  • cluster – Either the name or the ID of the cluster, or an instance of Cluster.
  • policy – Either the name or the ID of a policy.
Returns:

A dict containing the action initiated by this operation.

get_cluster_policy(cluster_policy, cluster)

Get a cluster-policy binding.

Parameters:
  • cluster_policy – The value can be the name or ID of a policy or a Policy instance.
  • cluster – The value can be the name or ID of a cluster or a Cluster instance.
Returns:

a cluster-policy binding object.

Return type:

CLusterPolicy

Raises:

ResourceNotFound when no cluster-policy binding matching the criteria could be found.

cluster_policies(cluster, **query)

Retrieve a generator of cluster-policy bindings.

Parameters:
  • cluster – The value can be the name or ID of a cluster or a Cluster instance.
  • query (kwargs) –

    Optional query parameters to be sent to restrict the policies to be returned. Available parameters include:

    • enabled: A boolean value indicating whether the policy is
      enabled on the cluster.
Returns:

A generator of cluster-policy binding instances.

Node Operations

class openstack.clustering.v1._proxy.Proxy(*args, **kwargs)
create_node(**attrs)

Create a new node from attributes.

Parameters:attrs (dict) – Keyword arguments that will be used to create a Node, it is comprised of the properties on the Node class.
Returns:The results of node creation.
Return type:Node.
update_node(node, **attrs)

Update a node.

Parameters:
  • node – Either the name or the ID of the node, or an instance of Node.
  • attrs – The attributes to update on the node represented by the node parameter.
Returns:

The updated node.

Return type:

Node

delete_node(node, ignore_missing=True, force_delete=False)

Delete a node.

Parameters:
  • node – The value can be either the name or ID of a node or a Node instance.
  • ignore_missing (bool) – When set to False, an exception ResourceNotFound will be raised when the node could not be found. When set to True, no exception will be raised when attempting to delete a non-existent node.
  • force_delete (bool) – When set to True, the node deletion will be forced immediately.
Returns:

The instance of the Node which was deleted.

Return type:

Node.

get_node(node, details=False)

Get a single node.

Parameters:
  • node – The value can be the name or ID of a node or a Node instance.
  • details – An optional argument that indicates whether the server should return more details when retrieving the node data.
Returns:

One Node

Raises:

ResourceNotFound when no node matching the name or ID could be found.

find_node(name_or_id, ignore_missing=True)

Find a single node.

Parameters:
  • name_or_id (str) – The name or ID of a node.
  • ignore_missing (bool) – When set to “False” ResourceNotFound will be raised when the specified node does not exist. when set to “True”, None will be returned when attempting to find a nonexistent policy
Returns:

One Node object or None.

nodes(**query)

Retrieve a generator of nodes.

Parameters:query (kwargs) –

Optional query parameters to be sent to restrict the nodes to be returned. Available parameters include:

  • cluster_id: A string including the name or ID of a cluster to
    which the resulted node(s) is a member.
  • name: The name of a node.
  • status: The current status of a node.
  • sort: A list of sorting keys separated by commas. Each sorting
    key can optionally be attached with a sorting direction modifier which can be asc or desc.
  • limit: Requests at most the specified number of items be
    returned from the query.
  • marker: Specifies the ID of the last-seen node. Use the limit
    parameter to make an initial limited request and use the ID of the last-seen node from the response as the marker parameter value in a subsequent limited request.
  • global_project: A boolean value indicating whether nodes
    from all projects will be returned.
Returns:A generator of node instances.
check_node(node, **params)

Check the health of the specified node.

Parameters:
  • node – The value can be either the ID of a node or a Node instance.
  • params (dict) – A dictionary providing the parametes to the check action.
Returns:

A dictionary containing the action ID.

recover_node(node, **params)

Recover the specified node into healthy status.

Parameters:
  • node – The value can be either the ID of a node or a Node instance.
  • params (dict) – A dict supplying parameters to the recover action.
Returns:

A dictionary containing the action ID.

perform_operation_on_node(node, operation, **params)

Perform an operation on the specified node.

Parameters:
  • node – The value can be either the ID of a node or a Node instance.
  • operation – A string specifying the operation to be performed.
  • params (dict) – A dictionary providing the parameters for the operation.
Returns:

A dictionary containing the action ID.

adopt_node(preview=False, **attrs)

Adopting an existing resource as a node.

Parameters:
  • preview – A boolean indicating whether this is a “preview” operation which means only the profile to be used is returned rather than creating a node object using that profile.
  • attrs (dict) –

    Keyword parameters for node adoption. Valid parameters include:

    • type: (Required) A string containing the profile type and
      version to be used for node adoption. For example, os.nova.sever-1.0.
    • identity: (Required) A string including the name or ID of an
      OpenStack resource to be adopted as a Senlin node.
    • name: (Optional) The name of of node to be created. Omitting
      this parameter will have the node named automatically.
    • snapshot: (Optional) A boolean indicating whether a snapshot
      of the target resource should be created if possible. Default is False.
    • metadata: (Optional) A dictionary of arbitrary key-value pairs
      to be associated with the adopted node.
    • overrides: (Optional) A dictionary of key-value pairs to be used
      to override attributes derived from the target resource.
Returns:

The result of node adoption. If preview is set to False (default), returns a Node object, otherwise a Dict is returned containing the profile to be used for the new node.

Receiver Operations

class openstack.clustering.v1._proxy.Proxy(*args, **kwargs)
create_receiver(**attrs)

Create a new receiver from attributes.

Parameters:attrs (dict) – Keyword arguments that will be used to create a Receiver, it is comprised of the properties on the Receiver class.
Returns:The results of receiver creation.
Return type:Receiver.
update_receiver(receiver, **attrs)

Update a receiver.

Parameters:
  • receiver – The value can be either the name or ID of a receiver or a Receiver instance.
  • attrs – The attributes to update on the receiver parameter. Valid attribute names include name, action and params.
Returns:

The updated receiver.

Return type:

Receiver

delete_receiver(receiver, ignore_missing=True)

Delete a receiver.

Parameters:
  • receiver – The value can be either the name or ID of a receiver or a Receiver instance.
  • ignore_missing (bool) – When set to False, an exception ResourceNotFound will be raised when the receiver could not be found. When set to True, no exception will be raised when attempting to delete a non-existent receiver.
Returns:

None

get_receiver(receiver)

Get a single receiver.

Parameters:receiver – The value can be the name or ID of a receiver or a Receiver instance.
Returns:A receiver object.
Return type:Receiver
Raises:ResourceNotFound when no receiver matching the criteria could be found.
find_receiver(name_or_id, ignore_missing=True)

Find a single receiver.

Parameters:
  • name_or_id (str) – The name or ID of a receiver.
  • ignore_missing (bool) – When set to False ResourceNotFound will be raised when the specified receiver does not exist. When set to True, None will be returned when attempting to find a nonexistent receiver.
Returns:

A receiver object or None.

Return type:

Receiver

receivers(**query)

Retrieve a generator of receivers.

Parameters:query (kwargs) –

Optional query parameters for restricting the receivers to be returned. Available parameters include:

  • name: The name of a receiver object.
  • type: The type of receiver objects.
  • cluster_id: The ID of the associated cluster.
  • action: The name of the associated action.
  • sort: A list of sorting keys separated by commas. Each sorting
    key can optionally be attached with a sorting direction modifier which can be asc or desc.
  • global_project: A boolean value indicating whether receivers
  • from all projects will be returned.
Returns:A generator of receiver instances.

Action Operations

class openstack.clustering.v1._proxy.Proxy(*args, **kwargs)
get_action(action)

Get a single action.

Parameters:action – The value can be the name or ID of an action or a Action instance.
Returns:an action object.
Return type:Action
Raises:ResourceNotFound when no action matching the criteria could be found.
actions(**query)

Retrieve a generator of actions.

Parameters:query (kwargs) –

Optional query parameters to be sent to restrict the actions to be returned. Available parameters include:

  • name: name of action for query.
  • target: ID of the target object for which the actions should be
    returned.
  • action: built-in action types for query.
  • sort: A list of sorting keys separated by commas. Each sorting
    key can optionally be attached with a sorting direction modifier which can be asc or desc.
  • limit: Requests a specified size of returned items from the
    query. Returns a number of items up to the specified limit value.
  • marker: Specifies the ID of the last-seen item. Use the limit
    parameter to make an initial limited request and use the ID of the last-seen item from the response as the marker parameter value in a subsequent limited request.
Returns:A generator of action instances.

Event Operations

class openstack.clustering.v1._proxy.Proxy(*args, **kwargs)
get_event(event)

Get a single event.

Parameters:event – The value can be the name or ID of an event or a Event instance.
Returns:an event object.
Return type:Event
Raises:ResourceNotFound when no event matching the criteria could be found.
events(**query)

Retrieve a generator of events.

Parameters:query (kwargs) –

Optional query parameters to be sent to restrict the events to be returned. Available parameters include:

  • obj_name: name string of the object associated with an event.
  • obj_type: type string of the object related to an event. The
    value can be cluster, node, policy etc.
  • obj_id: ID of the object associated with an event.
  • cluster_id: ID of the cluster associated with the event, if any.
  • action: name of the action associated with an event.
  • sort: A list of sorting keys separated by commas. Each sorting
    key can optionally be attached with a sorting direction modifier which can be asc or desc.
  • limit: Requests a specified size of returned items from the
    query. Returns a number of items up to the specified limit value.
  • marker: Specifies the ID of the last-seen item. Use the limit
    parameter to make an initial limited request and use the ID of the last-seen item from the response as the marker parameter value in a subsequent limited request.
  • global_project: A boolean specifying whether events from all
    projects should be returned. This option is subject to access control checking.
Returns:A generator of event instances.

Helper Operations

class openstack.clustering.v1._proxy.Proxy(*args, **kwargs)
wait_for_delete(res, interval=2, wait=120)

Wait for a resource to be deleted.

Parameters:
  • res – The resource to wait on to be deleted.
  • interval – Number of seconds to wait before to consecutive checks. Default to 2.
  • wait – Maximum number of seconds to wait before the change. Default to 120.
Returns:

The resource is returned on success.

Raises:

ResourceTimeout if transition to delete failed to occur in the specified seconds.

wait_for_status(res, status, failures=None, interval=2, wait=120)

Wait for a resource to be in a particular status.

Parameters:
  • res – The resource to wait on to reach the specified status. The resource must have a status attribute.
  • status – Desired status.
  • failures (list) – Statuses that would be interpreted as failures.
  • interval – Number of seconds to wait before to consecutive checks. Default to 2.
  • wait – Maximum number of seconds to wait before the change. Default to 120.
Returns:

The resource is returned on success.

Raises:

ResourceTimeout if transition to the desired status failed to occur in specified seconds.

Raises:

ResourceFailure if the resource has transited to one of the failure statuses.

Raises:

AttributeError if the resource does not have a status attribute.

Service Operations

class openstack.clustering.v1._proxy.Proxy(*args, **kwargs)
services(**query)

Get a generator of services.

Returns:A generator of objects that are of type Service
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.