Skip to content

Commit 07c4fa9

Browse files
author
Steve Martinelli
committed
Restrict groups and users from changing domains
Similar to projects, we shouldn't allow users and groups to change domains. The server side tosses up an error but osc should restrict that behaviour in the first place. Related-Bug: #1418384 Change-Id: I860291a5859c576021b18e35d1a12c32abfb6ca5
1 parent dca9978 commit 07c4fa9

5 files changed

Lines changed: 1 addition & 74 deletions

File tree

doc/source/command-objects/group.rst

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -151,18 +151,13 @@ Set group properties
151151
152152
os group set
153153
[--name <name>]
154-
[--domain <domain>]
155154
[--description <description>]
156155
<group>
157156
158157
.. option:: --name <name>
159158

160159
New group name
161160

162-
.. option:: --domain <domain>
163-
164-
New domain to contain <group> (name or ID)
165-
166161
.. option:: --description <description>
167162

168163
New group description

doc/source/command-objects/user.rst

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,6 @@ Set user properties
136136
137137
os user set
138138
[--name <name>]
139-
[--domain <domain>]
140139
[--project <project>]
141140
[--password <password>]
142141
[--email <email-address>]
@@ -148,12 +147,6 @@ Set user properties
148147

149148
Set user name
150149

151-
.. option:: --domain <domain>
152-
153-
Set default domain (name or ID)
154-
155-
.. versionadded:: 3
156-
157150
.. option:: --project <project>
158151

159152
Set default project (name or ID)

openstackclient/identity/v3/group.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -314,10 +314,6 @@ def get_parser(self, prog_name):
314314
'--name',
315315
metavar='<name>',
316316
help='New group name')
317-
parser.add_argument(
318-
'--domain',
319-
metavar='<domain>',
320-
help='New domain to contain <group> (name or ID)')
321317
parser.add_argument(
322318
'--description',
323319
metavar='<description>',
@@ -333,9 +329,7 @@ def take_action(self, parsed_args):
333329
kwargs['name'] = parsed_args.name
334330
if parsed_args.description:
335331
kwargs['description'] = parsed_args.description
336-
if parsed_args.domain:
337-
kwargs['domain'] = common.find_domain(identity_client,
338-
parsed_args.domain).id
332+
339333
if not len(kwargs):
340334
sys.stderr.write("Group not updated, no arguments present")
341335
return

openstackclient/identity/v3/user.py

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -299,11 +299,6 @@ def get_parser(self, prog_name):
299299
metavar='<name>',
300300
help='Set user name',
301301
)
302-
parser.add_argument(
303-
'--domain',
304-
metavar='<domain>',
305-
help='Set default domain (name or ID)',
306-
)
307302
parser.add_argument(
308303
'--project',
309304
metavar='<project>',
@@ -354,7 +349,6 @@ def take_action(self, parsed_args):
354349
and not parsed_args.name
355350
and not parsed_args.password
356351
and not parsed_args.email
357-
and not parsed_args.domain
358352
and not parsed_args.project
359353
and not parsed_args.description
360354
and not parsed_args.enable
@@ -379,9 +373,6 @@ def take_action(self, parsed_args):
379373
project_id = utils.find_resource(
380374
identity_client.projects, parsed_args.project).id
381375
kwargs['project'] = project_id
382-
if parsed_args.domain:
383-
kwargs['domain'] = common.find_domain(identity_client,
384-
parsed_args.domain).id
385376
kwargs['enabled'] = user.enabled
386377
if parsed_args.enable:
387378
kwargs['enabled'] = True

openstackclient/tests/identity/v3/test_user.py

Lines changed: 0 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -696,12 +696,6 @@ class TestUserSet(TestUser):
696696
def setUp(self):
697697
super(TestUserSet, self).setUp()
698698

699-
self.domains_mock.get.return_value = fakes.FakeResource(
700-
None,
701-
copy.deepcopy(identity_fakes.DOMAIN),
702-
loaded=True,
703-
)
704-
705699
self.projects_mock.get.return_value = fakes.FakeResource(
706700
None,
707701
copy.deepcopy(identity_fakes.PROJECT),
@@ -730,7 +724,6 @@ def test_user_set_no_options(self):
730724
('name', None),
731725
('password', None),
732726
('email', None),
733-
('domain', None),
734727
('project', None),
735728
('enable', False),
736729
('disable', False),
@@ -750,7 +743,6 @@ def test_user_set_name(self):
750743
('name', 'qwerty'),
751744
('password', None),
752745
('email', None),
753-
('domain', None),
754746
('project', None),
755747
('enable', False),
756748
('disable', False),
@@ -783,7 +775,6 @@ def test_user_set_password(self):
783775
('password', 'secret'),
784776
('password_prompt', False),
785777
('email', None),
786-
('domain', None),
787778
('project', None),
788779
('enable', False),
789780
('disable', False),
@@ -816,7 +807,6 @@ def test_user_set_password_prompt(self):
816807
('password', None),
817808
('password_prompt', True),
818809
('email', None),
819-
('domain', None),
820810
('project', None),
821811
('enable', False),
822812
('disable', False),
@@ -851,7 +841,6 @@ def test_user_set_email(self):
851841
('name', None),
852842
('password', None),
853843
('email', 'barney@example.com'),
854-
('domain', None),
855844
('project', None),
856845
('enable', False),
857846
('disable', False),
@@ -874,38 +863,6 @@ def test_user_set_email(self):
874863
**kwargs
875864
)
876865

877-
def test_user_set_domain(self):
878-
arglist = [
879-
'--domain', identity_fakes.domain_id,
880-
identity_fakes.user_name,
881-
]
882-
verifylist = [
883-
('name', None),
884-
('password', None),
885-
('email', None),
886-
('domain', identity_fakes.domain_id),
887-
('project', None),
888-
('enable', False),
889-
('disable', False),
890-
('user', identity_fakes.user_name),
891-
]
892-
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
893-
894-
# DisplayCommandBase.take_action() returns two tuples
895-
self.cmd.take_action(parsed_args)
896-
897-
# Set expected values
898-
kwargs = {
899-
'enabled': True,
900-
'domain': identity_fakes.domain_id,
901-
}
902-
# UserManager.update(user, name=, domain=, project=, password=,
903-
# email=, description=, enabled=, default_project=)
904-
self.users_mock.update.assert_called_with(
905-
identity_fakes.user_id,
906-
**kwargs
907-
)
908-
909866
def test_user_set_project(self):
910867
arglist = [
911868
'--project', identity_fakes.project_id,
@@ -915,7 +872,6 @@ def test_user_set_project(self):
915872
('name', None),
916873
('password', None),
917874
('email', None),
918-
('domain', None),
919875
('project', identity_fakes.project_id),
920876
('enable', False),
921877
('disable', False),
@@ -947,7 +903,6 @@ def test_user_set_enable(self):
947903
('name', None),
948904
('password', None),
949905
('email', None),
950-
('domain', None),
951906
('project', None),
952907
('enable', True),
953908
('disable', False),
@@ -978,7 +933,6 @@ def test_user_set_disable(self):
978933
('name', None),
979934
('password', None),
980935
('email', None),
981-
('domain', None),
982936
('project', None),
983937
('enable', False),
984938
('disable', True),

0 commit comments

Comments
 (0)