Add no nat cidrs network extension
Change-Id: I65ecfc1737eaddc0c3f2bc2157dcf21d3c7e971b (cherry picked from commit b4119d9e3a778d44ebe2fb6ef87d69ff4477084b)
This commit is contained in:
parent
2d6fa9c70c
commit
2e7e23f22a
gbpclient
@ -88,6 +88,11 @@ def _get_attrs_network_extension(client_manager, parsed_args):
|
||||
if parsed_args.apic_policy_enforcement_pref:
|
||||
attrs['apic:policy_enforcement_pref'
|
||||
] = parsed_args.apic_policy_enforcement_pref
|
||||
if parsed_args.apic_no_nat_cidrs:
|
||||
attrs['apic:no_nat_cidrs'] = parsed_args.apic_no_nat_cidrs.split(",")
|
||||
if ('no_apic_no_nat_cidrs' in parsed_args and
|
||||
parsed_args.no_apic_no_nat_cidrs):
|
||||
attrs['apic:no_nat_cidrs'] = []
|
||||
if parsed_args.external:
|
||||
if ('apic_nat_type' in parsed_args and
|
||||
parsed_args.apic_nat_type is not None):
|
||||
@ -133,6 +138,7 @@ network_sdk.Network.apic_policy_enforcement_pref = resource.Body(
|
||||
'apic:policy_enforcement_pref')
|
||||
network_sdk.Network.apic_nat_type = resource.Body('apic:nat_type')
|
||||
network_sdk.Network.apic_external_cidrs = resource.Body('apic:external_cidrs')
|
||||
network_sdk.Network.apic_no_nat_cidrs = resource.Body('apic:no_nat_cidrs')
|
||||
|
||||
|
||||
class CreateNetworkExtension(hooks.CommandHook):
|
||||
@ -299,6 +305,16 @@ class CreateNetworkExtension(hooks.CommandHook):
|
||||
"Syntax Example: 10.10.10.0/24 "
|
||||
"or 10.10.10.0/24,20.20.20.0/24 ")
|
||||
)
|
||||
parser.add_argument(
|
||||
'--apic-no-nat-cidrs',
|
||||
metavar="<subnet1,subnet2>",
|
||||
dest='apic_no_nat_cidrs',
|
||||
help=_("APIC CIDRS for a network to config no NAT routing\n"
|
||||
"Data is passed as comma separated valid ip subnets\n"
|
||||
"Default value is []\n"
|
||||
"Syntax Example: 10.10.10.0/24 "
|
||||
"or 10.10.10.0/24,20.20.20.0/24 ")
|
||||
)
|
||||
return parser
|
||||
|
||||
def get_epilog(self):
|
||||
@ -447,6 +463,23 @@ class SetNetworkExtension(hooks.CommandHook):
|
||||
"Need to pass the --external argument wth this field\n"
|
||||
"Resets the apic:external_cidrs field to 0.0.0.0/0 ")
|
||||
)
|
||||
parser.add_argument(
|
||||
'--apic-no-nat-cidrs',
|
||||
metavar="<subnet1,subnet2>",
|
||||
dest='apic_no_nat_cidrs',
|
||||
help=_("APIC CIDRS for a network to config no NAT routing\n"
|
||||
"Data is passed as comma separated valid ip subnets\n"
|
||||
"Default value is []\n"
|
||||
"Syntax Example: 10.10.10.0/24 "
|
||||
"or 10.10.10.0/24,20.20.20.0/24 ")
|
||||
)
|
||||
parser.add_argument(
|
||||
'--no-apic-no-nat-cidrs',
|
||||
dest='no_apic_no_nat_cidrs',
|
||||
action='store_true',
|
||||
help=_("Reset APIC no NAT CIDRS for a network\n"
|
||||
"Resets the apic:no_nat_cidrs field to []")
|
||||
)
|
||||
return parser
|
||||
|
||||
def get_epilog(self):
|
||||
|
@ -54,6 +54,7 @@ class TestNetworkCreate(test_network.TestNetwork, test_cli20.CLITestV20Base):
|
||||
('apic_extra_provided_contracts', None),
|
||||
('apic_extra_consumed_contracts', None),
|
||||
('apic_policy_enforcement_pref', None),
|
||||
('apic_no_nat_cidrs', None),
|
||||
]
|
||||
create_ext = network_ext.CreateNetworkExtension(self.app)
|
||||
parsed_args = self.check_parser_ext(
|
||||
@ -86,6 +87,7 @@ class TestNetworkCreate(test_network.TestNetwork, test_cli20.CLITestV20Base):
|
||||
"--apic-extra-provided-contracts", 'pcontest1',
|
||||
"--apic-extra-consumed-contracts", 'contest1',
|
||||
"--apic-policy-enforcement-pref", 'enforced',
|
||||
"--apic-no-nat-cidrs", '10.10.10.0/24',
|
||||
]
|
||||
verifylist = [
|
||||
('name', self._network.name),
|
||||
@ -106,6 +108,7 @@ class TestNetworkCreate(test_network.TestNetwork, test_cli20.CLITestV20Base):
|
||||
('apic_extra_provided_contracts', 'pcontest1'),
|
||||
('apic_extra_consumed_contracts', 'contest1'),
|
||||
('apic_policy_enforcement_pref', 'enforced'),
|
||||
('apic_no_nat_cidrs', '10.10.10.0/24'),
|
||||
]
|
||||
create_ext = network_ext.CreateNetworkExtension(self.app)
|
||||
parsed_args = self.check_parser_ext(
|
||||
@ -133,6 +136,7 @@ class TestNetworkCreate(test_network.TestNetwork, test_cli20.CLITestV20Base):
|
||||
'apic:nested_domain_node_network_vlan': '4',
|
||||
'apic:nested_domain_service_vlan': '3',
|
||||
'apic:policy_enforcement_pref': 'enforced',
|
||||
'apic:no_nat_cidrs': ['10.10.10.0/24'],
|
||||
})
|
||||
|
||||
def test_create_empty_contracts(self):
|
||||
@ -165,6 +169,7 @@ class TestNetworkCreate(test_network.TestNetwork, test_cli20.CLITestV20Base):
|
||||
"--apic-distinguished-names", 'ExternalNetwork=test1',
|
||||
"--apic-nat-type", "",
|
||||
"--apic-external-cidrs", '20.20.20.0/8',
|
||||
"--apic-no-nat-cidrs", '10.10.10.0/24',
|
||||
]
|
||||
verifylist = [
|
||||
('name', self._network.name),
|
||||
@ -172,6 +177,7 @@ class TestNetworkCreate(test_network.TestNetwork, test_cli20.CLITestV20Base):
|
||||
('apic_distinguished_names', [{'ExternalNetwork': 'test1'}]),
|
||||
('apic_nat_type', ""),
|
||||
('apic_external_cidrs', '20.20.20.0/8'),
|
||||
('apic_no_nat_cidrs', '10.10.10.0/24'),
|
||||
]
|
||||
create_ext = network_ext.CreateNetworkExtension(self.app)
|
||||
parsed_args = self.check_parser_ext(
|
||||
@ -185,6 +191,7 @@ class TestNetworkCreate(test_network.TestNetwork, test_cli20.CLITestV20Base):
|
||||
'apic:distinguished_names': {"ExternalNetwork": "test1"},
|
||||
'apic:external_cidrs': ['20.20.20.0/8'],
|
||||
'apic:nat_type': '',
|
||||
'apic:no_nat_cidrs': ['10.10.10.0/24'],
|
||||
})
|
||||
|
||||
|
||||
@ -219,6 +226,7 @@ class TestNetworkSet(test_network.TestNetwork, test_cli20.CLITestV20Base):
|
||||
('apic_extra_provided_contracts', None),
|
||||
('apic_extra_consumed_contracts', None),
|
||||
('apic_policy_enforcement_pref', None),
|
||||
('apic_no_nat_cidrs', None),
|
||||
]
|
||||
set_ext = network_ext.SetNetworkExtension(self.app)
|
||||
parsed_args = self.check_parser_ext(
|
||||
@ -245,6 +253,7 @@ class TestNetworkSet(test_network.TestNetwork, test_cli20.CLITestV20Base):
|
||||
"--apic-extra-provided-contracts", 'pcontest1,pcontest11',
|
||||
"--apic-extra-consumed-contracts", 'contest1,contest11',
|
||||
"--apic-policy-enforcement-pref", 'enforced',
|
||||
"--apic-no-nat-cidrs", '10.10.10.0/24',
|
||||
]
|
||||
verifylist = [
|
||||
('network', self._network.name),
|
||||
@ -262,6 +271,7 @@ class TestNetworkSet(test_network.TestNetwork, test_cli20.CLITestV20Base):
|
||||
('apic_extra_provided_contracts', 'pcontest1,pcontest11'),
|
||||
('apic_extra_consumed_contracts', 'contest1,contest11'),
|
||||
('apic_policy_enforcement_pref', 'enforced'),
|
||||
('apic_no_nat_cidrs', '10.10.10.0/24'),
|
||||
]
|
||||
set_ext = network_ext.SetNetworkExtension(self.app)
|
||||
parsed_args = self.check_parser_ext(
|
||||
@ -284,6 +294,7 @@ class TestNetworkSet(test_network.TestNetwork, test_cli20.CLITestV20Base):
|
||||
'apic:nested_domain_node_network_vlan': '5',
|
||||
'apic:nested_domain_service_vlan': '4',
|
||||
'apic:policy_enforcement_pref': 'enforced',
|
||||
'apic:no_nat_cidrs': ['10.10.10.0/24'],
|
||||
}
|
||||
|
||||
self.network.update_network.assert_called_once_with(
|
||||
@ -295,6 +306,7 @@ class TestNetworkSet(test_network.TestNetwork, test_cli20.CLITestV20Base):
|
||||
self._network.name,
|
||||
"--external",
|
||||
"--apic-no-external-cidrs",
|
||||
"--no-apic-no-nat-cidrs",
|
||||
]
|
||||
verifylist = [
|
||||
('network', self._network.name),
|
||||
@ -313,6 +325,7 @@ class TestNetworkSet(test_network.TestNetwork, test_cli20.CLITestV20Base):
|
||||
('apic_extra_provided_contracts', None),
|
||||
('apic_extra_consumed_contracts', None),
|
||||
('apic_policy_enforcement_pref', None),
|
||||
('no_apic_no_nat_cidrs', True),
|
||||
]
|
||||
set_ext = network_ext.SetNetworkExtension(self.app)
|
||||
parsed_args = self.check_parser_ext(
|
||||
@ -322,6 +335,7 @@ class TestNetworkSet(test_network.TestNetwork, test_cli20.CLITestV20Base):
|
||||
attrs = {
|
||||
'router:external': True,
|
||||
'apic:external_cidrs': [],
|
||||
'apic:no_nat_cidrs': [],
|
||||
}
|
||||
|
||||
self.network.update_network.assert_called_once_with(
|
||||
|
Loading…
x
Reference in New Issue
Block a user