<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),  test tools often work on wider sets.
      Minimally, it should work <br>
      on some clients and  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  1.8 clients, <br>
      some companies use RedHat5.x clients and RedHat6.x(SL6.x) server,
      other use Ubuntu.  <br>
      <br>
      RH5 has only python2.4, SL61  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.   <br>
      <br>
      Thanks,<br>
          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.
           One of the discussion points there was that the bash language
          of the current tests was lacking in a variety of areas.  We're
          moving forward with this work but need community agreement on
          the best course.  </div>
        <div><br>
        </div>
        <div>Given the requirements and language options below, the
          reasonable choices rapidly diminish to a showdown between perl
          and python.  I think we're leaning at this point toward perl,
          based on it's superior speed and inter-version compatibility.
           The final piece of the puzzle is the knowledge of existing
          Lustre test writers, so please chime in.  (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. 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. 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. 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. 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. 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. 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. 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. 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>