The case directory has been updated with new materials.

Any last issues before I close this case?

-- mark

Margot Miller wrote:
> Vivek,
>
> Please add the package SUNWpdsh to the interface table.
>
> In the pdsh man page, it has:
>
>     qsh     Allows pdsh to execute MPI    jobs over  QsNet.  Qshell
>          propagates      the  current    working     directory,  pdsh
>          environment, and Elan  capabilities  to  the  remote
>          process. The following environment    variable are also
>          appended to the environment:  RMS_RANK,  RMS_NODEID,
>          RMS_PROCID,  RMS_NNODES,  and RMS_NPROCS. Since pdsh
>          needs to run setuid root for qshell support,  qshell
>          does    not    directly   support     propagation   of
>          LD_LIBRARY_PATH   and   LD_PREOPEN.   Instead    the
>          QSHELL_REMOTE_LD_LIBRARY_PATH              and
>          QSHELL_REMOTE_LD_PREOPEN environment variables  will
>          may  be used and will be remapped to LD_LIBRARY_PATH
>          and LD_PREOPEN by the qshell daemon if set.
>
> Does this project support Qshell? 
> Also, there is a section in one of the man pages about slurm
> module options.  Per Danek in the below email, this is not
> relevant for Solaris.  The documentation needs to be updated
> to reflect that this isn't supported on Solaris.
>
> Please check through all the man pages to ensure that everything
> in the man pages is correct wrt Solaris and what is in the man pages
> is reflected in the interface table.
>
> Also, please have your sponsor review all the materials
> before you resend the updated documents.
>
> Thanks
> Margot
>
>
>
>
> Vivek Titarmare wrote:
>> Hi Danek and the team,
>>
>> I have updated the Fasttrack and FOSS check list for pdsh. Major 
>> changes in
>> the interface tables would be seen. Actually a rework was done on this
>> package and found that the interface table needed a change.
>> Pl. ignore the previous Interface related conflicts.
>>
>> Let me know if this looks good to go.
>>
>> Pl. find attached all the files required for this ARC review.
>>
>> Thanks,
>> ~Vivek R. Titarmare
>>
>>
>>
>> -----Original Message-----
>> From: Danek Duvall [mailto:Danek.Duvall at Sun.COM] Sent: Tuesday, April 
>> 21, 2009 11:39 PM
>> To: Vivek Titarmare
>> Cc: 'Mark Carlson'; James.D.Carlson at Sun.COM; Nicolas.Williams at Sun.COM;
>> Manisha.Jha at Sun.COM
>> Subject: Re: pdsh Ver 2.18 [LSARC/2009/238 FastTrack timeout 04/20/2009]
>>
>> [ Please use standard email quoting techniques -- a "> " prefix to every
>> line that you're responding to, and not to your own; what you're doing
>> makes your email responses incredibly difficult to read.  Perhaps not 
>> using
>> Outlook would help.  This is Sun, after all; you should be running 
>> Solaris.
>> ]
>>
>> On Tue, Apr 21, 2009 at 10:46:14PM +0530, Vivek Titarmare wrote:
>>
>>  
>>>> No, I want you to not deliver those interfaces.  You can't ship
>>>>       
>> components
>>  
>>>> that don't work.  This is a commercial OS, not a grad student project,
>>>>       
>> and
>>  
>>>> it costs Sun tons of money to field calls from customers complaining
>>>>       
>> about
>>  
>>>> things that don't work.  It's best not to ship them at all if we know
>>>> they're busted.  Given how much of the man page is filled with text
>>>> describing options and arguments that won't be useful on Solaris, 
>>>> you'll
>>>> need to remove this extraneous documentation before delivery, too.
>>>>       
>>> [VIVEK] I am sorry, I think I confused you. All the components work, 
>>> for
>>> those components to work we need to override the environment variables
>>>     
>> which
>>  
>>> I am adding those in the Interface table. I this case, do we still 
>>> need to
>>> remove the contents from the man pages. Pl. let me know.
>>>     
>>
>> The components that are unavailable (libgenders, nodeattr, etc) will 
>> cause
>> portions of pdsh (pdsh-mod-genders, pdsh-mod-nodeattr, etc) not to work,
>> environment variables or not.  There is no way that "pdsh-mod-slurm" is
>> going to work unless slurm is installed, and since there is no slurm
>> available for Solaris, then "pdsh-mod-slurm" is not going to work on
>> Solaris.  So don't ship it, and don't document it.
>>
>> Danek
>> ------------------------------------------------------------------------
>>
>>
>>
>>
>> DSHBAK                            DSHBAK(1)
>>
>>
>>
>> NAME
>>      dshbak - format output from pdsh command
>>
>> SYNOPSIS
>>      dshbak [-c]
>>
>> DESCRIPTION
>>      dshbak formats pdsh output    for  humans.   Output  from  each
>>      node  is consolidated, the    leading    node: prefix is    
>> stripped,
>>      and a header block    with the node name is added.  If  the  -c
>>      option  is     specified,  nodes  with identical output are not
>>      displayed twice; instead, the header will contain a list  of
>>      nodes.   The  list     of nodes is further compressed    into node
>>      ranges if the node    names have a numeric suffix.
>>
>>
>> ORIGIN
>>      A rewrite of IBM dshbak(1)    by Jim Garlick
>>      <garlick at llnl.gov>    on LLNL's ASCI Blue-Pacific IBM     SP  sys-
>>      tem.
>>
>>
>> ATTRIBUTES
>>      See attributes(5) for descriptions    of the    following  attri-
>>      butes:
>>
>>
>>
>>      ____________________________________________________________
>>     |        ATTRIBUTE TYPE      |      ATTRIBUTE VALUE    |
>>     |_____________________________|_____________________________|
>>     | Availability          | SUNWpdsh            |
>>     |_____________________________|_____________________________|
>>     | Interface    Stability      | uncommitted            |
>>     |_____________________________|_____________________________|
>>
>>
>> SEE ALSO
>>      pdsh(1)
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> LLNL            Last change: Release 1.3            1
>>
>>
>>   
>> ------------------------------------------------------------------------
>>
>>
>>
>>
>> User Commands                          pdsh(1)
>>
>>
>>
>> NAME
>>      pdcp - copy files to groups of hosts in parallel
>>      rpdcp - (reverse pdcp) copy files from a group of    hosts  in
>>      parallel
>>
>>
>> SYNOPSIS
>>      pdcp [options]... src [src2...] dest
>>      rpdcp [options]...    src [src2...] dir
>>
>>
>> DESCRIPTION
>>      pdcp is a variant of the  rcp(1)  command.      Unlike  rcp(1),
>>      which  copies  files  to a    single remote host, pdcp can copy
>>      files to multiple remote hosts in parallel.   However,  pdcp
>>      does not recognize    files in the format ``rname at rhost:path,''
>>      therefore all  source  files  must     be  on     the  local  host
>>      machine.    Destination nodes must be listed on the    pdcp com-
>>      mand line using a suitable    target nodelist    option    (See  
>> the
>>      OPTIONS  section  below).    Each destination node listed must
>>      have pdcp installed for the copy to succeed.
>>
>>      When pdcp receives    SIGINT (ctrl-C), it lists the  status  of
>>      current  threads.     A  second  SIGINT within one second ter-
>>      minates the program. Pending  threads  may     be  canceled  by
>>      issuing ctrl-Z within one second of ctrl-C.  Pending threads
>>      are those that have not yet been initiated, or are    still  in
>>      the process of connecting to the remote host.
>>
>>      Like pdsh(1), the functionality of    pdcp may be  supplemented
>>      by     dynamically  loadable    modules. In pdcp, the modules may
>>      provide a    new  connect  protocol    (replacing  the     standard
>>      rsh(1)  protocol),     filtering  options (e.g. excluding hosts
>>      that are down),  and/or  host  selection  options    (e.g.  -a
>>      selects  all  nodes  from a local config file).  By default,
>>      pdcp requires at least one    "rcmd" module to  be  loaded  (to
>>      provide the channel for remote copy).
>>
>>
>> REVERSE    PDCP
>>      rpdcp performs a reverse parallel copy.  Rather than copying
>>      files to remote hosts, files are retrieved    from remote hosts
>>      and stored    locally.  All directories or files retrieved will
>>      be     stored     with  their  remote  hostname    appended  to  
>> the
>>      filename.    The destination    file must  be  a  directory  when
>>      this option is used.
>>
>>      In    other respects,    rpdcp is exactly like pdcp,  and  further
>>      statements     regarding  pdcp  in  this  manual  also apply to
>>      rpdcp.
>>
>>
>>
>>
>>
>> pdsh-2.18        Last change: solaris2.11            1
>>
>>
>>
>>
>>
>>
>> User Commands                          pdsh(1)
>>
>>
>>
>> RCMD MODULES
>>      The method    by which pdcp connects to  remote  hosts  may  be
>>      selected at runtime using the -R option (See OPTIONS below).
>>      This functionality    is ultimately implemented via dynamically
>>      loadable  modules,     and so    the list of available options may
>>      be    different from installation to installation.  A     list  of
>>      currently    available  rcmd    modules    is printed when    
>> using any
>>      of    the -h,    -V, or -L options. The default rcmd  module  will
>>      also be displayed with the    -h and -V options.
>>
>>      A list of rcmd modules currently distributed with pdcp  fol-
>>      lows.
>>
>>      rsh     Uses an internal, thread-safe implementation of  BSD
>>          rcmd(3)  to  run  commands    using the standard rsh(1)
>>          protocol.
>>
>>      ssh     Uses a variant of popen(3)    to run multiple    copies of
>>          the ssh(1)    command.
>>
>>      mrsh    This module uses the  mrsh(1)  protocol  to  execute
>>          jobs  on  remote  hosts.    The  mrsh protocol uses    a
>>          credential    based authentication, forgoing    the  need
>>          to     allocate  reserved  ports.  In    other aspects, it
>>          acts just like rsh.
>>
>>      krb4    The krb4 module allows users to execute remote  com-
>>          mands after authenticating    with kerberos. Of course,
>>          the remote    rshd daemons must be kerberized.
>>
>>      xcpu    The xcpu module uses the  xcpu  service  to  execute
>>          remote commands.
>>
>>
>> OPTIONS
>>      The list of available pdcp    options    is determined at  runtime
>>      by     supplementing the list    of standard pdcp options with any
>>      options provided by loaded    rcmd and misc modules.     In  some
>>      cases,  options  provided    by modules may conflict    with each
>>      other. In these cases, the    modules    are incompatible and  the
>>      first module loaded wins.
>>
>>
>> Standard target    nodelist options
>>      -w    host,host,...
>>       Target the specified list of hosts. Do not use with any
>>       other     node  selection options (e.g. -a, -g if they are
>>       available).  No  spaces  are    allowed     in  the   comma-
>>       separated  list.   A    list  consisting  of a single `-'
>>       character causes the    target    hosts  to  be  read  from
>>       stdin, one per line. The host    list may contain hostlist
>>       expressions  of  the    form  ``host[1-5,7]''.    For  more
>>
>>
>>
>> pdsh-2.18        Last change: solaris2.11            2
>>
>>
>>
>>
>>
>>
>> User Commands                          pdsh(1)
>>
>>
>>
>>       information about the    hostlist format, see the HOSTLIST
>>       EXPRESSIONS section below.
>>
>>      -x    host,host,...
>>       Exclude the specified    hosts. May be specified     in  con-
>>       junction with    other target node list options such as -a
>>       and -g (when available). Hostlists may also  be  speci-
>>       fied    to the -x option (see HOSTLIST EXPRESSIONS secion
>>       below).
>>
>>
>> Standard pdcp options
>>      -h      Output usage menu and    quit. A    list  of  available  
>> rcmd
>>       modules  will     be  printed at    the end    of the usage mes-
>>       sage.
>>
>>      -q      List option values and the  target  nodelist    and  exit
>>       without action.
>>
>>      -b      Disable ctrl-C status    feature    so that    a  
>> single  ctrl-C
>>       kills    parallel copy. (Batch Mode)
>>
>>      -r      Copy directories recursively.
>>
>>      -p      Preserve modification    time and modes.
>>
>>      -e    PATH
>>       Explicitly specify path to remote pdcp  binary  instead
>>       of using the locally executed    path.
>>
>>      -l    user
>>       This option may be used to copy files    as another  user,
>>       subject  to authorization. For BSD rcmd, this    means the
>>       invoking user    and system must    be listed in  the  user's
>>       .rhosts file (even for root).
>>
>>      -t    seconds
>>       Set the connect timeout. Default is 10 seconds.
>>
>>      -f    number
>>       Set the maximum number of simultaneous remote    copies to
>>       number.  The default is 32.
>>
>>      -R    name
>>       Set rcmd module to name. This    option may  also  be  set
>>       via  the PDSH_RCMD_TYPE environment variable.    A list of
>>       available rcmd modules may be    obtained via  either  the
>>       -h or    -L options.
>>
>>      -R    name
>>       Set rcmd module to name. This    option may  also  be  set
>>       via  the PDSH_RCMD_TYPE environment variable.    A list of
>>
>>
>>
>> pdsh-2.18        Last change: solaris2.11            3
>>
>>
>>
>>
>>
>>
>> User Commands                          pdsh(1)
>>
>>
>>
>>       available rcmd modules may be    obtained via  either  the
>>       -h or    -L options.
>>
>>      -L      List info on all loaded pdcp modules and quit.
>>
>>      -d      Include more complete     thread     status     when  
>> SIGINT  is
>>       received,  and display connect and command time statis-
>>       tics on stderr when done.
>>
>>      -V      Output pdcp version information,  along  with     list  of
>>       currently loaded modules, and    exit.
>>
>>
>>
>> HOSTLIST EXPRESSIONS
>>      As    noted in sections above, pdcp accepts ranges of    hostnames
>>      in     the general form: prefix[n-m,l-k,...],    where n    < m 
>> and    l
>>      < k, etc.,    as an alternative to  explicit    lists  of  hosts.
>>      This  form     should     not  be confused with regular expression
>>      character classes (also denoted  by  ``[]'').  For     example,
>>      foo[19]   does  not  represent  foo1  or  foo9,  but  rather
>>      represents    a degenerate range: foo19.
>>
>>      This range    syntax is meant    only as    a convenience on 
>> clusters
>>      with  a  prefixNN    naming    convention  and     specification of
>>      ranges should  not     be  considered     necessary  --    the  
>> list
>>      foo1,foo9    could  be  specified  as  such,     or  by    the 
>> range
>>      foo[1,9].
>>
>>      Some examples of range usage follow:
>>
>>
>>      Copy /etc/hosts to    foo01,foo02,...,foo05
>>      pdcp -w foo[01-05] /etc/hosts /etc
>>
>>      Copy /etc/hosts to    foo7,foo9,foo10
>>      pdcp -w foo[7,9-10] /etc/hosts    /etc
>>
>>      Copy /etc/hosts to    foo0,foo4,foo5
>>       pdcp -w foo[0-5] -x foo[1-3] /etc/hosts /etc
>>
>>
>>      As    a reminder to the  reader,  some  shells  will    interpret
>>      brackets  ('['  and ']') for pattern matching.  Depending on
>>      your shell, it may    be  necessary  to  enclose  ranged  lists
>>      within  quotes.   For  example,  in  tcsh,    the first example
>>      above should be executed as:
>>
>>      pdcp -w "foo[01-05]" /etc/hosts /etc
>>
>>
>>
>>
>>
>>
>> pdsh-2.18        Last change: solaris2.11            4
>>
>>
>>
>>
>>
>>
>> User Commands                          pdsh(1)
>>
>>
>>
>> ORIGIN
>>      Pdsh/pdcp was originally a    rewrite    of IBM dsh(1) by Jim Gar-
>>      lick  <garlick at llnl.gov>  on LLNL's ASCI Blue-Pacific IBM SP
>>      system.  It is now    also used on Linux clusters at LLNL.
>>
>>
>> LIMITATIONS
>>      When using    ssh for    remote execution, stderr  of  ssh  to  be
>>      folded  in    with that of the remote    command.  When invoked by
>>      pdcp, it is not possible for ssh to prompt    for  confirmation
>>      if     a host    key changes, prompt for    passwords if RSA 
>> keys are
>>      not configured properly, etc..  Finally, the connect timeout
>>      is     only  adjustable with ssh when    the underlying ssh imple-
>>      mentation supports    it, and    pdsh has been built  to     
>> use  the
>>      correct option.
>>
>>
>> ATTRIBUTES
>>      See attributes(5) for descriptions    of the    following  attri-
>>      butes:
>>
>>
>>
>>      ____________________________________________________________
>>     |        ATTRIBUTE TYPE      |      ATTRIBUTE VALUE    |
>>     |_____________________________|_____________________________|
>>     | Availability          | SUNWpdsh            |
>>     |_____________________________|_____________________________|
>>     | Interface    Stability      | uncommitted            |
>>     |_____________________________|_____________________________|
>>
>>
>> SEE ALSO
>>      pdsh(1)
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> pdsh-2.18        Last change: solaris2.11            5
>>
>>
>>   
>> ------------------------------------------------------------------------
>>
>>
>>
>>
>> User Commands                          pdsh(1)
>>
>>
>>
>> NAME
>>      pdsh - issue commands to groups of    hosts in parallel
>>
>>
>> SYNOPSIS
>>      pdsh [options]... command
>>
>>
>> DESCRIPTION
>>      pdsh is a variant of  the    rsh(1)    command.  Unlike  rsh(1),
>>      which  runs  commands  on a single    remote host, pdsh can run
>>      multiple remote commands in parallel. pdsh    uses  a     "sliding
>>      window"  (or fanout) of threads to    conserve resources on the
>>      initiating    host while allowing some connections to    time out.
>>
>>      When pdsh receives    SIGINT (ctrl-C), it lists the  status  of
>>      current  threads.    A  second  SIGINT  within one second ter-
>>      minates the program. Pending  threads  may     be  canceled  by
>>      issuing ctrl-Z within one second of ctrl-C.  Pending threads
>>      are those that have not yet been initiated, or are    still  in
>>      the process of connecting to the remote host.
>>
>>
>>      If    a remote command is not    specified on  the  command  line,
>>      pdsh  runs    interactively, prompting for commands and execut-
>>      ing them when terminated with a carriage return. In interac-
>>      tive  mode,  target nodes that time out on    the first command
>>      are not contacted for subsequent commands,    and commands pre-
>>      fixed  with  an  exclamation  point  will be executed on the
>>      local system.
>>
>>      The core functionality of pdsh may    be supplemented    by dynam-
>>      ically  loadable modules. The modules may provide a new con-
>>      nection protocol (replacing the  standard    rcmd(3)     protocol
>>      used by rsh(1)), filtering    options    (e.g. removing hosts that
>>      are "down"    from the  target  list),  and/or  host    selection
>>      options  (e.g.,  -a  selects  all hosts from a configuration
>>      file.). By    default, pdsh  must  have  at  least  one  "rcmd"
>>      module  loaded. See the RCMD MODULES section for more infor-
>>      mation.
>>
>>
>> RCMD MODULES
>>      The method    by which pdsh runs commands on remote  hosts  may
>>      be     selected  at  runtime    using  the -R option (See OPTIONS
>>      below).  This functionality is  ultimately     implemented  via
>>      dynamically  loadable  modules, and so the    list of    available
>>      options may be different from installation    to  installation.
>>      A    list  of currently available rcmd modules is printed when
>>      using any of the -h, -V, or -L  options.  The  default  rcmd
>>      module will also be displayed with    the -h and -V options.
>>
>>
>>
>>
>> pdsh-2.18        Last change: solaris2.11            1
>>
>>
>>
>>
>>
>>
>> User Commands                          pdsh(1)
>>
>>
>>
>>      A list of rcmd modules currently distributed with pdsh  fol-
>>      lows.
>>
>>      rsh     Uses an internal, thread-safe implementation of  BSD
>>          rcmd(3)  to  run  commands    using the standard rsh(1)
>>          protocol.
>>
>>      exec    Executes an arbitrary command for each target  host.
>>          The  first    of the pdsh remote arguments is    the local
>>          command to    execute, followed by  any  further  argu-
>>          ments.  Some simple parameters are    substitued on the
>>          command line, including %h    for the    target    hostname,
>>          %u     for  the  remote username, and    %n for the remote
>>          rank [0-n]    (To get    a literal % use    %%).   For  exam-
>>          ple,  the    following  would  duplicate using the ssh
>>          module to run hostname(1) across  the  hosts  foo[0-
>>          10]:
>>
>>         pdsh -R    exec -w    foo[0-10] ssh -x -l %u %h hostname
>>
>>          and this command line would run grep(1) in     parallel
>>          across the    files console.foo[0-10]:
>>
>>         pdsh -R    exec -w    foo[0-10] grep BUG console.%h
>>
>>
>>      ssh     Uses a variant of popen(3)    to run multiple    copies of
>>          the ssh(1)    command.
>>
>>      mrsh    This module uses the  mrsh(1)  protocol  to  execute
>>          jobs  on  remote  hosts.    The  mrsh protocol uses    a
>>          credential    based authentication, forgoing    the  need
>>          to     allocate  reserved  ports.  In    other aspects, it
>>          acts just like rsh. Remote     nodes    must  be  running
>>          mrshd(8) in order for the mrsh module to work.
>>
>>      qsh     Allows pdsh to execute MPI    jobs over  QsNet.  Qshell
>>          propagates      the  current    working     directory,  pdsh
>>          environment, and Elan  capabilities  to  the  remote
>>          process. The following environment    variable are also
>>          appended to the environment:  RMS_RANK,  RMS_NODEID,
>>          RMS_PROCID,  RMS_NNODES,  and RMS_NPROCS. Since pdsh
>>          needs to run setuid root for qshell support,  qshell
>>          does    not    directly   support     propagation   of
>>          LD_LIBRARY_PATH   and   LD_PREOPEN.   Instead    the
>>          QSHELL_REMOTE_LD_LIBRARY_PATH              and
>>          QSHELL_REMOTE_LD_PREOPEN environment variables  will
>>          may  be used and will be remapped to LD_LIBRARY_PATH
>>          and LD_PREOPEN by the qshell daemon if set.
>>
>>      mqsh    Similar  to  qshell,  but    uses  the  mrsh     protocol
>>          instead of    the rsh    protocol.
>>
>>
>>
>> pdsh-2.18        Last change: solaris2.11            2
>>
>>
>>
>>
>>
>>
>> User Commands                          pdsh(1)
>>
>>
>>
>>      krb4    The krb4 module allows users to execute remote  com-
>>          mands after authenticating    with kerberos. Of course,
>>          the remote    rshd daemons must be kerberized.
>>
>>      xcpu    The xcpu module uses the  xcpu  service  to  execute
>>          remote commands.
>>
>>
>> OPTIONS
>>      The list of available options is determined  at  runtime  by
>>      supplementing  the     list  of  standard pdsh options with any
>>      options provided by loaded    rcmd and misc modules.     In  some
>>      cases,  options  provided    by modules may conflict    with each
>>      other. In these cases, the    modules    are incompatible and  the
>>      first module loaded wins.
>>
>>
>> Standard target    nodelist options
>>      -w    [rcmd_type:][u...@]host,host,...
>>       Target the specified list of hosts. Do not use with any
>>       other     node  selection options (e.g. -a, -g if they are
>>       available).  No  spaces  are    allowed     in  the   comma-
>>       separated  list.   A    list  consisting  of a single `-'
>>       character causes the    target    hosts  to  be  read  from
>>       stdin, one per line. The host    list may contain hostlist
>>       expressions  of  the    form  ``host[1-5,7]''.    For  more
>>       information about the    hostlist format, see the HOSTLIST
>>       EXPRESSIONS section below. A list of hosts may also  be
>>       preceded  by "user@" to specify a remote username other
>>       than the default, or "rcmd_type:" to specify an  alter-
>>       nate    rcmd  connection  type for these hosts.    When used
>>       together, the    rcmd type must be specified  first,  e.g.
>>       "ssh:user1 at host0"  would use ssh to connect to host0 as
>>       user "user1."
>>
>>      -x    host,host,...
>>       Exclude the specified    hosts. May be specified     in  con-
>>       junction with    other target node list options such as -a
>>       and -g (when available). Hostlists may also  be  speci-
>>       fied    to  the     -x  option (see the HOSTLIST EXPRESSIONS
>>       section below).
>>
>>
>> Standard pdsh options
>>      -S      Return the largest of    the remote command return values.
>>
>>      -h      Output usage menu and    quit. A    list  of  available  
>> rcmd
>>       modules  will     also  be printed at the end of    the usage
>>       message.
>>
>>      -s      Only on AIX, separate    remote command stderr and  stdout
>>       into two sockets.
>>
>>
>>
>> pdsh-2.18        Last change: solaris2.11            3
>>
>>
>>
>>
>>
>>
>> User Commands                          pdsh(1)
>>
>>
>>
>>      -q      List option values and the  target  nodelist    and  exit
>>       without action.
>>
>>      -b      Disable ctrl-C status    feature    so that    a  
>> single  ctrl-C
>>       kills    parallel job. (Batch Mode)
>>
>>      -l    user
>>       This option may be  used  to    run  remote  commands  as
>>       another  user,  subject to authorization. For    BSD rcmd,
>>       this means the invoking user and system must be  listed
>>       in the user's    .rhosts    file (even for root).
>>
>>      -t    seconds
>>       Set the connect timeout. Default is 10 seconds.
>>
>>      -u    seconds
>>       Set a    limit on the amount of time a remote  command  is
>>       allowed  to  execute.     Default is no limit. See note in
>>       LIMITATIONS if using -u with ssh.
>>
>>      -f    number
>>       Set the maximum number of simultaneous remote     commands
>>       to number.  The default is 32.
>>
>>      -R    name
>>       Set rcmd module to name. This    option may  also  be  set
>>       via  the PDSH_RCMD_TYPE environment variable.    A list of
>>       available rcmd modules may be    obtained via the -h,  -V,
>>       or  -L  options.  The    default    will be    listed with -h or
>>       -V.
>>
>>      -L      List info on all loaded pdsh modules and quit.
>>
>>      -N      Disable hostname: prefix on lines of output.
>>
>>      -d      Include more complete     thread     status     when  
>> SIGINT  is
>>       received,  and display connect and command time statis-
>>       tics on stderr when done.
>>
>>      -V      Output pdsh version information,  along  with     list  of
>>       currently loaded modules, and    exit.
>>
>>
>> qsh/mqsh module    options
>>      -n    tasks_per_node
>>       Set the number of tasks spawned per node. Default is 1.
>>
>>      -m    block |    cyclic
>>       Set block versus  cyclic  allocation    of  processes  to
>>       nodes. Default is block.
>>
>>      -r    railmask
>>
>>
>>
>> pdsh-2.18        Last change: solaris2.11            4
>>
>>
>>
>>
>>
>>
>> User Commands                          pdsh(1)
>>
>>
>>
>>       Set the rail bitmask for a job on a  multirail  system.
>>       The  default railmask    is 1, which corresponds    to rail    0
>>       only.    Each bit set in    the argument to    -r corresponds to
>>       a  rail on the system, so a value of 2 would correspond
>>       to rail 1 only, and 3    would indicate to use both rail    1
>>       and rail 0.
>>
>>
>> machines module    options
>>      -a      Target all nodes from    machines file.
>>
>>
>> genders    module options
>>      In    addition to the     genders  options  presented  below,  the
>>      genders  attribute     pdsh_rcmd_type     may  also be used in the
>>      genders database to specify an alternate rcmd  connect  type
>>      than the pdsh default in the genders file
>>
>>        host0 pdsh_rcmd_type=ssh
>>
>>      would cause pdsh to use ssh to connect to host0, even if rsh
>>      were the default.    This can be overridden on the commandline
>>      with the "rcmd_type:host0"    syntax.
>>
>>
>>      -A      Target all nodes in genders  database.  The  -A  option
>>       will target every host listed    in genders -- if you want
>>       to omit some hosts by    default, see the -a option below.
>>
>>      -a      Target all nodes in genders database except those  with
>>       the  "pdsh_all_skip"    attribute.  This is shorthand for
>>       running "pdsh    -A -X pdsh_all_skip ..."
>>
>>      -g    attr[=val][,attr[=val],...]
>>       Target nodes that match any of  the  specified  genders
>>       attributes  (with  optional  values).    Conflicts with -a
>>       and -w options. This option targets the alternate host-
>>       names    in the genders database    by default. The    -i option
>>       provided by the genders module may be    used to    translate
>>       these     to  the  canonical  genders  hostnames.  If  the
>>       installed version of genders    supports  it,  attributes
>>       supplied  to    -g  may     also  take  the  form of genders
>>       queries. Genders queries will    query the  genders  data-
>>       base    for  the union,    intersection, difference, or com-
>>       plement of genders  attributes  and  values.     The  set
>>       operation  union  is    represented  by     two pipe symbols
>>       ('||'), intersection by two ampersand     symbols  ('&&'),
>>       difference  by two minus symbols ('--'), and complement
>>       by a tilde ('~').  Parentheses may be     used  to  change
>>       the  order  of  operations. See the nodeattr(1) manpage
>>       for examples of genders queries.
>>
>>
>>
>>
>> pdsh-2.18        Last change: solaris2.11            5
>>
>>
>>
>>
>>
>>
>> User Commands                          pdsh(1)
>>
>>
>>
>>      -X    attr[=val][,attr[=val],...]
>>       Exclude nodes    that match any of the  specified  genders
>>       attributes  (optionally  with    values).  This option may
>>       be used in combination  with    any  other  of    the  node
>>       selection  options  (e.g.  -w, -g, -a, -X may    also take
>>       the form of genders queries. Please  see  documentation
>>       for  the  genders  -g    option for more    information about
>>       genders queries.
>>
>>      -i      Request translation  between    canonical  and    alternate
>>       hostnames.
>>
>>      -F    filename
>>       Read genders information from    filename instead  of  the
>>       system default genders file.
>>
>>
>> nodeupdown module options
>>      -v      Eliminate target nodes that are  considered  "down"  by
>>       libnodeupdown.
>>
>>
>> slurm module options
>>      The slurm module  allows  pdsh  to     target     nodes    
>> based  on
>>      currently    running    SLURM jobs. The    slurm module is    
>> typically
>>      called after all other node selection options have    been pro-
>>      cessed,  and if no    nodes have been    selected, the module will
>>      attempt  to  read    a  running  jobid  from     the  SLURM_JOBID
>>      environment  variable  (which  is    set  when running under    a
>>      SLURM allocation).    If SLURM_JOBID references an invalid job,
>>      it    will be    silently ignored.
>>
>>      -j    jobid[,jobid,...]
>>       Target list of nodes allocated to the    SLURM job  jobid.
>>       This option may be used multiple times to target multi-
>>       ple SLURM jobs. The special argument "all" can be  used
>>       to target all    nodes running SLURM jobs, e.g.    -j all.
>>
>>
>> rms module options
>>      The rms module allows pdsh    to target nodes    based on  an  RMS
>>      resource. The rms module is typically called after    all other
>>      node selection options, and if no nodes have been    selected,
>>      the module    will examine the RMS_RESOURCEID    environment vari-
>>      able and attempt to set the target     list  of  hosts  to  the
>>      nodes  in    the  RMS  resource.  If     an  invalid  resource is
>>      denoted, the variable is silently ignored.
>>
>>
>> SDR module options
>>      The SDR module supports targeting hosts via the System  Data
>>      Repository    on IBM SPs.
>>
>>
>>
>> pdsh-2.18        Last change: solaris2.11            6
>>
>>
>>
>>
>>
>>
>> User Commands                          pdsh(1)
>>
>>
>>
>>      -a      Target all nodes in the SDR. The list    is generated from
>>       the "reliable    hostname" in the SDR by    default.
>>
>>      -i      Translate hostnames between reliable and initial in the
>>       SDR, when applicable.     If the    a target hostname matches
>>       either the initial or    reliable hostname in the SDR, the
>>       alternate name will be substitued. Thus a list composed
>>       of initial hostnames will instead be    replaced  with    a
>>       list    of  reliable  hostnames.   For example,    when used
>>       with -a above, all initial hostnames    in  the     SDR  are
>>       targeted.
>>
>>      -v      Do not target    nodes that are marked as  not  responding
>>       in  the  SDR    on the targeted    interface. (If a hostname
>>       does not appear in the SDR, then that    name will  remain
>>       in the target    hostlist.)
>>
>>      -G      In combination with -a, include all partitions.
>>
>>
>> nodeattr module    options
>>      The nodeattr module supports access to the    genders     database
>>      via  the  nodeattr(1) command. See    the genders section above
>>      for a list    of support options with    this module.  The  option
>>      usage  with  the  nodeattr     module     is  the same as genders,
>>      above, with the exception that the    -i  option  may     only  be
>>      used  with     -a  or    -g. NOTE: This module will only    work 
>> with
>>      very old releases of genders where    the  nodeattr(1)  command
>>      supports  the  -r    option,    and before the libgenders API was
>>      available.    Users running newer versions of    genders    will 
>> need
>>      to    use the    genders    module instead.
>>
>>
>> dshgroup module    options
>>      The dshgroup module allows    pdsh  to  use  dsh  (or     Dancer's
>>      shell)   style   group   files   from   /etc/dsh/group/   or
>>      ~/.dsh/group/.
>>
>>      -g    groupname,...
>>       Target nodes in dsh group  file  "groupname"    found  in
>>       either         ~/.dsh/group/groupname           or
>>       /etc/dsh/group/groupname.
>>
>>      -X    groupname,...
>>       Exclude nodes    in dsh group file "groupname."
>>
>>
>> netgroup module    options
>>      The netgroup module allows    pdsh  to  use  standard     netgroup
>>      entries  to  build     lists of target hosts.    (/etc/netgroup or
>>      NIS)
>>
>>
>>
>>
>> pdsh-2.18        Last change: solaris2.11            7
>>
>>
>>
>>
>>
>>
>> User Commands                          pdsh(1)
>>
>>
>>
>>      -g    groupname,...
>>       Target nodes in netgroup "groupname."
>>
>>      -X    groupname,...
>>       Exclude nodes    in netgroup "groupname."
>>
>>
>> ENVIRONMENT VARIABLES
>>      PDSH_RCMD_TYPE
>>       Equivalent to    the -R option, the value of this environ-
>>       ment    variable  will    be  used  to set the default rcmd
>>       module for pdsh to use (e.g. ssh, rsh).
>>
>>      PDSH_SSH_ARGS
>>       Override the standard    arguments that pdsh passes to the
>>       ssh(1) command ("-2 -a -x").
>>
>>      PDSH_SSH_ARGS_APPEND
>>       Append additional options to the ssh(1) command invoked
>>       by  pdsh.  For example, PDSH_SSH_ARGS_APPEND="-q" would
>>       run ssh in quiet mode, or "-v" would increase    the  ver-
>>       bosity of ssh.
>>
>>      WCOLL
>>       If no    other node selection option is    used,  the  WCOLL
>>       environment  variable     may  be  set  to a filename from
>>       which    a list of target hosts will  be     read.    The  file
>>       should  contain  a  list of hosts, one per line (though
>>       each line may    contain    a hostlist expression.    See HOST-
>>       LIST EXPRESSIONS section below).
>>
>>      DSHPATH
>>       If set, the path in DSHPATH will be used  as    the  PATH
>>       for the remote processes.
>>
>>      FANOUT
>>       Set the pdsh fanout (See description of -f above).
>>
>>
>> HOSTLIST EXPRESSIONS
>>      As    noted in sections above    pdsh accepts lists of  hosts  the
>>      general  form:  prefix[n-m,l-k,...],  where n < m and l < k,
>>      etc., as an alternative to    explicit  lists     of  hosts.  This
>>      form  should not be confused with regular expression charac-
>>      ter classes (also denoted by ``[]''). For    example,  foo[19]
>>      does  not represent an expression matching    foo1 or    foo9, but
>>      rather represents the degenerate hostlist:    foo19.
>>
>>      The hostlist syntax is meant only as a convenience    on  clus-
>>      ters  with    a "prefixNNN" naming convention    and specification
>>      of     ranges     should     not  be  considered  necessary     
>> --  this
>>      foo1,foo9    could  be  specified  as such, or by the hostlist
>>
>>
>>
>> pdsh-2.18        Last change: solaris2.11            8
>>
>>
>>
>>
>>
>>
>> User Commands                          pdsh(1)
>>
>>
>>
>>      foo[1,9].
>>
>>      Some examples of usage follow:
>>
>>
>>      Run command on foo01,foo02,...,foo05
>>      pdsh -w foo[01-05] command
>>
>>      Run command on foo7,foo9,foo10
>>      pdsh -w foo[7,9-10] command
>>
>>      Run command on foo0,foo4,foo5
>>      pdsh -w foo[0-5] -x foo[1-3] command
>>
>>
>>      A suffix on the hostname is also supported:
>>
>>
>>      Run command on foo0-eth0,foo1-eth0,foo2-eth0,foo3-eth0
>>     pdsh -w    foo[0-3]-eth0 command
>>
>>
>>      As    a reminder to the  reader,  some  shells  will    interpret
>>      brackets  ('['  and ']') for pattern matching.  Depending on
>>      your shell, it may    be  necessary  to  enclose  ranged  lists
>>      within  quotes.   For  example,  in  tcsh,    the first example
>>      above should be executed as:
>>
>>      pdsh -w "foo[01-05]" command
>>
>>
>> ORIGIN
>>      Originally     a  rewrite  of     IBM  dsh(1)   by   Jim      
>> Garlick
>>      <garlick at llnl.gov>     on  LLNL's ASCI Blue-Pacific IBM SP sys-
>>      tem. It is    now used on Linux clusters at LLNL.
>>
>>
>> LIMITATIONS
>>      When using    ssh for    remote execution, expect  the  stderr  of
>>      ssh  to  be  folded in with that of the remote command. When
>>      invoked by    pdsh, it is not    possible for ssh  to  prompt  for
>>      passwords    if  RSA/DSA  keys  are configured properly, etc..
>>      For ssh implementations  that  suppport  a     connect  timeout
>>      option,  pdsh  attempts  to  use  that option to enforce the
>>      timeout (e.g.  -oConnectTimeout=T    for  OpenSSH),    otherwise
>>      connect timeouts are not supported    when using ssh.     Finally,
>>      there is no reliable way for pdsh to ensure that remote com-
>>      mands  are    actually terminated when using a command timeout.
>>      Thus if -u    is used    with ssh commands may be left running  on
>>      remote  hosts  even  after     timeout  has  killed  local  ssh
>>      processes.
>>
>>
>>
>>
>> pdsh-2.18        Last change: solaris2.11            9
>>
>>
>>
>>
>>
>>
>> User Commands                          pdsh(1)
>>
>>
>>
>>      Output from multiple processes per    node may be  interspersed
>>      when using    qshell or mqshell rcmd modules.
>>
>>      The number    of nodes that  pdsh  can  simultaneously  execute
>>      remote  jobs  on is limited by the    maximum    number of threads
>>      that can be created concurrently, as well as the  availabil-
>>      ity of reserved ports in the rsh and qshell rcmd modules. On
>>      systems that implement Posix threads, the limit is    typically
>>      defined by    the constant PTHREADS_THREADS_MAX.
>>
>>
>> FILES
>> ATTRIBUTES
>>      See attributes(5) for descriptions    of the    following  attri-
>>      butes:
>>
>>
>>
>>      ____________________________________________________________
>>     |        ATTRIBUTE TYPE      |      ATTRIBUTE VALUE    |
>>     |_____________________________|_____________________________|
>>     | Availability          | SUNWpdsh            |
>>     |_____________________________|_____________________________|
>>     | Interface    Stability      | uncommitted            |
>>     |_____________________________|_____________________________|
>>
>>
>> SEE ALSO
>>      rsh(1),         ssh(1),          dshbak(1),      pdcp(1)
>>      http://sourceforge.net/projects/pdsh/
>>
>> NOTES
>>      Source for    pdsh is    available on http://opensolaris.org
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> pdsh-2.18        Last change: solaris2.11               10
>>
>>
>>   
>> ------------------------------------------------------------------------
>>
>> Template Version: @(#)sac_nextcase %I% %G% SMI This information is 
>> Copyright 2009 Sun Microsystems 1. Introduction
>>     1.1. Project/Component Working Name:
>>      pdsh Ver 2.18
>>     1.2. Name of Document Author/Supplier:
>>      Author:  Vivek R. Titarmare
>>     1.3  Date of This Document:
>>      3rd April, 2009
>>
>> 2. Project Summary
>>    2.1 Project Description
>>
>>     Parallel command execution for clusters
>>
>> 4. Technical Description:
>>
>>     Pdsh is a high-performance, parallel remote shell utility. It has 
>> built-in, thread-safe clients for Berkeley and Kerberos V4 rsh and 
>> can call SSH externally (though with reduced performance). Pdsh uses 
>> a "sliding window" parallel algorithm to conserve socket resources on 
>> the initiating node and to allow progress to continue while timeouts 
>> occur on some connections.
>>     
>>     Pdsh is a variant of the rsh(1) command. Unlike rsh(1), which 
>> runs commands on a single remote host, pdsh can run multiple remote 
>> commands in parallel. pdsh uses a "sliding window" (or fanout) of 
>> threads to conserve resources on the the initiating host while 
>> allowing some connections to time out.    
>>
>> 5. Interfaces
>>     The binary file "pdsh" contains following interface.
>>
>>    Exported interface                   Classification         
>> Interface type
>>    =============================        ==============         
>> ==============
>>        usr/bin/dshbak            Uncommitted        binary
>>        usr/bin/pdcp            Uncommitted        binary
>>        usr/bin/pdsh            Uncommitted        binary
>>        usr/bin/rpdcp            Uncommitted        binary
>>        usr/lib/pdsh/xrcmd.so        Uncommitted        shared library
>>        usr/lib/pdsh/xrcmd.la        Uncommitted        library tool
>>        usr/lib/pdsh/xrcmd.a        Uncommitted        static library
>>        usr/lib/pdsh/execcmd.so        Uncommitted        shared library
>>        usr/lib/pdsh/execcmd.la        Uncommitted        library tool
>>        usr/lib/pdsh/execcmd.a        Uncommitted        static library
>>       
>>     PDSH_RCMD_TYPE            Uncommitted        override standard 
>> argument
>>     PDSH_SSH_ARGS            Uncommitted        override standard 
>> argument
>>     PDSH_SSH_ARGS_APPEND        Uncommitted        override standard 
>> argument
>>     WCOLL                Uncommitted        override standard argument
>>     DSHPATH                Uncommitted        override standard argument
>>     FANOUT                Uncommitted        override standard argument
>>     QSHELL_REMOTE_LD_LIBRARY_PATH    Uncommitted        override 
>> standard argument
>>     QSHELL_REMOTE_LD_PREOPEN    Uncommitted        override standard 
>> argument
>>     
>>
>>    Imported interface        Classification   Comments
>>    =======================   ==============   
>> ===================================     None
>>
>>    The binary file would go in "usr/bin" and the libraries would go 
>> in "usr/lib"
>>
>>
>> 6. Resources and Schedule
>>     6.4. Steering Committee requested information
>>        6.4.1. Consolidation C-team Name:
>>         SFW
>>     6.5. ARC review type: FastTrack
>>     6.6. ARC Exposure: open
>> ------------------------------------------------------------------------
>>
>> FCL--FOSS Check List
>>
>> 1.0 Project Information
>> 1.1 Name of project/component
>>     pdsh  Ver 2.18
>>
>> 1.2 Author of document
>>     Vivek R. Titarmare
>>
>> 2.0 Project Summary
>>   2.1 Project Description
>>
>>     Pdsh is a high-performance, parallel remote shell utility. It has 
>> built-in, thread-safe clients for Berkeley and Kerberos V4 rsh and 
>> can call SSH externally (though with reduced performance). Pdsh uses 
>> a "sliding window" parallel algorithm to conserve socket resources on 
>> the initiating node and to allow progress to continue while timeouts 
>> occur on some connections.
>>     
>>     Pdsh is a variant of the rsh(1) command. Unlike rsh(1), which 
>> runs commands on a single remote host, pdsh can run multiple remote 
>> commands in parallel. pdsh uses a "sliding window" (or fanout) of 
>> threads to conserve resources on the the initiating host while 
>> allowing some connections to time out.    
>>
>>     Pdsh is a an efficient, multithreaded remote shell client which 
>> executes commands on multiple remote hosts in parallel. Pdsh 
>> implements dynamically loadable modules for extended functionality 
>> such as new remote shell services and remote host selection
>>
>>   2.2 Release binding
>>       What is is the release binding?
>>       (see 
>> http://opensolaris.org/os/community/arc/policies/release-taxonomy/)
>>       [ ] Major
>>       [X] Minor
>>       [ ] Patch or Micro
>>       [ ] Unknown -- ARC review required
>>
>>   2.3 Type of project
>>       Is this case a Linux Familiarity project?
>>       [X] Yes
>>       [ ] No
>>
>>   2.4 Originating Community
>>     2.4.1 Community Name
>>         PDSH (http://sourceforge.net/projects/pdsh/)
>>         2.4.2 Community Involvement
>>       Indicate Sun's involvement in the community
>>       [ ] Maintainer
>>       [ ] Contributor
>>       [X] Monitoring
>>             Will the project team work with the upstream community to 
>> resolve
>>       architectural issues of interest to Sun?
>>       [X] Yes       [ ] No - briefly explain
>>           
>>       Will we or are we forking from the community?
>>       [ ] Yes - ARC review required prior to forking
>>       [X] No
>>       3.0 Technical Description
>>   3.1 Installation & Sharable
>>     3.1.1S Solaris Installation - section only required for Solaris 
>> Software
>>       (see 
>> http://opensolaris.org/os/community/arc/policies/install-locations/ 
>> for details)
>>       Does this project follow the Install Locations best practice?
>>       [X] Yes       [ ] No - ARC review required
>>             Does this project install into /usr under 
>> [sbin|bin|lib|include|man|share]?
>>       [X] Yes
>>       [ ] No or N/A
>>             Does this project install into /opt?
>>       [ ] Yes - explain below
>>       [X] No or N/A
>>             Does this project install into a different directory 
>> structure?
>>       [ ] Yes - ARC review required
>>       [X] No or N/A
>>             Do any of the components of this project conflict with 
>> anything under /usr?
>>       (see http://opensolaris.org/os/community/arc/caselog/2007/047/ 
>> for details)
>>       [ ] Yes - explain below
>>       [X] No
>>             If conflicts exist then will this project install under 
>> /usr/gnu?
>>       [ ] Yes
>>       [ ] No - ARC review required
>>       [X] N/A
>>             Is this project installing into /usr/sfw?
>>       [ ] Yes - ARC review required
>>       [X] No
>>           3.1.1W Windows Installation - section only required for 
>> Windows Software
>>       (see http://sac.sfbay/WSARC/2002/494 for details)
>>       Does this project install software into a       <system 
>> drive>:\Program Files\Sun\<product> or <system drive>:\Sun\<product>
>>       directory?
>>       [ ] Yes
>>       [ ] No - ARC review required
>>             Does the project use the Windows registry?
>>       [ ] Yes
>>       [ ] No - ARC review required
>>             Does the project use       
>> HKEY_LOCAL_MACHINE\SOFTWARE\Sun Microsystems\<product>\<version>
>>       for the registry key?
>>       [ ] Yes
>>       [ ] No - ARC review required
>>             Is the project's stored location
>>       HKEY_LOCAL_MACHINE\SOFTWARE\Sun Microsystems\<product 
>> id>\<version id>\Path?
>>       [ ] Yes
>>       [ ] No - ARC review required
>>           3.1.2 Share and Sharable
>>       Does the module include any components that are used or shared 
>> by       other projects?
>>       [X] Yes
>>       [ ] No
>>           If yes are these components packaged to be shared with the 
>> other FOSS?
>>       [X] Yes
>>       [ ] No - ARC review required
>>       [ ] N/A
>>           Are these components already in the Solaris WOS?
>>       [X] Yes
>>       [ ] No - continue with next section (section 3.2)
>>           If yes are these newer versions being delivered?
>>       [X] Yes
>>       [ ] No - ARC review required
>>             If yes are the newer versions replacing the existing 
>> versions?
>>       [X] Yes
>>       [ ] No - ARC review required
>>
>>   3.2 Exported Libraries
>>       Are libraries being delivered by this project?
>>       [ ] Yes
>>       [X] No - continue with next section (section 3.3)
>>             Are 64-bit versions of the libraries being delivered?
>>       [ ] Yes
>>       [ ] No - ARC review required
>>           Are static versions of the libraries being delivered?
>>       [ ] Yes - ARC review required
>>       [ ] No         3.3 Services and the /etc Directory
>>       (see http://opensolaris.org/os/community/arc/policies/SMF-policy/)
>>       Does the project integrate anything into /etc/init.d or 
>> /etc/rc?.d?
>>       [ ] Yes - ARC review required
>>       [X] No
>>             Does the project integrate any new entries into 
>> /etc/inittab or
>>       /etc/inetd.conf?
>>       [ ] Yes - ARC review required
>>       [X] No
>>             Does the project integrate any private non-public files 
>> into /etc/default
>>       or /etc/ configuration files?
>>       [ ] Yes - ARC review required
>>       [X] No
>>             Does the service manifests method context grant rights 
>> above that
>>       of the noaccess user and basic privilege set?
>>       [ ] Yes - ARC review required
>>       [X] No
>>           3.4 Security
>>     3.4.1 Secure By Default       (see 
>> http://opensolaris.org/os/community/arc/policies/secure-by-default/ 
>> for details)
>>       (see 
>> http://www.opensolaris.org/os/community/arc/policies/NITS-policy/ for 
>> details)
>>       (see parts of 
>> http://opensolaris.org/os/community/arc/policies/SMF-policy/ for
>>        addtional details)
>>       Are there any network services provided by this project?
>>       [ ] Yes
>>       [X] No - continue with the next section (section 3.4.2)
>>             Are network services enabled by default?
>>       [ ] Yes - ARC review required
>>       [ ] No
>>       [X] N/A
>>             Are network services automatically enabled by the project 
>> during installation?
>>       [ ] Yes - ARC review required
>>       [ ] No
>>       [X] N/A
>>             Are inbound network communications denied by default?
>>       [ ] Yes
>>       [ ] No - ARC review required
>>       [X] N/A
>>             Is inbound data checked to prevent content-based attacks?
>>       [ ] Yes
>>       [ ] No - ARC review required
>>       [X] N/A
>>             Is the outbound receiver authenticated?
>>       [ ] Yes
>>       [ ] No - ARC review required
>>       [X] N/A
>>             Is the receiver authenticated prior to receiving any 
>> sensitive outbound communication?
>>       [ ] Yes
>>       [ ] No - ARC review required
>>       [X] N/A
>>           3.4.2 Authorization
>>       (see 
>> http://opensolaris.org/os/community/arc/bestpractices/rbac-intro/ and
>>        
>> http://opensolaris.org/os/community/arc/bestpractices/rbac-profiles/ and
>>        
>> http://opensolaris.org/os/community/arc/bestpractices/rbac-profiles/
>>            for details)
>>       Are there any setuid/setgid privileged binaries in the project?
>>       [ ] Yes - ARC review required
>>       [X] No - continue with next section (section 3.4.3)
>>             If yes then are the setuid/setgid privileges handled by 
>> the use of roles?
>>       [ ] Yes
>>       [ ] No - ARC review required
>>
>>     3.4.3 Auditing
>>       (see 
>> http://opensolaris.org/os/community/arc/policies/audit-policy/ for 
>> details)
>>       (see http://opensolaris.org/os/community/arc/caselog/2003/397 
>> for details)
>>       Does this component contain administrative or security 
>> enforcing software?
>>       [ ] Yes - ARC review required
>>       [X] No - continue to next section (section 3.4.4)
>>             (see 
>> http://opensolaris.org/os/community/arc/caselog/2003/397 for details)
>>       Do the components create audit logs detailing what took place 
>> including what event
>>       took place, who was involved, when the event took place?
>>       [ ] Yes - ARC contract and Audit project team review required
>>       [ ] No - ARC review required
>>                     3.4.4 Authentication
>>       (see http://opensolaris.org/os/community/arc/policies/PAM/)
>>       Do the components contain any authentication code?
>>       [ ] Yes
>>       [X] No - continue to next section (section 3.4.5)
>>             If yes do the components use PAM (plugable authentication 
>> modules) for authentication?
>>       [ ] Yes
>>       [ ] No - ARC review required
>>             If yes is a single PAM session maintained during 
>> authentication?
>>       [ ] Yes
>>       [ ] No - ARC review required
>>             If yes are the components sufficiently privileged to 
>> allow the requested       operations (authentication, password 
>> change, process credential manipulation,       audit state 
>> initialization)?
>>       [ ] Yes - briefly describe below
>>       [ ] No - ARC review required
>>           3.4.5 Passwords
>>       (see 
>> http://opensolaris.org/os/community/arc/bestpractices/passwords-cli/ and
>>            
>> http://opensolaris.org/os/community/arc/bestpractices/passwords-files/ 
>> for details)
>>       Do any of the components for the project deal with passwords?
>>       [ ] Yes
>>       [X] No - continue to next section (section 3.4.6)
>>             If yes are these passwords entered via the CLI or 
>> environment?
>>       [ ] Yes - ARC review required
>>       [ ] No
>>             Are passwords stored within the file system for the 
>> component?
>>       [ ] Yes
>>       [ ] No - continue to next section (section 3.4.6)
>>             If yes are the permissions on the file such to protect 
>> exposing the password(s)?
>>       [ ] Yes
>>       [ ] No - ARC review required
>>           3.4.6 General Security Questions
>>       (see 
>> http://opensolaris.org/os/community/arc/bestpractices/security-questions/ 
>> for details)
>>       Are there any network protocols used by this project?
>>       [X] Yes
>>       [ ] No - continue with the next section (section 3.5)
>>             Do the components use standard network protocols?
>>       [X] Yes
>>       [ ] No - ARC review required
>>             Do network services for the project make decisions based 
>> upon user, host or       service identities?
>>       [X] Yes - explain below
>>       [ ] No
>>       [ ] N/A
>>                 pdsh makes decision on network services based upon 
>> service identities. pdsh is a variant of the rsh(1) command. The core 
>> functionality of pdsh may be supplemented by dynamically loadable 
>> modules. The modules may provide a new connection protocol (replacing 
>> the standard rcmd(3) protocol used by rsh(1)), filtering options 
>> (e.g. removing hosts that are "down" from the target list), and/or 
>> host selection options (e.g., -a selects all hosts from a 
>> configuration file.).Pdsh modules come in two flavors at this time: 
>> rcmd and miscellaneous.              
>>           The rcmd modules provide remote command functionality for 
>> pdsh. A list of rcmd modules currently distributed with pdsh follows. 
>>               rsh Uses an internal, thread-safe implementation of BSD 
>> rcmd(3) to run commands using the standard rsh(1) protocol. 
>>               ssh Uses a variant of popen(3) to run multiple copies 
>> of the ssh(1) command.               mrsh This module uses the 
>> mrsh(1) protocol to execute jobs on remote hosts. The mrsh protocol 
>> uses a credential based authentication, forgoing the need to allocate 
>> reserved ports. In other aspects, it acts just like rsh. Remote nodes 
>> must be running mrshd(8) in order for the mrsh module to work. 
>>                    qsh  Allows pdsh to execute MPI jobs over QsNet. 
>> Qshell propagates the current working directory, pdsh environment, 
>> and Elan capabilities to the remote process. The following 
>> environment variable are also appended to the environment: RMS_RANK, 
>> RMS_NODEID, RMS_PROCID, RMS_NNODES, and RMS_NPROCS.         Since 
>> pdsh needs to run setuid root for qshell support, qshell does not 
>> directly support propagation of LD_LIBRARY_PATH and LD_PREOPEN. 
>> Instead the QSHELL_REMOTE_LD_LIBRARY_PATH and 
>> QSHELL_REMOTE_LD_PREOPEN environment variables will may be used and 
>> will be remapped to LD_LIBRARY_PATH and LD_PREOPEN by the qshell 
>> daemon if set.                 mqsh Similar to qshell, but uses the 
>> mrsh protocol instead of the rsh protocol.                 krb4 The 
>> krb4 module allows users to execute remote commands after 
>> authenticating with kerberos. Of course, the remote rshd daemons must 
>> be kerberized.                 xcpu The xcpu module uses the xcpu 
>> service to execute remote commands
>>             Do the components make use of secret information during 
>> authentication and/or
>>       authorization?
>>       [ ] Yes - explain below
>>       [X] No
>>       [ ] N/A
>>     3.5 Networking
>>       Do the components access the network?
>>       [X] Yes
>>       [ ] No - continue with the next section (section 3.6)
>>             If yes do the components support IPv6?
>>       [X] Yes       [ ] No - ARC review required
>>             3.6 Core Solaris Components
>>       Do the components of this project compete with or duplicate 
>> core       Solaris components?
>>       [ ] Yes - ARC review required
>>       [X] No              4.0 Interfaces
>>   (see 
>> http://www.opensolaris.org/os/community/arc/policies/interface-taxonomy/ 
>> for details)
>>   4.1 Exported Interfaces
>>       The binary file "pdsh" contains following interface.
>>
>>     Interface Name            Classification              Comments
>>     ---------------------------     -------------------     
>> ---------------------------
>>        usr/bin/dshbak            Uncommitted        binary
>>        usr/bin/pdcp            Uncommitted        binary
>>        usr/bin/pdsh            Uncommitted        binary
>>        usr/bin/rpdcp            Uncommitted        binary
>>        usr/lib/pdsh/xrcmd.so        Uncommitted        shared library
>>        usr/lib/pdsh/xrcmd.la        Uncommitted        library tool
>>        usr/lib/pdsh/xrcmd.a        Uncommitted        static library
>>        usr/lib/pdsh/execcmd.so        Uncommitted        shared library
>>        usr/lib/pdsh/execcmd.la        Uncommitted        library tool
>>        usr/lib/pdsh/execcmd.a        Uncommitted        static library
>>       
>>     PDSH_RCMD_TYPE            Uncommitted        override standard 
>> argument
>>     PDSH_SSH_ARGS            Uncommitted        override standard 
>> argument
>>     PDSH_SSH_ARGS_APPEND        Uncommitted        override standard 
>> argument
>>     WCOLL                Uncommitted        override standard argument
>>     DSHPATH                Uncommitted        override standard argument
>>     FANOUT                Uncommitted        override standard argument
>>     QSHELL_REMOTE_LD_LIBRARY_PATH    Uncommitted        override 
>> standard argument
>>     QSHELL_REMOTE_LD_PREOPEN    Uncommitted        override standard 
>> argument
>>     
>>
>>   4.2 Imported Interfaces
>>     Interface Name        Classification       Comments
>>     --------------------------- -------------------- 
>> --------------------------
>>     None   
>> The binary file would go in "/usr/bin" and the libraries would go in 
>> "/usr/lib"
>>
>> Appendix B - Suggested case materials
>>   1. man pages
>>
>>      Attached are the man pages (pdsh.1, pdcp.1, dshbak.1)
>>
>>   2. SMF manifests
>>   3. links to contracts
>>   
>
> _______________________________________________
> opensolaris-arc mailing list
> opensolaris-arc at opensolaris.org

-- 
<http://www.sun.com>    * Mark A. Carlson *
Sr. Architect

*Systems Group*
Phone x69559 / 303-223-6139
Email Mark.Carlson at Sun.COM
        



Reply via email to