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

Note

This plugin is part of the community.general collection (version 2.5.1).

To install it use: ansible-galaxy collection install community.general.

To use it in a playbook, specify: community.general.rax_clb_nodes.

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
string
IP address or domain name of the node
api_key
string
Rackspace API key, overrides credentials.

aliases: password
auth_endpoint
string
The URI of the authentication service.
If not specified will be set to https://identity.api.rackspacecloud.com/v2.0/
condition
string
    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
identity_type
string
Default:
"rackspace"
Authentication mechanism to use, such as rackspace or keystone.
load_balancer_id
integer / required
Load balancer id
node_id
integer
Node id
port
integer
Port number of the load balanced service on the node
region
string
Region to create an instance in.
state
string
    Choices:
  • present ←
  • absent
Indicate desired state of the node
tenant_id
string
The tenant ID used for authentication.
tenant_name
string
The tenant name used for authentication.
type
string
    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
virtualenv
path
Virtualenv to execute this module in
wait
boolean
    Choices:
  • no ←
  • yes
Wait for the load balancer to become active before returning
wait_timeout
integer
Default:
30
How long to wait before giving up and returning an error
weight
integer
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

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

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

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

Authors

  • Lukasz Kawczynski (@neuroid)