X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/0eb72b526bf8bbb011551ecf019f604e17a534f1..00cca6a192eb1ab38559bf5ed9044711ed56fc4a:/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..5dfa7f54a9 100644 --- a/services/nodemanager/arvnodeman/computenode/driver/azure.py +++ b/services/nodemanager/arvnodeman/computenode/driver/azure.py @@ -78,16 +78,23 @@ echo %s > /var/tmp/arv-node-data/meta-data/instance-type def _init_image(self, urn): return "image", self.get_image(urn) + def create_node(self, size, arvados_node): + # Set up tag indicating the Arvados assigned Cloud Size id. + self.create_kwargs.setdefault('ex_tags', {}) + self.create_kwargs['ex_tags'].update({'arvados_node_size': size.id}) + return super(ComputeNodeDriver, self).create_node(size, arvados_node) + def list_nodes(self): # 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) + super(ComputeNodeDriver, self).list_nodes(ex_fetch_nic=False, ex_fetch_power_state=False) if node.extra["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.extra['arvados_node_size'] = n.extra.get('tags', {}).get('arvados_node_size') return nodes def broken(self, cloud_node):