[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