3 from netaddr import IPAddress, IPNetwork
4 from django.db.models import F, Q
5 from planetstack.config import Config
6 from observer.openstacksyncstep import OpenStackSyncStep
7 from core.models.slice import Slice, SliceDeployments
8 from util.logger import Logger, logging
9 from observer.steps.sync_slice_deployments import *
11 logger = Logger(level=logging.INFO)
13 class SyncSlices(OpenStackSyncStep):
17 def sync_record(self, slice):
18 for slice_deployment in SliceDeployments.objects.filter(slice=slice):
19 # bump the 'updated' timestamp and trigger observer to update
20 # slice across all deployments
21 slice_deployment.save()
23 def delete_record(self, slice):
24 slice_deployment_deleter = SyncSliceDeployments().delete_record
25 for slice_deployment in SliceDeployments.objects.filter(slice=slice):
27 slice_deployment_deleter(slice_deployment)
29 logger.log_exc("Failed to delete slice_deployment %s" % slice_deployment)