Policy: Add new slices to all deployments
authorSapan Bhatia <gwsapan@gmail.com>
Wed, 3 Sep 2014 19:39:13 +0000 (15:39 -0400)
committerSapan Bhatia <gwsapan@gmail.com>
Wed, 3 Sep 2014 19:39:13 +0000 (15:39 -0400)
planetstack/model_policies/model_policy_Slice.py [new file with mode: 0644]

diff --git a/planetstack/model_policies/model_policy_Slice.py b/planetstack/model_policies/model_policy_Slice.py
new file mode 100644 (file)
index 0000000..5d66903
--- /dev/null
@@ -0,0 +1,23 @@
+from core.models import *
+
+def handle(slice):
+       site_deployments = SiteDeployments.objects.all()
+       site_deploy_lookup = defaultdict(list)
+       for site_deployment in site_deployments:
+               site_deploy_lookup[site_deployment.site].append(site_deployment.deployment)
+       
+       slice_deployments = SliceDeployments.objects.all()
+       slice_deploy_lookup = defaultdict(list)
+       for slice_deployment in slice_deployments:
+               slice_deploy_lookup[slice_deployment.slice].append(slice_deployment.deployment)
+       
+       all_deployments = Deployment.objects.all() 
+       # slices are added to all deployments for now
+       expected_deployments = all_deployments
+       #expected_deployments = site_deploy_lookup[slice.site]
+       for expected_deployment in expected_deployments:
+               if slice not in slice_deploy_lookup or \
+                  expected_deployment not in slice_deploy_lookup[slice]:
+                       sd = SliceDeployments(slice=slice, deployment=expected_deployment)
+                       sd.save()
+