<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Hi JC, all,<br>
      <br>
      I should say more words about compatibility.<br>
      <br>
      In comparing with server-only tools(which are often pretty good
      maintained and controlled <br>
      on limited node set),&nbsp; test tools often work on wider sets.
      Minimally, it should work <br>
      on some clients and&nbsp; also on clients with different versions then
      servers, include clients in real clusters,<br>
      developers virtual clusters and so on.<br>
      <br>
      As I know, Lustre users could have environment with Lustre latest
      servers and&nbsp; 1.8 clients, <br>
      some companies use RedHat5.x clients and RedHat6.x(SL6.x) server,
      other use Ubuntu.&nbsp; <br>
      <br>
      RH5 has only python2.4, SL61&nbsp; has python2.4 and python2.6, and
      looks like only <br>
      last Fedora will have python3. In same time, Ubuntu says that from
      next release want to have only <span class="st">Python 3. </span><br>
      Which version should we use and how long backward compatibility
      will be supported by <span class="st">Python and distros<em> </em>for
        <br>
        selected version<em>?</em></span><br>
      <br>
      Precision Python version could be installed from non standard
      repos, compiled from sources also as used <br>
      "non standard installation". Last item also mean testing own
      installation on wide set of distros. Also we should <br>
      remember about external Python libraries which also could be
      touched by breaking legacy compatibility. <br>
      <br>
      I think, testing system should be friendly to developers as
      possible and pushing to install precision version while <br>
      one or more pythons already in os could not be the simplest
      solution.<br>
      <br>
      Now Lustre tests compatibility for wide set of system is solved by
      shell and standard utilities. Perl also has great <br>
      compatibility history, many scripts could work on latest version
      as 10 years ago. It is reason why I see Perl as <br>
      good decision.<br>
      <br>
      From compatibility(and my) point of view, also Java is preferable
      solution then Python. It has few good described ways <br>
      of installation, proved compatibility, great library managers
      (maven, ant+ivy) and could support scripting <br>
      languages(JPython, JRuby and more). <br>
      But it needs more memory and pretty big start time. &nbsp; <br>
      <br>
      Thanks,<br>
      &nbsp;&nbsp;&nbsp; Roman<br>
      On 10/23/2012 11:39 PM, Jacques-Charles Lafoucriere wrote:<br>
    </div>
    <blockquote cite="mid:5086F285.6000809@cea.fr" type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      hello all<br>
    </blockquote>
    .......<br>
    <blockquote cite="mid:5086F285.6000809@cea.fr" type="cite"> about
      python, what do you mean by non standard installation ? <br>
      if your python configuration is right, the local differences
      should be hidden to the test framework<br>
      <br>
      Bye<br>
      <br>
      JC<br>
      <br>
      <div class="moz-cite-prefix">On 10/23/2012 08:36 PM, Nathan Rutman
        wrote:<br>
      </div>
      <blockquote
        cite="mid:9E235E88-FAD1-44BF-A4DC-12A5801E0467@xyratex.com"
        type="cite">
        <meta http-equiv="Content-Type" content="text/html;
          charset=ISO-8859-1">
        <div>At LAD'12 we proposed a plan for improving the Lustre test
          framework as an important part of the Lustre quality story.
          &nbsp;One of the discussion points there was that the bash language
          of the current tests was lacking in a variety of areas. &nbsp;We're
          moving forward with this work but need community agreement on
          the best course. &nbsp;</div>
        <div><br>
        </div>
        <div>Given the requirements and language options below, the
          reasonable choices rapidly diminish to a showdown between perl
          and python. &nbsp;I think we're leaning at this point toward perl,
          based on it's superior speed and inter-version compatibility.
          &nbsp;The final piece of the puzzle is the knowledge of existing
          Lustre test writers, so please chime in. &nbsp;(But note that
          "popularity" is the reason we chose bash the first time, and
          look where that got us...)</div>
        <div><br>
        </div>
        <div>
          <div style="margin: 0px 0px 0px 12px; text-indent: -12px;
            font-size: 13px; font-family: Arial; color: rgb(81, 6, 0); "><span
              class="Apple-tab-span" style="white-space:pre"> </span>requirements</div>
          <div style="margin: 0px 0px 0px 30px; text-indent: -30px;
            font-size: 13px; font-family: Arial; color: rgb(108, 103,
            1); "><span class="Apple-tab-span" style="white-space:pre">
            </span>1.&nbsp;easy to use</div>
          <div style="margin: 0px 0px 0px 30px; text-indent: -30px;
            font-size: 13px; font-family: Arial; color: rgb(108, 103,
            1); "><span class="Apple-tab-span" style="white-space:pre">
            </span>2.&nbsp;strict structure</div>
          <div style="margin: 0px 0px 0px 30px; text-indent: -30px;
            font-size: 13px; font-family: Arial; color: rgb(108, 103,
            1); "><span class="Apple-tab-span" style="white-space:pre">
            </span>3.&nbsp;universally available</div>
          <div style="margin: 0px 0px 0px 30px; text-indent: -30px;
            font-size: 13px; font-family: Arial; color: rgb(108, 103,
            1); "><span class="Apple-tab-span" style="white-space:pre">
            </span>4.&nbsp;widely maintained</div>
          <div style="margin: 0px 0px 0px 30px; text-indent: -30px;
            font-size: 13px; font-family: Arial; color: rgb(108, 103,
            1); "><span class="Apple-tab-span" style="white-space:pre">
            </span>5.&nbsp;widely understood</div>
          <div style="margin: 0px 0px 0px 30px; text-indent: -30px;
            font-size: 13px; font-family: Arial; color: rgb(108, 103,
            1); "><span class="Apple-tab-span" style="white-space:pre">
            </span>6.&nbsp;good filesystem interface: posix API</div>
          <div style="margin: 0px 0px 0px 30px; text-indent: -30px;
            font-size: 13px; font-family: Arial; color: rgb(108, 103,
            1); "><span class="Apple-tab-span" style="white-space:pre">
            </span>7.&nbsp;fast - replace e.g. createmany with embedded
            function</div>
          <div style="margin: 0px 0px 0px 30px; text-indent: -30px;
            font-size: 13px; font-family: Arial; color: rgb(108, 103,
            1); "><span class="Apple-tab-span" style="white-space:pre">
            </span>8.&nbsp;operate remote instances</div>
          <div style="margin: 0px 0px 0px 30px; text-indent: -30px;
            font-size: 13px; font-family: Arial; color: rgb(108, 103,
            1); "><span class="Apple-tab-span" style="white-space:pre">
            </span>9. inter-version compatibility</div>
          <div style="margin: 0px 0px 0px 12px; text-indent: -12px;
            font-size: 13px; font-family: Arial; color: rgb(81, 6, 0); "><span
              class="Apple-tab-span" style="white-space:pre"> </span>options</div>
          <div style="margin: 0px 0px 0px 30px; text-indent: -30px;
            font-size: 13px; font-family: Arial; color: rgb(108, 103,
            1); "><span class="Apple-tab-span" style="white-space:pre">
            </span>bash - capable, but too flexible, easy to abuse</div>
          <div style="margin: 0px 0px 0px 30px; text-indent: -30px;
            font-size: 13px; font-family: Arial; color: rgb(108, 103,
            1); "><span class="Apple-tab-span" style="white-space:pre">
            </span>perl - forward compatible, universal, more widely
            understood, xperior, compact; hard to read later</div>
          <div style="margin: 0px 0px 0px 48px; text-indent: -48px;
            font-size: 13px; font-family: Arial; color: rgb(0, 105,
            107); "><span class="Apple-tab-span" style="white-space:pre">
            </span>posix::open, opendir, lseek, etc.</div>
          <div style="margin: 0px 0px 0px 66px; font-size: 11px; color:
            rgb(103, 103, 103); "><span class="Apple-tab-span"
              style="color: rgb(0, 105, 107); font-family: Arial;
              font-size: 13px; text-indent: -48px; white-space: pre; ">
            </span><span style="color: rgb(0, 105, 107); font-family:
              Arial; font-size: 13px; text-indent: -48px; ">parallel::MPI</span></div>
          <div style="margin: 0px 0px 0px 48px; text-indent: -48px;
            font-size: 13px; font-family: Arial; color: rgb(0, 105,
            107); "><span class="Apple-tab-span" style="white-space:pre">
            </span>~2x faster than python</div>
          <div style="margin: 0px 0px 0px 48px; text-indent: -48px;
            font-size: 13px; font-family: Arial; color: rgb(0, 105,
            107); "><span class="Apple-tab-span" style="white-space:pre">
            </span>more version compatible</div>
          <div style="margin: 0px 0px 0px 30px; text-indent: -30px;
            font-size: 13px; font-family: Arial; color: rgb(108, 103,
            1); "><span class="Apple-tab-span" style="white-space:pre">
            </span>python - very clear structure, swig module for c
            inclusion; non-standard installations, support</div>
          <div style="margin: 0px 0px 0px 48px; text-indent: -48px;
            font-size: 13px; font-family: Arial; color: rgb(0, 105,
            107); "><span class="Apple-tab-span" style="white-space:pre">
            </span>os.open: all c flags<span class="Apple-tab-span"
              style="white-space: pre; "> </span></div>
          <div style="margin: 0px 0px 0px 48px; text-indent: -48px;
            font-size: 13px; font-family: Arial; color: rgb(0, 105,
            107); "><span class="Apple-tab-span" style="white-space:
              pre; "> </span>MPI bindings</div>
          <div style="margin: 0px 0px 0px 48px; text-indent: -48px;
            font-size: 13px; font-family: Arial; color: rgb(0, 105,
            107); "><span class="Apple-tab-span" style="white-space:pre">
            </span>tab/space requirements make remote editing more
            difficult</div>
          <div style="margin: 0px 0px 0px 30px; text-indent: -30px;
            font-size: 13px; font-family: Arial; color: rgb(108, 103,
            1); "><span class="Apple-tab-span" style="white-space:pre">
            </span>cucumber - ruby based, difficult deployment</div>
          <div style="margin: 0px 0px 0px 30px; text-indent: -30px;
            font-size: 13px; font-family: Arial; color: rgb(108, 103,
            1); "><span class="Apple-tab-span" style="white-space:pre">
            </span>java - easy deployment, dev environ, debugger, fast;
            must compile</div>
          <div style="margin: 0px 0px 0px 30px; text-indent: -30px;
            font-size: 13px; font-family: Arial; color: rgb(108, 103,
            1); "><span class="Apple-tab-span" style="white-space:pre">
            </span>ruby - compact</div>
        </div>
        <div><br>
        </div>
        <div><br>
        </div>
        <div>
          <div><a moz-do-not-send="true"
