Jump to: navigation, search

Difference between revisions of "OpenStackClient"

(DeprecatedPage template)
 
(12 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
{{DeprecatedPage}}
 +
 +
''[Note: As of January 2015 this page is no longer maintained, current documentation for OpenStackClient is maintained in the source repository and can be found in  [http://docs.openstack.org/developer/python-openstackclient/ OpenStack Documentation]'']
 +
 
The OpenStackClient CLI (aka '''OSC''') provides users with an improved experience in dealing with the variety of commands and arguments required to interact with [[OpenStack]].  It is (will be) a complete substitute for the bundled CLI binaries supplied with the [[OpenStack]] project clients.  Where possible it utilizes the existing client Python API libraries to minimize duplication of effort.   
 
The OpenStackClient CLI (aka '''OSC''') provides users with an improved experience in dealing with the variety of commands and arguments required to interact with [[OpenStack]].  It is (will be) a complete substitute for the bundled CLI binaries supplied with the [[OpenStack]] project clients.  Where possible it utilizes the existing client Python API libraries to minimize duplication of effort.   
  
{| border="1" cellpadding="2" cellspacing="0"
+
{| border="1" cellpadding="4" cellspacing="0"
 
|  Source code
 
|  Source code
| https://github.com/openstack/python-openstackclient
+
| https://git.openstack.org/cgit/openstack/python-openstackclient
 
|-
 
|-
| Bug tracker
+
| Bug tracker
 
| https://bugs.launchpad.net/python-openstackclient/+bugs
 
| https://bugs.launchpad.net/python-openstackclient/+bugs
 
|-
 
|-
| Blueprints
+
| Blueprints
 
| https://blueprints.launchpad.net/python-openstackclient
 
| https://blueprints.launchpad.net/python-openstackclient
 +
|-
 +
| PyPi
 +
| https://pypi.python.org/pypi/python-openstackclient
 +
|-
 +
| Tarball
 +
| http://tarballs.openstack.org/python-openstackclient
 +
|-
 +
| Developer Docs
 +
| http://docs.openstack.org/developer/python-openstackclient/
 
|}
 
|}
  
 
== Status ==
 
== Status ==
  
Status: '''In progress'''
+
Status: '''v0.4.0 released 20Jun2014'''
  
The <code>python-openstackclient</code> project is underway and pressing toward an initial 0.1 releaseProgress for implementing the commands can be tracked in the [https://blueprints.launchpad.net/python-openstackclient blueprints], there is one for each corresponding [[OpenStack]] CLI binary.
+
The <code>python-openstackclient</code> project is underway and has the basic set of commands for the layer 1 APIs implemented: Compute (2), identity (2.0, 3), image (1, 2), object-store (1), and volume (1)Ongoing work can be tracked in the [https://blueprints.launchpad.net/python-openstackclient blueprints].
  
 
== Documentation ==
 
== Documentation ==
Line 23: Line 36:
 
* [[/HumanInterfaceGuidelines|Human Interface Guidelines]]
 
* [[/HumanInterfaceGuidelines|Human Interface Guidelines]]
 
* [[/Authentication|Revised OSCLI Authentication]]
 
* [[/Authentication|Revised OSCLI Authentication]]
 +
* [[/Dotfiles|Dotfiles]] - User-specific configuration and state
  
=== Project Goals ===
+
== Project Goals ==
  
 
* Use the [[OpenStack]] Python client API modules, extending them as required
 
* Use the [[OpenStack]] Python client API modules, extending them as required
 
* Use consistent naming and structure for commands and arguments
 
* Use consistent naming and structure for commands and arguments
* Provide consistent output formats with optional machine parsable formats
+
* Provide consistent output formats with optional machine parseable formats
* Use a single-binary approach that also contains an embedded command-line that can execute multiple commands on a single authentication (see libvirt's <code>virsh</code> for an example)
+
* Use a single-binary approach that also contains an embedded shell that can execute multiple commands on a single authentication (see libvirt's <code>virsh</code> for an example)
 
* Independence from the [[OpenStack]] project names; only API names are referenced (to the extent possible)
 
* Independence from the [[OpenStack]] project names; only API names are referenced (to the extent possible)
  
=== Commands ===
+
== Commands ==
  
The OpenStackClient has a consistent and predictable format for all of its commands.  There is a list of command verbs and the action that can be expected from each of them.  Objects may be referenced by one or more words (<code>server</code> vs <code>access token</code>).  The general format of commands is the primary object being manipulated, followed by the verb, and optionally an additional object for those commands that manipulate two objects, followed by command-specific options and then the positional arguments if required.
+
The OpenStack Client has a [[OpenStackClient/HumanInterfaceGuidelines#Command_Structure|consistent and predictable format]] for all of its commands.  There is a [[OpenStackClient/Commands#Actions|list of command actions]] and the result that can be expected from each of them.  Objects may be referenced by one or more words (<code>server</code> or <code>access token</code>).  The general format of commands is the primary object being manipulated, followed by the action, and optionally an additional object for those commands that manipulate two objects, followed by command-specific options and then any positional arguments required.
  
There are also global options that control the overall behaviour of OSC, such as supplying authentication credentials or using specific API versions.  All options are what is commonly known as 'long options' in that they are one or more words preceeded by two dashes ('--') and using a single dash internally to replace spaces.  Most global options also have corresponding environment variables for convenience.
+
There are also global options that control the overall behaviour of OSC, such as supplying authentication credentials or using specific API versions.  All options are what is commonly known as 'long options' in that they are one or more words preceded by two dashes ('--') and using a single dash internally to replace spaces.  Most global options also have corresponding environment variables for convenience.
  
 
== Related projects ==
 
== Related projects ==
Line 44: Line 58:
 
* A Perl implementation is at https://metacpan.org/module/oscompute
 
* A Perl implementation is at https://metacpan.org/module/oscompute
 
* The original version of this page is at [[UnifiedCLI]]
 
* The original version of this page is at [[UnifiedCLI]]
 
== Notes to Self ==
 
 
* Add to [[RelatedProjects]] when the 0.1 release happens
 
  
 
----
 
----
 
[[Category:Client]]
 
[[Category:Client]]
 
[[Category:RelatedProjects]]
 
[[Category:RelatedProjects]]

Latest revision as of 20:23, 19 March 2015


Warning.svg Deprecated Page

This page contains details that are not valid anymore.
It is kept here only for historical reasons.
It was last updated on 2015-03-19

[Note: As of January 2015 this page is no longer maintained, current documentation for OpenStackClient is maintained in the source repository and can be found in OpenStack Documentation]

The OpenStackClient CLI (aka OSC) provides users with an improved experience in dealing with the variety of commands and arguments required to interact with OpenStack. It is (will be) a complete substitute for the bundled CLI binaries supplied with the OpenStack project clients. Where possible it utilizes the existing client Python API libraries to minimize duplication of effort.

Source code https://git.openstack.org/cgit/openstack/python-openstackclient
Bug tracker https://bugs.launchpad.net/python-openstackclient/+bugs
Blueprints https://blueprints.launchpad.net/python-openstackclient
PyPi https://pypi.python.org/pypi/python-openstackclient
Tarball http://tarballs.openstack.org/python-openstackclient
Developer Docs http://docs.openstack.org/developer/python-openstackclient/

Status

Status: v0.4.0 released 20Jun2014

The python-openstackclient project is underway and has the basic set of commands for the layer 1 APIs implemented: Compute (2), identity (2.0, 3), image (1, 2), object-store (1), and volume (1). Ongoing work can be tracked in the blueprints.

Documentation

Project Goals

  • Use the OpenStack Python client API modules, extending them as required
  • Use consistent naming and structure for commands and arguments
  • Provide consistent output formats with optional machine parseable formats
  • Use a single-binary approach that also contains an embedded shell that can execute multiple commands on a single authentication (see libvirt's virsh for an example)
  • Independence from the OpenStack project names; only API names are referenced (to the extent possible)

Commands

The OpenStack Client has a consistent and predictable format for all of its commands. There is a list of command actions and the result that can be expected from each of them. Objects may be referenced by one or more words (server or access token). The general format of commands is the primary object being manipulated, followed by the action, and optionally an additional object for those commands that manipulate two objects, followed by command-specific options and then any positional arguments required.

There are also global options that control the overall behaviour of OSC, such as supplying authentication credentials or using specific API versions. All options are what is commonly known as 'long options' in that they are one or more words preceded by two dashes ('--') and using a single dash internally to replace spaces. Most global options also have corresponding environment variables for convenience.

Related projects