[GE issues] [Issue 3065] New - provide means to select between old and new (builtin) IJS method for each interactive job

pollinger harald.pollinger at sun.com
Thu Jun 25 10:56:35 BST 2009

                 Issue #|3065
                 Summary|provide means to select between old and new (builtin) 
                        |IJS method for each interactive job
       Status whiteboard|
              Issue type|ENHANCEMENT
             Assigned to|roland
             Reported by|pollinger

------- Additional comments from pollinger at sunsource.net Thu Jun 25 02:56:34 -0700 2009 -------
With the introduction of the builtin interactive job support (IJS), some customers requested to let the job submitters select if their jobs
should use some old-style method (like rsh/rshd or ssh/sshd) or the builtin method for each single job.
This selection should be done by a command line option of the qrsh or qlogin client.

I order to keep the implementation rather simple, some restrictions must be defined:
* The user can only select between one old method and the new, builtin method.
* The user just can switch between two defined methods - he will not be able to define one via the command line of qrsh/qlogin.
* The old method is the same for all users - of course it still can vary for each host.

With this restrictions in mind, the algorithm could look like this:

1. The administrator has to configure the old IJS method in the configuration - be it the global one or the local one of an execution host.
An "old IJS method" means something like "rsh_command /usr/bin/rsh", "rsh_daemon /usr/sbin/rshd".

2. A "-builtin" switch is added to the qrsh and qlogin command line options. If a user submits e.g. "qrsh -builtin ...", the qrsh client
overwrites the configuration it got from QMaster. It simply overwrites the "rsh_command" value (or "rlogin_command" or "qlogin_command",
depending on the mode it is running in) with "builtin".

3. When the qrsh client submits the job to the QMaster, it adds a flag to the job object that reflects the "-builtin" switch.

4. When the Execd receives the job object, it checks if the flag is set. If yes, it overwrites the configuration for this job. Then it
starts the shepherd that gets the "builtin" configuration.

5. So if the user submitted "qrsh -builtin...", both the qrsh client and the shepherd are now in "builtin" mode. If the user submitted the
qrsh without the "-builtin" switch, both sides are in the mode that was configured by the Administrator.

6. As it may be the case that "-builtin" should not be selectable by the users (i.e. because only ssh/sshd should be used), this feature
must be disengageable. A "execd_params  allow_builtin_override=true/false" could be added.

The drawback of this solution is: The default is the old IJS method, the builtin method gets only used if requested. To avoid this, the
logic could be reversed. For this the meaning of the rsh_command etc. configuration would have to be changed, and the new switch had to be
called "-no-builtin" or "-use-configured-method".
Then the Administrator would still configure the old method, but by default the "builtin" method would be used, unless a user specifies the
"-no-builtin" switch.

The drawback of this solution is: The meaning of the configuration is changed. The use of the configured method can not be enforced.


To unsubscribe from this discussion, e-mail: [issues-unsubscribe at gridengine.sunsource.net].

More information about the gridengine-users mailing list