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