Allows client libraries to have complete access to the rest of the
OSC ClientManager. In addition, extension libraries can define
global options (for API version options/env vars) and define
versioned API entry points similar to the in-repo commands.
The changes to ClientManager exposed some issues in the existing
object api tests that needed to be cleaned up.
Change-Id: Ic9662edf34c5dd130a2f1a69d2454adefc1f8a95
This finally gets all of the API tests into a common framework regarding
test classes and so forth.
Change-Id: If675347129c50dcba0bfc5b6c58f5a2ca57ff46c
This required https://review.openstack.org/26323 in keystoneclient,
merged long ago...
Also adds some tests for 'volume create'
Change-Id: I55bededbc20b5dcf2833c59eb2b6b069703d8a9a
Keyring 1.1 moved the concrete backend implementations into their
own modules. As we depend on 1.6.1+, we can make use of the new
name and remove the old one without deprecation-fallback.
Change-Id: I0682b13fc9f488b3f3d9fd057f712909fcd48bc4
Add --os-cacert and --verify|--insecure options using the same
sematics as the other project CLIs. --verify is included for
completeness.
Bug: 1236608
Change-Id: I8a116d790db5aa4cb17a2207efedce7cb229eba3
* Add lib.container.show_container() and lib.object.show_object()
* Add container and object show commands
Change-Id: I963d664c55b59739453345f0f353aa2eaf1bf70e
* Move the auth to OpenStackShell.prepare_to_run_command() and skip it if
the command's auth_required == False
* Default auth_required = True for all commands
* Do authentication up-front for interactive use as
OpenStackShell.prepare_to_run_command() is not called
Change-Id: Id330092f242af624f430d469882d15f4a22f4e37
* Add project, user, role and service v3 tests
* Fix issues in commands with enable/disable
* Make commands and tests more consistent between versions
* Make formatting and comments more consistent
Change-Id: Id21e7a5abd7e421a7742f937861ec46b53095fc7
* Split identity/fakes.py for v2_0 and v3
* Split identity/test_identity.py for v2_0 and v3
* Fix issues in commands with enable/disable
* Clean up v2 commands
Change-Id: I6e536b6a130fc556dbd7dcf9f2e76d939ca1bc1c
* Add current auth info (auth_ref) to ClientManager
* Fix identity.v2_0.role.ListUserRole to get default user/project
from ClientManager.auth_ref
* Fix identity.v2_0.role.AddRole call to roles.add_user_role()
Change-Id: Ie8bf41c491d97b0292a2b86bdc9b7580989a7f97
* Move fake data structures into tests/identity/fakes.py
* Use fake clients correctly and support multiple client versions
Change-Id: Icacbb2ca740b63937bd2c4442af61b620638b53e
* Add object-store API to ClientManager
* Add object-store client
* Add Object API library in openstackclient.object.v1.lib
* Add Object API {container,object} list commands
* Add library tests
* Add command tests
This should complete the Object v1 container and object list commands
Change-Id: Ib1770d45efa8871959826b85faafa1e0bcef0a03
* restapi module provides basic REST API support
* uses dicts rather than Resource classes
* JSON serialization/deserialization
* log requests in 'curl' format
* basic API boilerplate for create/delete/list/set/show verbs
* ignore H302 due to urllib import
Change-Id: I3cb91e44e631ee19e9f5dea19b6bac5d599d19ce
* implement Identity command tests for v2 user
Also re-work the user create and set commands for exclusive options
(--enable|--disable) to actually behave properly. Yay tests!
Change-Id: Ie1ec2569b3d85a9d556ee70f2e8f69fd2a3c03c8
* establish the the form of cliff command classes
* implement some common fake objects
* implement Identity command tests for v2 project
* fix stdout/stderr capture
Also re-work the project create and set commands for exclusive options
(--enable|--disable) to actually behave properly. Yay tests!
Change-Id: Icbb313db544c1f8dd3c9af7709971838b5a4d115
* rename HACKING to HACKING.rst and refer to the common OpenStack HACKING file
* add the barest of pointers to the wiki, etc. to the source docs
* add a bare-bones man page
Change-Id: I80e5b972af645f14ef17ae87f182ab09cb08dabe