Jump to: navigation, search

Difference between revisions of "Neutron/LBaaS/CLI"

< Neutron‎ | LBaaS
m (Text replace - "<<TableOfContents()>>" to "__TOC__")
m (ThierryCarrez moved page Quantum/LBaaS/CLI to Neutron/LBaaS/CLI)
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
__NOTOC__
+
 
 
__TOC__
 
__TOC__
  
Line 41: Line 41:
 
   lb-vip-update                  Update vip's information
 
   lb-vip-update                  Update vip's information
 
</nowiki></pre>
 
</nowiki></pre>
 
  
 
= Command Specification =
 
= Command Specification =
Line 116: Line 115:
  
 
<pre><nowiki>
 
<pre><nowiki>
lb-member-create --address <IP> --port <tcp port> [--weight <weight>] [--admin-state-down] [--tenant-id <tenant id>] <pool-id>
+
lb-member-create --address <IP> --protocol-port <tcp port> [--weight <weight>] [--admin-state-down] [--tenant-id <tenant id>] <pool-id>
 
</nowiki></pre>
 
</nowiki></pre>
  
  
 
* '''address''': The IP address of the pool member on the pool's network.
 
* '''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.
+
* '''protocol-port''': The port on which the pool member listens for requests or connections.
 
* '''weight''': The weight of pool member in the pool.
 
* '''weight''': The weight of pool member in the pool.
* '''pool_id''': The pool to which the member is added.
+
* '''pool-id''': The pool to which the member is added.
 
* '''tenant-id''': ID of tenant that owns the member
 
* '''tenant-id''': ID of tenant that owns the member
  
Line 219: Line 218:
  
 
<pre><nowiki>
 
<pre><nowiki>
lb-vip-create --subnet-id <subnet-id> --protocol <protocol> --port <tcp port> --name <name> [--address <address>] [--admin-state-down] [--connection-limit <connection limit>] [--description <description>] [--tenant-id <tenant id>] <pool-id> [--session-persistence type=dict type=<type>,[cookie_name=<name>]]  
+
lb-vip-create --subnet-id <subnet-id> --protocol <protocol> --protocol-port <tcp port> --name <name> [--address <address>] [--admin-state-down] [--connection-limit <connection limit>] [--description <description>] [--tenant-id <tenant id>] <pool-id> [--session-persistence type=dict type=<type>,[cookie_name=<name>]]  
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 225: Line 224:
 
* '''subnet_id''': The subnet on which to allocate the vip's address. A tenant can only create vips on subnets authorized by policy.
 
* '''subnet_id''': The subnet on which to allocate the vip's address. A tenant can only create vips on subnets authorized by policy.
 
* '''protocol''': the protocol of the vip address.
 
* '''protocol''': the protocol of the vip address.
* '''port''': the port on which to listen for client traffic that is associated with the vip address.
+
* '''protocol-port''': the port on which to listen for client traffic that is associated with the vip address.
 
* '''address''': IP address of the vip
 
* '''address''': IP address of the vip
 
* '''connection-limit''': the maximum number of connections per second allowed for the vip.
 
* '''connection-limit''': the maximum number of connections per second allowed for the vip.

Latest revision as of 15:54, 21 June 2013

Scope

This document describes commands that will be introduced into python-quantumclient in order to support LBaaS advanced service.

Implementation Details

All LBaaS commands have prefix lb- in order to avoid ambiguity. The set of commands corresponds to Quantum/LBaaS/API_1.0:


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

  lb-healthmonitor-associate     Associate a health monitor with a pool
  lb-healthmonitor-disassociate  Disassociate a health monitor with a pool

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

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

  lb-pool-stats                  Retrieve traffic statistics for pool

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

Command Specification

lb-healthmonitor-create

Create a new health monitor object.


lb-healthmonitor-create --type <type> --delay <delay> --max-retries <max retries> --timeout <timeout> [--admin-state-down] [--http-method <http method>] [--url-path <url path>] [--expected-codes <expected codes>] [--tenant-id <tenant id>] 


  • type: One of predefined health monitor types
  • 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.
  • http-method: The HTTP method used for requests by the monitor of type HTTP. If this attribute is not specified, it defaults to "GET".
  • url-path: The HTTP path used in the HTTP request used by the monitor to test a member's health. This must be a string beginning with a / (forward slash). If this is not specified it defaults to "/".
  • expected-codes: These are the list of HTTP status codes expected in response from the member to declare it healthy. This attribute can contain one value, or a list of values separated by comma, or a range of values (e.g. "200-299"). If this attribute is not specified, it defaults to "200".
  • tenant-id: ID of tenant that owns the health monitor

lb-healthmonitor-delete

Delete a given healthmonitor object.

lb-healthmonitor-delete <healthmonitor-id>


lb-healthmonitor-list

Show list of health monitor objects available to tenant.

lb-healthmonitor-list


lb-healthmonitor-show

Shows information about a given health monitor object.

lb-healthmonitor-show <healthmonitor-id>


lb-healthmonitor-update

Update information of a given health monitor object.

lb-healthmonitor-update <healthmonitor-id> [--admin-state-down] [--delay <delay>] [--max-retries <max retries>] [--timeout <timeout>] [--name <name>] [--http-method <http method>] [--url-path <url path>] [--expected-codes <expected codes>] 


lb-healthmonitor-associate

Associate a healthmonitor with a pool.

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


lb-healthmonitor-disassociate

Disassociate a healthmonitor with a pool.

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


lb-member-create

Create a member

lb-member-create --address <IP> --protocol-port <tcp port> [--weight <weight>] [--admin-state-down] [--tenant-id <tenant id>] <pool-id>


  • address: The IP address of the pool member on the pool's network.
  • protocol-port: The port on which the pool member listens for requests or connections.
  • weight: The weight of pool member in the pool.
  • pool-id: The pool to which the member is added.
  • tenant-id: ID of tenant that owns the member

lb-member-delete

Delete a given member

lb-member-delete <member-id>


lb-member-list

List members that belong to a given tenant

lb-member-list


lb-member-show

Show information of a given member

lb-member-show <member-id>


lb-member-update

Update member's information

lb-member-update <member-id> [--admin-state-down] [--pool-id <pool id>] [--weight <weight>] [--admin-state <UP|DOWN>] 


lb-pool-create

Create a pool

lb-pool-create --subnet-id <subnet-id> --lb-method <lb-method> --protocol <protocol> --name <name> [--admin-state-down] [--description <description>] [--tenant-id <tenant id>] [-- [--health_monitors {<id>}]]


  • name: name of the pool
  • subnet_id: The subnet on which the members of the pool will be located. Only members that are on this subnet 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
  • description: Human-readable description of the pool
  • tenant-id: ID of tenant that owns the pool

The operation may also associate health monitors to the created pool, to achieve this a list of monitor ids needs to be specified in positional argument --health_monitors.

lb-pool-delete

Delete a given pool

lb-pool-delete <pool-id>


lb-pool-list

List pools that belong to a given tenant

lb-pool-list


lb-pool-show

Show information of a given pool

lb-pool-show <pool-id>


lb-pool-stats

Retrieve traffic statistics for a given pool

lb-pool-stats <pool-id>


lb-pool-update

Update pool's information

lb-pool-update <pool-id> [--admin-state-down] [--lb-method <lb-method>] [--description <description>] [--name <name>] 


lb-vip-create

Create a vip

lb-vip-create --subnet-id <subnet-id> --protocol <protocol> --protocol-port <tcp port> --name <name> [--address <address>] [--admin-state-down] [--connection-limit <connection limit>] [--description <description>] [--tenant-id <tenant id>] <pool-id> [--session-persistence type=dict type=<type>,[cookie_name=<name>]] 


  • subnet_id: The subnet on which to allocate the vip's address. A tenant can only create vips on subnets authorized by policy.
  • protocol: the protocol of the vip address.
  • protocol-port: the port on which to listen for client traffic that is associated with the vip address.
  • address: IP address of the vip
  • connection-limit: the maximum number of connections per second allowed for the vip.
  • description: human-readable description of the vip
  • pool_id: the id of the pool that contains the real servers to which traffic is load balanced.
  • tenant-id: ID of tenant that owns the vip
  • session-persistence: dictionary with session persistence parameters, e.g.:
    • type: the type of session persistence applied to traffic.
    • cookie-name: the name of cookie for cookie-based session persistence.

lb-vip-delete

Delete a given vip

lb-vip-delete <vip-id>


lb-vip-list

List vips that belong to a given tenant

lb-vip-list


lb-vip-show

Show information of a given vip

lb-vip-show <vip-id>


lb-vip-update

Update vip's information

lb-vip-update <vip-id> [--address <address>] [--admin-state-down] [--connection-limit <connection limit>] [--description <description>] [--pool-id <pool-id>] [--name <name>] [--session-persistence-disable] [--session-persistence type=dict type=<type>,[cookie_name=<name>]]