Revision e59cda53

b/snf-cyclades-app/synnefo/db/models.py
547 547
        raise pools.InvalidValue("Network %s does not have an IP pool that"
548 548
                                 " contains address %s" % (self, address))
549 549

  
550
    def release_address(self, address, external=True):
550
    def release_address(self, address, external=False):
551 551
        for ip_pool in self.get_ip_pools():
552 552
            if ip_pool.contains(address):
553
                ip_pool.release(address, external=external)
553
                ip_pool.put(address, external=external)
554 554
                ip_pool.save()
555 555
                return
556 556
        raise pools.InvalidValue("Network %s does not have an IP pool that"
b/snf-cyclades-app/synnefo/db/pools/__init__.py
287 287
    def index_to_value(self, index):
288 288
        return str(self.net[index + int(self.offset)])
289 289

  
290
    def contains(self, address):
291
        addr = ipaddr.IPAddress(address)
292
        return addr in self.net and super(IPPool, self).contains(address)
290
    def contains(self, address, index=False):
291
        if index is False:
292
            addr = ipaddr.IPAddress(address)
293
            if addr not in self.net:
294
                return False
295
        return super(IPPool, self).contains(address, index=False)
293 296

  
294 297
    def return_start(self):
295 298
        return str(ipaddr.IPAddress(self.base) + self.offset)

Also available in: Unified diff