29 Commits

Author SHA1 Message Date
Mohan Muppidi
3d7430463c take_action() method from command.Command shouldn't return
command.Command and command.Showone are base classes implemented
in cliff framework. Showone extends Command to allow take_action()
to return data to be formatted using a user-selectable formatter.
Most of the classes which are extended from Command in
openstackclient/identity/v3/ in some cases return data or return
nothing where it is not necessary, this commit fixes most of them.

Change-Id: I84c72ea4d6680f8bdbef5449316dd9a8af8c8286
Closes-Bug: 1550892
2016-02-29 17:23:29 +00:00
Akihiro Motoki
258c1102cc log take_action parameters in a single place
Previously each command logs take_action parameters explicitly
by using @utils.log_method decorator or log.debug().
Some commands have no logging.

This commit calls a logger in the base class and
drops all logging definition from individual commands.

Closes-Bug: #1532294
Change-Id: I43cd0290a4353c68c075bade9571c940733da1be
2016-02-02 09:58:32 +09:00
Dean Troyer
bf090c69c2 Switch to ksa Session
* Change session imports to keystoneauth1
* Change keystoneclient.exception imports to keystoneauth1
* Change exceptions raised from internal API from keystoneclient to openstack.common

Change-Id: I046d89f561d6fe04baae53726f9749d2e7fe2056
2015-12-02 01:55:14 +00:00
Rudolf Vriend
7075c90053 Evaluate --inherited in role list
the --inherited option was not being passed into keystoneclient

Closes-Bug: #1502822

Change-Id: I48170dc67b23cc9b0665b1e0f38118eea952f131
2015-10-06 13:39:22 -04:00
Hidekazu Nakamura
3f532a2b69 Remove backticks from help in role commands
the docs and code had inconsistencies with how it
references other arguments, lets just remove the
backticks from around them.

Change-Id: I43d17b07364e45387c6b9d86c2aca26eeea8ed93
2015-09-19 00:40:21 -04:00
Joshua Harlow
e3c46ece4a Use a common decorator to log 'take_action' activation
Instead of duplicating the same log statement throughout
the code, the same logic can be provided by a shared decorator
that abstracts away the logging capability and unifies it behind
a common function instead.

Change-Id: Icc63bced7347c8bbf0299a4c5821425a10892a79
2015-09-01 16:49:54 -07:00
Jamie Lennox
0cc1e5aa2b Use correct domain to find project
When adding a role to a group and project OSC is mistakenly using the
group_domain to find the project which will fail if the group_domain !=
project_domain.

Change-Id: I4c1bec9b3b183c755be121b91f40e026d707192b
Closes-Bug: #1483520
2015-08-11 06:49:20 +00:00
Samuel de Medeiros Queiroz
4097ec1d24 Fixes inherited role assignments CRUD calls
The paremeter to Keystone Client was passed as
'inherited', when it should be
'os_inherit_extension_inherited'.

Closes-Bug: #1482254

Change-Id: I1cb46add532223ef0b9620763b1047cc80e19ec0
2015-08-06 12:05:57 -03:00
Samuel de Medeiros Queiroz
ed241ef9bc Add support to inherited project role grant calls
Once inherited project role grant calls are
implemented on python-keystoneclient,
python-openstackclient also should support such
calls.
This patch add such support as well as its
related tests.

Co-Authored-By: Raildo Mascena <raildo@lsd.ufcg.edu.br>

Change-Id: Id72670be8640e5c6e2490a6ef849e9ec3493b1a9
Implements: blueprint hierarchical-multitenancy
2015-06-22 11:05:01 -03:00
Steve Martinelli
2b0013c5c1 Refactor option handling for user|group|project domain scoping
put the common options in identity.common, this way the help is
consistent

Change-Id: I5b09cfb56fa0f8d16feb95150f216fccbe9f2b22
2015-06-17 12:38:40 -04:00
Juan Antonio Osorio Robles
f7feef7f8d Enable specifying domain for group and role commands
Many of the commands for the group and role resources were lacking an
option to specify the specific domain groups, projects or users belong
to. This commit fixes that.

Change-Id: I461d2bcfd01ad2dea970de38ec7ad6f4a631ceb1
Closes-bug: #1446546
2015-06-08 17:05:10 +03:00
Juan Antonio Osorio Robles
3ca96ef93c Enable specifing domains in "role add"
If users, projects or groups are provided by name, there is a
possibility of the existence other users/projects/groups with the same
name in other domain.  Even though this is not a problem if the actual
ID is given instead of a name; this is mostly a usability enhancement.

