Revision 7cfbbf32 snf-cyclades-app/synnefo/db/models.py
b/snf-cyclades-app/synnefo/db/models.py | ||
---|---|---|
551 | 551 |
mac_prefix = MacPrefixPool.get_available().value |
552 | 552 |
self.mac_prefix = mac_prefix |
553 | 553 |
|
554 |
def save(self, *args, **kwargs): |
|
555 |
pk = self.pk |
|
556 |
super(Network, self).save(*args, **kwargs) |
|
557 |
if not pk: |
|
558 |
# In case of a new Network, corresponding BackendNetwork's must |
|
559 |
# be created! |
|
560 |
for back in Backend.objects.all(): |
|
561 |
BackendNetwork.objects.create(backend=back, network=self) |
|
554 |
def create_backend_network(self, backend=None): |
|
555 |
"""Create corresponding BackendNetwork entries.""" |
|
556 |
|
|
557 |
backends = [backend] if backend else Backend.objects.all() |
|
558 |
for backend in backends: |
|
559 |
BackendNetwork.objects.create(backend=backend, network=self) |
|
562 | 560 |
|
563 | 561 |
@property |
564 | 562 |
def pool(self): |
... | ... | |
631 | 629 |
backendtime = models.DateTimeField(null=False, |
632 | 630 |
default=datetime.datetime.min) |
633 | 631 |
|
632 |
class Meta: |
|
633 |
# Ensure one entry for each network in each backend |
|
634 |
unique_together = (("network", "backend")) |
|
635 |
|
|
634 | 636 |
def __init__(self, *args, **kwargs): |
635 | 637 |
"""Initialize state for just created BackendNetwork instances.""" |
636 | 638 |
super(BackendNetwork, self).__init__(*args, **kwargs) |
Also available in: Unified diff