130 Commits

Author SHA1 Message Date
Dean Troyer
ae957b176e Use Keystone client session.Session
This replaces the restapi requests wrapper with the one from Keystone client so
we can take advantage of the auth plugins.

As a first step only the v2 and v3 token and password plugins are supported.
This maintainis no changes to the command options or environment variables.

The next steps will include reworking the other API client interfaces to
fully utilize the single auth session.

Blueprint: ksc-session-auth
Change-Id: I47ec63291e4c3cf36c8061299a4764f60b36ab89
2014-09-08 00:06:52 -05:00
Jenkins
3317e0abf6 Merge "Add action 'user password set' for identiy v3" 2014-09-07 15:12:18 +00:00
Mouad Benchchaoui
0069adef5c Add action 'user password set' for identiy v3
This new action will allow a user to change their own password by
either providing the new password as an argument (--password) or by
being prompted to enter the new password.
In both cases user will be prompted to enter their current password
as required by the v3 API.

Closes-Bug: #1337245
Change-Id: I5e1e0fd2b46a4502318da57f7cce2b236fb2d93d
2014-09-07 02:37:54 -04:00
Jenkins
dc9ce6d608 Merge "Change app.restapi to app.client_manager.session" 2014-09-06 21:46:40 +00:00
Jenkins
b7816f3997 Merge "add service/interface/region filter for endpoint v3" 2014-09-06 17:02:45 +00:00
Dean Troyer
1ab38679b6 Make Identity client load like the others
This does a couple of things:
* Loads the Identity client module in the same manner as the other
  'base' clients (where 'base' == 'included in the OSC repo')
* Changes the entry point group name for the base clients to
  'openstack.cli.base'.  The extension group name remains the same.
* Loads the base modules first followed by the extension modules.
  This load order ensures that the extension module commands are all
  loaded _after_ the base commands, allowing extensions to now override
  the base commands.

Change-Id: I4b9ca7f1df6eb8bbe8e3f663f3065c2ed80ce20b
2014-08-28 08:29:32 -05:00
Dean Troyer
4bbd03210f Change app.restapi to app.client_manager.session
This is step 1 toward using Keystone client's session.Session as the
primary session/requests interface in OSC.

* Move the session create into ClientManager and rename 'restapi' attribute to 'session'
* Set up ClientManager and session loggers
* Fix container and object command references to restapi/api

Change-Id: I013d81520b336c7a6422cd22c05d1d65655e64f8
2014-08-25 13:38:03 -05:00
Jenkins
7a8c9a7a8a Merge "add tests for identity v3 endpoint" 2014-08-23 16:42:08 +00:00
wanghong
181f16da8a add service/interface/region filter for endpoint v3
Change-Id: I7eac5b2ff5f5a6f3f08b22dd3a48a5ae7e2c056b
Closes-Bug: #1281888
2014-08-18 16:41:15 +08:00
wanghong
99ad9ef92e add tests for identity v3 endpoint
Change-Id: I1479460473656ea4e2a48a976808371e840b49c1
Closes-Bug: #1348867
2014-08-14 20:17:54 +08:00
wanghong
2dc060cff3 add tests for identity v3 domain
Change-Id: I478215f62b51e6e73283f0304ea1b0736177d1b1
2014-08-14 20:11:00 +08:00
Jenkins
b3b59c20d2 Merge "user create v2.0 depends on tenantId in response" 2014-08-07 20:26:07 +00:00
Steve Martinelli
e2ebeb7fdc user create v2.0 depends on tenantId in response
User create for v2.0 no longer always contains a tenantId in the
response. Add a guard to check for tenantId first before pop'ing it.

Change-Id: I428dbc26520bb86efad33768ce04f584217ad168
Closes-Bug: #1352119
2014-08-04 00:04:13 -04:00
wanghong
a9fb5fa102 v3 endpoint set shouldn't always need service option
Change-Id: I71aab1ee4f467dc963e7afa7fc1c82b4255ea822
Closes-Bug: #1351121
2014-08-04 02:00:21 +00:00
wanghong
81d11799c6 fix typo in identity/v3/endpoint.py
Change-Id: Idf57a6a988f5c0f20f3b0b19ab896642ce10d70b
2014-07-29 15:37:24 +08:00
Dean Troyer
b96d9d374c More make_client() logging cleanup
Change-Id: I5af4b9c52c69d6e31e6ca5f90d5880c097880a71
2014-07-26 12:22:50 -06:00
Jenkins
e0cf68f995 Merge "Normalize more help strings" 2014-07-24 22:09:28 +00:00
Dean Troyer
5bb6c72ef7 Normalize more help strings
Change-Id: I2b21bc904e35c1cc50da369d148e607fe3e8cf90
2014-07-24 11:22:29 -05:00
Jamie Lennox
5e7e94d59e Fix IDP commands
identity_client.identity_providers doesn't exist as a manager. These are
located at identity_client.federation.identity_providers. Fix the
routes.

