|
|
@ -264,6 +264,64 @@ class TestAllowedAddressPairsNSXv3(test_v3_plugin.NsxV3PluginTestCaseMixin, |
|
|
|
self.assertEqual(res.status_int, 400) |
|
|
|
self._delete('ports', port['port']['id']) |
|
|
|
|
|
|
|
def test_create_port_allowed_address_pairs_v4(self): |
|
|
|
with self.network() as net: |
|
|
|
# Single IPv4 |
|
|
|
address_pairs = [{'ip_address': '10.0.0.12'}] |
|
|
|
res = self._create_port(self.fmt, net['network']['id'], |
|
|
|
arg_list=(addr_apidef.ADDRESS_PAIRS,), |
|
|
|
allowed_address_pairs=address_pairs) |
|
|
|
port = self.deserialize(self.fmt, res) |
|
|
|
address_pairs[0]['mac_address'] = port['port']['mac_address'] |
|
|
|
self.assertEqual(port['port'][addr_apidef.ADDRESS_PAIRS], |
|
|
|
address_pairs) |
|
|
|
self._delete('ports', port['port']['id']) |
|
|
|
|
|
|
|
# IPv4 cidr |
|
|
|
address_pairs = [{'ip_address': '10.0.0.0/24'}] |
|
|
|
res = self._create_port(self.fmt, net['network']['id'], |
|
|
|
arg_list=(addr_apidef.ADDRESS_PAIRS,), |
|
|
|
allowed_address_pairs=address_pairs) |
|
|
|
port = self.deserialize(self.fmt, res) |
|
|
|
address_pairs[0]['mac_address'] = port['port']['mac_address'] |
|
|
|
self.assertEqual(port['port'][addr_apidef.ADDRESS_PAIRS], |
|
|
|
address_pairs) |
|
|
|
self._delete('ports', port['port']['id']) |
|
|
|
|
|
|
|
# Illegal IPv4 cidr |
|
|
|
address_pairs = [{'ip_address': '10.0.0.1/24'}] |
|
|
|
res = self._create_port(self.fmt, net['network']['id'], |
|
|
|
arg_list=(addr_apidef.ADDRESS_PAIRS,), |
|
|
|
allowed_address_pairs=address_pairs) |
|
|
|
port = self.deserialize(self.fmt, res) |
|
|
|
self.assertIn('NeutronError', port) |
|
|
|
|
|
|
|
# Too many ipv4 pairs |
|
|
|
cfg.CONF.set_default('max_allowed_address_pair', 300) |
|
|
|
address_pairs = [] |
|
|
|
count = 1 |
|
|
|
while count < 129: |
|
|
|
address_pairs.append({'ip_address': '10.0.0.%s' % count}) |
|
|
|
count += 1 |
|
|
|
res = self._create_port(self.fmt, net['network']['id'], |
|
|
|
arg_list=(addr_apidef.ADDRESS_PAIRS,), |
|
|
|
allowed_address_pairs=address_pairs) |
|
|
|
port = self.deserialize(self.fmt, res) |
|
|
|
self.assertIn('NeutronError', port) |
|
|
|
|
|
|
|
# Legal number of ipv4 pairs |
|
|
|
address_pairs = [] |
|
|
|
count = 1 |
|
|
|
while count < 125: |
|
|
|
address_pairs.append({'ip_address': '10.0.0.%s' % count}) |
|
|
|
count += 1 |
|
|
|
res = self._create_port(self.fmt, net['network']['id'], |
|
|
|
arg_list=(addr_apidef.ADDRESS_PAIRS,), |
|
|
|
allowed_address_pairs=address_pairs) |
|
|
|
port = self.deserialize(self.fmt, res) |
|
|
|
self.assertNotIn('NeutronError', port) |
|
|
|
self._delete('ports', port['port']['id']) |
|
|
|
|
|
|
|
def test_create_port_security_false_allowed_address_pairs(self): |
|
|
|
self.skipTest('TBD') |
|
|
|
|
|
|
|