NSX|P: Fix GW validation for updated subnet

Change-Id: I734e356f905171f2a26fa604cf273dbfdbf4f224
This commit is contained in:
asarfaty 2020-07-07 10:08:07 +02:00 committed by Adit Sarfaty
parent 11245029c9
commit 9aaec75630
2 changed files with 7 additions and 2 deletions

View File

@ -1378,10 +1378,12 @@ class NsxPolicyPlugin(nsx_plugin_common.NsxPluginV3Base):
def _validate_subnet_gw_ip(self, subnet, orig_subnet=None):
# Make sure the gw ip is legal and belongs to the subnet
raw_gw_ip = subnet.get('gateway_ip')
if orig_subnet and raw_gw_ip == const.ATTR_NOT_SPECIFIED:
if (orig_subnet and
(not raw_gw_ip or raw_gw_ip == const.ATTR_NOT_SPECIFIED)):
raw_gw_ip = orig_subnet.get('gateway_ip')
raw_cidr = subnet.get('cidr')
if orig_subnet and raw_cidr == const.ATTR_NOT_SPECIFIED:
if (orig_subnet and
(not raw_cidr or raw_cidr == const.ATTR_NOT_SPECIFIED)):
raw_cidr = orig_subnet.get('cidr')
if (not raw_gw_ip or raw_gw_ip == const.ATTR_NOT_SPECIFIED or
not raw_cidr or raw_cidr == const.ATTR_NOT_SPECIFIED):

View File

@ -1149,6 +1149,9 @@ class NsxPTestSubnets(common_v3.NsxV3TestSubnets,
def test_create_subnet_gw_outside_cidr_returns_201(self):
self.skipTest("NSX subnet GW validation")
def test_update_subnet_gw_outside_cidr_returns_200(self):
self.skipTest("NSX subnet GW validation")
def test_create_subnet_ipv6_gw_validation(self):
# Illegal GW as first ip in range
gateway_ip = 'fe80::0'