From 3fbb8f2d87742f5075c1829c64cf223725cb4fd2 Mon Sep 17 00:00:00 2001 From: Peter Amstutz Date: Sat, 19 Mar 2016 16:00:11 -0400 Subject: [PATCH] Enable BaseComputeNodeDriver.list_nodes to pass through keyword arguments. closes #8761 --- .../arvnodeman/computenode/driver/__init__.py | 6 ++++-- .../nodemanager/tests/test_computenode_driver_azure.py | 10 ++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/services/nodemanager/arvnodeman/computenode/driver/__init__.py b/services/nodemanager/arvnodeman/computenode/driver/__init__.py index d72c86dc0a..0576999ea6 100644 --- a/services/nodemanager/arvnodeman/computenode/driver/__init__.py +++ b/services/nodemanager/arvnodeman/computenode/driver/__init__.py @@ -104,8 +104,10 @@ class BaseComputeNodeDriver(RetryMixin): self.SEARCH_CACHE[cache_key] = results[0] return self.SEARCH_CACHE[cache_key] - def list_nodes(self): - return self.real.list_nodes(**self.list_kwargs) + def list_nodes(self, **kwargs): + l = self.list_kwargs.copy() + l.update(kwargs) + return self.real.list_nodes(**l) def arvados_create_kwargs(self, size, arvados_node): """Return dynamic keyword arguments for create_node. diff --git a/services/nodemanager/tests/test_computenode_driver_azure.py b/services/nodemanager/tests/test_computenode_driver_azure.py index 5721abc5f8..8e701b9713 100644 --- a/services/nodemanager/tests/test_computenode_driver_azure.py +++ b/services/nodemanager/tests/test_computenode_driver_azure.py @@ -110,3 +110,13 @@ echo z1.test > /var/tmp/arv-node-data/meta-data/instance-type self.driver_mock().create_node.side_effect = IOError n = driver.create_node(testutil.MockSize(1), arv_node) self.assertEqual('compute-000000000000001-zzzzz', n.name) + + def test_ex_fetch_nic_false(self): + arv_node = testutil.arvados_node_mock(1, hostname=None) + driver = self.new_driver(create_kwargs={"tag_arvados-class": "dynamic-compute"}) + nodelist = [testutil.cloud_node_mock(1, tags={"arvados-class": "dynamic-compute"})] + nodelist[0].name = 'compute-000000000000001-zzzzz' + self.driver_mock().list_nodes.return_value = nodelist + n = driver.list_nodes() + self.assertEqual(nodelist, n) + self.driver_mock().list_nodes.assert_called_with(ex_fetch_nic=False, ex_resource_group='TestResourceGroup') -- 2.30.2