Merge "Fixes IPv6 static route addition"

This commit is contained in:
Zuul 2019-05-29 11:06:49 +00:00 committed by Gerrit Code Review
commit 35020ce1fd
2 changed files with 22 additions and 4 deletions

View File

@ -29,8 +29,13 @@ LOG = logging.getLogger(__name__)
class AddRouterRoute(forms.SelfHandlingForm):
destination = forms.IPField(label=_("Destination CIDR"), mask=True)
nexthop = forms.IPField(label=_("Next Hop"))
destination = forms.IPField(
version=forms.IPv4 | forms.IPv6,
label=_("Destination CIDR"),
mask=True)
nexthop = forms.IPField(
version=forms.IPv4 | forms.IPv6,
label=_("Next Hop"))
failure_url = 'horizon:project:routers:detail'
def handle(self, request, data, **kwargs):

View File

@ -1076,10 +1076,13 @@ class RouterRouteTestCase(object):
@test.create_mocks({api.neutron: ('router_get',
'router_update')})
def _test_router_addrouterroute(self, raise_error=False):
def _test_router_addrouterroute(self, ipv6=False, raise_error=False):
pre_router = self.routers_with_routes.first()
post_router = copy.deepcopy(pre_router)
route = {'nexthop': '10.0.0.5', 'destination': '40.0.1.0/24'}
if ipv6:
route = {'nexthop': 'fdb6:b88a:488e::5', 'destination': '2002::/64'}
else:
route = {'nexthop': '10.0.0.5', 'destination': '40.0.1.0/24'}
post_router['routes'].insert(0, route)
self.mock_router_get.return_value = pre_router
if raise_error:
@ -1112,6 +1115,16 @@ class RouterRouteTestCase(object):
self._test_router_addrouterroute(raise_error=True)
self.assertMessageCount(error=1)
def test_router_addrouteripv6route(self):
if self.DASHBOARD == 'project':
self._test_router_addrouterroute(ipv6=True)
self.assertMessageCount(success=1)
def test_router_addrouteripv6route_exception(self):
if self.DASHBOARD == 'project':
self._test_router_addrouterroute(ipv6=True, raise_error=True)
self.assertMessageCount(error=1)
@test.create_mocks({api.neutron: ('router_get',
'router_update',
'network_get',