- def arvados_create_kwargs(self, arvados_node):
- return {'name': arvados_node["uuid"]}
+ def create_cloud_name(self, arvados_node):
+ uuid_parts = arvados_node['uuid'].split('-', 2)
+ return 'compute-{parts[2]}-{parts[0]}'.format(parts=uuid_parts)
+
+ def arvados_create_kwargs(self, size, arvados_node):
+ tags = {
+ 'booted_at': time.strftime(ARVADOS_TIMEFMT, time.gmtime()),
+ 'arv-ping-url': self._make_ping_url(arvados_node)
+ }
+ tags.update(self.tags)
+
+ name = self.create_cloud_name(arvados_node)
+ customdata = """#!/bin/sh
+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
+""" % (pipes.quote(tags['arv-ping-url']),
+ pipes.quote(name),
+ pipes.quote(size.id))
+
+ return {
+ 'name': name,
+ 'ex_tags': tags,
+ 'ex_customdata': customdata
+ }