74 Commits

Author SHA1 Message Date
Bhuvan Arumugam
8010e773ac Document the use of keyring.
* README.rst
  Document the option --os-use-keyring, and environment variable
  OS_USE_KEYRING, to enable keyring.

Change-Id: I54ceb2d2692fecca328da16f6ed14db8d09a6eb7
2012-08-22 15:57:59 -07:00
Jenkins
a5aa06c92f Merge "Keyring support for openstackclient." 2012-08-22 20:49:54 +00:00
Clark Boylan
5bf17126b9 Add nosehtmloutput as a test dependency.
Adding nosehtmloutput as a test dependency allows nose to output its
results to an html file. This will be used by Jenkins to save logs on
a different server.

Change-Id: I9f7bdf848aeb0fee727da9cd3b651b3a3ce53182
2012-08-21 14:37:29 -07:00
Bhuvan Arumugam
f0cefcc77d Keyring support for openstackclient.
Bug: 1030440

If password is defined in keyring, use it; otherwise, prompt for the
password. Keying is configured using command line switch,
--os-use-keyring or env(OS_USE_KEYRING).

* openstackclient/common/openstackkeyring.py
  The abstract class for keyring, specifically for openstack. The
  class is used to store encrypted password in keyring, without
  prompting for keyring password. The encrypted password is
  stored in ~/.openstack-keyring.cfg file.

* openstack-common.py
  Update openstackkeyring library from openstack.common.

* openstackclient/shell.py
  OpenStackClient.build_option_parser(): New boolean argument,
   --os-use-keyring, default to env(OS_USE_KEYRING).
  OpenStackClient.authenticate_user(): Get password from keyring,
  if it is defined; otherwise, prompt for the password. If user
  enter a password and keyring is enabled, store it in keyring.
  OpenStackClient.init_keyring_backend(): New method to define
  openstack backend for keyring.
  OpenStackClient.get_password_from_keyring(): New method to
  get password from keyring.
  OpenStackClient.set_password_in_keyring(): New method go set
  password in keyring.

* toos/pip-requires
  Define keyring and pycrypto as one of dependent.

Change-Id: I36d3a63054658c0ef0553d68b38fefbc236930ef
2012-08-15 12:13:36 -07:00
Dolph Mathews
540c4883d6 Secure password prompt (docs)
Change-Id: I879a8aba13318f1dd660a487cbd1fd20c7ae659b
2012-07-13 14:54:27 -05:00
Jenkins
6d911d2d41 Merge "Use PyPI for client libs." 2012-07-05 17:16:38 +00:00
Jenkins
2223308983 Merge "If no password in env or command line, try prompting." 2012-07-05 16:56:35 +00:00
Monty Taylor
b04d7a988c Use PyPI for client libs.
Change-Id: I1a77f2a5973053de0e45b815359ff2fa42318682
2012-07-02 18:27:24 -04:00
Jenkins
fd1b118565 Merge "Fixed a typo in the rst docs." 2012-07-02 13:44:28 +00:00
Ken Thomas
39da32b3a5 If no password in env or command line, try prompting.
Implements blueprint password-prompt

This logic was recently added to keystone as a short term fix. The long
term fix is to have that same logic here. Basically, if no password is
present in the env or command line and there's a tty available for us
to prompt, then attempt to use getpass.

Change-Id: Ia0eec800b96c8f6ca1c2540e21e0e03c3880c713
2012-06-29 22:29:46 +00:00
Monty Taylor
89e21b6b30 Add read_versioninfo method.
Change-Id: Iba12b260a30cc1311967a833e26eaeb9bf3afb47
2012-06-26 21:06:04 -05:00
Lorin Hochstein
1a5aabf6fc Fixed a typo in the rst docs.
Change-Id: Ie3484f8fe0a63ff5a6815f3ec440adf7dc5d9482
2012-06-26 16:57:33 -04:00
Monty Taylor
99586e05d7 Add post-tag versioning.
Change-Id: I98e5f7aa788b1ab1a866b21e0a17a63b8d5efae3
2012-06-25 11:31:49 -05:00
Jenkins
01dd4540c5 Merge "Update Contributing blurb in the docs." 2012-06-22 17:39:46 +00:00
Clark Boylan
3dceacf6cd Update Contributing blurb in the docs.
Contributing blurb previously mentioned social coding and Github.
The OpenStack contribution workflow is slightly different. Provide
details on Github, LP, and Gerrit.

