projects
/
arvados.git
/ commitdiff
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
4169464
)
5353: Explicitly set size field on node objects returned by list_nodes on AWS and...
author
Peter Amstutz <peter.amstutz@curoverse.com>
Thu, 19 Nov 2015 18:32:44 +0000
(13:32 -0500)
committer
Peter Amstutz <peter.amstutz@curoverse.com>
Thu, 19 Nov 2015 18:32:44 +0000
(13:32 -0500)
services/nodemanager/arvnodeman/computenode/driver/__init__.py
patch
|
blob
|
history
services/nodemanager/arvnodeman/computenode/driver/azure.py
patch
|
blob
|
history
services/nodemanager/arvnodeman/computenode/driver/ec2.py
patch
|
blob
|
history
diff --git
a/services/nodemanager/arvnodeman/computenode/driver/__init__.py
b/services/nodemanager/arvnodeman/computenode/driver/__init__.py
index 14e804f385dc3e957fd707c34e7e4504ed1951e7..06b532ac5618d79915478930d05072278ad3753f 100644
(file)
--- a/
services/nodemanager/arvnodeman/computenode/driver/__init__.py
+++ b/
services/nodemanager/arvnodeman/computenode/driver/__init__.py
@@
-53,6
+53,8
@@
class BaseComputeNodeDriver(object):
if new_pair is not None:
self.create_kwargs[new_pair[0]] = new_pair[1]
if new_pair is not None:
self.create_kwargs[new_pair[0]] = new_pair[1]
+ self.sizes = {sz.id: sz for sz in self.real.list_sizes()}
+
def _init_ping_host(self, ping_host):
self.ping_host = ping_host
def _init_ping_host(self, ping_host):
self.ping_host = ping_host
diff --git
a/services/nodemanager/arvnodeman/computenode/driver/azure.py
b/services/nodemanager/arvnodeman/computenode/driver/azure.py
index b1ec5e6abc95e923e1b6583d3c33e49a3247368d..cfa529bbbd3448744c3e0d3ceabb1c0de6cdf6ac 100644
(file)
--- a/
services/nodemanager/arvnodeman/computenode/driver/azure.py
+++ b/
services/nodemanager/arvnodeman/computenode/driver/azure.py
@@
-88,6
+88,14
@@
class ComputeNodeDriver(BaseComputeNodeDriver):
# of failure that the Azure libcloud driver doesn't know how to interpret.
return (cloud_node.state in (cloud_types.NodeState.ERROR, cloud_types.NodeState.UNKNOWN))
# of failure that the Azure libcloud driver doesn't know how to interpret.
return (cloud_node.state in (cloud_types.NodeState.ERROR, cloud_types.NodeState.UNKNOWN))
+ def list_nodes(self):
+ # Need to populate Node.size
+ nodes = super(ComputeNodeDriver, self).list_nodes()
+ for n in nodes:
+ if not n.size:
+ n.size = self.sizes[n.extra["properties"]["hardwareProfile"]["vmSize"]]
+ return nodes
+
@classmethod
def node_fqdn(cls, node):
return node.extra["tags"].get("hostname")
@classmethod
def node_fqdn(cls, node):
return node.extra["tags"].get("hostname")
diff --git
a/services/nodemanager/arvnodeman/computenode/driver/ec2.py
b/services/nodemanager/arvnodeman/computenode/driver/ec2.py
index 6afe3163c9cf89bb287ca3c0a904311345a36555..c0a72b7235f6137c0c92e321edc547e5e91ead0f 100644
(file)
--- a/
services/nodemanager/arvnodeman/computenode/driver/ec2.py
+++ b/
services/nodemanager/arvnodeman/computenode/driver/ec2.py
@@
-75,6
+75,14
@@
class ComputeNodeDriver(BaseComputeNodeDriver):
self.real.ex_create_tags(cloud_node,
{'Name': arvados_node_fqdn(arvados_node)})
self.real.ex_create_tags(cloud_node,
{'Name': arvados_node_fqdn(arvados_node)})
+ def list_nodes(self):
+ # Need to populate Node.size
+ nodes = super(ComputeNodeDriver, self).list_nodes()
+ for n in nodes:
+ if not n.size:
+ n.size = self.sizes[n.extra["instance_type"]]
+ return nodes
+
@classmethod
def node_fqdn(cls, node):
return node.name
@classmethod
def node_fqdn(cls, node):
return node.name