コード例 #1
0
ファイル: rpc_servicer_tests.py プロジェクト: markjen/magma
    def test_remove_after_releasing_some_addresses(self):
        """ remove after releasing some addresses shouldn't remove block """
        # Assign IP block
        self._stub.AddIPBlock(self._block_msg)

        # Allocate 2 IPs
        alloc_request0 = AllocateIPRequest(
            sid=self._sid0,
            version=AllocateIPRequest.IPV4,
            apn=self._apn0,
        )
        ip_msg0 = self._stub.AllocateIPAddress(alloc_request0)

        alloc_request1 = AllocateIPRequest(
            sid=self._sid1,
            version=AllocateIPRequest.IPV4,
            apn=self._apn0,
        )
        self._stub.AllocateIPAddress(alloc_request1)

        # Test remove without force -- should not remove block
        remove_request0 = RemoveIPBlockRequest(
            ip_blocks=[self._block_msg],
            force=False,
        )
        resp = self._stub.RemoveIPBlock(remove_request0)

        expect = RemoveIPBlockResponse()
        self.assertEqual(expect, resp)

        # Ensure that block has not been removed
        resp = self._stub.ListAddedIPv4Blocks(Void())
        expect = ListAddedIPBlocksResponse()
        expect.ip_block_list.extend([self._block_msg])
        self.assertEqual(expect, resp)

        # Release the allocated IPs
        release_request0 = ReleaseIPRequest(
            sid=self._sid0,
            ip=ip_msg0.ip_list[0],
            apn=self._apn0,
        )
        resp = self._stub.ReleaseIPAddress(release_request0)
        self.assertEqual(resp, Void())

        # Test remove without force -- should not remove block
        remove_request1 = RemoveIPBlockRequest(
            ip_blocks=[self._block_msg],
            force=False,
        )
        resp = self._stub.RemoveIPBlock(remove_request1)

        expect = RemoveIPBlockResponse()
        self.assertEqual(expect, resp)

        # Ensure that block has not been removed
        resp = self._stub.ListAddedIPv4Blocks(Void())
        expect = ListAddedIPBlocksResponse()
        expect.ip_block_list.extend([self._block_msg])
        self.assertEqual(expect, resp)
コード例 #2
0
    def test_remove_no_assigned_blocks(self):
        """ remove should return nothing """
        remove_request0 = RemoveIPBlockRequest(ip_blocks=[self._block_msg],
                                               force=False)
        resp = self._stub.RemoveIPBlock(remove_request0)

        expect = RemoveIPBlockResponse()
        self.assertEqual(expect, resp)

        resp = self._stub.ListAddedIPv4Blocks(Void())
        expect = ListAddedIPBlocksResponse()
        self.assertEqual(expect, resp)
コード例 #3
0
    def ListAddedIPv4Blocks(self, void, context):
        """ Return a list of IPv4 blocks assigned """
        resp = ListAddedIPBlocksResponse()

        ip_blocks = self._ipv4_allocator.list_added_ip_blocks()
        ip_block_msg_list = [IPBlock(version=IPAddress.IPV4,
                                     net_address=block.network_address.packed,
                                     prefix_len=block.prefixlen)
                             for block in ip_blocks]
        resp.ip_block_list.extend(ip_block_msg_list)

        return resp
コード例 #4
0
ファイル: rpc_servicer.py プロジェクト: maniacs-ops/magma-1
    def ListAddedIPv4Blocks(self, void, context):
        """ Return a list of IPv4 blocks assigned """
        logging.debug("Received ListAddedIPv4Blocks")
        self._print_grpc(void)
        resp = ListAddedIPBlocksResponse()

        ip_blocks = self._ip_address_man.list_added_ip_blocks()
        ip_block_msg_list = [
            IPBlock(version=IPAddress.IPV4,
                    net_address=block.network_address.packed,
                    prefix_len=block.prefixlen) for block in ip_blocks
        ]
        resp.ip_block_list.extend(ip_block_msg_list)

        self._print_grpc(resp)
        return resp
コード例 #5
0
    def ListAddedIPv6Blocks(self, request, context):
        """ Return a list of IPv6 blocks assigned """
        self._print_grpc(request)
        resp = ListAddedIPBlocksResponse()

        ip_blocks = self._ip_address_man.get_assigned_ipv6_block()

        ip_block_msg_list = [
            IPBlock(
                version=IPAddress.IPV6,
                net_address=block.network_address.packed,
                prefix_len=block.prefixlen,
            ) for block in ip_blocks
        ]
        resp.ip_block_list.extend(ip_block_msg_list)

        self._print_grpc(resp)
        return resp
コード例 #6
0
ファイル: rpc_servicer_tests.py プロジェクト: wlm328cs/magma
    def test_remove_allocated_assigned_block_with_force(self):
        """ remove should return nothing """
        self._stub.AddIPBlock(self._block_msg)

        alloc_request0 = AllocateIPRequest(sid=self._sid0,
                                           version=AllocateIPRequest.IPV4)
        self._stub.AllocateIPAddress(alloc_request0)

        remove_request0 = RemoveIPBlockRequest(ip_blocks=[self._block_msg],
                                               force=True)
        resp = self._stub.RemoveIPBlock(remove_request0)

        expect = RemoveIPBlockResponse()
        expect.ip_blocks.extend([self._block_msg])
        self.assertEqual(expect, resp)

        resp = self._stub.ListAddedIPv4Blocks(Void())
        expect = ListAddedIPBlocksResponse()
        self.assertEqual(expect, resp)
コード例 #7
0
ファイル: test_arp_non_nat.py プロジェクト: talkhasib/magma
def mocked_mobilityd_list_ip_blocks():
    res = ListAddedIPBlocksResponse()
    res.ip_block_list.extend(ip_blocks_list)
    return res