Also fix passing id to .create() as a positional argument. This is not
allowed from keystoneclient it should be passed as a keyword argument.

Change-Id: I912c27fcee58b0723e27e9147def2cbd1c62c288
2014-07-21 10:04:47 +10:00
Jenkins
70283744a0 Merge "Domain administrator cannot do project operations" 2014-07-09 08:18:23 +00:00
Dean Troyer
21bd4619ae Clean up make_client() logging
Change-Id: I0b6760a6401b50e3dfb891af75424ae89df42ebc
2014-07-08 01:44:55 -05:00
Terry Howe
b638488697 Domain administrator cannot do project operations
Domain administrator cannot do project operations because the
require access to the domain API (which they don't have).  When
attempting to find a domain for project operations, ignore errors
because the API returns nothing without indicating there is a
problem.  The domain administrators will have to use a domain id,
but they will still be able to do project operations.  If the user
does not have permission to read the domain table, they cannot
use domain names.

Change-Id: Ieed5d420022a407c8296a0bb3569d9469c89d752
Closes-Bug: #1317478
Closes-Bug: #1317485
2014-07-07 20:18:39 +00:00
Matthieu Huin
5672c688d1 trust authentication
This patch enables authenticating by using a trust. The trust ID
must be set with the parameter --os-trust-id or the env variable
OS_TRUST_ID. Trusts are available for the identity v3 API.

Co-Authored-By: Florent Flament <florent.flament@cloudwatt.com>
Change-Id: Iacc389b203bbadda53ca31a7f5a9b8b6e1a1f522
2014-07-03 10:12:02 +02:00
Jenkins
4bebd8ac12 Merge "Rename token classes to match command" 2014-06-27 17:48:25 +00:00
Dean Troyer
1fca946890 Rename token classes to match command
The token create/delete commands were renamed but not the class names.
Rename them to match.

Change-Id: Icbf9c0a954ed0332fa4c99e4ee2612bb11f89e3a
2014-06-27 09:14:58 -05:00
Alex Gaynor
86e0cf70cf Fixed typos in the identity client
Change-Id: I76042110f5a008d4c097862a572448448f92a504
2014-06-26 23:05:30 -07:00
Dean Troyer
9dd3a5326c Complete Identity v3 list command filters
Complete the 'group list' and 'user list' filter options following
the refactor in https://review.openstack.org/69878

Change-Id: Ib4af417c56d4f7da4b88852f191af615cc7fa2ec
2014-06-19 13:00:02 -05:00
Jenkins
c6cc1d72d5 Merge "Refactor role list subcommand for identity v3 api" 2014-06-19 17:14:03 +00:00
Jenkins
0a491b2ac8 Merge "Change the token verb to issue/revoke" 2014-06-18 22:44:24 +00:00
Terry Howe
25d6955bb4 Change the token verb to issue/revoke
Change the token verb to issue/revoke as documented in:

https://wiki.openstack.org/wiki/OpenStackClient/Commands#token
https://wiki.openstack.org/wiki/OpenStackClient/Commands#Actions

Change-Id: I44f77f98ad3269c4f2149301c204804dcb75ac81
2014-06-18 14:58:04 -06:00
Jenkins
1f2189d6de Merge "Add token delete command for identity v2" 2014-06-18 15:37:40 +00:00
Steve Martinelli
d5aaba9d82 Refactor oauth1 code for updates
The keystoneclient code for oauth1 support has changed.
As such, we should remove the delete, list and authenticate
functions, since they are not in keystoneclient.

Also, we must now pass in the project id when creating a
request token. Additionally we must now pass in roles
when authorizing a request token.

Added functional tests to ensure output and input args
are the same.

bp add-oauth-support
Change-Id: I559c18a73ad95a0c8b7a6a95f463b78334186f61
2014-06-14 17:21:17 -04:00
Jenkins
497a38903c Merge "Add role assignments list support to identity v3" 2014-06-13 20:56:27 +00:00
Qiu Yu
f78a3f1653 Refactor role list subcommand for identity v3 api
Currently parts of user list and group list command are actually
functioning as role listing, which is quite counter intuitive and
misleading.

This refactor change move role related logic to a single place of role
list command. It now allows role grants listing for user/group +
domain/project combinations.

If no user or group specified, it will list all roles in the system,
which is the default behaviour.

Change-Id: I4ced6df4b76f018d01000d28b4281ad9f252ffcc
2014-06-13 15:20:42 -05:00
Jenkins
3b925e9806 Merge "replace string format arguments with function parameters" 2014-06-10 02:27:54 +00:00
henriquetruta
58f80e4c75 Add role assignments list support to identity v3
The assignments manager and its test class were created.
Some fake stubs were also added on the fakes.py module.

The "openstack role assignment list" command was created.

Change-Id: Iae94f4fee608ea3e09ff38961ad22edc38efb89c
Implements: blueprint roles-assignment-list
Closes-Bug: 1246310
2014-05-30 15:55:24 -03:00
Terry Howe
d6321c0893 Add token delete command for identity v2
Identity v2 has undocumented support for token delete and
keystoneclient also has support.

Change-Id: Ib98d17958ceb88f7b63471691dee71fdb884ce2e
Closes-Bug: #1318442
2014-05-23 10:17:42 -06:00
Alex Gaynor
a8087a6c8b Fixed several typos throughout the codebase
Change-Id: I048ee857fc1215fea7f60978364894e1b5abdf66
2014-05-21 07:47:52 -07:00
Christian Berendt
3b485de6b0 replace string format arguments with function parameters
There are files containing string format arguments inside
logging messages. Using logging function parameters should
be preferred.

Change-Id: Ic749ac9eb55564ed631d57055a5a4dfc3aebd169
2014-05-20 13:49:56 +02:00
Jenkins
a93851d6af Merge "Implement CRUD operations for Identity Providers" 2014-05-09 21:38:20 +00:00
Marek Denis
ef9496a4fc Implement CRUD operations for Identity Providers
Operations for:
    * adding Identity Provider
    * listing Identity Providers
    * showing Identity Provider
    * updating Identity Provider
    * deleting Identity Provider

Change-Id: I4557168309f93e4670116b5c3c0e29252ff0c40f
Implements: bp/add-openstackclient-federation-crud
2014-04-24 14:55:54 +02:00
Jenkins
2643df7405 Merge "Make endpoint commands more consistent" 2014-04-23 23:11:49 +00:00
Jenkins
845f6705bf Merge "Fix the project option to user list so it filters" 2014-04-23 23:11:48 +00:00
Jenkins
8ec78a10f8 Merge "Pass arguments to v3 keystoneclient by kwarg" 2014-04-17 02:40:36 +00:00
Steve Martinelli
01db6d977f move read_blob_file_contents to utils
Thinking ahead, a few other upcoming keystone features could
benefit from reading contents from a file. Thus, moving the
function from policy to utils.

Change-Id: I713ab0e5a00c949ad996daf83b775a7c19044888
2014-04-14 22:16:59 -05:00
Jamie Lennox
022b6d95d1 Pass arguments to v3 keystoneclient by kwarg
Keystoneclient has added the positional decorator which emits a warning
if arguments aren't passed by keyword. This means we are getting
warnings in certain places in openstackclient.

Change-Id: Ic5446cd6f122cbb56fce543011386d53bc31fe18
Closes-Bug: #1302199
2014-04-04 08:09:43 +10:00
Terry Howe
e72072adc3 Fix the project option to user list so it filters
The --project option to the user list command was not implemented
* Allow users to be filted by project
* Support id or name of project with the find_resource command
* Make sure the report does not contain duplicates

Change-Id: Ic0e10cccd7749d38a7d4b80bbdc68e61a660084b
Closes-Bug: #1177255
2014-04-01 09:03:45 -06:00
Terry Howe
bea6e6ac23 Make endpoint commands more consistent
Make endpoints more consistent across create, show, etc
* Make the name option required for create
* Use a common function to fetch services by id, name or type
* Have show work by endpoint id or by service id, type or name
* Have show display all the fields by default
* Remove capability to filter queries by attribute value pairs

Change-Id: Idaa4b8d930ba859fd62de777e44a10b1ed58c79b
Partial-Bug: #1184012
2014-03-28 12:33:58 -06:00
Chris Johnson
8117256d7d Correct display of project/tenant id on display of credentials
This change corrects the display of ec2 credentails within the
ListEC2Creds method. Added explicit headers and corrected data listt o
specify tenant_id instead of project id.

Change-Id: I2ea579082bee800d774f202bdc38e2d546e57e77
Closes-Bug: #1292337
2014-03-21 11:22:22 -04:00
Steven Hardy
0c0803d363 identity v3 allow project list filtering by domain
The underlying keystoneclient interface allows filtering by domain,
so support it in the cli interface because it makes project list
much nicer to use in a multi-domain deployment.

Change-Id: If3f5cf1205c1e9cf314f8286a3ae81bda4456b8f
Closes-Bug: #1289513
2014-03-13 09:32:21 +00:00