Jump to: navigation, search

Difference between revisions of "Neutron/LBaaS/CLI"

< Neutron‎ | LBaaS
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
 +
/!\ '''Draft'''
 +
 
<<[[TableOfContents]]()>>
 
<<[[TableOfContents]]()>>
  

Revision as of 17:06, 9 November 2012

/!\ Draft

<<TableOfContents()>>

Scope

This document describes commands that will be introduced into python-quantumclient in order to support LBaaS advanced service. The implementation is proposed to be extensible to support different types of Quantum advanced services.

Implementation Details

In the upcoming Grizzly release Quantum core will be extended by advanced service framework. The similar extension mechanism will be introduced into the Client in order to support new REST API operations.

The extension framework is responsible for enumerating and loading extensions. Every extension announces itself with command prefix and set of supported commands. The resulting command have format [service] command , where service part may be optional and needed only to avoid interference with other extensions.

In interactive mode user may specify what extension to use (in order to minimize the number of accessible commands). Note that it is not proposed to use sub-shell, since it would be harder in usage and implementation.

LBaaS Command List

The command set corresponds to Quantum/LBaaS/API_1.0


  healthmonitor-create        Create a healthmonitor
  healthmonitor-delete        Delete a given healthmonitor
  healthmonitor-list          List healthmonitors that belong to a given tenant
  healthmonitor-show          Show information of a given healthmonitor
  healthmonitor-update        Update healthmonitor's information

  healthmonitor-associate     Associate a healthmonitor with a pool
  healthmonitor-disassociate  Disassociate a healthmonitor with a pool

  member-create               Create a member
  member-delete               Delete a given member
  member-list                 List members that belong to a given tenant
  member-show                 Show information of a given member
  member-update               Update member's information

  pool-create                 Create a pool
  pool-delete                 Delete a given pool
  pool-list                   List pools that belong to a given tenant
  pool-show                   Show information of a given pool
  pool-update                 Update pool's information

  vip-create                  Create a vip
  vip-delete                  Delete a given vip
  vip-list                    List vips that belong to a given tenant
  vip-show                    Show information of a given vip
  vip-update                  Update vip's information


healthmonitor-create

This command creates a new healthmonitor object.


healthmonitor-create --type <type> --delay <delay> --max_retries <max_retries> [--timeout <timeout>] <name>


  • delay: This is the minimum time in seconds between regular connections of the member.
  • timeout: Maximum number of seconds for a monitor to wait for a connection to be established before it times out. The value must be less than the delay value.
  • max_retries: Number of permissible connection failures before changing the member's status to INACTIVE. Must be a number between 1 and 10.

healthmonitor-delete

This command deletes a given healthmonitor object.

healthmonitor-delete <healthmonitor-id>


healthmonitor-list

This command shows list of health monitor objects available to tenant.

healthmonitor-list


healthmonitor-show

This command shows information about a given health monitor object.

healthmonitor-show <healthmonitor-id>


healthmonitor-update

This command updates information of a given health monitor object.

healthmonitor-update [--type <type>] [--delay <delay>] [--max_retries <max_retries>] [--timeout <timeout>] [--name <name>] <healthmonitor-id>


healthmonitor-associate

Associate a healthmonitor with a pool.

healthmonitor-associate <healthmonitor-id> <pool-id>


healthmonitor-disassociate

Disassociate a healthmonitor with a pool.

healthmonitor-disassociate <healthmonitor-id> <pool-id>


member-create

Create a member

member-create --address <IP> --port <tcp port> <pool-id>


  • address: the IP address of the pool member on the pool's network.
  • port: The port on which the pool member listens for requests or connections.
  • pool_id: The pool to which the member is added.

member-delete

Delete a given member

member-delete <member-id>


member-list

List members that belong to a given tenant

member-list


member-show

Show information of a given member

member-show <member-id>


member-update

Update member's information

member-update [--address <IP>] [--port <tcp port>] <pool-id>


pool-create

Create a pool

pool-create [--network-id <network-id>] [--lb-method <lb-method>] [--protocol <protocol>] <name>


  • name: name of the pool
  • network_id: The network on which the members of the pool will be located. Only members that are on this network can be added to the pool.
  • lb_method: The algorithm used to distribute load between the members of the pool.
  • protocol: The protocol used by the pool members

pool-delete

Delete a given pool

pool-delete <pool-id>


pool-list

List pools that belong to a given tenant

pool-list


pool-show

Show information of a given pool

pool-show <pool-id>


pool-update

Update pool's information

pool-update [--network-id <network-id>] [--lb-method <lb-method>] [--protocol <protocol>] [--name <name>]


vip-create

Create a vip

vip-create --network-id <network-id> --protocol <protocol> --port <tcp port> <pool-id>


  • network_id: The network on which to allocate the vip's address. A tenant can only create vips on networks authorized by policy (e.g. her own networks or shared/provider networks).
  • protocol: the protocol of the vip address.
  • port: the port on which to listen for client traffic that is associated with the vip address.
  • pool_id: the id of the pool that contains the real servers to which traffic is load balanced.

vip-delete

Delete a given vip

vip-delete <vip-id>


vip-list

List vips that belong to a given tenant

vip-list


vip-show

Show information of a given vip

vip-show <vip-id>


vip-update

Update vip's information

vip-update [--network-id <network-id>] [--protocol <protocol>] [--port <tcp port>] [--pool-id <pool-id>] [--name <name>]