[ARVADOS] created: 4d89b138dff0f1bcf1c867d529aff599fcc0cda2
Git user
git at public.curoverse.com
Fri Jun 10 11:45:47 EDT 2016
at 4d89b138dff0f1bcf1c867d529aff599fcc0cda2 (commit)
commit 4d89b138dff0f1bcf1c867d529aff599fcc0cda2
Author: Peter Amstutz <peter.amstutz at curoverse.com>
Date: Fri Jun 10 11:45:38 2016 -0400
9353: Add libcloud.common.BaseHTTPError to CLOUD_ERRORS.
Due to eventual consistency, it seems that calling ex_create_tags() on a node
that has just been created can return "InvalidInstanceID.NotFound" for some
period. The ec2 driver raises BaseHTTPError when it doesn't recognize a more
specific error, however prior to this commit, this wasn't recognized as a
retryable error, so node manager would fall over. This commit makes
BaseHTTPError a retryable error.
diff --git a/services/nodemanager/arvnodeman/computenode/driver/__init__.py b/services/nodemanager/arvnodeman/computenode/driver/__init__.py
index fa9cfff..63e4c00 100644
--- a/services/nodemanager/arvnodeman/computenode/driver/__init__.py
+++ b/services/nodemanager/arvnodeman/computenode/driver/__init__.py
@@ -6,6 +6,7 @@ import logging
from operator import attrgetter
import libcloud.common.types as cloud_types
+from libcloud.common.exceptions import BaseHTTPError
from libcloud.compute.base import NodeDriver, NodeAuthSSHKey
from ...config import NETWORK_ERRORS
@@ -24,7 +25,7 @@ class BaseComputeNodeDriver(RetryMixin):
Subclasses must implement arvados_create_kwargs, sync_node,
node_fqdn, and node_start_time.
"""
- CLOUD_ERRORS = NETWORK_ERRORS + (cloud_types.LibcloudError,)
+ CLOUD_ERRORS = NETWORK_ERRORS + (cloud_types.LibcloudError, BaseHTTPError)
@RetryMixin._retry()
def _create_driver(self, driver_class, **auth_kwargs):
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list