Change-Id: Ie5ecd25e5828de611561f37b3acbccc5cf3f0d04
2012-06-22 10:24:44 -07:00
Dean Troyer
f9aa3f3c84 Create tests for shell interface
* use unittest2
* shell: command-line options

Change-Id: I558fb10b8607e4f6e5c44d5fcac902546a8748a4
2012-06-22 10:20:04 -05:00
Dean Troyer
697a5ac6cb Refactor cliff.Command.run()
* All commands now perform their action in take_action().  Those producing
  output are derived from DisplayCommandBase.

Change-Id: Ic93ba9a2ad449d84242b6aa8624b41379c4fb79a
2012-06-20 10:03:01 -05:00
Jenkins
9be5803993 Merge "Move docs to doc." 2012-06-14 13:55:59 +00:00
Clark Boylan
6a8302b532 Fix pep8 issues.
Fix several pep8 issues and pin the pep8 test to pep8 version 1.1.
This should prevent future changes from being unmergable by the pep8
gate after a pep8 upgrade.

Change-Id: I4678a9179579fb5c7afe795fb43a8a89a99ad717
2012-06-13 10:49:43 -07:00
Clark Boylan
77e5ce57fd Move docs to doc.
To better facilitate the building and publishing of sphinx
documentation by Jenkins we are moving all openstack projects with
sphinx documentation to a common doc tree structure. Documentation
goes in project/doc/source and build results go in project/doc/build.

Change-Id: I925e687254bac9e06c2c520f4fc35a083e21c4ca
2012-06-11 14:37:48 -07:00
Matt Joyce
64f685ad63 minor fixes
Change-Id: Ib5601e1a932e0bfaa0341909416415d1e81ee915
2012-05-29 14:31:00 -07:00
Matt Joyce
8d089518f0 removing print call in roles get_data
Change-Id: I2aebf6099821212d4bd4b4b6d78b9752085168b2
2012-05-23 12:18:53 -07:00
Jenkins
3acb1c6a85 Merge "Fix 'set user' command" 2012-05-22 13:59:31 +00:00
Jenkins
23b42e2e4e Merge "Add role CRUD commands" 2012-05-21 16:48:25 +00:00
Lorin Hochstein
14ffd1c1df Documented python setup.py develop
Change-Id: Ic17f17e6c80f54a633676b7e17a899748038f8d6
2012-05-21 12:39:35 -04:00
Dean Troyer
ec586a75f4 Fix 'set user' command
* missing --name arguemnt in parser for SetUser()
* correct Identity api call for SetUser()

Fix bug 1001384

Change-Id: I51169a0585c1bfe106ddd2e390269f69fc32852c
2012-05-18 17:19:16 -05:00
Dean Troyer
a4aaac78a9 Add role CRUD commands
* add {add|create|delete|list|remove|show|user-list} role commands

Change-Id: I27129168a9f58154fcdb062a533fa926737f822f
2012-05-18 13:57:16 -05:00
Dean Troyer
0c4e131c6e Add endpoint CRUD commands
* add {create|delete|list|show} endpoint commands

Change-Id: Ife9fa789d5818d63288b09687b43d802b1b97858
2012-05-18 10:35:20 -05:00
Jenkins
f3dd77f30a Merge "Added :: to readme.rst to format correctly." 2012-05-16 17:17:16 +00:00
Jenkins
a7fe774554 Merge "Moved test related packages to test-requires" 2012-05-16 17:16:23 +00:00
Lorin Hochstein
fad694e428 Added :: to readme.rst to format correctly.
Also zapped a trailing bit of whitespace

Change-Id: I49d0306c0e73f096d091c27ba54705d9dbe9c0ca
2012-05-16 13:05:48 -04:00
Jenkins
b8ce56584b Merge "Added conf.py so Sphinx docs will build" 2012-05-16 17:05:30 +00:00
Jenkins
df5927a093 Merge "Clean up tenant and server" 2012-05-16 17:04:44 +00:00
Dean Troyer
90f9f1dfa0 Clean up tenant and server
* remove '_' from class names
* add class name to log instances
* some cleanups to HACKING

