summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuojian Shao <guojian@unitedstack.com>2015-06-26 12:07:58 +0800
committerGuojian Shao <guojian@unitedstack.com>2015-06-26 12:08:22 +0800
commit8899bc4162df0c9f235f6c3bf84c601ef06bafb9 (patch)
tree5ffefa4997271509764daf2402baeb372db8fb9c
parentec31a2a12efe54b9b1149e198560a0164f070485 (diff)
downloadpython-openstackclient-8899bc4162df0c9f235f6c3bf84c601ef06bafb9.tar.gz
fix confused domain argument for network create v2
we have used domain scope arguments --project-domain, --user-domain and --group-domain in identity commands, for example, role add v3, to prevent resources conflict from same resource name existence. To keep with the style of identity commands, it's better to rename --domain to --project-domain. Closes-Bug: #1468988 Change-Id: Ic6ccb895cf9be4a3d5f0001525e3b80cd340da8b
-rw-r--r--doc/source/command-objects/network.rst12
-rw-r--r--openstackclient/network/v2/network.py19
-rw-r--r--openstackclient/tests/network/v2/test_network.py9
3 files changed, 16 insertions, 24 deletions
diff --git a/doc/source/command-objects/network.rst b/doc/source/command-objects/network.rst
index e6a028b7..6b63c35d 100644
--- a/doc/source/command-objects/network.rst
+++ b/doc/source/command-objects/network.rst
@@ -13,20 +13,20 @@ Create new network
.. code:: bash
os network create
- [--domain <domain>]
+ [--project <project> [--project-domain <project-domain>]]
[--enable | --disable]
- [--project <project>]
[--share | --no-share]
<name>
-.. option:: --domain <domain>
-
- Owner's domain (name or ID)
-
.. option:: --project <project>
Owner's project (name or ID)
+.. option:: --project-domain <project-domain>
+
+ Domain the project belongs to (name or ID).
+ This can be used in case collisions between project names exist.
+
.. option:: --enable
Enable network (default)
diff --git a/openstackclient/network/v2/network.py b/openstackclient/network/v2/network.py
index 9b246642..1fa05462 100644
--- a/openstackclient/network/v2/network.py
+++ b/openstackclient/network/v2/network.py
@@ -87,10 +87,7 @@ class CreateNetwork(show.ShowOne):
'--project',
metavar='<project>',
help="Owner's project (name or ID)")
- parser.add_argument(
- '--domain',
- metavar='<domain>',
- help="Owner's domain (name or ID)")
+ identity_common.add_project_domain_option_to_parser(parser)
return parser
def take_action(self, parsed_args):
@@ -112,15 +109,11 @@ class CreateNetwork(show.ShowOne):
body['shared'] = parsed_args.shared
if parsed_args.project is not None:
identity_client = self.app.client_manager.identity
- if parsed_args.domain is not None:
- domain = identity_common.find_domain(identity_client,
- parsed_args.domain)
- project_id = utils.find_resource(identity_client.projects,
- parsed_args.project,
- domain_id=domain.id).id
- else:
- project_id = utils.find_resource(identity_client.projects,
- parsed_args.project).id
+ project_id = identity_common.find_project(
+ identity_client,
+ parsed_args.project,
+ parsed_args.project_domain,
+ ).id
body['tenant_id'] = project_id
return {'network': body}
diff --git a/openstackclient/tests/network/v2/test_network.py b/openstackclient/tests/network/v2/test_network.py
index 90085f28..36133a3b 100644
--- a/openstackclient/tests/network/v2/test_network.py
+++ b/openstackclient/tests/network/v2/test_network.py
@@ -90,14 +90,14 @@ class TestCreateNetwork(common.TestNetworkBase):
"--disable",
"--share",
"--project", identity_fakes_v3.project_name,
- "--domain", identity_fakes_v3.domain_name,
+ "--project-domain", identity_fakes_v3.domain_name,
FAKE_NAME,
] + self.given_show_options
verifylist = [
('admin_state', False),
('shared', True),
('project', identity_fakes_v3.project_name),
- ('domain', identity_fakes_v3.domain_name),
+ ('project_domain', identity_fakes_v3.domain_name),
('name', FAKE_NAME),
] + self.then_show_options
mocker = mock.Mock(return_value=copy.deepcopy(RESPONSE))
@@ -165,7 +165,6 @@ class TestCreateNetwork(common.TestNetworkBase):
arglist = [
"--project", identity_fakes_v2.project_name,
FAKE_NAME,
-
]
verifylist = [
('admin_state', True),
@@ -203,14 +202,14 @@ class TestCreateNetwork(common.TestNetworkBase):
def test_create_with_domain_identityv2(self):
arglist = [
"--project", identity_fakes_v3.project_name,
- "--domain", identity_fakes_v3.domain_name,
+ "--project-domain", identity_fakes_v3.domain_name,
FAKE_NAME,
]
verifylist = [
('admin_state', True),
('shared', None),
('project', identity_fakes_v3.project_name),
- ('domain', identity_fakes_v3.domain_name),
+ ('project_domain', identity_fakes_v3.domain_name),
('name', FAKE_NAME),
]
mocker = mock.Mock(return_value=copy.deepcopy(RESPONSE))