Merge "Tweak version nvp/nsx version validation logic for router operations"
This commit is contained in:
commit
ba277baeb9
@ -386,7 +386,7 @@ def create_explicit_routing_lrouter(cluster, tenant_id,
|
|||||||
def create_lrouter(cluster, *args, **kwargs):
|
def create_lrouter(cluster, *args, **kwargs):
|
||||||
if kwargs.get('distributed', None):
|
if kwargs.get('distributed', None):
|
||||||
v = cluster.api_client.get_nvp_version()
|
v = cluster.api_client.get_nvp_version()
|
||||||
if (v.major < 3) or (v.major == 3 and v.minor < 1):
|
if (v.major, v.minor) < (3, 1):
|
||||||
raise nvp_exc.NvpInvalidVersion(version=v)
|
raise nvp_exc.NvpInvalidVersion(version=v)
|
||||||
return v
|
return v
|
||||||
|
|
||||||
@ -611,7 +611,7 @@ def update_explicit_routing_lrouter(cluster, router_id,
|
|||||||
def update_lrouter(cluster, *args, **kwargs):
|
def update_lrouter(cluster, *args, **kwargs):
|
||||||
if kwargs.get('routes', None):
|
if kwargs.get('routes', None):
|
||||||
v = cluster.api_client.get_nvp_version()
|
v = cluster.api_client.get_nvp_version()
|
||||||
if (v.major < 3) or (v.major >= 3 and v.minor < 2):
|
if (v.major, v.minor) < (3, 2):
|
||||||
raise nvp_exc.NvpInvalidVersion(version=v)
|
raise nvp_exc.NvpInvalidVersion(version=v)
|
||||||
return v
|
return v
|
||||||
|
|
||||||
|
@ -638,6 +638,45 @@ class TestNvplibLogicalRouters(NvplibTestCase):
|
|||||||
self._verify_lrouter(res_lrouter, lrouter['uuid'],
|
self._verify_lrouter(res_lrouter, lrouter['uuid'],
|
||||||
'*' * 40, '10.0.0.1', 'pippo')
|
'*' * 40, '10.0.0.1', 'pippo')
|
||||||
|
|
||||||
|
def _test_version_dependent_update_lrouter(self, version):
|
||||||
|
def foo(*args, **kwargs):
|
||||||
|
return version
|
||||||
|
|
||||||
|
foo_func_dict = {
|
||||||
|
'update_lrouter': {
|
||||||
|
2: {-1: foo},
|
||||||
|
3: {-1: foo, 2: foo}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
with mock.patch.object(self.fake_cluster.api_client,
|
||||||
|
'get_nvp_version',
|
||||||
|
return_value=NvpApiClient.NVPVersion(version)):
|
||||||
|
with mock.patch.dict(nvplib.NVPLIB_FUNC_DICT,
|
||||||
|
foo_func_dict, clear=True):
|
||||||
|
return nvplib.update_lrouter(
|
||||||
|
self.fake_cluster, 'foo_router_id', 'foo_router_name',
|
||||||
|
'foo_nexthop', routes={'foo_destination': 'foo_address'})
|
||||||
|
|
||||||
|
def test_version_dependent_update_lrouter_old_versions(self):
|
||||||
|
self.assertRaises(nvp_exc.NvpInvalidVersion,
|
||||||
|
self._test_version_dependent_update_lrouter,
|
||||||
|
"2.9")
|
||||||
|
self.assertRaises(nvp_exc.NvpInvalidVersion,
|
||||||
|
self._test_version_dependent_update_lrouter,
|
||||||
|
"3.0")
|
||||||
|
self.assertRaises(nvp_exc.NvpInvalidVersion,
|
||||||
|
self._test_version_dependent_update_lrouter,
|
||||||
|
"3.1")
|
||||||
|
|
||||||
|
def test_version_dependent_update_lrouter_new_versions(self):
|
||||||
|
self.assertEqual("3.2",
|
||||||
|
self._test_version_dependent_update_lrouter("3.2"))
|
||||||
|
self.assertEqual("4.0",
|
||||||
|
self._test_version_dependent_update_lrouter("4.0"))
|
||||||
|
self.assertEqual("4.1",
|
||||||
|
self._test_version_dependent_update_lrouter("4.1"))
|
||||||
|
|
||||||
def test_update_lrouter_no_nexthop(self):
|
def test_update_lrouter_no_nexthop(self):
|
||||||
lrouter = nvplib.create_lrouter(self.fake_cluster,
|
lrouter = nvplib.create_lrouter(self.fake_cluster,
|
||||||
'pippo',
|
'pippo',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user