def test_get_network_metadata_json_dhcp(self): ipv4_subnet = fake_network_cache_model.new_subnet( subnet_dict=dict(dhcp_server='1.1.1.1'), version=4) ipv6_subnet = fake_network_cache_model.new_subnet( subnet_dict=dict(dhcp_server='1234:567::'), version=6) self.netinfo[0]['network']['subnets'][0] = ipv4_subnet self.netinfo[0]['network']['subnets'][1] = ipv6_subnet net_metadata = netutils.get_network_metadata(self.netinfo, use_ipv6=True) # IPv4 Network self.assertEqual( { 'id': 'network0', 'link': 'interface0', 'type': 'ipv4_dhcp', 'network_id': 1 }, net_metadata['networks'][0]) # IPv6 Network self.assertEqual( { 'id': 'network1', 'link': 'interface0', 'type': 'ipv6_dhcp', 'network_id': 1 }, net_metadata['networks'][1])
def test_create_network(self): network = fake_network_cache_model.new_network() self.assertEqual(1, network['id']) self.assertEqual('br0', network['bridge']) self.assertEqual('public', network['label']) self.assertEqual( [fake_network_cache_model.new_subnet(), fake_network_cache_model.new_subnet( dict(cidr='255.255.255.255'))], network['subnets'])
def test_add_subnet(self): network = fake_network_cache_model.new_network() network.add_subnet(fake_network_cache_model.new_subnet( dict(cidr='0.0.0.0'))) self.assertEqual(network['subnets'], [fake_network_cache_model.new_subnet(), fake_network_cache_model.new_subnet( dict(cidr='255.255.255.255')), fake_network_cache_model.new_subnet(dict(cidr='0.0.0.0'))])
def test_create_network(self): network = fake_network_cache_model.new_network() self.assertEqual(network["id"], 1) self.assertEqual(network["bridge"], "br0") self.assertEqual(network["label"], "public") self.assertEqual( network["subnets"], [fake_network_cache_model.new_subnet(), fake_network_cache_model.new_subnet(dict(cidr="255.255.255.255"))], )
def test_add_subnet(self): network = fake_network_cache_model.new_network() network.add_subnet(fake_network_cache_model.new_subnet(dict(cidr="0.0.0.0"))) self.assertEqual( network["subnets"], [ fake_network_cache_model.new_subnet(), fake_network_cache_model.new_subnet(dict(cidr="255.255.255.255")), fake_network_cache_model.new_subnet(dict(cidr="0.0.0.0")), ], )
def test_add_subnet_a_lot(self): network = fake_network_cache_model.new_network() for i in range(10): network.add_subnet(fake_network_cache_model.new_subnet( dict(cidr='0.0.0.0'))) self.assertEqual( [fake_network_cache_model.new_subnet(), fake_network_cache_model.new_subnet( dict(cidr='255.255.255.255')), fake_network_cache_model.new_subnet(dict(cidr='0.0.0.0'))], network['subnets'])
def _new_netinfo(self, vif_type='ethernet'): netinfo = model.NetworkInfo([fake_network_cache_model.new_vif( {'type': vif_type})]) # Give this vif ipv4 and ipv6 dhcp subnets ipv4_subnet = fake_network_cache_model.new_subnet(version=4) ipv6_subnet = fake_network_cache_model.new_subnet(version=6) netinfo[0]['network']['subnets'][0] = ipv4_subnet netinfo[0]['network']['subnets'][1] = ipv6_subnet netinfo[0]['network']['meta']['mtu'] = 1500 return netinfo
def _new_netinfo(self, vif_type='ethernet'): netinfo = model.NetworkInfo([fake_network_cache_model.new_vif( {'type': vif_type})]) # Give this vif ipv4 and ipv6 dhcp subnets ipv4_subnet = fake_network_cache_model.new_subnet(version=4) ipv6_subnet = fake_network_cache_model.new_subnet(version=6) netinfo[0]['network']['subnets'][0] = ipv4_subnet netinfo[0]['network']['subnets'][1] = ipv6_subnet netinfo[0]['network']['meta']['mtu'] = 1500 return netinfo
def setUp(self): super(TestNetworkMetadata, self).setUp() self.netinfo = model.NetworkInfo([fake_network_cache_model.new_vif( {'type': 'ethernet'})]) # Give this vif ipv4 and ipv6 dhcp subnets ipv4_subnet = fake_network_cache_model.new_subnet(version=4) ipv6_subnet = fake_network_cache_model.new_subnet(version=6) self.netinfo[0]['network']['subnets'][0] = ipv4_subnet self.netinfo[0]['network']['subnets'][1] = ipv6_subnet self.netinfo[0]['network']['mtu'] = 1500
def _setup_injected_network_scenario( self, should_inject=True, use_ipv4=True, use_ipv6=False, gateway=True, dns=True, two_interfaces=False, libvirt_virt_type=None, ): """Check that netutils properly decides whether to inject based on whether the supplied subnet is static or dynamic. """ network = fake_network_cache_model.new_network({"subnets": []}) subnet_dict = {} if not gateway: subnet_dict["gateway"] = None if not dns: subnet_dict["dns"] = None if not should_inject: subnet_dict["dhcp_server"] = "10.10.0.1" if use_ipv4: network.add_subnet(fake_network_cache_model.new_subnet(subnet_dict)) if should_inject and use_ipv6: gateway_ip = fake_network_cache_model.new_ip(dict(address="1234:567::1")) ip = fake_network_cache_model.new_ip(dict(address="1234:567::2")) ipv6_subnet_dict = dict( cidr="1234:567::/48", gateway=gateway_ip, dns=[ fake_network_cache_model.new_ip(dict(address="2001:4860:4860::8888")), fake_network_cache_model.new_ip(dict(address="2001:4860:4860::8844")), ], ips=[ip], ) if not gateway: ipv6_subnet_dict["gateway"] = None network.add_subnet(fake_network_cache_model.new_subnet(ipv6_subnet_dict)) # Behave as though CONF.flat_injected is True network["meta"]["injected"] = True vif = fake_network_cache_model.new_vif({"network": network}) vifs = [vif] if two_interfaces: vifs.append(vif) nwinfo = model.NetworkInfo(vifs) return netutils.get_injected_network_template(nwinfo, use_ipv6=use_ipv6, libvirt_virt_type=libvirt_virt_type)
def _setup_injected_network_scenario(self, should_inject=True, use_ipv4=True, use_ipv6=False, gateway=True, dns=True, two_interfaces=False, libvirt_virt_type=None): """Check that netutils properly decides whether to inject based on whether the supplied subnet is static or dynamic. """ network = fake_network_cache_model.new_network({'subnets': []}) subnet_dict = {} if not gateway: subnet_dict['gateway'] = None if not dns: subnet_dict['dns'] = None if not should_inject: subnet_dict['dhcp_server'] = '10.10.0.1' if use_ipv4: network.add_subnet( fake_network_cache_model.new_subnet(subnet_dict)) if should_inject and use_ipv6: gateway_ip = fake_network_cache_model.new_ip(dict( address='1234:567::1')) ip = fake_network_cache_model.new_ip(dict( address='1234:567::2')) ipv6_subnet_dict = dict( cidr='1234:567::/48', gateway=gateway_ip, dns=[fake_network_cache_model.new_ip( dict(address='2001:4860:4860::8888')), fake_network_cache_model.new_ip( dict(address='2001:4860:4860::8844'))], ips=[ip]) if not gateway: ipv6_subnet_dict['gateway'] = None network.add_subnet(fake_network_cache_model.new_subnet( ipv6_subnet_dict)) # Behave as though CONF.flat_injected is True network['meta']['injected'] = True vif = fake_network_cache_model.new_vif({'network': network}) vifs = [vif] if two_interfaces: vifs.append(vif) nwinfo = model.NetworkInfo(vifs) return netutils.get_injected_network_template( nwinfo, use_ipv6=use_ipv6, libvirt_virt_type=libvirt_virt_type)
def _setup_injected_network_scenario(self, should_inject=True, use_ipv4=True, use_ipv6=False, gateway=True, dns=True, two_interfaces=False, libvirt_virt_type=None): """Check that netutils properly decides whether to inject based on whether the supplied subnet is static or dynamic. """ network = fake_network_cache_model.new_network({'subnets': []}) subnet_dict = {} if not gateway: subnet_dict['gateway'] = None if not dns: subnet_dict['dns'] = None if not should_inject: subnet_dict['dhcp_server'] = '10.10.0.1' if use_ipv4: network.add_subnet( fake_network_cache_model.new_subnet(subnet_dict)) if should_inject and use_ipv6: gateway_ip = fake_network_cache_model.new_ip(dict( address='1234:567::1')) ip = fake_network_cache_model.new_ip(dict( address='1234:567::2')) ipv6_subnet_dict = dict( cidr='1234:567::/48', gateway=gateway_ip, dns=[fake_network_cache_model.new_ip( dict(address='2001:4860:4860::8888')), fake_network_cache_model.new_ip( dict(address='2001:4860:4860::8844'))], ips=[ip]) if not gateway: ipv6_subnet_dict['gateway'] = None network.add_subnet(fake_network_cache_model.new_subnet( ipv6_subnet_dict)) # Behave as though CONF.flat_injected is True network['meta']['injected'] = True vif = fake_network_cache_model.new_vif({'network': network}) vifs = [vif] if two_interfaces: vifs.append(vif) nwinfo = model.NetworkInfo(vifs) return netutils.get_injected_network_template( nwinfo, use_ipv6=use_ipv6, libvirt_virt_type=libvirt_virt_type)
def _test_get_network_metadata_json_ipv6_addr_mode(self, mode): ipv6_subnet = fake_network_cache_model.new_subnet( subnet_dict=dict(dhcp_server='1234:567::', ipv6_address_mode=mode), version=6) self.netinfo[0]['network']['subnets'][1] = ipv6_subnet net_metadata = netutils.get_network_metadata(self.netinfo) self.assertEqual( { 'id': 'network1', 'link': 'interface0', 'ip_address': 'fd00::2', 'netmask': 'ffff:ffff:ffff::', 'routes': [ { 'network': '::', 'netmask': '::', 'gateway': 'fd00::1' }, { 'network': '::', 'netmask': 'ffff:ffff:ffff::', 'gateway': 'fd00::1:1' } ], 'services': [ {'address': '1:2:3:4::', 'type': 'dns'}, {'address': '2:3:4:5::', 'type': 'dns'} ], 'type': 'ipv6_%s' % mode, 'network_id': 1 }, net_metadata['networks'][1])
def test_add_route_a_lot(self): subnet = fake_network_cache_model.new_subnet() route1 = fake_network_cache_model.new_route() route2 = fake_network_cache_model.new_route({"cidr": "1.1.1.1/24"}) for i in xrange(10): subnet.add_route(route2) self.assertEqual(subnet["routes"], [route1, route2])
def test_add_route_a_lot(self): subnet = fake_network_cache_model.new_subnet() route1 = fake_network_cache_model.new_route() route2 = fake_network_cache_model.new_route({'cidr': '1.1.1.1/24'}) for i in range(10): subnet.add_route(route2) self.assertEqual([route1, route2], subnet['routes'])
def test_add_route_a_lot(self): subnet = fake_network_cache_model.new_subnet() route1 = fake_network_cache_model.new_route() route2 = fake_network_cache_model.new_route({'cidr': '1.1.1.1/24'}) for i in range(10): subnet.add_route(route2) self.assertEqual([route1, route2], subnet['routes'])
def _test_get_network_metadata_json_ipv6_addr_mode(self, mode): ipv6_subnet = fake_network_cache_model.new_subnet( subnet_dict=dict(dhcp_server='1234:567::', ipv6_address_mode=mode), version=6) self.netinfo[0]['network']['subnets'][1] = ipv6_subnet net_metadata = netutils.get_network_metadata(self.netinfo) self.assertEqual( { 'id': 'network1', 'link': 'interface0', 'ip_address': 'fd00::2', 'netmask': 'ffff:ffff:ffff::', 'routes': [ { 'network': '::', 'netmask': '::', 'gateway': 'fd00::1' }, { 'network': '::', 'netmask': 'ffff:ffff:ffff::', 'gateway': 'fd00::1:1' } ], 'services': [ {'address': '1:2:3:4::', 'type': 'dns'}, {'address': '2:3:4:5::', 'type': 'dns'} ], 'type': 'ipv6_%s' % mode, 'network_id': 1 }, net_metadata['networks'][1])
def test_add_dns(self): subnet = fake_network_cache_model.new_subnet() dns = fake_network_cache_model.new_ip(dict(address='9.9.9.9')) subnet.add_dns(dns) self.assertEqual(subnet['dns'], [fake_network_cache_model.new_ip(dict(address='1.2.3.4')), fake_network_cache_model.new_ip(dict(address='2.3.4.5')), fake_network_cache_model.new_ip(dict(address='9.9.9.9'))])
def test_add_dns(self): subnet = fake_network_cache_model.new_subnet() dns = fake_network_cache_model.new_ip(dict(address='9.9.9.9')) subnet.add_dns(dns) self.assertEqual(subnet['dns'], [fake_network_cache_model.new_ip(dict(address='1.2.3.4')), fake_network_cache_model.new_ip(dict(address='2.3.4.5')), fake_network_cache_model.new_ip(dict(address='9.9.9.9'))])
def test_add_dns_a_lot(self): subnet = fake_network_cache_model.new_subnet() for i in range(10): subnet.add_dns(fake_network_cache_model.new_ip( dict(address='9.9.9.9'))) self.assertEqual(subnet['dns'], [fake_network_cache_model.new_ip(dict(address='1.2.3.4')), fake_network_cache_model.new_ip(dict(address='2.3.4.5')), fake_network_cache_model.new_ip(dict(address='9.9.9.9'))])
def test_add_ip(self): subnet = fake_network_cache_model.new_subnet() subnet.add_ip( fake_network_cache_model.new_ip(dict(address='192.168.1.102'))) self.assertEqual([ fake_network_cache_model.new_fixed_ip(dict(address='10.10.0.2')), fake_network_cache_model.new_fixed_ip(dict(address='10.10.0.3')), fake_network_cache_model.new_ip(dict(address='192.168.1.102')) ], subnet['ips'])
def test_add_dns_a_lot(self): subnet = fake_network_cache_model.new_subnet() for i in xrange(10): subnet.add_dns(fake_network_cache_model.new_ip( dict(address='9.9.9.9'))) self.assertEqual(subnet['dns'], [fake_network_cache_model.new_ip(dict(address='1.2.3.4')), fake_network_cache_model.new_ip(dict(address='2.3.4.5')), fake_network_cache_model.new_ip(dict(address='9.9.9.9'))])
def test_add_ip(self): subnet = fake_network_cache_model.new_subnet() subnet.add_ip(fake_network_cache_model.new_ip(dict(address="192.168.1.102"))) self.assertEqual( subnet["ips"], [ fake_network_cache_model.new_fixed_ip(dict(address="10.10.0.2")), fake_network_cache_model.new_fixed_ip(dict(address="10.10.0.3")), fake_network_cache_model.new_ip(dict(address="192.168.1.102")), ], )
def test__get_dns_services(self): expected_dns = [ {'type': 'dns', 'address': '1.2.3.4'}, {'type': 'dns', 'address': '2.3.4.5'}, {'type': 'dns', 'address': '3.4.5.6'} ] subnet = fake_network_cache_model.new_subnet(version=4) subnet['dns'].append(fake_network_cache_model.new_ip( {'address': '3.4.5.6'})) dns = netutils._get_dns_services(subnet) self.assertEqual(expected_dns, dns)
def test__get_dns_services(self): expected_dns = [ {'type': 'dns', 'address': '1.2.3.4'}, {'type': 'dns', 'address': '2.3.4.5'}, {'type': 'dns', 'address': '3.4.5.6'} ] subnet = fake_network_cache_model.new_subnet(version=4) subnet['dns'].append(fake_network_cache_model.new_ip( {'address': '3.4.5.6'})) dns = netutils._get_dns_services(subnet) self.assertEqual(expected_dns, dns)
def test_add_ip(self): subnet = fake_network_cache_model.new_subnet() subnet.add_ip(fake_network_cache_model.new_ip( dict(address='192.168.1.102'))) self.assertEqual( [fake_network_cache_model.new_fixed_ip( dict(address='10.10.0.2')), fake_network_cache_model.new_fixed_ip( dict(address='10.10.0.3')), fake_network_cache_model.new_ip( dict(address='192.168.1.102'))], subnet['ips'])
def test_add_dns(self): subnet = fake_network_cache_model.new_subnet() dns = fake_network_cache_model.new_ip(dict(address="9.9.9.9")) subnet.add_dns(dns) self.assertEqual( subnet["dns"], [ fake_network_cache_model.new_ip(dict(address="1.2.3.4")), fake_network_cache_model.new_ip(dict(address="2.3.4.5")), fake_network_cache_model.new_ip(dict(address="9.9.9.9")), ], )
def test_add_dns_a_lot(self): subnet = fake_network_cache_model.new_subnet() for i in xrange(10): subnet.add_dns(fake_network_cache_model.new_ip(dict(address="9.9.9.9"))) self.assertEqual( subnet["dns"], [ fake_network_cache_model.new_ip(dict(address="1.2.3.4")), fake_network_cache_model.new_ip(dict(address="2.3.4.5")), fake_network_cache_model.new_ip(dict(address="9.9.9.9")), ], )
def test_add_ip_a_lot(self): subnet = fake_network_cache_model.new_subnet() for i in xrange(10): subnet.add_ip(fake_network_cache_model.new_fixed_ip( dict(address='192.168.1.102'))) self.assertEqual(subnet['ips'], [fake_network_cache_model.new_fixed_ip( dict(address='10.10.0.2')), fake_network_cache_model.new_fixed_ip( dict(address='10.10.0.3')), fake_network_cache_model.new_fixed_ip( dict(address='192.168.1.102'))])
def test_add_ip_a_lot(self): subnet = fake_network_cache_model.new_subnet() for i in xrange(10): subnet.add_ip( fake_network_cache_model.new_fixed_ip( dict(address='192.168.1.102'))) self.assertEqual(subnet['ips'], [ fake_network_cache_model.new_fixed_ip(dict(address='10.10.0.2')), fake_network_cache_model.new_fixed_ip(dict(address='10.10.0.3')), fake_network_cache_model.new_fixed_ip( dict(address='192.168.1.102')) ])
def test_create_subnet_with_attrs(self): subnet = fake_network_cache_model.new_subnet() route1 = fake_network_cache_model.new_route() self.assertEqual('10.10.0.0/24', subnet['cidr']) self.assertEqual([ fake_network_cache_model.new_ip(dict(address='1.2.3.4')), fake_network_cache_model.new_ip(dict(address='2.3.4.5')) ], subnet['dns']) self.assertEqual('10.10.0.1', subnet['gateway']['address']) self.assertEqual([ fake_network_cache_model.new_fixed_ip(dict(address='10.10.0.2')), fake_network_cache_model.new_fixed_ip(dict(address='10.10.0.3')) ], subnet['ips']) self.assertEqual([route1], subnet['routes']) self.assertEqual(4, subnet['version'])
def test_create_subnet_with_attrs(self): subnet = fake_network_cache_model.new_subnet() route1 = fake_network_cache_model.new_route() self.assertEqual(subnet['cidr'], '10.10.0.0/24') self.assertEqual(subnet['dns'], [fake_network_cache_model.new_ip(dict(address='1.2.3.4')), fake_network_cache_model.new_ip(dict(address='2.3.4.5'))]) self.assertEqual(subnet['gateway']['address'], '10.10.0.1') self.assertEqual(subnet['ips'], [fake_network_cache_model.new_fixed_ip( dict(address='10.10.0.2')), fake_network_cache_model.new_fixed_ip( dict(address='10.10.0.3'))]) self.assertEqual(subnet['routes'], [route1]) self.assertEqual(subnet['version'], 4)
def test_hydrate(self): fake_network_cache_model.new_subnet() fake_network_cache_model.new_subnet(dict(cidr="255.255.255.255")) network = model.Network.hydrate(fake_network_cache_model.new_network()) self.assertEqual(network["id"], 1) self.assertEqual(network["bridge"], "br0") self.assertEqual(network["label"], "public") self.assertEqual( network["subnets"], [fake_network_cache_model.new_subnet(), fake_network_cache_model.new_subnet(dict(cidr="255.255.255.255"))], )
def test_hydrate(self): fake_network_cache_model.new_subnet() fake_network_cache_model.new_subnet(dict(cidr='255.255.255.255')) network = model.Network.hydrate(fake_network_cache_model.new_network()) self.assertEqual(1, network['id']) self.assertEqual('br0', network['bridge']) self.assertEqual('public', network['label']) self.assertEqual( [fake_network_cache_model.new_subnet(), fake_network_cache_model.new_subnet( dict(cidr='255.255.255.255'))], network['subnets'])
def test_hydrate(self): fake_network_cache_model.new_subnet() fake_network_cache_model.new_subnet(dict(cidr='255.255.255.255')) network = model.Network.hydrate(fake_network_cache_model.new_network()) self.assertEqual(1, network['id']) self.assertEqual('br0', network['bridge']) self.assertEqual('public', network['label']) self.assertEqual([ fake_network_cache_model.new_subnet(), fake_network_cache_model.new_subnet(dict(cidr='255.255.255.255')) ], network['subnets'])
def test_create_subnet_with_attrs(self): subnet = fake_network_cache_model.new_subnet() route1 = fake_network_cache_model.new_route() self.assertEqual(subnet["cidr"], "10.10.0.0/24") self.assertEqual( subnet["dns"], [ fake_network_cache_model.new_ip(dict(address="1.2.3.4")), fake_network_cache_model.new_ip(dict(address="2.3.4.5")), ], ) self.assertEqual(subnet["gateway"]["address"], "10.10.0.1") self.assertEqual( subnet["ips"], [ fake_network_cache_model.new_fixed_ip(dict(address="10.10.0.2")), fake_network_cache_model.new_fixed_ip(dict(address="10.10.0.3")), ], ) self.assertEqual(subnet["routes"], [route1]) self.assertEqual(subnet["version"], 4)
def test_add_route(self): subnet = fake_network_cache_model.new_subnet() route1 = fake_network_cache_model.new_route() route2 = fake_network_cache_model.new_route({'cidr': '1.1.1.1/24'}) subnet.add_route(route2) self.assertEqual(subnet['routes'], [route1, route2])
def test_add_route(self): subnet = fake_network_cache_model.new_subnet() route1 = fake_network_cache_model.new_route() route2 = fake_network_cache_model.new_route({'cidr': '1.1.1.1/24'}) subnet.add_route(route2) self.assertEqual(subnet['routes'], [route1, route2])
def test_subnet_equal(self): subnet1 = fake_network_cache_model.new_subnet() subnet2 = fake_network_cache_model.new_subnet() self.assertEqual(subnet1, subnet2)
def test_get_network_metadata(self): expected_json = { "links": [ { "ethernet_mac_address": "aa:aa:aa:aa:aa:aa", "id": "interface0", "type": "phy", "vif_id": 1, "mtu": 1500 }, { "ethernet_mac_address": "aa:aa:aa:aa:aa:ab", "id": "interface1", "type": "phy", "vif_id": 1, "mtu": 1500 }, ], "networks": [ { "id": "network0", "ip_address": "10.10.0.2", "link": "interface0", "netmask": "255.255.255.0", "network_id": "00000000-0000-0000-0000-000000000000", "routes": [ { "gateway": "10.10.0.1", "netmask": "0.0.0.0", "network": "0.0.0.0" }, { "gateway": "192.168.1.1", "netmask": "255.255.255.0", "network": "0.0.0.0" } ], "type": "ipv4" }, { 'id': 'network1', 'ip_address': 'fd00::2', 'link': 'interface0', 'netmask': 'ffff:ffff:ffff::', 'network_id': '00000000-0000-0000-0000-000000000000', 'routes': [{'gateway': 'fd00::1', 'netmask': '::', 'network': '::'}, {'gateway': 'fd00::1:1', 'netmask': 'ffff:ffff:ffff::', 'network': '::'}], 'type': 'ipv6' }, { "id": "network2", "ip_address": "192.168.0.2", "link": "interface1", "netmask": "255.255.255.0", "network_id": "11111111-1111-1111-1111-111111111111", "routes": [ { "gateway": "192.168.0.1", "netmask": "0.0.0.0", "network": "0.0.0.0" } ], "type": "ipv4" } ], 'services': [ {'address': '1.2.3.4', 'type': 'dns'}, {'address': '2.3.4.5', 'type': 'dns'}, {'address': '1:2:3:4::', 'type': 'dns'}, {'address': '2:3:4:5::', 'type': 'dns'} ] } self.netinfo[0]['network']['id'] = ( '00000000-0000-0000-0000-000000000000') # Add a second NIC self.netinfo.append(fake_network_cache_model.new_vif({ 'type': 'ethernet', 'address': 'aa:aa:aa:aa:aa:ab'})) address = fake_network_cache_model.new_ip({'address': '192.168.0.2'}) gateway_address = fake_network_cache_model.new_ip( {'address': '192.168.0.1'}) ipv4_subnet = fake_network_cache_model.new_subnet( {'cidr': '192.168.0.0/24', 'gateway': gateway_address, 'ips': [address], 'routes': []}) self.netinfo[1]['network']['id'] = ( '11111111-1111-1111-1111-111111111111') self.netinfo[1]['network']['subnets'][0] = ipv4_subnet self.netinfo[1]['network']['mtu'] = 1500 network_json = netutils.get_network_metadata(self.netinfo) self.assertEqual(expected_json, network_json)
def test_get_network_metadata(self): expected_json = { "links": [ { "ethernet_mac_address": "aa:aa:aa:aa:aa:aa", "id": "interface0", "type": "phy", "vif_id": 1, "mtu": 1500 }, { "ethernet_mac_address": "aa:aa:aa:aa:aa:ab", "id": "interface1", "type": "phy", "vif_id": 1, "mtu": 1500 }, ], "networks": [{ "id": "network0", "ip_address": "10.10.0.2", "link": "interface0", "netmask": "255.255.255.0", "network_id": "00000000-0000-0000-0000-000000000000", "routes": [{ "gateway": "10.10.0.1", "netmask": "0.0.0.0", "network": "0.0.0.0" }, { "gateway": "192.168.1.1", "netmask": "255.255.255.0", "network": "0.0.0.0" }], "type": "ipv4" }, { 'id': 'network1', 'ip_address': 'fd00::2', 'link': 'interface0', 'netmask': 'ffff:ffff:ffff::', 'network_id': '00000000-0000-0000-0000-000000000000', 'routes': [{ 'gateway': 'fd00::1', 'netmask': '::', 'network': '::' }, { 'gateway': 'fd00::1:1', 'netmask': 'ffff:ffff:ffff::', 'network': '::' }], 'type': 'ipv6' }, { "id": "network2", "ip_address": "192.168.0.2", "link": "interface1", "netmask": "255.255.255.0", "network_id": "11111111-1111-1111-1111-111111111111", "routes": [{ "gateway": "192.168.0.1", "netmask": "0.0.0.0", "network": "0.0.0.0" }], "type": "ipv4" }], 'services': [{ 'address': '1.2.3.4', 'type': 'dns' }, { 'address': '2.3.4.5', 'type': 'dns' }, { 'address': '1:2:3:4::', 'type': 'dns' }, { 'address': '2:3:4:5::', 'type': 'dns' }] } self.netinfo[0]['network']['id'] = ( '00000000-0000-0000-0000-000000000000') # Add a second NIC self.netinfo.append( fake_network_cache_model.new_vif({ 'type': 'ethernet', 'address': 'aa:aa:aa:aa:aa:ab' })) address = fake_network_cache_model.new_ip({'address': '192.168.0.2'}) gateway_address = fake_network_cache_model.new_ip( {'address': '192.168.0.1'}) ipv4_subnet = fake_network_cache_model.new_subnet({ 'cidr': '192.168.0.0/24', 'gateway': gateway_address, 'ips': [address], 'routes': [] }) self.netinfo[1]['network']['id'] = ( '11111111-1111-1111-1111-111111111111') self.netinfo[1]['network']['subnets'][0] = ipv4_subnet self.netinfo[1]['network']['meta']['mtu'] = 1500 network_json = netutils.get_network_metadata(self.netinfo) self.assertEqual(expected_json, network_json)
def test_subnet_equal(self): subnet1 = fake_network_cache_model.new_subnet() subnet2 = fake_network_cache_model.new_subnet() self.assertEqual(subnet1, subnet2)