Jump to: navigation, search

Difference between revisions of "Neutron/LBaaS/CLI"

< Neutron‎ | LBaaS
Line 6: Line 6:
 
== Implementation Details ==
 
== Implementation Details ==
  
In Grizzly Quantum will be extended with advanced services framework, every service introduces an extension for Quantum's REST API. The same extended operations should be supported by CLI client.  
+
In Grizzly Quantum will be extended with advanced services framework, every service introduces an extension for Quantum's REST API. The same extended operations should be supported by CLI client.
  
 
It is proposed to introduce extension framework into Client. The framework will enumerate and load extensions, every extension announces itself with the command prefix and expands command set with new features. For example, LBaaS extension introduces command <code><nowiki> [lbaas] vip-list </nowiki></code>, prefix ''lbaas'' may be optional until commands from different extension interferes. For interactive mode the user should be able to specify what extension subset 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 to use and implement.
 
It is proposed to introduce extension framework into Client. The framework will enumerate and load extensions, every extension announces itself with the command prefix and expands command set with new features. For example, LBaaS extension introduces command <code><nowiki> [lbaas] vip-list </nowiki></code>, prefix ''lbaas'' may be optional until commands from different extension interferes. For interactive mode the user should be able to specify what extension subset 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 to use and implement.
  
 
== LBaaS Command List ==
 
== LBaaS Command List ==
 +
 +
The command set corresponds to [[Quantum/LBaaS/API_1.0]]
 +
 +
 +
<pre><nowiki>
 +
  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
 +
</nowiki></pre>
 +
 +
 +
=== healthmonitor-create ===
 +
 +
This command creates a new healthmonitor object.
 +
 +
 +
<pre><nowiki>
 +
healthmonitor-create --type <type> --delay <delay> --max_retries <max_retries> [--timeout <timeout>] <name>
 +
</nowiki></pre>
 +
 +
 +
* '''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.
  
  
 
<pre><nowiki>
 
<pre><nowiki>
    healthmonitor-create        Create a healthmonitor
+
healthmonitor-delete <healthmonitor-id>
    healthmonitor-delete        Delete a given healthmonitor
+
</nowiki></pre>
    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-list ===
 +
 
 +
This command shows list of health monitor objects available to tenant.
 +
 
  
    healthmonitor-associate    Associate a healthmonitor with a pool
+
<pre><nowiki>
    healthmonitor-disassociate  Disassociate a healthmonitor with a pool
+
healthmonitor-list
 +
</nowiki></pre>
  
    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
+
=== healthmonitor-show ===
    pool-delete                Delete a given pool
+
This command shows information about a given health monitor object.
    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
+
<pre><nowiki>
    vip-list                    List vips that belong to a given tenant
+
healthmonitor-show <healthmonitor-id>
    vip-show                    Show information of a given vip
+
</nowiki></pre>
    vip-update                 Update vip's information
+
 
 +
 
 +
=== healthmonitor-update ===
 +
This command updates information of a given health monitor object.
 +
 
 +
 
 +
<pre><nowiki>
 +
healthmonitor-update [--type <type>] [--delay <delay>] [--max_retries <max_retries>] [--timeout <timeout>] [--name <name>] <healthmonitor-id>
 
</nowiki></pre>
 
</nowiki></pre>

Revision as of 15:49, 9 November 2012

Scope

This document describes LBaaS commands that need to be added into python-quantumclient in order to support LBaaS extension. The implementation is proposed to be extensible and support extensions.

Implementation Details

In Grizzly Quantum will be extended with advanced services framework, every service introduces an extension for Quantum's REST API. The same extended operations should be supported by CLI client.

It is proposed to introduce extension framework into Client. The framework will enumerate and load extensions, every extension announces itself with the command prefix and expands command set with new features. For example, LBaaS extension introduces command [lbaas] vip-list , prefix lbaas may be optional until commands from different extension interferes. For interactive mode the user should be able to specify what extension subset 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 to use and implement.

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>