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 zcmYk2F-yZ>5Qd*i+E1z}g0`hDQp8Gh5Or}VE_M=%Lpmr0m6!x-t+BMh#X7aK%eU&{ z<|zJ)I`|X(1y15FU#Q}6@4dr4cQ5z0`LL?&uly{ZFY4CWUjrg&38760W1(de3S($x z2(8p)@tST12rS^Y>cC)0zdL0ogr+ONp=)cEujocTY#RV^B!%oLm_qA70v%x}jD$Oj zA#^PI)u|bQ#F#{XdjW69fLWk>?S}(z7jSJoS*Yr*Vq@6>+I}2%qqFEHij!j#P^Bs6 zt=#M5;*m&Ae;4lMRF8`*qV&gHS=G$qx}FqIDrQ!RlgTO9Q2(T0hW7M9skWV%Bo|k` gWXAM((2Ih^GpD@`BjyW9&Pd-6qH{mE)K8`7AM#^BA^-pY delta 1615 zcmYjR&u`;Y5dOw?>?U>F^rspsp=w1@v}%jsu)ywKP^$t0Rp1rPDyzy$^W3hT)Jgna zp%u1*NKZ)YVSVKv*kiYM#d1CIknCpHQ6^gKx!Z=bDLhP!a~R7D^)=>%MPN1O%5=S zS-5-&#vTXsz`@6)S`aMm>-wg5cWh(ZA44@ z=_Zo#M9mzej_&<3Iu4Q@I@5qe%WQubgZ&s9t=HJ4Nw<2m!uKNr4Vp9oe%PQjNZ zfZhI;oCVr82n-=OnN zr$B^>;+Z>*b#48YdK$OR16^}5A&OhB^XLoiMO)i+&kkGX!E^WX;fDa4JhKb{kJ1t? z7-eIPR%wUUXqlGmhg7Bos?suT-42;G9kO4!G9c1ZJ|biWuD;VFVDOx&g5xGnNAgTF z-#{(1v}9sf%Su|bP|Ivw?oBpBYN57&{4O*0YK6(kyQHM)XMh@mBM^})@jUVp`5qV? z;ql-IjTmUebNbrk@r((NQxk6Ti~h8O*8&F)WAKm^i|p`!9rjPVtuqaZZgan*vD2;d zMc7saEW9-}519s16XPsU+H%n9%0L6Eo34^pJ2+{zJ6h`}VXXY%vh8^91E|mBzt3&e zZx>(Kiwi=0!Qg+%S(qym@SnS%<$LpscQ0;nTQE#oBAY7wGgio?6*A2VEs;qTqx$p7 ze1qso{&L|N{g{7Ry+cm^*X;T%qwhW8qn-ayJ$9LEHo3ODQC`nqRafaacNQPK>3zg5 UyxKjNkGp&@p}emEGw~yZ`_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.47.0