X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=planetstack%2Fopenstack_observer%2Fsteps%2Fsync_sites.py;h=e18e2f89a9cb20b691327bf31d8cef3b6b36ef2a;hb=5e31249544b8bc8a4d84b07d06b816a26a1defb4;hp=c560a6a956c29e10eba122f2a19596e7b99c0618;hpb=d5ef20e089e5829f8a8964b333aafdfb39aeb18e;p=plstackapi.git diff --git a/planetstack/openstack_observer/steps/sync_sites.py b/planetstack/openstack_observer/steps/sync_sites.py index c560a6a..e18e2f8 100644 --- a/planetstack/openstack_observer/steps/sync_sites.py +++ b/planetstack/openstack_observer/steps/sync_sites.py @@ -3,8 +3,8 @@ import base64 from django.db.models import F, Q from planetstack.config import Config from observer.openstacksyncstep import OpenStackSyncStep -from core.models.site import Site -from observer.steps.sync_site_deployments import * +from core.models.site import Site, SiteDeployments, ControllerSiteDeployments +from observer.steps.sync_controller_site_deployments import * class SyncSites(OpenStackSyncStep): provides=[Site] @@ -14,7 +14,16 @@ class SyncSites(OpenStackSyncStep): site.save() def delete_record(self, site): + # delete associated controllers site deployments + ctrl_site_deployments = ControllerSiteDeployments.objects.filter(site_deployment__site=site) + ctrl_site_deploy_deleter = SyncControllerSiteDeployments().delete_record + for ctrl_site_deployment in ctrl_site_deployments: + ctrl_site_deployment_deleter(ctrl_site_deployment) + + # delete site deployments site_deployments = SiteDeployments.objects.filter(site=site) - site_deployment_deleter = SyncSiteDeployments().delete_record for site_deployment in site_deployments: - site_deployment_deleter(site_deployment) + site_deployment.delete() + + +