com.sun.grid.jgdi.rmi
Class JGDIRemoteBaseImpl

java.lang.Object
  extended by java.rmi.server.RemoteObject
      extended by java.rmi.server.RemoteServer
          extended by java.rmi.server.UnicastRemoteObject
              extended by com.sun.grid.jgdi.rmi.JGDIRemoteBaseImpl
All Implemented Interfaces:
JGDIRemoteBase, java.io.Serializable, java.rmi.Remote

public class JGDIRemoteBaseImpl
extends java.rmi.server.UnicastRemoteObject
implements JGDIRemoteBase

See Also:
Serialized Form

Field Summary
protected  JGDI jgdi
           
protected  java.util.logging.Logger logger
           
 
Fields inherited from class java.rmi.server.RemoteObject
ref
 
Constructor Summary
protected JGDIRemoteBaseImpl(java.lang.String url)
           
 
Method Summary
 void cleanQueues(java.lang.String[] queues)
          Cleans queue from jobs which haven't been reaped.
 void clearJobs(java.lang.String[] jobs, boolean force)
          Clears the error state of the specified jobs(s).
 void clearQueues(java.lang.String[] queues, boolean force)
          Clears the error state of the specified queues(s).
 void clearShareTreeUsage()
          Clears all user and project usage from the sharetree.
 void close()
          Close the JGDI object.
 void disableQueues(java.lang.String[] queues, boolean force)
          Disable queue(s), i.e.
 void enableQueues(java.lang.String[] queues, boolean force)
          Enable queue(s).
 QHostResult execQHost(QHostOptions options)
          Get summary information about cluster hosts.
 java.lang.String getActQMaster()
          Get the hostname of the current qmaster
 java.lang.String getAdminUser()
          Get the admin user
 java.util.List getClusterQueueSummary(ClusterQueueSummaryOptions options)
          Get summary information about cluster queues.
 QQuotaResult getQQuota(QQuotaOptions options)
          Get the limit information.
 QueueInstanceSummaryResult getQueueInstanceSummary(QueueInstanceSummaryOptions options)
          Get summary information abouter queue instances.
 java.util.List getRealExecHostList()
          Get the list of real exec hosts (excludes "template" and "global").
 java.lang.String getSchedulerHost()
          Return the host where the Sun™ Grid Engine scheduler sge_schedd(8) is active or null otherwise
 java.lang.String getSGECell()
          Get the cell of the grid engine
 java.io.File getSGERoot()
          Get the root directory of the grid engine installation
 void killAllEventClients()
          Used to shutdown event clients all registered at qmaster(8).
 void killAllExecds(boolean terminateJobs)
          Send all execution hosts a kill signal.
 void killEventClients(int[] ids)
          Used to shutdown event clients registered at qmaster(8), except special clients like the sge_schedd(8)
 void killExecd(java.lang.String[] hosts, boolean terminateJobs)
          Send some execution hosts a kill signal.
 void killMaster()
          Send the qmaster a kill signal.
 void killScheduler()
          Send the schedduler a kill signal.
 void rescheduleJobs(java.lang.String[] jobs, boolean force)
          If applied to running jobs, reschedules the jobs.
 void rescheduleQueues(java.lang.String[] queues, boolean force)
          Reschedules all jobs currently running in the queue(s).
 void suspendJobs(java.lang.String[] jobs, boolean force)
          Suspends job(s).
 void suspendQueues(java.lang.String[] queues, boolean force)
          Suspend the queues and any jobs which might be active.
 void triggerSchedulerMonitoring()
          The Sun™ Grid Engine scheduler sge_schedd(8) is forced to print trace messages of its next scheduling run to the file <sge_root>/<cell>/common/schedd_runlog.
 void unsuspendJobs(java.lang.String[] jobs, boolean force)
          Unsuspends the job(s).
 void unsuspendQueues(java.lang.String[] queues, boolean force)
          Unsuspends the queues and any jobs which might be active.
 
Methods inherited from class java.rmi.server.UnicastRemoteObject
clone, exportObject, exportObject, exportObject, unexportObject
 
Methods inherited from class java.rmi.server.RemoteServer
getClientHost, getLog, setLog
 
Methods inherited from class java.rmi.server.RemoteObject
equals, getRef, hashCode, toString, toStub
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

jgdi

protected JGDI jgdi

logger

protected java.util.logging.Logger logger
Constructor Detail

JGDIRemoteBaseImpl

protected JGDIRemoteBaseImpl(java.lang.String url)
                      throws java.rmi.RemoteException,
                             JGDIException
Throws:
java.rmi.RemoteException
JGDIException
Method Detail

close

public void close()
           throws java.rmi.RemoteException
Description copied from interface: JGDIRemoteBase
Close the JGDI object. After calling this method the JGDI is not longer useable.

