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:
		@@ -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])
 | 
			
		||||
 
 | 
			
		||||
@@ -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)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user