Merge "Raise exception when put CIDR into address pairs"
This commit is contained in:
commit
c23468f9e7
@ -1163,8 +1163,12 @@ class NsxVPluginV2(addr_pair_db.AllowedAddressPairsMixin,
|
|||||||
return net_res
|
return net_res
|
||||||
|
|
||||||
def _validate_address_pairs(self, attrs, db_port):
|
def _validate_address_pairs(self, attrs, db_port):
|
||||||
# Check that the MAC address is the same as the port
|
|
||||||
for ap in attrs[addr_pair.ADDRESS_PAIRS]:
|
for ap in attrs[addr_pair.ADDRESS_PAIRS]:
|
||||||
|
# Check that the IP address is a subnet
|
||||||
|
if len(ap['ip_address'].split('/')) > 1:
|
||||||
|
msg = _('NSXv does not support CIDR as address pairs')
|
||||||
|
raise n_exc.BadRequest(resource='address_pairs', msg=msg)
|
||||||
|
# Check that the MAC address is the same as the port
|
||||||
if ('mac_address' in ap and
|
if ('mac_address' in ap and
|
||||||
ap['mac_address'] != db_port['mac_address']):
|
ap['mac_address'] != db_port['mac_address']):
|
||||||
msg = _('Address pairs should have same MAC as the port')
|
msg = _('Address pairs should have same MAC as the port')
|
||||||
|
@ -21,6 +21,7 @@ from neutron.api.rpc.callbacks import events as callbacks_events
|
|||||||
from neutron.api.v2 import attributes
|
from neutron.api.v2 import attributes
|
||||||
from neutron.common import utils
|
from neutron.common import utils
|
||||||
from neutron import context
|
from neutron import context
|
||||||
|
from neutron.extensions import allowedaddresspairs as addr_pair
|
||||||
from neutron.extensions import dvr as dist_router
|
from neutron.extensions import dvr as dist_router
|
||||||
from neutron.extensions import external_net
|
from neutron.extensions import external_net
|
||||||
from neutron.extensions import l3
|
from neutron.extensions import l3
|
||||||
@ -3556,6 +3557,15 @@ class TestNSXvAllowedAddressPairs(NsxVPluginV2TestCase,
|
|||||||
def test_get_vlan_network_name(self):
|
def test_get_vlan_network_name(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def test_create_port_with_cidr_address_pair(self):
|
||||||
|
with self.network() as net:
|
||||||
|
address_pairs = [{'mac_address': '00:00:00:00:00:01',
|
||||||
|
'ip_address': '192.168.1.0/24'}]
|
||||||
|
self._create_port(self.fmt, net['network']['id'],
|
||||||
|
expected_res_status=webob.exc.HTTPBadRequest.code,
|
||||||
|
arg_list=(addr_pair.ADDRESS_PAIRS,),
|
||||||
|
allowed_address_pairs=address_pairs)
|
||||||
|
|
||||||
|
|
||||||
class TestNSXPortSecurity(test_psec.TestPortSecurity,
|
class TestNSXPortSecurity(test_psec.TestPortSecurity,
|
||||||
NsxVPluginV2TestCase):
|
NsxVPluginV2TestCase):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user