Revision c2876228

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)
b/snf-cyclades-app/synnefo/db/models_factory.py
181 181
        factory.Sequence(round_seq_first(FACTORY_FOR.FIREWALL_PROFILES))
182 182

  
183 183

  
184
class FloatingIPFactory(factory.DjangoModelFactory):
185
    FACTORY_FOR = models.FloatingIP
186

  
187
    machine = factory.SubFactory(VirtualMachineFactory)
188
    network = factory.SubFactory(NetworkFactory, public=False, deleted=False)
189
    ipv4 = factory.LazyAttributeSequence(lambda a, n: a.network.subnet[:-4] +
190
                                         '{0}'.format(int(n) + 2))
191

  
192

  
184 193
class BridgePoolTableFactory(factory.DjangoModelFactory):
185 194
    FACTORY_FOR = models.BridgePoolTable
186 195

  

Also available in: Unified diff