Esempio n. 1
0
 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'))])
Esempio n. 2
0
 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'))
     ])
Esempio n. 3
0
 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'))])
Esempio n. 4
0
 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'))
     ])
Esempio n. 5
0
    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)
Esempio n. 6
0
 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'))
     ])
Esempio n. 7
0
 def test_vif_get_labeled_ips(self):
     vif = fake_network_cache_model.new_vif()
     labeled_ips = vif.labeled_ips()
     ip_dict = {
         'network_id': 1,
         'ips': [fake_network_cache_model.new_ip(
                     {'address': '10.10.0.2', 'type': 'fixed'}),
                 fake_network_cache_model.new_ip(
                     {'address': '10.10.0.3', 'type': 'fixed'})] * 2,
         'network_label': 'public'}
     self.assertEqual(labeled_ips, ip_dict)
Esempio n. 8
0
 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'))])
Esempio n. 9
0
    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)
Esempio n. 10
0
 def test_hydrate(self):
     route = model.Route.hydrate(
             {'gateway': fake_network_cache_model.new_ip(
                             dict(address='192.168.1.1'))})
     self.assertIsNone(route['cidr'])
     self.assertEqual(route['gateway']['address'], '192.168.1.1')
     self.assertIsNone(route['interface'])
Esempio n. 11
0
    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)
Esempio n. 12
0
 def test_hydrate(self):
     route = model.Route.hydrate({
         'gateway':
         fake_network_cache_model.new_ip(dict(address='192.168.1.1'))
     })
     self.assertIsNone(route['cidr'])
     self.assertEqual(route['gateway']['address'], '192.168.1.1')
     self.assertIsNone(route['interface'])
Esempio n. 13
0
    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)
Esempio n. 14
0
 def test_vif_get_labeled_ips(self):
     vif = fake_network_cache_model.new_vif()
     labeled_ips = vif.labeled_ips()
     ip_dict = {
         'network_id':
         1,
         'ips': [
             fake_network_cache_model.new_ip({
                 'address': '10.10.0.2',
                 'type': 'fixed'
             }),
             fake_network_cache_model.new_ip({
                 'address': '10.10.0.3',
                 'type': 'fixed'
             })
         ] * 2,
         'network_label':
         'public'
     }
     self.assertEqual(labeled_ips, ip_dict)
Esempio n. 15
0
    def test_hydrate(self):
        subnet_dict = {
            'cidr': '255.255.255.0',
            'dns': [fake_network_cache_model.new_ip(dict(address='1.1.1.1'))],
            'ips': [fake_network_cache_model.new_fixed_ip(
                    dict(address='2.2.2.2'))],
            'routes': [fake_network_cache_model.new_route()],
            'version': 4,
            'gateway': fake_network_cache_model.new_ip(
                            dict(address='3.3.3.3'))}
        subnet = model.Subnet.hydrate(subnet_dict)

        self.assertEqual(subnet['cidr'], '255.255.255.0')
        self.assertEqual(subnet['dns'], [fake_network_cache_model.new_ip(
                                         dict(address='1.1.1.1'))])
        self.assertEqual(subnet['gateway']['address'], '3.3.3.3')
        self.assertEqual(subnet['ips'], [fake_network_cache_model.new_fixed_ip(
                                         dict(address='2.2.2.2'))])
        self.assertEqual(subnet['routes'], [
                    fake_network_cache_model.new_route()])
        self.assertEqual(subnet['version'], 4)
Esempio n. 16
0
    def test_hydrate(self):
        subnet_dict = {
            'cidr': '255.255.255.0',
            'dns': [fake_network_cache_model.new_ip(dict(address='1.1.1.1'))],
            'ips':
            [fake_network_cache_model.new_fixed_ip(dict(address='2.2.2.2'))],
            'routes': [fake_network_cache_model.new_route()],
            'version': 4,
            'gateway': fake_network_cache_model.new_ip(dict(address='3.3.3.3'))
        }
        subnet = model.Subnet.hydrate(subnet_dict)

        self.assertEqual(subnet['cidr'], '255.255.255.0')
        self.assertEqual(
            subnet['dns'],
            [fake_network_cache_model.new_ip(dict(address='1.1.1.1'))])
        self.assertEqual(subnet['gateway']['address'], '3.3.3.3')
        self.assertEqual(
            subnet['ips'],
            [fake_network_cache_model.new_fixed_ip(dict(address='2.2.2.2'))])
        self.assertEqual(subnet['routes'],
                         [fake_network_cache_model.new_route()])
        self.assertEqual(subnet['version'], 4)
Esempio n. 17
0
 def test_create_route_with_attrs(self):
     route = fake_network_cache_model.new_route()
     fake_network_cache_model.new_ip(dict(address='192.168.1.1'))
     self.assertEqual(route['cidr'], '0.0.0.0/24')
     self.assertEqual(route['gateway']['address'], '192.168.1.1')
     self.assertEqual(route['interface'], 'eth0')
Esempio n. 18
0
 def test_create_route_with_attrs(self):
     route = fake_network_cache_model.new_route()
     fake_network_cache_model.new_ip(dict(address='192.168.1.1'))
     self.assertEqual(route['cidr'], '0.0.0.0/24')
     self.assertEqual(route['gateway']['address'], '192.168.1.1')
     self.assertEqual(route['interface'], 'eth0')