8416: Remove find_node and use existing search_for feature.
authorPeter Amstutz <peter.amstutz@curoverse.com>
Tue, 9 Feb 2016 16:36:37 +0000 (11:36 -0500)
committerPeter Amstutz <peter.amstutz@curoverse.com>
Wed, 24 Feb 2016 14:55:15 +0000 (09:55 -0500)
services/nodemanager/arvnodeman/computenode/driver/__init__.py
services/nodemanager/arvnodeman/computenode/driver/ec2.py
services/nodemanager/arvnodeman/computenode/driver/gce.py

index c98c95af66d89b257be6f7e79d4fd4371138281c..b6bc8b99182e57390bfc248679d5d78654062a04 100644 (file)
@@ -131,12 +131,9 @@ class BaseComputeNodeDriver(RetryMixin):
             self.ping_host, arvados_node['uuid'],
             arvados_node['info']['ping_secret'])
 
-    def find_node(self, name):
-        node = [n for n in self.list_nodes() if n.name == name]
-        if node:
-            return node[0]
-        else:
-            return None
+    @staticmethod
+    def _name_key(cloud_object):
+        return cloud_object.name
 
     def create_node(self, size, arvados_node):
         try:
@@ -152,7 +149,7 @@ class BaseComputeNodeDriver(RetryMixin):
             # due to node name collision.  So check if the node we intended to
             # create shows up in the cloud node list and return it if found.
             try:
-                node = self.find_node(kwargs['name'])
+                node = self.search_for(kwargs['name'], 'list_nodes', self._name_key)
                 if node:
                     return node
             except:
index d89c48e270bcc119638c70fc3d5f2928fbe1f8e3..991a2983c7217f1a29368293513587d117d01d59 100644 (file)
@@ -75,9 +75,6 @@ class ComputeNodeDriver(BaseComputeNodeDriver):
         self.real.ex_create_tags(cloud_node,
                                  {'Name': arvados_node_fqdn(arvados_node)})
 
-    def find_node(self, name):
-        raise NotImplementedError("ec2.ComputeNodeDriver.find_node")
-
     def list_nodes(self):
         # Need to populate Node.size
         nodes = super(ComputeNodeDriver, self).list_nodes()
index c5bf0b8cda42d211adcfbb61ffb3d73f460a7830..bbabdd4c761b5a0e3809449878227adea7db0a5a 100644 (file)
@@ -38,10 +38,6 @@ class ComputeNodeDriver(BaseComputeNodeDriver):
         self._disktype_links = {dt.name: self._object_link(dt)
                                 for dt in self.real.ex_list_disktypes()}
 
-    @staticmethod
-    def _name_key(cloud_object):
-        return cloud_object.name
-
     @staticmethod
     def _object_link(cloud_object):
         return cloud_object.extra.get('selfLink')