Specified by:
close in interface JGDIRemoteBase
Throws:
java.rmi.RemoteException - on any error on the GDI layer

getActQMaster

public java.lang.String getActQMaster()
                               throws java.rmi.RemoteException
Description copied from interface: JGDIRemoteBase
Get the hostname of the current qmaster

Specified by:
getActQMaster in interface JGDIRemoteBase
Returns:
the hostname of the current qmaster
Throws:
java.rmi.RemoteException - on any error on the GDI layer

getAdminUser

public java.lang.String getAdminUser()
                              throws java.rmi.RemoteException
Description copied from interface: JGDIRemoteBase
Get the admin user

Specified by:
getAdminUser in interface JGDIRemoteBase
Returns:
the admin user
Throws:
java.rmi.RemoteException - on any error on the GDI layer

execQHost

public QHostResult execQHost(QHostOptions options)
                      throws java.rmi.RemoteException
Description copied from interface: JGDIRemoteBase
Get summary information about cluster hosts. The CLI equivialent of this method is qhost (see man qhost(1)).

Specified by:
execQHost in interface JGDIRemoteBase
Parameters:
options - host summary options
Returns:
the QHostResult object which the host summary information
Throws:
java.rmi.RemoteException - on any error in the GDI layer

getSGERoot

public java.io.File getSGERoot()
                        throws java.rmi.RemoteException
Description copied from interface: JGDIRemoteBase
Get the root directory of the grid engine installation

Specified by:
getSGERoot in interface JGDIRemoteBase
Returns:
root directory of the gridengine installation
Throws:
java.rmi.RemoteException

getSGECell

public java.lang.String getSGECell()
                            throws java.rmi.RemoteException
Description copied from interface: JGDIRemoteBase
Get the cell of the grid engine

Specified by:
getSGECell in interface JGDIRemoteBase
Returns:
the cell of the grid engine
Throws:
java.rmi.RemoteException

getRealExecHostList

public java.util.List getRealExecHostList()
                                   throws java.rmi.RemoteException
Description copied from interface: JGDIRemoteBase
Get the list of real exec hosts (excludes "template" and "global").

Specified by:
getRealExecHostList in interface JGDIRemoteBase
Returns:
the list of real exec hosts
Throws:
java.rmi.RemoteException

getClusterQueueSummary

public java.util.List getClusterQueueSummary(ClusterQueueSummaryOptions options)
                                      throws java.rmi.RemoteException
Description copied from interface: JGDIRemoteBase
Get summary information about cluster queues. The CLI equivialent of this method is qstat -g c (see man qstat(1)).

Specified by:
getClusterQueueSummary in interface JGDIRemoteBase
Parameters:
options - options the cluster queue summary algorithm
Throws:
java.rmi.RemoteException - on any error in the GDI layer

getQueueInstanceSummary

public QueueInstanceSummaryResult getQueueInstanceSummary(QueueInstanceSummaryOptions options)
                                                   throws java.rmi.RemoteException
Description copied from interface: JGDIRemoteBase
Get summary information abouter queue instances. The CLI equivialent of this method is qstat (see man qstat(1)).

Specified by:
getQueueInstanceSummary in interface JGDIRemoteBase
Parameters:
options - Options for the queue instance summary algorithm
Returns:
the queue instance summary object
Throws:
java.rmi.RemoteException - on any error in the GDI layer

getQQuota

public QQuotaResult getQQuota(QQuotaOptions options)
                       throws java.rmi.RemoteException
Description copied from interface: JGDIRemoteBase
Get the limit information. The CLI equivialent of this method is qquota (see man qquota(1)).

Specified by:
getQQuota in interface JGDIRemoteBase
Parameters:
options - the options for the qquota algorithm
Returns:
list of QQuotaResult instances
Throws:
java.rmi.RemoteException

clearShareTreeUsage

public void clearShareTreeUsage()
                         throws java.rmi.RemoteException
Description copied from interface: JGDIRemoteBase

Clears all user and project usage from the sharetree. All usage will be initialized back to zero.

The CLI equivialent for this method is qconf -clearusage (see man qconf(1)).

Specified by:
clearShareTreeUsage in interface JGDIRemoteBase
Throws:
java.rmi.RemoteException

cleanQueues

public void cleanQueues(java.lang.String[] queues)
                 throws java.rmi.RemoteException
Description copied from interface: JGDIRemoteBase

Cleans queue from jobs which haven't been reaped. Primarily for development purpose. Requires root/manager/operator privileges.

The CLI equivialent for this method is qconf -kcq (see man qconf(1)).

Specified by:
cleanQueues in interface JGDIRemoteBase
Parameters:
queues - a wild card queue list
Throws:
java.rmi.RemoteException - on any error on the GDI layer

