Example #1
0
 def test_auto_reservations_2(self):
     obj = DummyObject(0)
     network = DummyObject(0)
     obj.network = network
     network.subnet = '192.168.2.0/31'
     network.gateway = '192.168.2.1'
     pool = IPPool(obj)
     self.assertEqual(pool.is_available('192.168.2.0'), False)
     self.assertEqual(pool.is_available('192.168.2.1'), False)
     self.assertEqual(pool.size(), 8)
     self.assertEqual(pool.empty(), True)
Example #2
0
 def test_auto_reservations_2(self):
     obj = DummyObject(0)
     network = DummyObject(0)
     obj.network = network
     network.subnet = '192.168.2.0/31'
     network.gateway = '192.168.2.1'
     pool = IPPool(obj)
     self.assertEqual(pool.is_available('192.168.2.0'), False)
     self.assertEqual(pool.is_available('192.168.2.1'), False)
     self.assertEqual(pool.size(), 8)
     self.assertEqual(pool.empty(), True)
Example #3
0
 def test_auto_reservations(self):
     obj = DummyObject(0)
     network = DummyObject(0)
     obj.network = network
     network.subnet = '192.168.2.0/24'
     network.gateway = '192.168.2.1'
     pool = IPPool(obj)
     self.assertEqual(pool.is_available('192.168.2.0'), False)
     self.assertEqual(pool.is_available('192.168.2.1'), False)
     self.assertEqual(pool.is_available('192.168.2.255'), False)
     self.assertEqual(pool.count_available(), 253)
     self.assertEqual(pool.get(), '192.168.2.2')
Example #4
0
 def test_get_with_value(self):
     obj = DummyObject(16)
     subnet = DummyObject(0)
     obj.subnet = subnet
     subnet.cidr = "192.168.2.0/28"
     subnet.gateway = None
     obj.base = "192.168.2.0/28"
     obj.offset = 0
     pool = IPPool(obj)
     # Test if reserved
     pool.reserve("192.168.2.2")
     self.assertRaises(ValueNotAvailable, pool.get, "192.168.2.2")
     # Test if externally reserved
     pool.reserve("192.168.2.3", external=True)
     self.assertRaises(ValueNotAvailable, pool.get, "192.168.2.3")
     self.assertRaises(InvalidValue, pool.get, "192.168.2.16")
Example #5
0
def get_network_pool(gnet):
    """Return available and reserved IP maps.

    Extract the available and reserved IP map from the info return from Ganeti
    for a network.

    """
    converter = IPPool(Foo(gnet['network']))
    a_map = bitarray_from_map(gnet['map'])
    a_map.invert()
    reserved = gnet['external_reservations']
    r_map = a_map.copy()
    r_map.setall(True)
    for address in reserved.split(','):
        index = converter.value_to_index(address)
        a_map[index] = True
        r_map[index] = False
    return a_map, r_map
def get_network_pool(gnet):
    """Return available and reserved IP maps.

    Extract the available and reserved IP map from the info return from Ganeti
    for a network.

    """
    converter = IPPool(Foo(gnet['network']))
    a_map = bitarray_from_map(gnet['map'])
    a_map.invert()
    reserved = gnet['external_reservations']
    r_map = a_map.copy()
    r_map.setall(True)
    for address in reserved.split(','):
        index = converter.value_to_index(address)
        a_map[index] = True
        r_map[index] = False
    return a_map, r_map
Example #7
0
 def test_auto_reservations(self):
     obj = DummyObject(0)
     network = DummyObject(0)
     obj.network = network
     network.subnet = '192.168.2.0/24'
     network.gateway = '192.168.2.1'
     pool = IPPool(obj)
     self.assertEqual(pool.is_available('192.168.2.0'), False)
     self.assertEqual(pool.is_available('192.168.2.1'), False)
     self.assertEqual(pool.is_available('192.168.2.255'), False)
     self.assertEqual(pool.count_available(), 253)
     self.assertEqual(pool.get(), '192.168.2.2')
Example #8
0
 def test_get_with_value(self):
     obj = DummyObject(16)
     subnet = DummyObject(0)
     obj.subnet = subnet
     subnet.cidr = "192.168.2.0/28"
     subnet.gateway = None
     obj.base = "192.168.2.0/28"
     obj.offset = 0
     pool = IPPool(obj)
     # Test if reserved
     pool.reserve("192.168.2.2")
     self.assertRaises(ValueNotAvailable, pool.get, "192.168.2.2")
     # Test if externally reserved
     pool.reserve("192.168.2.3", external=True)
     self.assertRaises(ValueNotAvailable, pool.get, "192.168.2.3")
     self.assertRaises(InvalidValue, pool.get, "192.168.2.16")