As discussed in https://review.openstack.org/#/c/36352/ for each
command, we were setting api = identity or volume... etc,
this was for an old way of calling commands that are is no longer
used.
Also removed openstackclient/common/command.py
Change-Id: I2705f35d343f2ae729dc22d6aed0b852b2f8ca19
* Add remove role
* Add --role to group list
* Add --role to user list
* Fix groups in AddRole()
* Remove the tweaks to utils.find_resource for domains; will address
that across domains, projects, users and groups in another patch.
I want to nail down the structure of these commands and get that into place
Change-Id: I8673dd8221ef88978dada5a2833c187026bdb31a
Basic cleanups:
* change metadata to property
* add new KeyValueAction to parse the property options
* multiple properties can be set using multiple --property args
* consistent formatting
* do lookups for volume args
Change-Id: Ib6c43f01ad46b395aee8c61e886f42e2a5f5573e
Adds:
* fixed-ip commands: add, remove
* floating-ip commands: add, create, delete, list, remove
* floating-ip-poo command: list
Also uses NAME_ATTR in the Resource class if present to determine
the attribute to be used for searching in utils.find_resource()
Change-Id: Ifd8fa60f880fc4050dea182ac24553cc2c4bff15
rebase again, and change util to look for display_name too
minor changes and rebase
add create/delete/list/set/show support for snapshot
Change-Id: I80261653fa919555a44ddda07b0a827ccd16e5e0
made the changes suggested by dtroyer
added client
modified setup.py entry points
updated pip required
added support for create/delete/list volume types
openstack list type
openstack create type typeName
openstack delete type typeNameOrId
Change-Id: I43655de151582e37f14dc9550151a66db7a009ab
* Use multiple entry point groups to represent each API+version
combination supported
* Add some tests
Try it out:
* Right now only '* user' commands have multiple overlapping versions;
you can see the selection between v2.0 and v3 by looking at the
command help output for 'tenant' vs 'project':
os --os-identity-api-version=2.0 help set user
os --os-identity-api-version=3 help set user
Change-Id: I7114fd246843df0243d354a7cce697810bb7de62
Made all the necessary changes to pass new PEP8 standards.
Also cleaned up docstrings to conform to the HACKING stanards.
Change-Id: Ib8df3030da7a7885655689ab5da0717748c9edbe
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
* 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
* move auth option checking back to OpenStackShell() to keep the shell-level
interaction at that level; add checking for token flow options
* make identity.client.make_client() configure keystoneclient.v2_0.Client()
properly for both password flow and token flow auth
* eliminated ClientManager.init_token(), set _service_catalog in __init__()
* compute client handles token flow
Change-Id: I42481b5424489387798c4ec6d3e2a723ab1e6067
Remove unused common.utils functions
prettyprint 0.6 removed printt at the last minute, our references
to it turned out to be in unused code; remove it.
Change-Id: I38a4d9a169beaecfd53eafc5b10f06201bac0c31
* Make the Identity client in identity.client.make_client()
* Auth via ClientManager.identity
* Skip extra auth roundtrip in compute client
Change-Id: I0190639e38f83997c233195f6cc27ff3afdfba10
blueprint client-manager
blueprint nova-client
bug 992841
Move the authentication logic into a new ClientManager class so that only commands that need to authenticate will trigger that code.
Implement "list server" and "show server" commands as examples of using the ClientManager, Lister, and ShowOne classes.
Change-Id: I9845b70b33bae4b193dbe41871bf0ca8e286a727