Edition 1
1801 Varsity Drive
Raleigh, NC 27606-2072 USA
Phone: +1 919 754 3700
Phone: 888 733 4281
Fax: +1 919 754 3701
Mono-spaced Bold
To see the contents of the filemy_next_bestselling_novel
in your current working directory, enter thecat my_next_bestselling_novel
command at the shell prompt and press Enter to execute the command.
Press Enter to execute the command.Press Ctrl+Alt+F2 to switch to the first virtual terminal. Press Ctrl+Alt+F1 to return to your X-Windows session.
mono-spaced bold
. For example:
File-related classes includefilesystem
for file systems,file
for files, anddir
for directories. Each class has its own associated set of permissions.
Choose Mouse Preferences. In the Buttons tab, click the Left-handed mouse check box and click to switch the primary mouse button from the left to the right (making the mouse suitable for use in the left hand).→ → from the main menu bar to launchTo insert a special character into a gedit file, choose → → from the main menu bar. Next, choose → from the Character Map menu bar, type the name of the character in the Search field and click . The character you sought will be highlighted in the Character Table. Double-click this highlighted character to place it in the Text to copy field and then click the button. Now switch back to your document and choose → from the gedit menu bar.
Mono-spaced Bold Italic
or Proportional Bold Italic
To connect to a remote machine using ssh, typessh
at a shell prompt. If the remote machine isusername
@domain.name
example.com
and your username on that machine is john, typessh john@example.com
.Themount -o remount
command remounts the named file system. For example, to remount thefile-system
/home
file system, the command ismount -o remount /home
.To see the version of a currently installed package, use therpm -q
command. It will return a result as follows:package
.
package-version-release
Publican is a DocBook publishing system.
mono-spaced roman
and presented thus:
books Desktop documentation drafts mss photos stuff svn books_tests Desktop1 downloads images notes scripts svgs
mono-spaced roman
but add syntax highlighting as follows:
package org.jboss.book.jca.ex1; import javax.naming.InitialContext; public class ExClient { public static void main(String args[]) throws Exception { InitialContext iniCtx = new InitialContext(); Object ref = iniCtx.lookup("EchoBean"); EchoHome home = (EchoHome) ref; Echo echo = home.create(); System.out.println("Created Echo"); System.out.println("Echo.echo('Hello') = " + echo.echo("Hello")); } }
job
, submission
and attribute
.
job
is the basic unit of work and has a minimum set of attributes. These attributes include the full path of the command to be executed, command arguments, job owner, and requirements that provide information to MRG Grid. The requirements list enables matching with a resource that can execute the job.
submission
is an association of jobs under a common name key, such as my_submission_for_today
. Aviary can generate a submission name if one is not given.
attribute
describes aspects of a job. Some attributes can be set when the job is submitted or edited later when the job is still actively being processed in the MRG Grid job queue. MRG Grid will specify many job attributes after a submission but you can also provide custom attributes if they are meaningful to the execution of the application represented by a job.
?wsdl
URL syntax.
cmake
is invoked:
-DWANT_CONTRIB:BOOL=TRUE -DWITH_AVIARY:BOOL=TRUE
AviaryScheduler
- configuration to activate a component that provides the Aviary job submission and management capabilities
QueryServer
- configuration to activate a component that provides the Aviary job query capabilities
JobId
JobId
is a unit of information that fully describes the identity of a job. It contains the following parameters:
job
- the local identifier for a job assigned to a specific scheduler. It is a string that encodes two positive floating point numbers such as 1.0, 84.3, 2004.68. The first is a reference to a local job grouping that may have multiple parts with attributes in common that are counted by the second number. A typical example is a group of jobs that share the same command but pass different arguments to the command, each job then writes its outputs to a different file.
scheduler
- a string that identifies which scheduler the job was submitted to.
pool
- a string that identifies a MRG Grid deployment. A deployment is an arena of schedulers, job execution resources and components that match jobs to those resources.
SubmissionId
SubmissionId
is a unit of information that describes a submission in the following two parts:
name
- a string provided by the user or generated on behalf of the user at the time of submission. Submission names may be considered a way to associate and aggregate jobs in such a way that is meaningful to the developer. An example of a meaningful name may be my_submission_04302011
. As submissions are open-ended, a user can continue to add individual jobs to this aggregating name over time. This remains true though the individual jobs may have been scheduled and executed at different times by MRG Grid. For example, the jobs 1.0
, 28.0
and 2011.0
could all be part of the submission named my_submission_04302011
.
owner
- a string containing the name of the original submitter.
Attribute
attribute
is type-coded information used by MRG Grid to evaluate, organize and execute job matching and processing. MRG Grid jobs have multiple attributes, some are user-specified before submission and many that are attached to a job by the MRG Grid infrastructure when added to the job queue. A MRG Grid job is the sum of its attributes. An attribute
consists of:
name
- a string denoting the attribute name. Names can be pre-defined and understood by the MRG Grid infrastructure or a custom attribute name.
type
- an enumerated string with values string, integer, float, expression or boolean.
value
- the string form of the value.
JobStatus
JobStatus
exists in one of the following states:
idle
- the job is in a state where it is not ready or able to be assigned to a resource.
running
- the job is assigned to and running on a resource.
held
- the job exists in the MRG Grid queue but is held back from execution.
completed
- the job ran to completion.
removed
- the job was deleted from the job queue by a user.
ResourceConstraint
ResourceConstraint
is a basic quality that MRG Grid should consider when matching a new job to a resource. There are five basic constraints defined in Aviary which are:
OS
- Linux
or Windows
.
ARCH
- for 32-bit platforms, INTEL
; or X86_64
for 64-bit platforms. This is important when the executable needed by the job is compiled for a particular architecture.
MEMORY
- the expected total RAM required to execute the job.
DISK
- expected total disk space to execute the job.
FILESYSTEM
- the domain name representing a uniformly mounted network file system, as configured by a MRG Grid administrator.
Operation | Inputs | Outputs | Notes |
---|---|---|---|
submitJob
|
Job submission request fields are:
|
'OK' and the
JobId or an error containing diagnostic text if a problem was encountered.
|
MRG Grid users familiar with crafting specific
attributes such as complex requirements may do so using the extra attribute field in conjunction with the allowOverrides XML attribute in the request.
|
holdJob
|
A single
JobId and a hold reason in string format.
|
'OK' or an error with text if the job is not found or parsed.
|
A hold is a temporary interruption of job execution against a resource; holds can be used to affect job attribute edits without needing to resubmit the job.
|
releaseJob
|
A single
JobId and a release reason in string format.
|
'OK' or an error with text if the job is not found or parsed
|
Releasing a job is moving it out of the held state and back where it is ready to be schedule again with a resource.
|
removeJob
|
A single
JobId and a remove reason in string format.
|
'OK' or an error with text if the job is not found or parsed.
|
Job removal means that the job is prevented from executing to completion, note that its existence in the MRG Grid queue is still maintained on record.
|
setJobAttribute
|
A single
JobId and a single Attribute .
|
'OK' or an error with text is the job is not found or parsed.
|
Attributes are predefined by MRG Grid or can be user-created, for example a name/type/value shorthand combination:
|
Operation | Inputs | Outputs | Notes |
---|---|---|---|
getJobStatus
|
Zero to many
JobId s.
|
Returns the current status for each
JobId input, or an error indicating that the job could not be parsed or found.
|
The most efficient query as it returns the least amount of data per job.
|
getJobSummary
|
Zero to many
JobId s.
|
Returns a summary for each
JobId input, or an error indicating that the job could not be parsed or found.
|
Summary returned includes:
|
getJobDetails
|
Zero to many
JobId s.
|
Returns all
Attributes for each JobId input, or an error indicating the job could not be parsed or found.
|
A potentially expensive operation, it is possible to request all the attributes for all the jobs tracked in MRG Grid. If performance is a concern consider judicious use of summaries for certain job sets.
|
getJobData
|
A single
JobId , the type of data file content requested (ERR, OUT, LOG), the maximum number of bytes to be returned and whether the file should be read from the front to back.
|
Returns the file content requested if successful.
|
Each job can specify an error file (ERR), a log file (LOG) or an output file (OUT); the log file is used by MRG Grid to monitor the job progress.
|
getSubmissionSummary
|
Zero to many
SubmissionId s.
|
For each valid submission returned, these job totals will be listed:
|
Individual job summaries can be included in the response by setting the XML attribute
includeJobSummaries to true in the request.
|
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:job="http://job.aviary.grid.redhat.com"> <soapenv:Header/> <soapenv:Body> <job:SubmitJob allowOverrides="false"> <cmd>/bin/sleep</cmd> <!--Optional:--> <args>40</args> <owner>ownername
</owner> <iwd>/tmp</iwd> <!--Optional:--> <submission_name>my_submission
</submission_name> <!--Zero or more repetitions:--> <requirements> <type>OS</type> <value>LINUX</value> </requirements> <!--Zero or more repetitions:--> <extra> <name>MYDATA</name> <type>STRING</type> <value>the data
</value> </extra> </job:SubmitJob> </soapenv:Body> </soapenv:Envelope>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <n:SubmitJobResponse xmlns:n="http://job.aviary.grid.redhat.com"> <id> <job>247.0</job> <pool>localhost</pool> <scheduler>username
@localhost.localdomain</scheduler> <submission> <name>my_submission</name> <owner>username
</owner> </submission> </id> <status> <code>OK</code> <text/> </status> </n:SubmitJobResponse> </soapenv:Body> </soapenv:Envelope>
# uses Savon http://savonrb.com/ require 'rubygems' # httpi >= 0.9.2 require 'httpi' # savon >= 0.9.1 require 'savon' require "openssl" client = Savon::Client.new do |wsdl| wsdl.document = "/var/lib/condor/aviary/services/job/aviary-job.wsdl" wsdl.endpoint = "http://localhost:9090/services/job/submitJob" end xml = Builder::XmlMarkup.new xml.cmd("/bin/sleep") xml.args("40") xml.owner("condor") xml.iwd("/tmp") response = client.request :job, "SubmitJob" do soap.namespaces["xmlns:job"] = "http://job.aviary.grid.redhat.com" soap.body = xml.target! end
JobID
argument.
# uses Suds - https://fedorahosted.org/suds/ import logging from suds import * from suds.client import Client from sys import exit, argv, stdin import time # enable these to see the SOAP messages #logging.basicConfig(level=logging.INFO) #logging.getLogger('suds.client').setLevel(logging.DEBUG) # change these for other default locations and ports job_wsdl = 'file:/var/lib/condor/aviary/services/query/aviary-query.wsdl' cmds = ['getJobStatus', 'getJobSummary', 'getJobDetails'] cmdarg = len(argv) > 1 and argv[1] cproc = len(argv) > 2 and argv[2] job_url = len(argv) > 3 and argv[3] or "http://localhost:9091/services/query/" if cmdarg not in cmds: print "error unknown command: ", cmdarg print "available commands are: ",cmds exit(1) client = Client(job_wsdl); job_url += cmdarg client.set_options(location=job_url) # enable to see service schema #print client # set up our JobID if cproc: jobId = client.factory.create("ns0:JobID") jobId.job = cproc else: # returns all jobs jobId = None try: func = getattr(client.service, cmdarg, None) if callable(func): result = func(jobId) except Exception, e: print "invocation failed: ", job_url print e exit(1) print result
Revision History | |||
---|---|---|---|
Revision 1-3 | Wed Sep 07 2011 | ||
| |||
Revision 1-2 | Tue Aug 23 2011 | ||
| |||
Revision 1-1 | Thu Jun 23 2011 | ||
| |||
Revision 1-0 | Thu Jun 23 2011 | ||
| |||
Revision 0.1-5 | Thu Jun 02 2011 | ||
| |||
Revision 0.1-4 | Mon May 09 2011 | ||
| |||
Revision 0.1-3 | Thu May 05 2011 | ||
| |||
Revision 0.1-2 | Wed Mar 30 2011 | ||
| |||
Revision 0.1-1 | Thu Mar 3 2011 | ||
| |||
Revision 0.1-0 | Thu Mar 3 2011 | ||
|