Merge "Add Router ha, distributed and routes properties"

This commit is contained in:
Jenkins 2015-12-14 17:54:33 +00:00 committed by Gerrit Code Review
commit d2c9174b9d
2 changed files with 41 additions and 0 deletions

View File

@ -40,6 +40,14 @@ class Router(resource.Resource):
project_id = resource.prop('tenant_id')
#: The router status.
status = resource.prop('status')
#: The highly-available state of the router, which is highly available
#: ``True`` or not ``False``. *Type: bool* *Default: False*
is_ha = resource.prop('ha', type=bool, default=False)
#: The distributed state of the router, which is distributed ``True``
#: or not ``False``. *Type: bool* *Default: False*
is_distributed = resource.prop('distributed', type=bool, default=False)
# The extra routes configuration for the router.
routes = resource.prop('routes', type=list)
def add_interface(self, session, subnet_id):
"""Add an internal interface to a logical router.

View File

@ -23,6 +23,21 @@ EXAMPLE = {
'name': '4',
'tenant_id': '5',
'status': '6',
'routes': [],
}
EXAMPLE_WITH_OPTIONAL = {
'admin_state_up': False,
'external_gateway_info': {'network_id': '1',
'enable_snat': True,
'external_fixed_ips': []},
'id': IDENTIFIER,
'name': 'router1',
'tenant_id': '2',
'status': 'ACTIVE',
'routes': [{'nexthop': '172.24.4.20', 'destination': '10.0.3.1/24'}],
'ha': True,
'distributed': True,
}
@ -49,6 +64,24 @@ class TestRouter(testtools.TestCase):
self.assertEqual(EXAMPLE['name'], sot.name)
self.assertEqual(EXAMPLE['tenant_id'], sot.project_id)
self.assertEqual(EXAMPLE['status'], sot.status)
self.assertFalse(sot.is_ha)
self.assertFalse(sot.is_distributed)
self.assertEqual(EXAMPLE['routes'], sot.routes)
def test_make_it_with_optional(self):
sot = router.Router(EXAMPLE_WITH_OPTIONAL)
self.assertEqual(EXAMPLE_WITH_OPTIONAL['admin_state_up'],
sot.admin_state_up)
self.assertEqual(EXAMPLE_WITH_OPTIONAL['external_gateway_info'],
sot.external_gateway_info)
self.assertEqual(EXAMPLE_WITH_OPTIONAL['id'], sot.id)
self.assertEqual(EXAMPLE_WITH_OPTIONAL['name'], sot.name)
self.assertEqual(EXAMPLE_WITH_OPTIONAL['tenant_id'], sot.project_id)
self.assertEqual(EXAMPLE_WITH_OPTIONAL['status'], sot.status)
self.assertEqual(EXAMPLE_WITH_OPTIONAL['ha'], sot.is_ha)
self.assertEqual(EXAMPLE_WITH_OPTIONAL['distributed'],
sot.is_distributed)
self.assertEqual(EXAMPLE_WITH_OPTIONAL['routes'], sot.routes)
def test_add_interface(self):
sot = router.Router(EXAMPLE)