Opened 19 years ago
Last modified 8 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.
Note: See
TracTickets for help on using
tickets.
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.