X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/c46ab7c622127315b4e90c98e859588a3403267a..19a2e9a97939126293ce33d72f576f6f54da574f:/services/nodemanager/arvnodeman/computenode/driver/azure.py diff --git a/services/nodemanager/arvnodeman/computenode/driver/azure.py b/services/nodemanager/arvnodeman/computenode/driver/azure.py index ecab75ce49..f4686b976f 100644 --- a/services/nodemanager/arvnodeman/computenode/driver/azure.py +++ b/services/nodemanager/arvnodeman/computenode/driver/azure.py @@ -3,7 +3,6 @@ from __future__ import absolute_import, print_function import time -from operator import attrgetter import libcloud.compute.base as cloud_base import libcloud.compute.providers as cloud_provider @@ -19,7 +18,11 @@ class ComputeNodeDriver(BaseComputeNodeDriver): def __init__(self, auth_kwargs, list_kwargs, create_kwargs, driver_class=DEFAULT_DRIVER): - list_kwargs["ex_resource_group"] = create_kwargs["ex_resource_group"] + + if not list_kwargs.get("ex_resource_group"): + raise Exception("Must include ex_resource_group in Cloud List configuration (list_kwargs)") + + create_kwargs["ex_resource_group"] = list_kwargs["ex_resource_group"] self.tags = {key[4:]: value for key, value in create_kwargs.iteritems() @@ -33,7 +36,7 @@ class ComputeNodeDriver(BaseComputeNodeDriver): name = 'compute-{}-{}'.format(node_id, cluster_id) tags = { 'booted_at': time.strftime(ARVADOS_TIMEFMT, time.gmtime()), - 'arv-ping-url': self._make_ping_url(arvados_node), + 'arv-ping-url': self._make_ping_url(arvados_node) } tags.update(self.tags) return { @@ -42,16 +45,11 @@ class ComputeNodeDriver(BaseComputeNodeDriver): } def sync_node(self, cloud_node, arvados_node): - hostname = arvados_node_fqdn(arvados_node) - self.real.ex_create_tags(cloud_node.id, {"hostname": hostname}) + self.real.ex_create_tags(cloud_node, + {'hostname': arvados_node_fqdn(arvados_node)}) def _init_image(self, urn): - return "image", self.list_images(ex_urn=urn)[0] - - def _init_ssh_key(self, filename): - with open(filename) as ssh_file: - key = cloud_base.NodeAuthSSHKey(ssh_file.read()) - return 'auth', key + return "image", self.get_image(urn) def list_nodes(self): # Azure only supports filtering node lists by resource group.