summaryrefslogtreecommitdiffstats
path: root/snaps/domain
diff options
context:
space:
mode:
authorspisarski <s.pisarski@cablelabs.com>2017-11-07 15:23:15 -0700
committerspisarski <s.pisarski@cablelabs.com>2017-11-08 10:03:44 -0700
commitc0f1fc7d39c550f6825b4e323358d44e876c1fa5 (patch)
tree00e4a83a9454818535e67bb0bd77fbb25a6d904d /snaps/domain
parent28b07953e9821c32ae86aa3a19ebeb835471149f (diff)
Adding tests for IPv6.
Included in patch: 1. Refactor Network domain object to include Subnet objects 2. Removed subnet members from OpenStackNetwork 3. Added exhausive IPv6 tests to neutron_utils_tests.py 4. Added two IPv6 integration tests to create_network_tests.py 5. Added two tests where VM instances have ports with IPv6 addresses 6. Updated docs JIRA: SNAPS-178 Change-Id: Id3e5448cb431d2acf47029244fe6773f3f29d368 Signed-off-by: spisarski <s.pisarski@cablelabs.com>
Diffstat (limited to 'snaps/domain')
-rw-r--r--snaps/domain/network.py25
-rw-r--r--snaps/domain/test/network_tests.py20
2 files changed, 37 insertions, 8 deletions
diff --git a/snaps/domain/network.py b/snaps/domain/network.py
index 1f1b67c..2d02966 100644
--- a/snaps/domain/network.py
+++ b/snaps/domain/network.py
@@ -22,6 +22,13 @@ class Network:
def __init__(self, **kwargs):
"""
Constructor
+ :param name: the network's name
+ :param id: the network's ID
+ :param admin_state_up: T/F - network is up when True
+ :param shared: T/F - network can be shared amongst other project's
+ :param external: T/F - network is deemed to be external
+ :param type: vlan, vxlan, flat, etc.
+ :param subnets: list of Subnet objects
"""
self.name = kwargs.get('name')
self.id = kwargs.get('id')
@@ -29,12 +36,15 @@ class Network:
self.shared = kwargs.get('shared')
self.external = kwargs.get('router:external', kwargs.get('external'))
self.type = kwargs.get('provider:network_type', kwargs.get('type'))
+ self.subnets = kwargs.get('subnets', list())
def __eq__(self, other):
return (self.name == other.name and self.id == other.id and
self.admin_state_up == other.admin_state_up and
self.shared == other.shared and
- self.external == other.external and self.type == other.type)
+ self.external == other.external and
+ self.type == other.type and
+ self.subnets == other.subnets)
class Subnet:
@@ -45,6 +55,19 @@ class Subnet:
def __init__(self, **kwargs):
"""
Constructor
+ :param name: the network's name
+ :param id: the subnet's ID
+ :param network_id: the network's ID
+ :param cidr: the CIDR
+ :param ip_version: the IP version
+ :param gateway_ip: the IP of the gateway
+ :param enable_dhcp: T/F if DHCP is enabled
+ :param dns_nameservers: list of DNS server IPs
+ :param host_routes: routes as returned in a dict by Neutron
+ :param ipv6_ra_mode: IPv6 RA Mode
+ :param ipv6_address_mode: IPv6 Address Mode
+ :param start: start IP address pool
+ :param end: end IP address pool
"""
self.name = kwargs.get('name')
self.id = kwargs.get('id')
diff --git a/snaps/domain/test/network_tests.py b/snaps/domain/test/network_tests.py
index 04dc5a3..3003326 100644
--- a/snaps/domain/test/network_tests.py
+++ b/snaps/domain/test/network_tests.py
@@ -25,39 +25,48 @@ class NetworkObjectTests(unittest.TestCase):
"""
def test_construction_kwargs_1(self):
+ subnet = Subnet(
+ **{'name': 'foo', 'id': 'bar', 'network_id': 'foo-bar'})
network = Network(
**{'name': 'foo', 'id': 'bar', 'provider:network_type': 'flat',
'admin_state_up': False, 'shared': True,
- 'router:external': False})
+ 'router:external': False, 'subnets': [subnet]})
self.assertEqual('foo', network.name)
self.assertEqual('bar', network.id)
self.assertEqual('flat', network.type)
self.assertFalse(network.admin_state_up)
self.assertFalse(network.external)
self.assertTrue(network.shared)
+ self.assertEqual([subnet], network.subnets)
def test_construction_kwargs_2(self):
+ subnet = Subnet(
+ **{'name': 'foo', 'id': 'bar', 'network_id': 'foo-bar'})
network = Network(
**{'name': 'foo', 'id': 'bar', 'type': 'flat',
- 'admin_state_up': False, 'shared': True,
- 'external': False})
+ 'admin_state_up': False, 'shared': True, 'external': False,
+ 'subnets': [subnet]})
self.assertEqual('foo', network.name)
self.assertEqual('bar', network.id)
self.assertEqual('flat', network.type)
self.assertFalse(network.admin_state_up)
self.assertFalse(network.external)
self.assertTrue(network.shared)
+ self.assertEqual([subnet], network.subnets)
def test_construction_named(self):
+ subnet = Subnet(
+ **{'name': 'foo', 'id': 'bar', 'network_id': 'foo-bar'})
network = Network(
name='foo', id='bar', type='flat', admin_state_up=False,
- shared=True, external=False)
+ shared=True, external=False, subnets=[subnet])
self.assertEqual('foo', network.name)
self.assertEqual('bar', network.id)
self.assertEqual('flat', network.type)
self.assertFalse(network.admin_state_up)
self.assertFalse(network.external)
self.assertTrue(network.shared)
+ self.assertEqual([subnet], network.subnets)
class SubnetObjectTests(unittest.TestCase):
@@ -229,8 +238,6 @@ class RouterDomainObjectTests(unittest.TestCase):
self.assertIsNone(router.external_network_id)
def test_ext_gateway_named(self):
- ext_gateway = {'network_id': '123',
- 'external_fixed_ips': ['456', '789']}
router = Router(
external_fixed_ips=['456', '789'], external_network_id='123',
admin_state_up='yes', tenant_id='1234', status='hello', id='id',
@@ -243,7 +250,6 @@ class RouterDomainObjectTests(unittest.TestCase):
self.assertEqual(['456', '789'], router.external_fixed_ips)
self.assertEqual('123', router.external_network_id)
-
def test_ext_net_ips_named(self):
ext_gateway = {'network_id': '123',
'external_fixed_ips': ['456', '789']}