diff options
author | 2017-11-07 15:23:15 -0700 | |
---|---|---|
committer | 2017-11-08 10:03:44 -0700 | |
commit | c0f1fc7d39c550f6825b4e323358d44e876c1fa5 (patch) | |
tree | 00e4a83a9454818535e67bb0bd77fbb25a6d904d /snaps/domain | |
parent | 28b07953e9821c32ae86aa3a19ebeb835471149f (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.py | 25 | ||||
-rw-r--r-- | snaps/domain/test/network_tests.py | 20 |
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']} |