def test_release_ip_twice_from_subnet(self): """Release an ip twice from a subnet; return True.""" ip = '172.16.2.1' mask = '30' sub = SpokeSubnet(ip, mask) sub.create() sub.modify(reserve=2) sub.modify(release='172.16.1.2') self.assertTrue(sub.modify(release='172.16.1.2')) sub.delete()
def test_release_ip_from_subnet(self): """Release an ip from a subnet; return a results object.""" subnet = '172.16.2.1' network = '172.16.2.0' mask = '30' expected_result = [(network, {'free': [1], 'aloc': [2]})] sub = SpokeSubnet(subnet, mask) sub.create() sub.modify(reserve=2) result = sub.modify(release='172.16.1.2')['data'] self.assertEqual(result, expected_result) sub.delete()
def test_free_aloc_reserve_ip_from_subnet(self): """Request an ip from a subnet; verify free/aloc addresses.""" ip = '172.16.1.1' network = '172.16.1.0' mask = '30' expected_result = [(network, {'free': [1], 'aloc': [1]})] sub = SpokeSubnet(ip, mask) sub.create() sub.modify(reserve=1) result = sub.get()['data'] self.assertEqual(result, expected_result) sub.delete()
def release(network, mask, ip): try: conf = _spoke_config(_salt_config('config')) subnet = SpokeSubnet(ip=network, mask=mask, dc=None) result = subnet.modify(release=ip, reserve=None) except error.SpokeError as e: result = common.handle_error(e) return result
def release(network, mask, ip): try: from spoke.lib.ip import SpokeSubnet subnet = SpokeSubnet(ip=network, mask=mask, dc=None) result = subnet.modify(release=ip, reserve=None) except error.SpokeError as e: result = common.handle_error(e) return result
def test_len_reserve_single_ip_from_subnet(self): """Request an ip from a subnet; return a single IP address as list.""" subnet = '172.16.1.1' mask = '30' sub = SpokeSubnet(subnet, mask) sub.create() result = sub.modify(reserve=1)['data'] self.assertEquals(len(result), 1) sub.delete()