href="http://silicainsilico.wordpress.com/2012/03/26/switching-from-perl-to-python-speed/">http://silicainsilico.wordpress.com/2012/03/26/switching-from-perl-to-python-speed/</a></div>
          <div><a moz-do-not-send="true"
href="http://tenser.typepad.com/tenser_said_the_tensor/2006/08/python_vs_perl_.html">http://tenser.typepad.com/tenser_said_the_tensor/2006/08/python_vs_perl_.html</a></div>
          <div><a moz-do-not-send="true"
href="http://opennomad.com/content/performance-different-scripting-languages-shell-v-perl-v-python-v-ruby">http://opennomad.com/content/performance-different-scripting-languages-shell-v-perl-v-python-v-ruby</a></div>
          <div><a moz-do-not-send="true"
href="http://hentenaar.com/serendipity/index.php?/archives/27-Benchmark-PHP-vs.-Python-vs.-Perl-vs.-Ruby.html">http://hentenaar.com/serendipity/index.php?/archives/27-Benchmark-PHP-vs.-Python-vs.-Perl-vs.-Ruby.html</a></div>
        </div>
        <div><br>
        </div>
        <div><br>
        </div>
        <br>
        <fieldset class="mimeAttachmentHeader"></fieldset>
        <br>
        <pre wrap="">_______________________________________________
Lustre-devel mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:Lustre-devel@lists.lustre.org">Lustre-devel@lists.lustre.org</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://lists.lustre.org/mailman/listinfo/lustre-devel">http://lists.lustre.org/mailman/listinfo/lustre-devel</a>
</pre>
      </blockquote>
      <br>
    </blockquote>
    <br>
  </body>
</html>