rax_clb_nodes – add, modify and remove nodes from a Rackspace Cloud Load Balancer

Synopsis

  • Adds, modifies and removes nodes from a Rackspace Cloud Load Balancer

Requirements

The below requirements are needed on the host that executes this module.

  • pyrax

  • python >= 2.6

Parameters

Parameter Choices/Defaults Comments
address
-
IP address or domain name of the node
api_key
string
Rackspace API key, overrides credentials.

aliases: password
auth_endpoint
-
Default:
"https://identity.api.rackspacecloud.com/v2.0/"
The URI of the authentication service.
condition
-
    Choices:
  • enabled
  • disabled
  • draining
Condition for the node, which determines its role within the load balancer
credentials
path
File to find the Rackspace credentials in. Ignored if api_key and username are provided.

aliases: creds_file
env
string
Environment as configured in ~/.pyrax.cfg, see
identity_type
-
Default:
"rackspace"
Authentication mechanism to use, such as rackspace or keystone.
load_balancer_id
- / required
Load balancer id
node_id
-
Node id
port
-
Port number of the load balanced service on the node
region
string
Default:
"DFW"
Region to create an instance in.
state
-
    Choices:
  • present ←
  • absent
Indicate desired state of the node
tenant_id
-
The tenant ID used for authentication.
tenant_name
-
The tenant name used for authentication.
type
-
    Choices:
  • primary
  • secondary
Type of node
username
string
Rackspace username, overrides credentials.
validate_certs
boolean
    Choices:
  • no
  • yes
Whether or not to require SSL validation of API endpoints.

aliases: verify_ssl
wait
boolean
    Choices:
  • no ←
  • yes
Wait for the load balancer to become active before returning
wait_timeout
-
Default:
30
How long to wait before giving up and returning an error
weight
-
Weight of node

Notes

Note

  • The following environment variables can be used, RAX_USERNAME, RAX_API_KEY, RAX_CREDS_FILE, RAX_CREDENTIALS, RAX_REGION.

  • RAX_CREDENTIALS and RAX_CREDS_FILE points to a credentials file appropriate for pyrax. See https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#authenticating

  • RAX_USERNAME and RAX_API_KEY obviate the use of a credentials file

  • RAX_REGION defines a Rackspace Public Cloud region (DFW, ORD, LON, …)

  • The following environment variables can be used, RAX_USERNAME, RAX_API_KEY, RAX_CREDS_FILE, RAX_CREDENTIALS, RAX_REGION.

  • RAX_CREDENTIALS and RAX_CREDS_FILE points to a credentials file appropriate for pyrax. See https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#authenticating

  • RAX_USERNAME and RAX_API_KEY obviate the use of a credentials file

  • RAX_REGION defines a Rackspace Public Cloud region (DFW, ORD, LON, …)

Examples

# Add a new node to the load balancer
- local_action:
    module: rax_clb_nodes
    load_balancer_id: 71
    address: 10.2.2.3
    port: 80
    condition: enabled
    type: primary
    wait: yes
    credentials: /path/to/credentials

# Drain connections from a node
- local_action:
    module: rax_clb_nodes
    load_balancer_id: 71
    node_id: 410
    condition: draining
    wait: yes
    credentials: /path/to/credentials

# Remove a node from the load balancer
- local_action:
    module: rax_clb_nodes
    load_balancer_id: 71
    node_id: 410
    state: absent
    wait: yes
    credentials: /path/to/credentials

Status

Authors

  • Lukasz Kawczynski (@neuroid)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.