From 99895cb0f34026664744830c3462f9e8bbaeaf27 Mon Sep 17 00:00:00 2001 From: Sapan Bhatia Date: Tue, 22 Jul 2014 01:27:02 -0400 Subject: [PATCH] Explicitly prevent deletion processing in steps in which it doesn't make sense. --- planetstack/ec2_observer/event_loop.py | 2 +- planetstack/ec2_observer/event_manager.pyc | Bin 5963 -> 4636 bytes .../ec2_observer/steps/sync_deployments.py | 3 +++ planetstack/ec2_observer/steps/sync_images.py | 3 +++ planetstack/ec2_observer/steps/sync_nodes.py | 3 +++ .../steps/sync_site_deployments.py | 3 +++ planetstack/ec2_observer/steps/sync_sites.py | 2 ++ planetstack/ec2_observer/steps/sync_users.py | 3 +++ 8 files changed, 18 insertions(+), 1 deletion(-) diff --git a/planetstack/ec2_observer/event_loop.py b/planetstack/ec2_observer/event_loop.py index d9855eb..e703869 100644 --- a/planetstack/ec2_observer/event_loop.py +++ b/planetstack/ec2_observer/event_loop.py @@ -234,7 +234,7 @@ class PlanetStackObserver: logger.info('Waiting for event') tBeforeWait = time.time() - self.wait_for_event(timeout=30) + self.wait_for_event(timeout=5) logger.info('Observer woke up') # Two passes. One for sync, the other for deletion. diff --git a/planetstack/ec2_observer/event_manager.pyc b/planetstack/ec2_observer/event_manager.pyc index 344d5e2cfe8a7ea600100a61dbaeff68bcc0072d..7737f3791df1f91df17b1e7d75e7c1b3f4872f95 100644 GIT binary patch delta 376 zcmYk2u};G<5QguP)F|Kx37V=bs6rG41_Ue&5euD=Du#3bRRR>^NCir$8jFQ8H8YD> zSlAd5Z&3ywfhS->?A%3w82tPH?fZPTU)S%Kh5hMG!^g9@k-IAZkOFiOlnn}?K9`_b>Yr4(Xvgf; n!cEOjIlCO_DW0=@kS03f*3lXZ|AKZ|hH;Xf#>s_wtUY}L@?$_E delta 1615 zcmYjRO>Y}z5T4n!*B@EO&X*Mv2}Kn_R+SdfLkn#$C{X}`BG?LCrHU+Pca!eg@yEVz zAQ85VNKZ)g(7o~pdbGGz9Jq7jzzK2WTyaL>nb$T!-W|`(`!O@mJhMN(_3LfN{<~EC z{f~+BjXSXVMTy5wA%DHArYgXy+-pOPWbr5;S1Cv?#eXGh>@ZOoO{pB9t!C z`8Mke#aTIi$+Ua8!6S>rixe-& zh9FCuasUxCbpDF8OG5x6v0l1YYv)ixAT397HEl8cBGfqse2G(2KfS)+2Qsfr-Maup6kaBmGoMR?%r+OIC)O zs&|(7p|=j(t3jAcqps?QzMksJ@3fRc_vJ=)b~H65-tLs>-UB)Oo`?-JMbZFm!wXfH z(4N#_;?3$4%)n)$7+B8sFk7ukf<-5W`jG3iPe(A(QlW<+qL1Pe89`c<$%Cd$^*W zPk$?I)vrH%QLj5C#AjIbK9?xMm09y&xSymui%U1p;F|TVY}x3X!$tX7t86n~y9l2R zyYkb~VuSff`l|e#e@H*B+~8dL=fe7ebl-a-!cV`i9J<0ahh4|rD6FTiD{Fk1=9V73 Y>3twuq}`q?;-&~8l=lThs+L~<3pHXryZ`_I diff --git a/planetstack/ec2_observer/steps/sync_deployments.py b/planetstack/ec2_observer/steps/sync_deployments.py index 8a258f1..76eeb1f 100644 --- a/planetstack/ec2_observer/steps/sync_deployments.py +++ b/planetstack/ec2_observer/steps/sync_deployments.py @@ -10,6 +10,9 @@ class SyncDeployments(SyncStep): provides=[Deployment] def fetch_pending(self,deletion): + if (deletion): + return [] + deployments = Deployment.objects.filter(Q(name="Amazon EC2")) if (not deployments): deployments = [Deployment(name="Amazon EC2")] diff --git a/planetstack/ec2_observer/steps/sync_images.py b/planetstack/ec2_observer/steps/sync_images.py index 3a15b33..903b73b 100644 --- a/planetstack/ec2_observer/steps/sync_images.py +++ b/planetstack/ec2_observer/steps/sync_images.py @@ -12,6 +12,9 @@ class SyncImages(SyncStep): requested_interval=3600 def fetch_pending(self,deletion): + if (deletion): + return [] + images = Image.objects.all() image_names = [image.name for image in images] diff --git a/planetstack/ec2_observer/steps/sync_nodes.py b/planetstack/ec2_observer/steps/sync_nodes.py index b66eb2e..9dc00f2 100644 --- a/planetstack/ec2_observer/steps/sync_nodes.py +++ b/planetstack/ec2_observer/steps/sync_nodes.py @@ -16,6 +16,9 @@ class SyncNodes(SyncStep): requested_interval=0 def fetch_pending(self, deletion): + if (deletion): + return [] + deployment = Deployment.objects.filter(Q(name="Amazon EC2"))[0] current_site_deployments = SiteDeployments.objects.filter(Q(deployment=deployment)) diff --git a/planetstack/ec2_observer/steps/sync_site_deployments.py b/planetstack/ec2_observer/steps/sync_site_deployments.py index 30fdf97..54df732 100644 --- a/planetstack/ec2_observer/steps/sync_site_deployments.py +++ b/planetstack/ec2_observer/steps/sync_site_deployments.py @@ -12,6 +12,9 @@ class SyncSiteDeployments(SyncStep): provides=[SiteDeployments] def fetch_pending(self, deletion): + if (deletion): + return [] + zone_ret = aws_run('ec2 describe-availability-zones') zones = zone_ret['AvailabilityZones'] available_sites = [zone['ZoneName'] for zone in zones] diff --git a/planetstack/ec2_observer/steps/sync_sites.py b/planetstack/ec2_observer/steps/sync_sites.py index 7a5c0dc..c8d6490 100644 --- a/planetstack/ec2_observer/steps/sync_sites.py +++ b/planetstack/ec2_observer/steps/sync_sites.py @@ -12,6 +12,8 @@ class SyncSites(SyncStep): requested_interval=3600 def fetch_pending(self, deletion): + if (deletion): + return [] deployment = Deployment.objects.filter(Q(name="Amazon EC2"))[0] current_site_deployments = SiteDeployments.objects.filter(Q(deployment=deployment)) diff --git a/planetstack/ec2_observer/steps/sync_users.py b/planetstack/ec2_observer/steps/sync_users.py index d742186..030e360 100644 --- a/planetstack/ec2_observer/steps/sync_users.py +++ b/planetstack/ec2_observer/steps/sync_users.py @@ -16,6 +16,9 @@ class SyncUsers(SyncStep): requested_interval=0 def fetch_pending(self, deletion): + if (deletion): + return [] + users = User.objects.filter(Q(enacted__lt=F('updated')) | Q(enacted=None)) if (users): key_sig = aws_run('ec2 describe-key-pairs') -- 2.43.0