193 Commits

Author SHA1 Message Date
Dean Troyer
9137cc304d Do lookups for user, project in volume create
This required https://review.openstack.org/26323 in keystoneclient,
merged long ago...

Also adds some tests for 'volume create'

Change-Id: I55bededbc20b5dcf2833c59eb2b6b069703d8a9a
2013-10-25 12:21:41 -05:00
Dirk Mueller
1fa1330e1d Adjust to non-deprecated names in Keyring 1.6.+
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
2013-10-24 14:25:40 +02:00
Jenkins
29642c2c3d Merge "Sync oslo-incubator for py33 fixes" 2013-10-13 04:56:38 +00:00
Jenkins
b3fd6ad6db Merge "Add to clientmanager tests" 2013-10-13 04:56:22 +00:00
Dean Troyer
fa649f4654 Sync oslo-incubator for py33 fixes
Change-Id: I261ec6bb34b29169ba3547305deab051f85a3d4d
2013-10-11 11:59:05 -05:00
Dean Troyer
3f9c68f1c6 Add options to support TLS certificate verification
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
2013-10-07 18:17:48 -05:00
Dean Troyer
ad59b03be6 Add object-store show commands
* Add lib.container.show_container() and lib.object.show_object()
* Add container and object show commands

Change-Id: I963d664c55b59739453345f0f353aa2eaf1bf70e
2013-09-26 13:34:11 -05:00
Dean Troyer
6fe687fdf6 Delay authentication to handle commands that do not require it
* 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
2013-09-12 16:23:14 -05:00
Dean Troyer
8898e020fb Identity v3 tests
* 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
2013-09-09 14:58:28 -05:00
Dean Troyer
7a0a7d67ed Prepare for Identity v3 tests
* 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
2013-09-09 14:52:50 -05:00
Dean Troyer
916bb68dfd Add to clientmanager tests
Change-Id: Iea59c494f31de9c3e1d662f89e6e2babcc8fbd61
2013-09-05 12:54:14 -05:00
Dean Troyer
44c97cc099 Add Identity v2 role and service tests
* 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
2013-09-04 21:37:45 +00:00
Dean Troyer
eb405a88c4 Refactor fake data for projects and users
* Move fake data structures into tests/identity/fakes.py
* Use fake clients correctly and support multiple client versions

Change-Id: Icacbb2ca740b63937bd2c4442af61b620638b53e
2013-09-04 14:48:24 -05:00
Dean Troyer
725e2543ef Object API commands using our REST API layer
* 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
2013-08-28 22:16:34 -05:00
Dean Troyer
17f13f7bf4 Create a new base REST API interface
* 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
2013-08-23 12:08:32 -05:00
Jenkins
b440986e6e Merge "Re-order oauth commands and sync with keystoneclient" 2013-08-23 16:24:20 +00:00
Steve Martinelli
880323e91d Re-order oauth commands and sync with keystoneclient
1) split out token and consumer
2) sync parameters with keystoneclient

Change-Id: I2d529f0f9087f9939101e963af3d801497fc1171
2013-08-21 15:24:50 -05:00
Dean Troyer
22a6e8891e Add Identity v2 user tests
* 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
2013-08-19 15:26:51 -05:00
Dean Troyer
493339d4da Add Identity v2 project tests
* 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
2013-08-16 14:35:46 -05:00
Dean Troyer
af87489022 Change version reporting to use pbr
Gets rid of the hard-coded version string in shell.py

Change-Id: I8b818c9a8f1224669079141e7a7caf614e588d20
2013-08-02 12:11:49 -05:00
Jenkins
0cc5811122 Merge "Prep for 0.2 release (0.2.rc1)" 2013-08-01 22:51:30 +00:00
Dean Troyer
6f9dcc13f6 Prep for 0.2 release (0.2.rc1)
* 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
2013-08-01 16:21:22 -05:00
Jenkins
f293027815 Merge "Remove tenant round 3 - other commands" 2013-07-31 22:30:12 +00:00
Jenkins
0f63f46a07 Merge "Remove tenant round 2 - Identity API" 2013-07-31 22:29:03 +00:00
Jenkins
cd0f34b2d6 Merge "Remove tenant round 1 - global options" 2013-07-31 22:29:03 +00:00
Steve Martinelli
ce17a0b588 Remove 'oauth authorization show' function from identity v3
Remove the mentioned function since I removed it in the client.

Change-Id: I45e713a1cdad92d257b895adfaa269404be6e6d8
2013-07-31 13:54:39 -05:00
Jenkins
661da45f58 Merge "Add security group commands" 2013-07-31 15:16:48 +00:00
Dean Troyer
7d138b94ec Remove tenant round 3 - other commands
Mostly options and help strings:
* image, server, project usage, volume

Change-Id: I788b0660f8c2daacde53c20a72dd1afc60cf5159
2013-07-31 10:12:20 -05:00
Dean Troyer
c385180df2 Remove tenant round 2 - Identity API
Rename everything in the Identity v2 code including the file and classes.
* role, tenant, user

Change-Id: I0b99c60a24f5875120136d2f216aa3b6bce1c641
2013-07-31 10:10:45 -05:00
Dean Troyer
0aa3c206a3 Remove tenant round 1 - global options
Change the global auth options to use 'project', leave the original
tenant options in place but silent for compatability with the existing
project CLI auth options.  This is the only compatibility for tenant
usage in this changeover.

