Skip to content

Commit 8f32773

Browse files
Zuulopenstack-gerrit
authored andcommitted
Merge "Validation: Cannot create network with segmentation id alone"
2 parents afcce59 + b808b82 commit 8f32773

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed

openstackclient/network/v2/network.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -401,6 +401,16 @@ def take_action_network(self, client, parsed_args):
401401
)
402402
raise exceptions.CommandError(msg)
403403

404+
if (
405+
parsed_args.segmentation_id
406+
and not parsed_args.provider_network_type
407+
):
408+
msg = _(
409+
"--provider-segment requires --provider-network-type "
410+
"to be specified."
411+
)
412+
raise exceptions.CommandError(msg)
413+
404414
attrs.update(
405415
self._parse_extra_properties(parsed_args.extra_properties)
406416
)

openstackclient/tests/unit/network/v2/test_network.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -330,6 +330,23 @@ def test_create_with_vlan_qinq_and_transparency_enabled(self):
330330
exceptions.CommandError, self.cmd.take_action, parsed_args
331331
)
332332

333+
def test_create_with_provider_segment_without_provider_type(self):
334+
arglist = [
335+
"--provider-segment",
336+
"123",
337+
self._network.name,
338+
]
339+
verifylist = [
340+
('provider_network_type', None),
341+
('segmentation_id', "123"),
342+
('name', self._network.name),
343+
]
344+
345+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
346+
self.assertRaises(
347+
exceptions.CommandError, self.cmd.take_action, parsed_args
348+
)
349+
333350

334351
class TestCreateNetworkIdentityV2(
335352
identity_fakes_v2.FakeClientMixin,

0 commit comments

Comments
 (0)