[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