Revision c2876228 snf-cyclades-app/synnefo/db/models.py

b/snf-cyclades-app/synnefo/db/models.py
702 702
        return '%s@%s' % (self.machine.name, self.network.name)
703 703

  
704 704

  
705
class FloatingIP(models.Model):
706
    userid = models.CharField("UUID of the owner", max_length=128,
707
                              null=False, db_index=True)
708
    ipv4 = models.IPAddressField(null=False, unique=True, db_index=True)
709
    network = models.ForeignKey(Network, related_name="floating_ips",
710
                                null=False)
711
    machine = models.ForeignKey(VirtualMachine, related_name="floating_ips",
712
                                null=True)
713
    created = models.DateTimeField(auto_now_add=True)
714
    deleted = models.BooleanField(default=False, null=False)
715
    serial = models.ForeignKey(QuotaHolderSerial,
716
                               related_name="floating_ips", null=True)
717

  
718
    objects = ForUpdateManager()
719

  
720
    def __unicode__(self):
721
        return "<%s@%s>" % (self.ipv4, self.network.id)
722

  
723
    def in_use(self):
724
        if self.machine is None:
725
            return False
726
        else:
727
            return (not self.machine.deleted)
728

  
729

  
705 730
class PoolTable(models.Model):
706 731
    available_map = models.TextField(default="", null=False)
707 732
    reserved_map = models.TextField(default="", null=False)

Also available in: Unified diff