Allow unsetting the ext segments on L3 Policy

To unset use:
gbp l3policy-update <ext-segment> --external-segment ""

Change-Id: I1cdb2c7f1bf311688f415b90df353b80b013c558
Closes-bug: 1424258
This commit is contained in:
Sumit Naiksatam
2015-02-21 12:23:29 -08:00
parent 912249dc1a
commit 7cd0fddac6
2 changed files with 30 additions and 0 deletions

View File

@@ -455,6 +455,8 @@ class UpdateL3Policy(neutronV20.UpdateCommand):
if parsed_args.external_segments:
external_segments_dict = {}
for external_segment in parsed_args.external_segments:
if not external_segment:
break
external_segment_id = neutronV20.find_resourceid_by_name_or_id(
self.get_client(), 'external_segment',
external_segment.keys()[0])

View File

@@ -118,6 +118,34 @@ class CLITestV20L3PolicyJSON(test_cli20.CLITestV20Base):
}
self._test_update_resource(resource, cmd, my_id, args, params)
def test_update_l3_policy_unset_external_segment(self):
resource = 'l3_policy'
cmd = gbp.UpdateL3Policy(test_cli20.MyApp(sys.stdout), None)
name = 'myname'
description = 'My L3 Policy'
my_id = 'someid'
ip_version = '4'
ip_pool = '172.16.0.0/12'
subnet_prefix_length = '24'
external_segment = ''
expected_external_segments = {}
args = ['--name', name,
'--description', description,
'--ip-version', ip_version,
'--ip-pool', ip_pool,
'--subnet-prefix-length', subnet_prefix_length,
'--external-segment', external_segment,
my_id]
params = {
'name': name,
'description': description,
'ip_version': 4,
'ip_pool': ip_pool,
'subnet_prefix_length': 24,
'external_segments': expected_external_segments,
}
self._test_update_resource(resource, cmd, my_id, args, params)
def test_delete_l3_policy_name(self):
resource = 'l3_policy'
cmd = gbp.DeleteL3Policy(test_cli20.MyApp(sys.stdout), None)