killMaster

public void killMaster()
                throws java.rmi.RemoteException
Description copied from interface: JGDIRemoteBase
Send the qmaster a kill signal.

The CLI equivialent for this method is qconf -km (see man qconf(1)).

Specified by:
killMaster in interface JGDIRemoteBase
Throws:
java.rmi.RemoteException - on any error on the GDI layer

killScheduler

public void killScheduler()
                   throws java.rmi.RemoteException
Description copied from interface: JGDIRemoteBase
Send the schedduler a kill signal.

The CLI equivialent for this method is qconf -ks (see man qconf(1)).

Specified by:
killScheduler in interface JGDIRemoteBase
Throws:
java.rmi.RemoteException - on any error on the GDI layer

killExecd

public void killExecd(java.lang.String[] hosts,
                      boolean terminateJobs)
               throws java.rmi.RemoteException
Description copied from interface: JGDIRemoteBase
Send some execution hosts a kill signal.

The CLI equivialent for this method is qconf -ke (see man qconf(1)).

Specified by:
killExecd in interface JGDIRemoteBase
Parameters:
hosts - a host name list
terminateJobs - if true, all jobs running on the execution hosts are aborted prior to termination of the corresponding sge_execd(8).
Throws:
java.rmi.RemoteException - on any error on the GDI layer

killAllExecds

public void killAllExecds(boolean terminateJobs)
                   throws java.rmi.RemoteException
Description copied from interface: JGDIRemoteBase
Send all execution hosts a kill signal.

The CLI equivialent for this method is qconf -ke all (see man qconf(1)).

Specified by:
killAllExecds in interface JGDIRemoteBase
Parameters:
terminateJobs - if true, all jobs running on the execution hosts are aborted prior to termination of the corresponding sge_execd(8).
Throws:
java.rmi.RemoteException - on any error on the GDI layer

killEventClients

public void killEventClients(int[] ids)
                      throws java.rmi.RemoteException
Description copied from interface: JGDIRemoteBase

Used to shutdown event clients registered at qmaster(8), except special clients like the sge_schedd(8)

Requires root or manager privilege.

The CLI equivialent for this method is qconf -secl (see man qconf(1)).

Specified by:
killEventClients in interface JGDIRemoteBase
Parameters:
ids - array with the ids of the event clients which should be killed
Throws:
java.rmi.RemoteException - RemoteException on any error on the GDI level

killAllEventClients

public void killAllEventClients()
                         throws java.rmi.RemoteException
Description copied from interface: JGDIRemoteBase

Used to shutdown event clients all registered at qmaster(8).

Specified by:
killAllEventClients in interface JGDIRemoteBase
Throws:
java.rmi.RemoteException - RemoteException on any error on the GDI level

triggerSchedulerMonitoring

public void triggerSchedulerMonitoring()
                                throws java.rmi.RemoteException
Description copied from interface: JGDIRemoteBase

The Sun™ Grid Engine scheduler sge_schedd(8) is forced to print trace messages of its next scheduling run to the file <sge_root>/<cell>/common/schedd_runlog. The messages indicate the reasons for jobs and queues not being selected in that run.

Requires root or manager privileges.

The CLI equivialent for this method is qconf -tsm (see man qconf(1)).

Specified by:
triggerSchedulerMonitoring in interface JGDIRemoteBase
Throws:
java.rmi.RemoteException - RemoteException on any error on the GDI level

getSchedulerHost

public java.lang.String getSchedulerHost()
                                  throws java.rmi.RemoteException
Description copied from interface: JGDIRemoteBase

Return the host where the Sun™ Grid Engine scheduler sge_schedd(8) is active or null otherwise

The CLI equivialent for this method is qconf -sss (see man qconf(1)).

Specified by:
getSchedulerHost in interface JGDIRemoteBase
Throws:
java.rmi.RemoteException - RemoteException on any error on the GDI level

enableQueues

public void enableQueues(java.lang.String[] queues,
                         boolean force)
                  throws java.rmi.RemoteException
Description copied from interface: JGDIRemoteBase

Enable queue(s).

The CLI equivialent for this method is qmod -e (see man qmod(1)).

Specified by:
enableQueues in interface JGDIRemoteBase
Parameters:
queues - a wildcard queue list
force - force the action
Throws:
java.rmi.RemoteException - RemoteException on any error on the GDI level

disableQueues

public void disableQueues(java.lang.String[] queues,
                          boolean force)
                   throws java.rmi.RemoteException
Description copied from interface: JGDIRemoteBase

Disable queue(s), i.e. no further jobs are dispatched to disabled queues while jobs already executing in these queues are allowed to finish.

The CLI equivialent for this method is qmod -d (see man qmod(1)).

