示例#1
0
 def test_get_floating_ips(self):
     vif = fake_network_cache_model.new_vif()
     vif['network']['subnets'][0]['ips'][0].add_floating_ip('192.168.1.1')
     ninfo = model.NetworkInfo([vif,
             fake_network_cache_model.new_vif(
                 {'address': 'bb:bb:bb:bb:bb:bb'})])
     self.assertEqual(ninfo.floating_ips(), ['192.168.1.1'])
示例#2
0
 def test_get_floating_ips(self):
     vif = fake_network_cache_model.new_vif()
     vif['network']['subnets'][0]['ips'][0].add_floating_ip('192.168.1.1')
     ninfo = model.NetworkInfo([
         vif,
         fake_network_cache_model.new_vif({'address': 'bb:bb:bb:bb:bb:bb'})
     ])
     self.assertEqual(ninfo.floating_ips(), ['192.168.1.1'])
示例#3
0
 def test_create_model(self):
     ninfo = model.NetworkInfo([
         fake_network_cache_model.new_vif(),
         fake_network_cache_model.new_vif({'address': 'bb:bb:bb:bb:bb:bb'})
     ])
     self.assertEqual(ninfo.fixed_ips(), [
         fake_network_cache_model.new_fixed_ip({'address': '10.10.0.2'}),
         fake_network_cache_model.new_fixed_ip({'address': '10.10.0.3'})
     ] * 4)
示例#4
0
 def test_create_model(self):
     ninfo = model.NetworkInfo([fake_network_cache_model.new_vif(),
             fake_network_cache_model.new_vif(
                 {'address': 'bb:bb:bb:bb:bb:bb'})])
     self.assertEqual(ninfo.fixed_ips(),
             [fake_network_cache_model.new_fixed_ip(
                  {'address': '10.10.0.2'}),
              fake_network_cache_model.new_fixed_ip(
                 {'address': '10.10.0.3'})] * 4)
示例#5
0
 def test_hydrate(self):
     fake_network_cache_model.new_network()
     vif = model.VIF.hydrate(fake_network_cache_model.new_vif())
     self.assertEqual(vif['id'], 1)
     self.assertEqual(vif['address'], 'aa:aa:aa:aa:aa:aa')
     self.assertEqual(vif['network'],
             fake_network_cache_model.new_network())
示例#6
0
 def test_hydrate(self):
     fake_network_cache_model.new_network()
     vif = model.VIF.hydrate(fake_network_cache_model.new_vif())
     self.assertEqual(vif['id'], 1)
     self.assertEqual(vif['address'], 'aa:aa:aa:aa:aa:aa')
     self.assertEqual(vif['network'],
                      fake_network_cache_model.new_network())
示例#7
0
 def test_vif_get_fixed_ips(self):
     vif = fake_network_cache_model.new_vif()
     fixed_ips = vif.fixed_ips()
     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'))
     ] * 2
     self.assertEqual(fixed_ips, ips)
示例#8
0
 def test_vif_get_fixed_ips(self):
     vif = fake_network_cache_model.new_vif()
     fixed_ips = vif.fixed_ips()
     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'))
     ] * 2
     self.assertEqual(fixed_ips, ips)
示例#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)
示例#10
0
 def test_hydrate_vif_with_type(self):
     vif_dict = dict(id=1,
                     address='aa:aa:aa:aa:aa:aa',
                     network=fake_network_cache_model.new_network(),
                     type='bridge')
     vif = model.VIF.hydrate(fake_network_cache_model.new_vif(vif_dict))
     self.assertEqual(vif['id'], 1)
     self.assertEqual(vif['address'], 'aa:aa:aa:aa:aa:aa')
     self.assertEqual(vif['type'], 'bridge')
     self.assertEqual(vif['network'],
                      fake_network_cache_model.new_network())
