Example #1
0
    def test_get_ports_filter_with_ip_and_device(self):

        with self._stubs(self.network, self.subnet, self.ports_info4) as (
                net, sub, ports):

            network = dict(name="xx", tenant_id="fake", network_plugin="BASE")
            xx_network = {"network": network}
            xx_net = network_api.create_network(self.context, xx_network)
            subnet = dict(id=2, ip_version=4, next_auto_assign_ip=2,
                          cidr=self.cidr, first_ip=self.ip_network.first,
                          last_ip=self.ip_network.last, ip_policy=None,
                          tenant_id="fake")
            xx_subnet = {"subnet": subnet}
            xx_subnet['subnet']['network_id'] = xx_net['id']
            subnet_api.create_subnet(self.context, xx_subnet)

            port_info = {'port': dict(device_id='a')}
            port_info['port']['network_id'] = xx_net['id']
            port_api.create_port(self.context, port_info)

            port_ids1 = [ports[0]['id'], ports[1]['id']]

            shared_ip1 = {'ip_address': dict(port_ids=port_ids1,
                                             network_id=net['id'],
                                             version=4)}
            ip1 = ip_api.create_ip_address(self.context, shared_ip1)

            filters = dict(device_id='a')
            ports = ip_api.get_ports_for_ip_address(self.context, ip1['id'],
                                                    filters=filters)
            self.assertEqual(1, len(ports))

            filters = dict(device_id='a')
            ports = port_api.get_ports(self.context, filters=filters)
            self.assertEqual(2, len(ports))
Example #2
0
    def test_ports_pagination(self):
        cidr = "192.168.1.0/24"

        ip_network = netaddr.IPNetwork(cidr)

        network = dict(id="1",
                       name="public",
                       tenant_id="make",
                       network_plugin="BASE",
                       ipam_strategy="ANY")
        network = {"network": network}

        subnet = dict(id="1",
                      ip_version=4,
                      next_auto_assign_ip=2,
                      cidr=cidr,
                      first_ip=ip_network.first,
                      last_ip=ip_network.last,
                      ip_policy=None,
                      tenant_id="fake")
        subnet_info = {"subnet": subnet}

        def _make_body():
            fix_ipv4 = dict(subnet_id=sub_ports[0]['id'])
            port_info = {
                "port": dict(fixed_ips=[fix_ipv4], network_id=net['id'])
            }
            return port_info

        ports_per_page = 1
        with self._stubs(network, subnet_info) as (net, sub_ports):
            port1 = port_api.create_port(self.context, _make_body())
            port2 = port_api.create_port(self.context, _make_body())
            res_ports = port_api.get_ports(self.context, ports_per_page,
                                           ['id'], None)
            self.assertEqual(len(res_ports), ports_per_page)
            res_ports = port_api.get_ports(self.context)
            self.assertNotEqual(len(res_ports), ports_per_page)
            # Note (Perkins): Testing for a default sort on created_at,
            # but created_at is not available, so check that mac addresses,
            # which are created sequentially, are ordered correctly.
            res_ports = port_api.get_ports(self.context, 2, ['mac_address'],
                                           None)
            self.assertTrue(
                res_ports[0]['mac_address'] < res_ports[1]['mac_address'])
            self.assertTrue(port1['id'] == res_ports[0]['id'])
            self.assertTrue(port2['id'] == res_ports[1]['id'])
Example #3
0
 def get_ports(self,
               context,
               limit=None,
               page_reverse=False,
               sorts=['id'],
               marker=None,
               filters=None,
               fields=None):
     return ports.get_ports(context, limit, sorts, marker, page_reverse,
                            filters, fields)
Example #4
0
    def test_ports_pagination(self):
        cidr = "192.168.1.0/24"

        ip_network = netaddr.IPNetwork(cidr)

        network = dict(id="1", name="public", tenant_id="make",
                       network_plugin="BASE",
                       ipam_strategy="ANY")
        network = {"network": network}

        subnet = dict(id="1", ip_version=4, next_auto_assign_ip=2,
                      cidr=cidr, first_ip=ip_network.first,
                      last_ip=ip_network.last, ip_policy=None,
                      tenant_id="fake")
        subnet_info = {"subnet": subnet}

        def _make_body():
            fix_ipv4 = dict(subnet_id=sub_ports[0]['id'])
            port_info = {"port": dict(fixed_ips=[fix_ipv4],
                                      network_id=net['id'])}
            return port_info

        ports_per_page = 1
        with self._stubs(network, subnet_info) as (
                net, sub_ports):
            port1 = port_api.create_port(self.context, _make_body())
            port2 = port_api.create_port(self.context, _make_body())
            res_ports = port_api.get_ports(self.context, ports_per_page,
                                           ['id'], None)
            self.assertEqual(len(res_ports), ports_per_page)
            res_ports = port_api.get_ports(self.context)
            self.assertNotEqual(len(res_ports), ports_per_page)
            # Note (Perkins): Testing for a default sort on created_at,
            # but created_at is not available, so check that mac addresses,
            # which are created sequentially, are ordered correctly.
            res_ports = port_api.get_ports(self.context, 2, ['mac_address'],
                                           None)
            self.assertTrue(res_ports[0]['mac_address'] <
                            res_ports[1]['mac_address'])
            self.assertTrue(port1['id'] == res_ports[0]['id'])
            self.assertTrue(port2['id'] == res_ports[1]['id'])
Example #5
0
 def get_ports(self, context, limit=None, page_reverse=False, sorts=None,
               marker=None, filters=None, fields=None):
     return ports.get_ports(context, limit, sorts, marker, page_reverse,
                            filters, fields)
Example #6
0
 def get_ports(self, context, filters=None, fields=None):
     return ports.get_ports(context, filters, fields)
Example #7
0
 def get_ports(self, context, filters=None, fields=None):
     return ports.get_ports(context, filters, fields)