[ARVADOS] created: 1ff72a23c54376ac40b94ed6d4fcf6b23e08feb4
git at public.curoverse.com
git at public.curoverse.com
Thu Sep 3 10:39:07 EDT 2015
at 1ff72a23c54376ac40b94ed6d4fcf6b23e08feb4 (commit)
commit 1ff72a23c54376ac40b94ed6d4fcf6b23e08feb4
Author: Peter Amstutz <peter.amstutz at curoverse.com>
Date: Thu Sep 3 10:40:34 2015 -0400
7193: Run provision script after creating node, not in sync_node, because
sync_node doesn't get called until the node has pinged!
diff --git a/services/nodemanager/arvnodeman/computenode/driver/azure.py b/services/nodemanager/arvnodeman/computenode/driver/azure.py
index 127ca20..d920439 100644
--- a/services/nodemanager/arvnodeman/computenode/driver/azure.py
+++ b/services/nodemanager/arvnodeman/computenode/driver/azure.py
@@ -51,6 +51,12 @@ class ComputeNodeDriver(BaseComputeNodeDriver):
def sync_node(self, cloud_node, arvados_node):
self.real.ex_create_tags(cloud_node,
{'hostname': arvados_node_fqdn(arvados_node)})
+
+ def _init_image(self, urn):
+ return "image", self.get_image(urn)
+
+ def create_node(self, size, arvados_node):
+ cloud_node = super(ComputeNodeDriver, self).create_node(size, arvados_node)
self.real.ex_run_command(cloud_node,
"""bash -c '
mkdir -p /var/tmp/arv-node-data/meta-data
@@ -62,9 +68,7 @@ class ComputeNodeDriver(BaseComputeNodeDriver):
cloud_node.id,
cloud_node.extra["properties"]["hardwareProfile"]["vmSize"],
cloud_node.private_ips[0]))
-
- def _init_image(self, urn):
- return "image", self.get_image(urn)
+ return cloud_node
def list_nodes(self):
# Azure only supports filtering node lists by resource group.
commit 1afb514035257fa921f251ac1556a19c71b608f0
Author: Peter Amstutz <peter.amstutz at curoverse.com>
Date: Wed Sep 2 16:43:29 2015 -0400
7193: Add ex_run_command
diff --git a/services/nodemanager/arvnodeman/computenode/driver/azure.py b/services/nodemanager/arvnodeman/computenode/driver/azure.py
index 014b92c..127ca20 100644
--- a/services/nodemanager/arvnodeman/computenode/driver/azure.py
+++ b/services/nodemanager/arvnodeman/computenode/driver/azure.py
@@ -51,6 +51,17 @@ class ComputeNodeDriver(BaseComputeNodeDriver):
def sync_node(self, cloud_node, arvados_node):
self.real.ex_create_tags(cloud_node,
{'hostname': arvados_node_fqdn(arvados_node)})
+ self.real.ex_run_command(cloud_node,
+ """bash -c '
+ mkdir -p /var/tmp/arv-node-data/meta-data
+ echo "%s" > /var/tmp/arv-node-data/arv-ping-url
+ echo "%s" > /var/tmp/arv-node-data/meta-data/instance-id
+ echo "%s" > /var/tmp/arv-node-data/meta-data/instance-type
+ echo "%s" > /var/tmp/arv-node-data/meta-data/local-ipv4
+ '""" % (self._make_ping_url(arvados_node),
+ cloud_node.id,
+ cloud_node.extra["properties"]["hardwareProfile"]["vmSize"],
+ cloud_node.private_ips[0]))
def _init_image(self, urn):
return "image", self.get_image(urn)
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list