From a5593a23a625c033f5133df873c819daacb31e98 Mon Sep 17 00:00:00 2001 From: Sapan Bhatia Date: Wed, 23 Jul 2014 08:51:18 -0400 Subject: [PATCH] Networks deleter for OpenStack --- .../openstack_observer/steps/sync_networks.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/planetstack/openstack_observer/steps/sync_networks.py b/planetstack/openstack_observer/steps/sync_networks.py index fd42f4e..552f03c 100644 --- a/planetstack/openstack_observer/steps/sync_networks.py +++ b/planetstack/openstack_observer/steps/sync_networks.py @@ -12,9 +12,21 @@ class SyncNetworks(OpenStackSyncStep): provides=[Network] requested_interval = 0 - def fetch_pending(self): - return Network.objects.filter(Q(enacted__lt=F('updated')) | Q(enacted=None)) + def fetch_pending(self, deleted): + if (not deleted): + objs = Network.objects.filter(Q(enacted__lt=F('updated')) | Q(enacted=None)) + else: + objs = Network.deleted_objects.all() def sync_record(self, network): network.save() + def delete_record(self, network): + network_deployment_deleter = NetworkDeploymentDeleter() + for network_deployment in NetworkDeployments.objects.filter(network=network): + try: + network_deployment_deleter(network_deployment.id) + except Exeption,e: + logger.log_exc("Failed to delete network deployment %s" % network_deployment) + raise e + network.delete() -- 2.43.0