X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/44c95f99098fa6c6acbfa82d4b6cbc6015eb6e39..8a41cc44ee196c9347785baa476a370abe77c75c:/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 aad608d417..35c8b5a8c9 100644 --- a/services/nodemanager/arvnodeman/computenode/driver/azure.py +++ b/services/nodemanager/arvnodeman/computenode/driver/azure.py @@ -46,6 +46,8 @@ class ComputeNodeDriver(BaseComputeNodeDriver): def arvados_create_kwargs(self, size, arvados_node): tags = { + # Set up tag indicating the Arvados assigned Cloud Size id. + 'arvados_node_size': size.id, 'booted_at': time.strftime(ARVADOS_TIMEFMT, time.gmtime()), 'arv-ping-url': self._make_ping_url(arvados_node) } @@ -82,12 +84,13 @@ echo %s > /var/tmp/arv-node-data/meta-data/instance-type # Azure only supports filtering node lists by resource group. # Do our own filtering based on tag. nodes = [node for node in - super(ComputeNodeDriver, self).list_nodes(ex_fetch_nic=False) - if node.extra["tags"].get("arvados-class") == self.tags["arvados-class"]] + super(ComputeNodeDriver, self).list_nodes(ex_fetch_nic=False, ex_fetch_power_state=False) + if node.extra.get("tags", {}).get("arvados-class") == self.tags["arvados-class"]] for n in nodes: # Need to populate Node.size if not n.size: - n.size = self.sizes[n.extra["properties"]["hardwareProfile"]["vmSize"]] + n.size = self.sizes()[n.extra["properties"]["hardwareProfile"]["vmSize"]] + n.extra['arvados_node_size'] = n.extra.get('tags', {}).get('arvados_node_size') or n.size.id return nodes def broken(self, cloud_node):