Opened 18 years ago

Last modified 7 years ago

#28 new enhancement

IZ222: qrsh: move info from environment variables to job object

Reported by: joga Owned by:
Priority: normal Milestone:
Component: sge Version: current
Severity: minor Keywords: cleanup
Cc:

Description

[Imported from gridengine issuezilla http://gridengine.sunsource.net/issues/show_bug.cgi?id=222]

        Issue #:      222              Platform:     All           Reporter: joga (joga)
       Component:     gridengine          OS:        All
     Subcomponent:    cleanup          Version:      current          CC:    None defined
        Status:       NEW              Priority:     P3
      Resolution:                     Issue type:    ENHANCEMENT
                                   Target milestone: ---
      Assigned to:    ernst (ernst)
      QA Contact:     ernst
          URL:
       * Summary:     qrsh: move info from environment variables to job object
   Status whiteboard:
      Attachments:

     Issue 222 blocks:
   Votes for issue 222:


   Opened: Fri Apr 5 02:37:00 -0700 2002 
------------------------


Some information like QRSH_WRAPPER, QRSH_PORT are passed through the qrsh
mechanism via environment variables.
They should better become part of the job object.

   ------- Additional comments from pollinger Thu Jun 25 07:18:01 -0700 2009 -------
There are QRSH_WRAPPER, QRSH_COMMAND and QRSH_PORT.

QRSH_WRAPPER is documented in the submit(1) man page:
"If the environment variable QRSH_WRAPPER is set when qrsh is invoked, the command interpreter pointed to by QRSH_WRAPPER will be executed
to run qrsh commands instead of the users login shell or any shell specified in the qrsh command-line."
"qrsh" puts it in the job environment, the "execd" and the "shepherd" just forward it with the rest of the environment, only the
"qrsh_starter" and "qmake" evaluate it and remove it from the job environment. So if we want to remove the QRSH_WRAPPER from the job
environment and put it to the job object in the whole Grid Engine, we need some means to hand over the QRSH_WRAPPER from the "shepherd" to
the "qrsh_starter" and "qmake" outside of the environment file.

QRSH_COMMAND is not documented in the man pages.
QRSH_COMMAND is generated by the "qrsh" client and evaluated by "qrsh_starter" and by the "builtin_starter" of the "shepherd". Here we also
need a way to hand over QRSH_COMMAND to the "qrsh_starter" outside of the environment file in order to remove it from the job environment.

QRSH_PORT is not documented in the man pages.
QRSH_PORT is generated by the "qrsh" client and contains "$HOSTNAME:$PORT". It's evaluated by the "execd", but it's not removed from the job
environment, so a "qrsh echo \$QRSH_PORT" prints both the host and the port of the qrsh client (for builtin IJS).
As it's not documented, it should be no problem to remove it from the job environment and hand it over in the job object.

Change History (1)

comment:1 Changed 7 years ago by wish

  • Severity set to minor

QRSH_PORT may be undocumented but provides a way of distinguishing a qsub job from one of the interactive clients from within a server side JSV. If this information is moved to the job object then this information should be made accessible to a server side JSV.

Note: See TracTickets for help on using tickets.