Revision 06ffd11f snf-cyclades-app/synnefo/db/models.py

b/snf-cyclades-app/synnefo/db/models.py
727 727
    updated = models.DateTimeField(auto_now=True)
728 728
    index = models.IntegerField(null=True)
729 729
    mac = models.CharField(max_length=32, null=True, unique=True)
730
    ipv4 = models.CharField(max_length=15, null=True)
731
    ipv6 = models.CharField(max_length=100, null=True)
732 730
    firewall_profile = models.CharField(choices=FIREWALL_PROFILES,
733 731
                                        max_length=30, null=True)
734 732
    security_groups = models.ManyToManyField("SecurityGroup", null=True)
......
750 748
    name = models.CharField('group name', max_length=128)
751 749

  
752 750

  
753
class FloatingIP(models.Model):
754
    userid = models.CharField("UUID of the owner", max_length=128,
755
                              null=False, db_index=True)
756
    ipv4 = models.IPAddressField(null=False, unique=True, db_index=True)
757
    network = models.ForeignKey(Network, related_name="floating_ips",
758
                                null=False, on_delete=models.CASCADE)
759
    machine = models.ForeignKey(VirtualMachine, related_name="floating_ips",
760
                                null=True, on_delete=models.SET_NULL)
761
    created = models.DateTimeField(auto_now_add=True)
762
    deleted = models.BooleanField(default=False, null=False)
763
    serial = models.ForeignKey(QuotaHolderSerial,
764
                               related_name="floating_ips", null=True,
765
                               on_delete=models.SET_NULL)
766

  
767
    def __unicode__(self):
768
        return "<FIP: %s@%s>" % (self.ipv4, self.network.id)
769

  
770
    def in_use(self):
771
        if self.machine is None:
772
            return False
773
        else:
774
            return (not self.machine.deleted)
775

  
776

  
777 751
class PoolTable(models.Model):
778 752
    available_map = models.TextField(default="", null=False)
779 753
    reserved_map = models.TextField(default="", null=False)

Also available in: Unified diff