Change-Id: I3cce6e552f18822cc9f445ec5f301b0f5d9003f8
2013-07-31 10:07:50 -05:00
Jenkins
9ec1cf385e Merge "Begin Python 3 compatability" 2013-07-31 15:05:01 +00:00
Dean Troyer
978c2e7dec Add server ssh command
Change-Id: I9317ad6a47818d5479a046b4be8c5adbbce613ef
2013-07-29 19:18:00 -05:00
Dean Troyer
dfb0e3e3c1 Begin Python 3 compatability
* use six.iteritems()
* replace basestring with six.string_types
* convert print statements to functions (they're all debugging and should
  be removed eventually anyway)

* clean up OpenStack copyright: LLC -> Foundation

Change-Id: Icb14212bcb408e63816bfec3922a697bc1a6c946
2013-07-29 19:12:29 -05:00
Dean Troyer
c94e262df8 Add security group commands
* Add security group: create, delete, list, set, show
* Add server: add secgroup, remove secgroup
* Add security group rule: create, delete, list
* Add Oslo's strutils and gettextutils

* Adds parseractions.RangeAction() to handle option arguments of either a single number
  or a range of numbers: '--port 25'  or '--port 1024:65535'

Blueprint: nova-client

Change-Id: Iad2de1b273ba29197709fc4c6a1036b4ae99725f
2013-07-29 19:07:22 -05:00
Dean Troyer
65d2a14e3e Add server resize command
* add server resize
* update --wait handling for server create, reboot, rebuild
* move _wait_for_status to utils

Blueprint: nova-client

Rebased after https://review.openstack.org/38162 was committed

Change-Id: I7a43b996feecadc7628fcfe20cd5b17333762739
2013-07-29 18:57:02 -05:00
Dean Troyer
3cc313a60d Add server migrate command
Blueprint: nova-client

Note: I've tested that the API calls are made correctly but do not have an
environment with migration proerly enabled to watch it complete...

Change-Id: Ideaf0985d43aa2be22390cf0d2850124c549632d
2013-07-29 18:43:16 -05:00
Dean Troyer
3ff6378c23 Add server commands: (un)lock, (un)rescue, (un)set, add/remove volume
* server lock/unlock, rescue/unrescue, set/unset
* add/remove volume

Blueprint: nova-client

Change-Id: I3709ecdb297ab15ad44df09d89af840164271a66
2013-07-29 18:21:21 -05:00
Jenkins
22386eb9e6 Merge "Add usage command for compute api" 2013-07-26 19:55:52 +00:00
Jenkins
ec9b907e78 Merge "Fix --password in server rebuild" 2013-07-26 18:12:33 +00:00
Steve Martinelli
fcc34652ec Add usage command for compute api
As per the blueprint: nova-client, adding usage command for
compute

Change-Id: Ib694b0b1ebf56b2a62b6f09c67ffaa6959911605
2013-07-26 00:12:04 -05:00
Steve Martinelli
3789cdfebe Add server diagnose for compute api
Add server diagnose for compute api as per blueprint: nova-client

Change-Id: I0a2c13e36e1e13f61ef4ba00ec146634f9644648
2013-07-23 23:06:29 -05:00
Jenkins
e351991d74 Merge "Change volume manager to volume type, unset property for type" 2013-07-23 15:26:29 +00:00
Jenkins
e313afb9f0 Merge "Add password field to set user" 2013-07-23 15:26:29 +00:00
Jenkins
f175d12247 Merge "Clean up properties (metadata) formatting" 2013-07-23 15:25:26 +00:00
Dean Troyer
61beeb7e20 Fix --password in server rebuild
Use correct attribute to get password in server rebuild command.

Fixes bug 1190722

Change-Id: Ibe2ccb8840a385319781885b8aadca6e1ba4cc43
2013-07-22 10:23:58 -05:00
Steve Martinelli
8dd9feb643 Change volume manager to volume type, unset property for type
In the unset method in volume_type, it was calling the volume
manager, instead of the volume_type.

Bug: 1203561
Change-Id: Iea1a9214db90f15815a456955040c0c5a795ff3d
2013-07-21 14:45:22 -05:00
Dean Troyer
818c948752 Clean up properties (metadata) formatting
* Reformat default dict output to key='value' using utils.format_dict()
* Changes utils.get_item_properties() to pass the specific field to
  the formatter function rather than the entire resource object, this
  allows the formatter to handle multiple attributes.
* Updates server, volume, volume type commands

Change-Id: I90eebf6b84ae200532f09cd925f371598ea54a64
2013-07-21 13:59:11 -05:00
Steve Martinelli
b4904b0a4a Add password field to set user
Noticed this was missing in set user, the password from parsed
args wasn't being passed in.

Change-Id: I0eb748444b86b374265b6e1dd02f69a922a9b043
2013-07-20 16:20:48 -05:00
Jenkins
7b47579dad Merge "Complete Image v1" 2013-07-20 20:17:00 +00:00
Jenkins
5d1d738968 Merge "Add aggregate commands" 2013-07-19 20:39:44 +00:00