Jump to: navigation, search

Difference between revisions of "Neutron/LBaaS/CLI"

< Neutron‎ | LBaaS
Line 41: Line 41:
  
  
= Commands Specification =
+
= Command Specification =
  
 
== lb-healthmonitor-create ==
 
== lb-healthmonitor-create ==
Line 49: Line 49:
  
 
<pre><nowiki>
 
<pre><nowiki>
lb-healthmonitor-create --type <type> --delay <delay> --max_retries <max_retries> --timeout <timeout> [--http_method <http method>] [--path <path>] [--expected-codes <expected codes>]
+
lb-healthmonitor-create --type <type> --delay <delay> --max_retries <max_retries> --timeout <timeout> [--http_method <http method>] [--path <path>] [--expected-codes <expected codes>] [--tenant-id <tenant id>]
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 60: Line 60:
 
* '''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 "/".
 
* '''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".
 
* '''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 ==
 
== lb-healthmonitor-delete ==
Line 89: Line 90:
  
 
<pre><nowiki>
 
<pre><nowiki>
lb-healthmonitor-update [--type <type>] [--delay <delay>] [--max_retries <max_retries>] [--timeout <timeout>] [--name <name>] [--http_method <http method>] [--path <path>] [--expected-codes <expected codes>] <healthmonitor-id>
+
lb-healthmonitor-update [--delay <delay>] [--max_retries <max_retries>] [--timeout <timeout>] [--name <name>] [--http_method <http method>] [--path <path>] [--expected-codes <expected codes>] <healthmonitor-id>
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 113: Line 114:
  
 
<pre><nowiki>
 
<pre><nowiki>
lb-member-create --address <IP> --port <tcp port> [--weight <weight>] [--admin-state <UP|DOWN>] <pool-id>
+
lb-member-create --address <IP> --port <tcp port> [--weight <weight>] [--admin-state <UP|DOWN>] [--tenant-id <tenant id>] <pool-id>
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 122: Line 123:
 
* '''admin-state''': Specifies the state of member, by default UP.
 
* '''admin-state''': Specifies the state of member, by default UP.
 
* '''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
 
 
<pre><nowiki>#!wiki note
 
Quantum port has parameter ''admin-state-down''. We may use it instead of ''admin-state''
 
</nowiki></pre>
 
 
 
  
 
== lb-member-delete ==
 
== lb-member-delete ==
Line 165: Line 161:
  
 
<pre><nowiki>
 
<pre><nowiki>
lb-pool-create [--network-id <network-id>] [--lb-method <lb-method>] [--protocol <protocol>] <name>
+
lb-pool-create --network-id <network-id> --lb-method <lb-method> --protocol <protocol> --name <name> [--description <description>] [--tenant-id <tenant id>]
 
</nowiki></pre>
 
</nowiki></pre>
  
  
* name: name of the pool
+
* '''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.
+
* '''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.
+
* '''lb_method''': The algorithm used to distribute load between the members of the pool.
* protocol: The protocol used by the pool members
+
* '''protocol''': The protocol used by the pool members
 +
* '''description''': Human-readable description of the pool
 +
* '''tenant-id''': ID of tenant that owns the pool
  
 
== lb-pool-delete ==
 
== lb-pool-delete ==
Line 202: Line 200:
  
 
<pre><nowiki>
 
<pre><nowiki>
lb-pool-update [--lb-method <lb-method>] [--name <name>] <pool-id>
+
lb-pool-update [--lb-method <lb-method>] [--description <description>] [--name <name>] <pool-id>
</nowiki></pre>
 
 
 
 
 
 
 
<pre><nowiki>#!wiki note
 
[[Quantum/LBaaS/API_1.0#Update_a_Pool]] also mentions ''description'' attribute, but it is missed in creation operation.
 
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 216: Line 208:
  
 
<pre><nowiki>
 
<pre><nowiki>
lb-vip-create --network-id <network-id> --protocol <protocol> --port <tcp port> --name <name> [--connection-limit <connection limit>] [--admin-state <UP|DOWN>] [--session-persistence <session-persistence-type>] <pool-id>  
+
lb-vip-create --network-id <network-id> --protocol <protocol> --port <tcp port> --name <name> [--connection-limit <connection limit>] [--admin-state <UP|DOWN>] [--session-persistence <session-persistence-type>] [--description <description>] [--tenant-id <tenant id>] <pool-id>  
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 226: Line 218:
 
* '''admin-state''': initial state of vip, by default UP
 
* '''admin-state''': initial state of vip, by default UP
 
* '''session-persistence''': the type of session persistence applied to traffic.
 
* '''session-persistence''': the type of session persistence applied to traffic.
 +
* '''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.
 
* '''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
  
 
== lb-vip-delete ==
 
== lb-vip-delete ==
Line 256: Line 250:
  
 
<pre><nowiki>
 
<pre><nowiki>
lb-vip-update [--connection-limit <connection limit>] [--admin-state <UP|DOWN>] [--session-persistence <session-persistence-type>] [--pool-id <pool-id>] [--name <name>] <vip-id>
+
lb-vip-update [--connection-limit <connection limit>] [--admin-state <UP|DOWN>] [--session-persistence <session-persistence-type>] [--description <description>] [--pool-id <pool-id>] [--name <name>] <vip-id>
 
</nowiki></pre>
 
</nowiki></pre>

Revision as of 13:15, 15 November 2012

<<TableOfContents()>>

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-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> [--http_method <http method>] [--path <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 [--delay <delay>] [--max_retries <max_retries>] [--timeout <timeout>] [--name <name>] [--http_method <http method>] [--path <path>] [--expected-codes <expected codes>] <healthmonitor-id>


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> --port <tcp port> [--weight <weight>] [--admin-state <UP|DOWN>] [--tenant-id <tenant id>] <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.
  • weight: The weight of pool member in the pool.
  • admin-state: Specifies the state of member, by default UP.
  • 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 [--pool-id <pool id>] [--weight <weight>] [--admin-state <UP|DOWN>] <member-id>


lb-pool-create

Create a pool

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


  • 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
  • description: Human-readable description of the pool
  • tenant-id: ID of tenant that owns the pool

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-update

Update pool's information

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


lb-vip-create

Create a vip

lb-vip-create --network-id <network-id> --protocol <protocol> --port <tcp port> --name <name> [--connection-limit <connection limit>] [--admin-state <UP|DOWN>] [--session-persistence <session-persistence-type>] [--description <description>] [--tenant-id <tenant id>] <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.
  • connection-limit: the maximum number of connections per second allowed for the vip.
  • admin-state: initial state of vip, by default UP
  • session-persistence: the type of session persistence applied to traffic.
  • 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

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 [--connection-limit <connection limit>] [--admin-state <UP|DOWN>] [--session-persistence <session-persistence-type>] [--description <description>] [--pool-id <pool-id>] [--name <name>] <vip-id>