Specified by:
disableQueues in interface JGDIRemoteBase
Parameters:
queues - a wildcard queue list
force - force the action
Throws:
java.rmi.RemoteException - RemoteException on any error on the GDI level

suspendQueues

public void suspendQueues(java.lang.String[] queues,
                          boolean force)
                   throws java.rmi.RemoteException
Description copied from interface: JGDIRemoteBase

Suspend the queues and any jobs which might be active.

The CLI equivialent for this method is qmod -sq (see man qmod(1)).

Specified by:
suspendQueues in interface JGDIRemoteBase
Parameters:
queues - a wildcard queue list
force - force the action
Throws:
java.rmi.RemoteException - RemoteException on any error on the GDI level

unsuspendQueues

public void unsuspendQueues(java.lang.String[] queues,
                            boolean force)
                     throws java.rmi.RemoteException
Description copied from interface: JGDIRemoteBase

Unsuspends the queues and any jobs which might be active.

The CLI equivialent for this method is qmod -usq (see man qmod(1)).

Specified by:
unsuspendQueues in interface JGDIRemoteBase
Parameters:
queues - a wildcard queue list
force - force the action
Throws:
java.rmi.RemoteException - RemoteException on any error on the GDI level

clearQueues

public void clearQueues(java.lang.String[] queues,
                        boolean force)
                 throws java.rmi.RemoteException
Description copied from interface: JGDIRemoteBase

Clears the error state of the specified queues(s).

The CLI equivialent for this method is qmod -cq (see man qmod(1)).

Specified by:
clearQueues in interface JGDIRemoteBase
Parameters:
queues - a wildcard queue list
force -

Force the modification action for the queue despite the apparent current state of the queue.

Throws:
java.rmi.RemoteException - RemoteException on any error on the GDI level

rescheduleQueues

public void rescheduleQueues(java.lang.String[] queues,
                             boolean force)
                      throws java.rmi.RemoteException
Description copied from interface: JGDIRemoteBase

Reschedules all jobs currently running in the queue(s). Requires root or manager privileges.

The CLI equivialent for this method is qmod -r (see man qmod(1)).

Specified by:
rescheduleQueues in interface JGDIRemoteBase
Parameters:
queues - a wildcard queue list
force - Force the modification action for the queue despite the apparent current state of the queue.
Throws:
java.rmi.RemoteException - RemoteException on any error on the GDI level

suspendJobs

public void suspendJobs(java.lang.String[] jobs,
                        boolean force)
                 throws java.rmi.RemoteException
Description copied from interface: JGDIRemoteBase

Suspends job(s). If a job is both suspended explicitly and via suspension of its queue, a following unsuspend of the queue will not release the suspension state on the job.

The CLI equivialent for this method is qmod -sj (see man qmod(1)).

Specified by:
suspendJobs in interface JGDIRemoteBase
Parameters:
jobs - a wildcard job list
force - force the action
Throws:
java.rmi.RemoteException - RemoteException on any error on the GDI level

unsuspendJobs

public void unsuspendJobs(java.lang.String[] jobs,
                          boolean force)
                   throws java.rmi.RemoteException
Description copied from interface: JGDIRemoteBase

Unsuspends the job(s). If a job is both suspended explicitly and via suspension of its queue, a following unsuspend of the queue will not release the suspension state on the job.

The CLI equivialent for this method is qmod -usj (see man qmod(1)).

Specified by:
unsuspendJobs in interface JGDIRemoteBase
Parameters:
jobs - a wildcard queue list
force - force the action
Throws:
java.rmi.RemoteException - RemoteException on any error on the GDI level

clearJobs

public void clearJobs(java.lang.String[] jobs,
                      boolean force)
               throws java.rmi.RemoteException
Description copied from interface: JGDIRemoteBase

Clears the error state of the specified jobs(s).

The CLI equivialent for this method is qmod -cj (see man qmod(1)).

Specified by:
clearJobs in interface JGDIRemoteBase
Parameters:
jobs - a wildcard job list
force - Force the modification action for the job(s)
Throws:
java.rmi.RemoteException - RemoteException on any error on the GDI level

rescheduleJobs

public void rescheduleJobs(java.lang.String[] jobs,
                           boolean force)
                    throws java.rmi.RemoteException
Description copied from interface: JGDIRemoteBase

If applied to running jobs, reschedules the jobs. Requires root or manager privileges.

The CLI equivialent for this method is qmod -r (see man qmod(1)).

Specified by:
rescheduleJobs in interface JGDIRemoteBase
Parameters:
jobs - a wildcard job range list
force - Force the modification action for the job(s)
Throws:
java.rmi.RemoteException


Copyright © 2007 Sun Microsystems, Inc. All rights reserved.