Change-Id: I1f6334318ee0d7d83cd3cea0e71ba4f05dd2b5c5
2012-05-16 11:44:18 -05:00
Lorin Hochstein
4109bdb5a0 Added conf.py so Sphinx docs will build
Change-Id: I4f88dfe0056ce724a152713719abdf3910663ead
2012-05-16 12:08:09 -04:00
Lorin Hochstein
e1afa4c7cc Document how to install the client
This documents a workaround for bug 993390.

Change-Id: I6d930aa9ad142096cdc2790df4be31f0b1570199
2012-05-16 12:02:18 -04:00
Lorin Hochstein
c4d00b1798 Moved test related packages to test-requires
Change-Id: Ib4a4394b279188aa969c504b52b19c26746a97e1
2012-05-16 11:56:28 -04:00
Jenkins
d6a2762746 Merge "Add user CRUD commands" 2012-05-16 14:29:23 +00:00
Dean Troyer
d6a4fb836f Update service commands
* add {create|delete} service
* allow 'service' arg to also search type attribute in show command

Change-Id: I992359dc95fab1fbdab0666d5cbb75e44ba6e0f3
2012-05-15 15:48:11 -05:00
Dean Troyer
0740d85c20 Add user CRUD commands
* add {create|delete|list|set|show} user commands
* fix pep8 issues

Change-Id: I46fe2375b8b4f95b82d8ba31ee8fb660a067d50a
2012-05-15 15:43:05 -05:00
Jenkins
fd8197de6d Merge "fix authentication setup in interactive mode and improve error handling so tracebacks are not printed twice" 2012-05-15 19:12:33 +00:00
Matt Joyce
25051a733d Updating Readme Document
Change-Id: I0c0f5c86b0bfa96ab4d7236eb2e7e7efab6fbac0
2012-05-14 17:01:46 -07:00
Matt Joyce
732863b9b7 correcting ordering of imports
undoing ordering patch.  adding more explicit descreption of
ordering rules to HACKING document.

Change-Id: I7b7d755f44e382b54f237914e654a05766ec5c2c
2012-05-14 16:08:35 -07:00
Doug Hellmann
8939d26a5b fix authentication setup in interactive mode and improve error handling so tracebacks are not printed twice
Change-Id: I59fb07369edad3b2f2abddba3c0d0f6bbce1eab1
2012-05-14 10:50:57 -04:00
Dean Troyer
f485d71222 Revise command boolean flags
* use --enable|--disable form for boolean 'enabled' value
* clean up logging strings

Change-Id: Ib4016bbef1763c27ec5a9edf36b926dc0d0b265c
2012-05-11 17:27:03 -05:00
Dean Troyer
fa4a4a37d6 Move get_client_class() to common.utils
* add constants for API_NAME

Change-Id: I8ccf72f032227e0a452d96303181549b1b11a5d1
2012-05-11 13:49:45 -05:00
Dean Troyer
5378322906 Add tenant CRUD commands
* add {create|delete|set} tenant commands

* move get_XXXX_properties() to common.utils.get_item_properties()
  add mixed_case_fields as an optional arg

Change-Id: I7b3bd9cefb08e39730886b31213cbe422b5a8453
2012-05-11 12:08:05 -05:00
Dean Troyer
712a8c7f9c Add API versioning support
* Specific versions supported are managed in XXXXXX.client.py with a
  mapping from version to client class.  This is based on the scheme
  that is included in novaclient; none of the other client libs have
  that capability.

Change-Id: I930b197f1189e7f52c3b0096e73e0773cf925542
2012-05-10 15:52:15 -05:00
Jenkins
9d224b3bf8 Merge "Add tenant commands, work on service" 2012-05-10 20:18:51 +00:00
Doug Hellmann
bf582a2d56 look at the command the user is going to run before trying to authenticate them
Change-Id: I4edc6a0f1e16be4cd80fe01f62869094b50ef120
2012-05-10 16:05:23 -04:00