<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi Paolo,<br>
    <br>
    Well it probably won't be the *next* version given that I need to
    put out a patch release today/tomorrow but it should make it in to
    the next major release.<br>
    <br>
    As far as the config goes the only thing that will change vs using a
    plugin to do this is that the cluster template itself would now
    support a user_data option which would allow you to specify
    user_data in multiple templates easily rather than having to create
    separate plugin sections for each template in order to specify
    different scripts. We should also add a command line flag to the
    'start' command that specifies a single user_data file to pass to
    all nodes in the cluster.<br>
    <br>
    ~Justin<br>
    <br>
    On 2/9/12 9:50 AM, Paolo Di Tommaso wrote:<br>
    <span style="white-space: pre;">&gt; Dear Justin, all, <br>
      &gt;<br>
      &gt; I think this will be a quite useful enhancement to
      StarCluster. <br>
      &gt;<br>
      &gt; Actually I tried to solve the problem writing a custom
      plugin, but the main limitation was that I had to define the
      data/file to pass as user_data in the plugin definition block (as
      a plugin parameter) of the configuration file, and this was really
      unhandy. <br>
      &gt;<br>
      &gt;<br>
      &gt; So I'm really happy to read that next version will include
      this feature. <br>
      &gt;<br>
      &gt;<br>
      &gt; Thanks,<br>
      &gt; Paolo<br>
      &gt; <br>
      &gt;<br>
      &gt;<br>
      &gt; On Feb 8, 2012, at 9:00 PM, Justin Riley wrote:<br>
      &gt;</span><br>
    <blockquote type="cite">Awesome, thanks! Yea, it may not be
      universal but at least it allows<br>
      standard shell scripts (and apparently YAML) to work as expected
      where<br>
      it previously did not so I think it's worth while including. I'm
      just<br>
      speculating but my guess is scripts are probably the most common<br>
      user-data.<br>
      <br>
      Once we have the code in and tested the next step is to document
      how<br>
      to use user-data with StarCluster and add it to the user manual...<br>
      <br>
      ~Justin<br>
      <br>
      On 02/07/2012 09:38 PM, Joydeep Sen Sarma wrote:<br>
      &gt;&gt;&gt; ok - i think the patch is pretty simple - let me file
      a pull<br>
      &gt;&gt;&gt; request. i had added the user_data param as well ..<br>
      &gt;&gt;&gt;<br>
      &gt;&gt;&gt; i think the '#' strategy works for yaml as well
      (looking one<br>
      &gt;&gt;&gt; message below). i was just afraid it wasn't
      universal.<br>
      &gt;&gt;&gt;<br>
      &gt;&gt;&gt; On Tue, Feb 7, 2012 at 11:03 PM, Justin Riley<br>
      &gt;&gt;&gt; &lt;<a class="moz-txt-link-abbreviated" href="mailto:justin.t.riley@gmail.com">justin.t.riley@gmail.com</a>
      <a class="moz-txt-link-rfc2396E" href="mailto:justin.t.riley@gmail.com">&lt;mailto:justin.t.riley@gmail.com&gt;</a>&gt;<br>
      &gt;&gt;&gt; wrote:<br>
      &gt;&gt;&gt;<br>
      &gt;&gt;&gt; Hi Paolo/Joydeep,<br>
      &gt;&gt;&gt;<br>
      &gt;&gt;&gt; You're correct that StarCluster currently uses the
      user-data to<br>
      &gt;&gt;&gt; store node-aliases which at the moment kills the
      ability to utilize<br>
      &gt;&gt;&gt; user-data scripts. It is possible to run user-scripts
      on the entire<br>
      &gt;&gt;&gt; cluster fairly easily, however, using a StarCluster
      plugin. I'm<br>
      &gt;&gt;&gt; happy to provide an example or perhaps include it in
      a future<br>
      &gt;&gt;&gt; release if you're interested.<br>
      &gt;&gt;&gt;<br>
      &gt;&gt;&gt; The reason for storing the alias in user-data is that
      I needed some<br>
      &gt;&gt;&gt; way to 'stick' a name to a node at launch time. The
      new tagging API<br>
      &gt;&gt;&gt; for EC2 is useful but it's still not possible to
      assign names at<br>
      &gt;&gt;&gt; launch time. My current approach is to use the
      user-data at launch<br>
      &gt;&gt;&gt; time, then later fetch it from user-data once the
      instance is up<br>
      &gt;&gt;&gt; and apply an alias tag. This is useful for example if
      things crash<br>
      &gt;&gt;&gt; somewhere in the middle - the nodes are guaranteed to
      be named the<br>
      &gt;&gt;&gt; same thing the next time around because of the
      user-data.<br>
      &gt;&gt;&gt;<br>
      &gt;&gt;&gt; Your solution of effectively 'commenting' the alias
      line in<br>
      &gt;&gt;&gt; user-data so that other scripts can run is not a bad
      solution<br>
      &gt;&gt;&gt; actually. I'd be willing to accept a pull request for
      this and<br>
      &gt;&gt;&gt; include the functionality in a future release. We
      need to add a<br>
      &gt;&gt;&gt; USER_DATA config parameter to the cluster config that
      would let<br>
      &gt;&gt;&gt; users point to a user-data script.<br>
      &gt;&gt;&gt;<br>
      &gt;&gt;&gt; Would you be interested in contributing this back?
      I'm happy to<br>
      &gt;&gt;&gt; help you along with the fork/pull request process if
      you're<br>
      &gt;&gt;&gt; willing. There's also a contribute guide that gives
      an overview of<br>
      &gt;&gt;&gt; the process:<br>
      &gt;&gt;&gt;<br>
      &gt;&gt;&gt;
      <a class="moz-txt-link-freetext" href="http://web.mit.edu/star/cluster/docs/latest/contribute.html">http://web.mit.edu/star/cluster/docs/latest/contribute.html</a><br>
      &gt;&gt;&gt;<br>
      &gt;&gt;&gt; ~Justin<br>
      &gt;&gt;&gt;<br>
      &gt;&gt;&gt;<br>
      &gt;&gt;&gt; On 01/24/2012 11:41 AM, Joydeep Sen Sarma wrote:<br>
      &gt;&gt;&gt;&gt; It doesn't.<br>
      &gt;&gt;&gt;&gt;<br>
      &gt;&gt;&gt;&gt; Currently the user data is used by starcluster
      itself to store<br>
      &gt;&gt;&gt; node aliases.<br>
      &gt;&gt;&gt;&gt;<br>
      &gt;&gt;&gt;&gt; I had a similar requirement as yours - but in my
      case - the user<br>
      &gt;&gt;&gt;&gt; data was restricted to shell scripts. So what i
      did for my use<br>
      &gt;&gt;&gt;&gt; case was<br>
      &gt;&gt;&gt; hack<br>
      &gt;&gt;&gt;&gt; the starcluster code to use the first line of the
      user data -<br>
      &gt;&gt;&gt; prepended<br>
      &gt;&gt;&gt;&gt; with a '#' for node aliases - and the rest of the
      user data could<br>
      &gt;&gt;&gt;&gt; be used as a shell script (filled in when
      launching the cluster<br>
      &gt;&gt;&gt;&gt; from the configuration).<br>
      &gt;&gt;&gt;&gt;<br>
      &gt;&gt;&gt;&gt; it seemed pretty hacky to me - so didn't try to
      contribute back.<br>
      &gt;&gt;&gt;&gt;<br>
      &gt;&gt;&gt;&gt; there may be other ways of achieving this
      outcome. for example -<br>
      &gt;&gt;&gt;&gt; one could take the cluster-name and the instance
      alias (node001<br>
      &gt;&gt;&gt;&gt; etc.) and then map that to a location in s3<br>
      &gt;&gt;&gt;&gt; (s3://urbucket/cluster-name/node001) and then
      store instance<br>
      &gt;&gt;&gt;&gt; specific user data in that location. the boot
      scripts can get the<br>
      &gt;&gt;&gt;&gt; cluster name and the instance alias from ec2 apis
      and then use<br>
      &gt;&gt;&gt;&gt; that to locate the instance data and get rolling.<br>
      &gt;&gt;&gt;&gt;<br>
      &gt;&gt;&gt;&gt; On Tue, Jan 24, 2012 at 9:22 PM, Paolo Di Tommaso
      <br>
      &gt;&gt;&gt;&gt; &lt;<a class="moz-txt-link-abbreviated" href="mailto:Paolo.DiTommaso@crg.eu">Paolo.DiTommaso@crg.eu</a>
      <a class="moz-txt-link-rfc2396E" href="mailto:Paolo.DiTommaso@crg.eu">&lt;mailto:Paolo.DiTommaso@crg.eu&gt;</a><br>
      &gt;&gt;&gt; &lt;<a class="moz-txt-link-freetext" href="mailto:Paolo.DiTommaso@crg.eu">mailto:Paolo.DiTommaso@crg.eu</a>
      <a class="moz-txt-link-rfc2396E" href="mailto:Paolo.DiTommaso@crg.eu">&lt;mailto:Paolo.DiTommaso@crg.eu&gt;</a>&gt;&gt;<br>
      &gt;&gt;&gt; wrote:<br>
      &gt;&gt;&gt;&gt;<br>
      &gt;&gt;&gt;&gt; Dear all,<br>
      &gt;&gt;&gt;&gt;<br>
      &gt;&gt;&gt;&gt; Does StarCluster provide any support for EC2 user
      data feature?<br>
      &gt;&gt;&gt;&gt;<br>
      &gt;&gt;&gt;&gt; <a class="moz-txt-link-freetext" href="http://www.turnkeylinux.org/blog/ec2-userdata">http://www.turnkeylinux.org/blog/ec2-userdata</a><br>
      &gt;&gt;&gt;&gt;<br>
      &gt;&gt;&gt;&gt;<br>
      &gt;&gt;&gt;&gt; I would like to use this mechanism to specify
      some extra<br>
      &gt;&gt;&gt;&gt; instance configuration at node boot time.<br>
      &gt;&gt;&gt;&gt;<br>
      &gt;&gt;&gt;&gt; If no, is there any other alternative?<br>
      &gt;&gt;&gt;&gt;<br>
      &gt;&gt;&gt;&gt;<br>
      &gt;&gt;&gt;&gt; Thank you, Paolo Di Tommaso<br>
      &gt;&gt;&gt;&gt;<br>
      &gt;&gt;&gt;&gt; Software Engineer Comparative Bioinformatics
      Group Centre de<br>
      &gt;&gt;&gt;&gt; Regulacio Genomica (CRG) Dr. Aiguader, 88 08003
      Barcelona, Spain<br>
      &gt;&gt;&gt;&gt;<br>
      &gt;&gt;&gt;&gt;<br>
      &gt;&gt;&gt;&gt; _______________________________________________
      StarCluster<br>
      &gt;&gt;&gt;&gt; mailing list <a class="moz-txt-link-abbreviated" href="mailto:StarCluster@mit.edu">StarCluster@mit.edu</a>
      <a class="moz-txt-link-rfc2396E" href="mailto:StarCluster@mit.edu">&lt;mailto:StarCluster@mit.edu&gt;</a><br>
      &gt;&gt;&gt; &lt;<a class="moz-txt-link-freetext" href="mailto:StarCluster@mit.edu">mailto:StarCluster@mit.edu</a>
      <a class="moz-txt-link-rfc2396E" href="mailto:StarCluster@mit.edu">&lt;mailto:StarCluster@mit.edu&gt;</a>&gt;<br>
      &gt;&gt;&gt;&gt;
      <a class="moz-txt-link-freetext" href="http://mailman.mit.edu/mailman/listinfo/starcluster">http://mailman.mit.edu/mailman/listinfo/starcluster</a><br>
      &gt;&gt;&gt;&gt;<br>
      &gt;&gt;&gt;&gt;<br>
      &gt;&gt;&gt;&gt;<br>
      &gt;&gt;&gt;&gt;<br>
      &gt;&gt;&gt;&gt; _______________________________________________
      StarCluster<br>
      &gt;&gt;&gt;&gt; mailing list <a class="moz-txt-link-abbreviated" href="mailto:StarCluster@mit.edu">StarCluster@mit.edu</a>
      <a class="moz-txt-link-rfc2396E" href="mailto:StarCluster@mit.edu">&lt;mailto:StarCluster@mit.edu&gt;</a> <br>
      &gt;&gt;&gt;&gt;
      <a class="moz-txt-link-freetext" href="http://mailman.mit.edu/mailman/listinfo/starcluster">http://mailman.mit.edu/mailman/listinfo/starcluster</a><br>
      &gt;&gt;&gt;<br>
      &gt;&gt;&gt;<br>
      &gt;&gt;&gt;<br>
      &gt;&gt;&gt;<br>
      &gt;&gt;&gt; This body part will be downloaded on demand.<br>
      <br>
    </blockquote>
    <span style="white-space: pre;">&gt;&gt;
      _______________________________________________<br>
      &gt;&gt; StarCluster mailing list<br>
      &gt;&gt; <a class="moz-txt-link-abbreviated" href="mailto:StarCluster@mit.edu">StarCluster@mit.edu</a><br>
      &gt;&gt; <a class="moz-txt-link-freetext" href="http://mailman.mit.edu/mailman/listinfo/starcluster">http://mailman.mit.edu/mailman/listinfo/starcluster</a><br>
      &gt;<br>
      &gt;<br>
      &gt; _______________________________________________<br>
      &gt; StarCluster mailing list<br>
      &gt; <a class="moz-txt-link-abbreviated" href="mailto:StarCluster@mit.edu">StarCluster@mit.edu</a><br>
      &gt; <a class="moz-txt-link-freetext" href="http://mailman.mit.edu/mailman/listinfo/starcluster">http://mailman.mit.edu/mailman/listinfo/starcluster</a></span><br>
    <br>
    <br>
  </body>
</html>