So, three options were added, one for specifying the domain where the
user belongs, another one to specify the project's domain, and finally
one to specify the group's domain.

Change-Id: Iab04b0e04fa75ea5aa3723b8ea42a45f58a6cdb2
Closes-Bug: #1421328
2015-05-12 11:48:01 +03:00
Nathan Kinder
4c107e6f1b Role operations should not require list object permission
When using Keystone's policy.v3cloudsample.json policy file, a project admin is
supposed to be able to manage role assignments.  Unfortunately, a project admin
isn't allowed to perform these operations using python-openstackclient, as we
attempt to perform list operations for any of the object types specified (users,
groups, projects). This is done in an attempt to lookup the id of the object by
name, but we perform this list operation even when the user specifies everything
by id. This causes 403 errors.

This patch still attempts to look up the object id by name, but we catch the 403
and assume that the user specified an id if the list operation is not allowed.
This is similar to what we do with the --domain option for other commands.

Closes-bug: #1445528
Change-Id: Id95a8520e935c1092d5a22ecd8ea01f572334ac8
2015-04-17 10:14:57 -07:00
Steve Martinelli
019c155e9b Fine tune some of the helps commands
try and add some consistency with the show and delete commands.

replace 'show x' with 'display x'
change 'delete a y' with just 'delete y'

Change-Id: I47dfa8ee23ac5c41b355796415eb515155832f65
2015-01-13 00:58:57 -05:00
wanghong
d8f1cbd984 add multi-delete support for identity
This is part2. Add support for these objects:
identity.project(v2.0)
identity.role(v2.0)
identity.user(v2.0)
identity.project(v3)
identity.role(v3)
identity.user(v3)
identity.group(v3)

Closes-Bug: #1400597
Change-Id: I270434d657cf4ddc23c3aba2c704d6ef184b0dbc
2014-12-23 09:39:29 +08:00
Jamie Lennox
25a7c1f27f Don't import form keystoneclient.openstack.common
The keystoneclient.openstack.common directory is where we sync files
from oslo incubator. It is not a public directory and should not be
being consumed by openstackclient.

Change-Id: I011bb95c2c824e2dbc4b822ca922ae77b8d9b955
2014-12-17 18:17:56 +10:00
Dean Troyer
04d30c1855 Command object docs: project, role, user
project
role
user
user role

Change-Id: I445e09a3ffb69114912ae562a9285963a636bfd1
2014-12-01 17:36:20 -05:00
Steve Martinelli
79653afa7b Add --or-show support for v3 identity resources
Add --or-show for the following:
  * v3 roles
  * v3 projects
  * v3 domains
  * v3 users
  * v3 groups

Closes-Bug: #1390389
Change-Id: Id4ef043e5fda6be49a515eb3fe138c813c393ec9
2014-11-18 04:58:13 +00:00
Steve Martinelli
a8d4b0eebb Remove 'links' section from several v3 Identity objects
The links field in the returned objects from the v3 Identity
API aren't really useful, so let's remove them.
Managed to remove most of them from the core API.
I'll likely remove the extension/contribution (oauth/federation)
related ones in another patch.

Also in this patch the code for setting services and projects
was changed. Though not incorrect, it was not needed to copy
the entire returned object, we should just need to pass in
the fields we want to update.

Change-Id: I164ca9ad8b28fa10b291e9115ef40753e387c547
2014-10-11 22:35:12 -04:00
Alex Gaynor
86e0cf70cf Fixed typos in the identity client
Change-Id: I76042110f5a008d4c097862a572448448f92a504
2014-06-26 23:05:30 -07: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
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
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
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
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
Steve Martinelli
1a0d5ccc68 Remove api = apiName calls from each method
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
2013-07-12 11:07:33 -05:00
Steve Martinelli
f29a849ffc Finish up v3 role commands
* 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
2013-07-03 11:51:23 -05:00
Steve Martinelli
b26bbae598 Add functionality for add-role commands
keep the functions sorted
Please review carefully as I intend to mimic this logic with
list and remove, I'm open to suggestions about handling thigs
differently

Change-Id: Ia6359134c44447f3b758870c4dc306ec1f970852
2013-03-15 16:03:01 -05:00
Steve Martinelli
e5d9ba5491 Add role v3 support to identity in openstack client
Added create/delete/set/list/show support for roles
Broken up to make reviewing easier.
Will add more functionality (add/remove) later

Change-Id: I95bddd27d8d9d251ad2fd60c3e3ee1e2cbcd7d4b
2013-03-12 16:29:47 -05:00