e18e2f89a9cb20b691327bf31d8cef3b6b36ef2a
[plstackapi.git] / planetstack / openstack_observer / steps / sync_sites.py
1 import os
2 import base64
3 from django.db.models import F, Q
4 from planetstack.config import Config
5 from observer.openstacksyncstep import OpenStackSyncStep
6 from core.models.site import Site, SiteDeployments, ControllerSiteDeployments 
7 from observer.steps.sync_controller_site_deployments import *
8
9 class SyncSites(OpenStackSyncStep):
10     provides=[Site]
11     requested_interval=0
12
13     def sync_record(self, site):
14         site.save()
15
16     def delete_record(self, site):
17         # delete associated controllers site deployments
18         ctrl_site_deployments = ControllerSiteDeployments.objects.filter(site_deployment__site=site)
19         ctrl_site_deploy_deleter = SyncControllerSiteDeployments().delete_record
20         for ctrl_site_deployment in ctrl_site_deployments:
21             ctrl_site_deployment_deleter(ctrl_site_deployment)
22
23         # delete site deployments
24         site_deployments = SiteDeployments.objects.filter(site=site)
25         for site_deployment in site_deployments:
26             site_deployment.delete()    
27          
28
29