Merge branch 'master' into 13822-nm-delayed-daemon
authorPeter Amstutz <pamstutz@veritasgenetics.com>
Tue, 17 Jul 2018 14:26:29 +0000 (10:26 -0400)
committerPeter Amstutz <pamstutz@veritasgenetics.com>
Tue, 17 Jul 2018 14:27:05 +0000 (10:27 -0400)
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <pamstutz@veritasgenetics.com>

1  2 
services/nodemanager/arvnodeman/computenode/driver/__init__.py
services/nodemanager/arvnodeman/computenode/driver/azure.py
services/nodemanager/arvnodeman/computenode/driver/ec2.py
services/nodemanager/arvnodeman/computenode/driver/gce.py
services/nodemanager/arvnodeman/daemon.py

index aa8f3c769557a029f380f59609495ca422a7f7af,ae554327ca20d929a92b595da54e32ba05e6485f..719124d4000f724a271077d9f1614c50c6788f8d
@@@ -87,7 -89,8 +89,8 @@@ echo %s > /var/tmp/arv-node-data/meta-d
          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')
          return nodes
  
      def broken(self, cloud_node):
index 07ed90dfa517cc656f75886ff2dedde19761566f,2b1564279717d0d0159bd3c07b307b4b5675c98f..56812d258a92212b02a53d9775534d8b23b50b69
@@@ -102,7 -110,8 +110,8 @@@ class ComputeNodeDriver(BaseComputeNode
          nodes = super(ComputeNodeDriver, self).list_nodes()
          for n in nodes:
              if not n.size:
 -                n.size = self.sizes[n.extra["instance_type"]]
 +                n.size = self.sizes()[n.extra["instance_type"]]
+             n.extra['arvados_node_size'] = n.extra.get('tags', {}).get('arvados_node_size')
          return nodes
  
      @classmethod
index f1238db40321601abe42dee33824983de34d1044,be39ecba6bf4b3cfb4ef6e0e5dd7c1168dc86ddd..11025f7840bc00fe6c188ad6b0f9e9bea1795cba
@@@ -114,12 -115,14 +114,14 @@@ class ComputeNodeDriver(BaseComputeNode
          nodelist = [node for node in
                      super(ComputeNodeDriver, self).list_nodes()
                      if self.node_tags.issubset(node.extra.get('tags', []))]
-         # As of 0.18, the libcloud GCE driver sets node.size to the size's name.
-         # It's supposed to be the actual size object.  Check that it's not,
-         # and monkeypatch the results when that's the case.
-         if nodelist and not hasattr(nodelist[0].size, 'id'):
-             for node in nodelist:
+         for node in nodelist:
+             # As of 0.18, the libcloud GCE driver sets node.size to the size's name.
+             # It's supposed to be the actual size object.  Check that it's not,
+             # and monkeypatch the results when that's the case.
+             if not hasattr(node.size, 'id'):
 -                node.size = self._sizes_by_id[node.size]
 +                node.size = self.sizes()[node.size]
+             # Get arvados-assigned cloud size id
+             node.extra['arvados_node_size'] = node.extra.get('metadata', {}).get('arvados_node_size')
          return nodelist
  
      @classmethod