From: Sapan Bhatia Date: Wed, 3 Sep 2014 19:39:13 +0000 (-0400) Subject: Policy: Add new slices to all deployments X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=b3aeb1b1270e86d8c85a286de3a5f8443cfee2e5;p=plstackapi.git Policy: Add new slices to all deployments --- diff --git a/planetstack/model_policies/model_policy_Slice.py b/planetstack/model_policies/model_policy_Slice.py new file mode 100644 index 0000000..5d66903 --- /dev/null +++ b/planetstack/model_policies/model_policy_Slice.py @@ -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() +