示例#11
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)
示例#12
0
 def fake_attach_interface(self, context, instance,
                           network_id, port_id,
                           requested_ip='192.168.1.3'):
     if not network_id:
         network_id = "fake_net_uuid"
     if not port_id:
         port_id = "fake_port_uuid"
     vif = fake_network_cache_model.new_vif()
     vif['id'] = port_id
     vif['network']['id'] = network_id
     vif['network']['subnets'][0]['ips'][0] = requested_ip
     return vif
示例#13
0
 def test_hydrate_vif_with_type(self):
     vif_dict = dict(
         id=1,
         address='aa:aa:aa:aa:aa:aa',
         network=fake_network_cache_model.new_network(),
         type='bridge')
     vif = model.VIF.hydrate(fake_network_cache_model.new_vif(vif_dict))
     self.assertEqual(vif['id'], 1)
     self.assertEqual(vif['address'], 'aa:aa:aa:aa:aa:aa')
     self.assertEqual(vif['type'], 'bridge')
     self.assertEqual(vif['network'],
             fake_network_cache_model.new_network())
示例#14
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)
示例#15
0
 def fake_attach_interface(self,
                           context,
                           instance,
                           network_id,
                           port_id,
                           requested_ip='192.168.1.3'):
     if not network_id:
         network_id = "fake_net_uuid"
     if not port_id:
         port_id = "fake_port_uuid"
     vif = fake_network_cache_model.new_vif()
     vif['id'] = port_id
     vif['network']['id'] = network_id
     vif['network']['subnets'][0]['ips'][0] = requested_ip
     return vif
示例#16
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)
示例#17
0
def fake_attach_interface(self,
                          context,
                          instance,
                          network_id,
                          port_id,
                          requested_ip='192.168.1.3'):
    if not network_id:
        # if no network_id is given when add a port to an instance, use the
        # first default network.
        network_id = fake_networks[0]
    if network_id == FAKE_BAD_NET_ID:
        raise exception.NetworkNotFound(network_id=network_id)
    if not port_id:
        port_id = ports[fake_networks.index(network_id)]['id']
    if port_id == FAKE_NOT_FOUND_PORT_ID:
        raise exception.PortNotFound(port_id=port_id)
    vif = fake_network_cache_model.new_vif()
    vif['id'] = port_id
    vif['network']['id'] = network_id
    vif['network']['subnets'][0]['ips'][0]['address'] = requested_ip
    return vif
示例#18
0
 def test_create_vif(self):
     vif = fake_network_cache_model.new_vif()
     self.assertEqual(vif['id'], 1)
     self.assertEqual(vif['address'], 'aa:aa:aa:aa:aa:aa')
     self.assertEqual(vif['network'],
             fake_network_cache_model.new_network())
示例#19
0
 def test_vif_get_floating_ips(self):
     vif = fake_network_cache_model.new_vif()
     vif['network']['subnets'][0]['ips'][0].add_floating_ip('192.168.1.1')
     floating_ips = vif.floating_ips()
     self.assertEqual(floating_ips, ['192.168.1.1'])
示例#20
0
 def async_wrapper():
     return model.NetworkInfo(
             [fake_network_cache_model.new_vif(),
              fake_network_cache_model.new_vif(
                     {'address': 'bb:bb:bb:bb:bb:bb'})])
示例#21
0
 def async_wrapper():
     return model.NetworkInfo([
         fake_network_cache_model.new_vif(),
         fake_network_cache_model.new_vif(
             {'address': 'bb:bb:bb:bb:bb:bb'})
     ])
示例#22
0
 def test_create_vif(self):
     vif = fake_network_cache_model.new_vif()
     self.assertEqual(vif['id'], 1)
     self.assertEqual(vif['address'], 'aa:aa:aa:aa:aa:aa')
     self.assertEqual(vif['network'],
                      fake_network_cache_model.new_network())
示例#23
0
 def test_vif_get_floating_ips(self):
     vif = fake_network_cache_model.new_vif()
     vif['network']['subnets'][0]['ips'][0].add_floating_ip('192.168.1.1')
     floating_ips = vif.floating_ips()
     self.assertEqual(floating_ips, ['192.168.1.1'])