Add support for Policy Enforcement Pref

Add APIC Policy Enforcement Pref attribute to
OpenStack CLI Network Extension.

Change-Id: I8df9c6adeada0eb647309a3ffa15dd4f010b5c6c
This commit is contained in:
Sayali Naval 2021-04-13 21:28:31 -07:00
parent ed8d9e8206
commit d50d16f697
2 changed files with 29 additions and 0 deletions

View File

@ -78,6 +78,9 @@ def _get_attrs_network_extension(client_manager, parsed_args):
for element in parsed_args.apic_distinguished_names:
result.update(element)
attrs['apic:distinguished_names'] = result
if parsed_args.apic_policy_enforcement_pref:
attrs['apic:policy_enforcement_pref'
] = parsed_args.apic_policy_enforcement_pref
if parsed_args.external:
if 'apic_nat_type' in parsed_args and \
parsed_args.apic_nat_type:
@ -116,6 +119,8 @@ network_sdk.Network.apic_epg_contract_masters = resource.Body(
'apic:epg_contract_masters')
network_sdk.Network.apic_distinguished_names = resource.Body(
'apic:distinguished_names')
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')
@ -256,6 +261,14 @@ class CreateNetworkExtension(hooks.CommandHook):
"Syntax Example: BridgeDomain=aaa or ExternalNetwork=bbb "
"or ExternalNetwork=aaa,BridgeDomain=bbb ")
)
parser.add_argument(
'--apic-policy-enforcement-pref',
metavar="<string>",
dest='apic_policy_enforcement_pref',
help=_("APIC Policy Enforcement Pref\n"
"Default value is 'unenforced'\n"
"Valid values: unenforced, enforced, '' ")
)
parser.add_argument(
'--apic-nat-type',
metavar="<string>",
@ -395,6 +408,14 @@ class SetNetworkExtension(hooks.CommandHook):
"Default value is []\n"
"Syntax Example: foo or foo,bar ")
)
parser.add_argument(
'--apic-policy-enforcement-pref',
metavar="<string>",
dest='apic_policy_enforcement_pref',
help=_("APIC Policy Enforcement Pref\n"
"Default value is 'unenforced'\n"
"Valid values: unenforced, enforced, '' ")
)
parser.add_argument(
'--apic-external-cidrs',
metavar="<subnet1,subnet2>",

View File

@ -52,6 +52,7 @@ class TestNetworkCreate(test_network.TestNetwork, test_cli20.CLITestV20Base):
('apic_nested_domain_node_network_vlan', None),
('apic_extra_provided_contracts', None),
('apic_extra_consumed_contracts', None),
('apic_policy_enforcement_pref', None),
]
create_ext = network_ext.CreateNetworkExtension(self.app)
parsed_args = self.check_parser_ext(
@ -82,6 +83,7 @@ class TestNetworkCreate(test_network.TestNetwork, test_cli20.CLITestV20Base):
"--apic-nested-domain-node-network-vlan", '4',
"--apic-extra-provided-contracts", 'pcontest1',
"--apic-extra-consumed-contracts", 'contest1',
"--apic-policy-enforcement-pref", 'enforced',
]
verifylist = [
('name', self._network.name),
@ -101,6 +103,7 @@ class TestNetworkCreate(test_network.TestNetwork, test_cli20.CLITestV20Base):
('apic_nested_domain_node_network_vlan', '4'),
('apic_extra_provided_contracts', 'pcontest1'),
('apic_extra_consumed_contracts', 'contest1'),
('apic_policy_enforcement_pref', 'enforced'),
]
create_ext = network_ext.CreateNetworkExtension(self.app)
parsed_args = self.check_parser_ext(
@ -127,6 +130,7 @@ class TestNetworkCreate(test_network.TestNetwork, test_cli20.CLITestV20Base):
'apic:nested_domain_infra_vlan': '1',
'apic:nested_domain_node_network_vlan': '4',
'apic:nested_domain_service_vlan': '3',
'apic:policy_enforcement_pref': 'enforced',
})
@ -160,6 +164,7 @@ class TestNetworkSet(test_network.TestNetwork, test_cli20.CLITestV20Base):
('apic_nested_domain_node_network_vlan', None),
('apic_extra_provided_contracts', None),
('apic_extra_consumed_contracts', None),
('apic_policy_enforcement_pref', None),
]
set_ext = network_ext.SetNetworkExtension(self.app)
parsed_args = self.check_parser_ext(
@ -185,6 +190,7 @@ class TestNetworkSet(test_network.TestNetwork, test_cli20.CLITestV20Base):
"--apic-nested-domain-node-network-vlan", '5',
"--apic-extra-provided-contracts", 'pcontest1,pcontest11',
"--apic-extra-consumed-contracts", 'contest1,contest11',
"--apic-policy-enforcement-pref", 'enforced',
]
verifylist = [
('network', self._network.name),
@ -201,6 +207,7 @@ class TestNetworkSet(test_network.TestNetwork, test_cli20.CLITestV20Base):
('apic_nested_domain_node_network_vlan', '5'),
('apic_extra_provided_contracts', 'pcontest1,pcontest11'),
('apic_extra_consumed_contracts', 'contest1,contest11'),
('apic_policy_enforcement_pref', 'enforced'),
]
set_ext = network_ext.SetNetworkExtension(self.app)
parsed_args = self.check_parser_ext(
@ -222,6 +229,7 @@ class TestNetworkSet(test_network.TestNetwork, test_cli20.CLITestV20Base):
'apic:nested_domain_infra_vlan': '2',
'apic:nested_domain_node_network_vlan': '5',
'apic:nested_domain_service_vlan': '4',
'apic:policy_enforcement_pref': 'enforced',
}
self.network.update_network.assert_called_once_with(