4380: Fix retry scheduling for Node Manager change methods.
authorBrett Smith <brett@curoverse.com>
Thu, 13 Nov 2014 20:44:19 +0000 (15:44 -0500)
committerBrett Smith <brett@curoverse.com>
Tue, 18 Nov 2014 20:04:08 +0000 (15:04 -0500)
services/nodemanager/arvnodeman/computenode/dispatch/__init__.py

index 8d0e6c38a7f0d6e3633c0c3929c64c6f97221250..ae0a65b9317e86f8d53afa00ba7b9483f047c4aa 100644 (file)
@@ -41,13 +41,14 @@ class ComputeNodeStateChangeBase(config.actor_class):
         def decorator(orig_func):
             @functools.wraps(orig_func)
             def wrapper(self, *args, **kwargs):
+                start_time = time.time()
                 try:
                     orig_func(self, *args, **kwargs)
                 except errors as error:
                     self._logger.warning(
                         "Client error: %s - waiting %s seconds",
                         error, self.retry_wait)
-                    self._timer.schedule(self.retry_wait,
+                    self._timer.schedule(start_time + self.retry_wait,
                                          getattr(self._later,
                                                  orig_func.__name__),
                                          *args, **kwargs)