It turns out they use a transformation to get from that data to the
glue data. The folks over at mds-user say:
"There's a translation that happens for both the scheduling and compute
XML from the intermediate XML form to the final GLUE XML format. The
(default) scheduling translation is done here:
http://viewcvs.globus.org/viewcvs.cgi/ws-mds/usefulrp/source/src/org/globus/mds/usefulrp/rpprovider/transforms/GLUESchedulerElementTransform.java?view=markup
"
Looking at the elements you couldn't translate, I see the following
telling comment:
// TODO: not sure how to map these fields from the provider schema:
So, MDS people, is the only solution to write your own class that
replaces the GLUESchedulerElementTransform and adds in the extra data?
There is some hope that that wouldn't be too bad, because the CE
schema at http://viewcvs.globus.org/viewcvs.cgi/ws-mds/usefulrp/schema/schema/mds/usefulrp/ce.xsd?revision=1.8.2.1&view=markup
does include an
<element name="StorageDevice" type="ce:StorageDeviceType"
maxOccurs="unbound
ed" minOccurs="0" />
which points to
<complexType name="StorageDeviceType">
<sequence>
<any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="Name" type="string"/>
<attribute name="Type" type="string"/>
<attribute name="TransferRate" type="int"/>
<attribute name="Size" type="int"/>
<attribute name="AvailableSpace" type="int"/>
<anyAttribute namespace="##other"/>
<!-- are these ints big enough? -->
</complexType>
which would appear to be what you want. But the existing transformer
isn't checking for those entries.
Charles
On Apr 17, 2008, at 11:21 AM, Adam Bazinet wrote:
Hi Charles,
I think you've got me on the right track, but... from those pages it
is still unclear how I'm supposed to proceed. For example, take the
Condor scheduler provider from 4.0.6 out of the box. It has the
typical <scheduler> start, followed by an <Info> block.
<scheduler xmlns="http://mds.globus.org/batchproviders/2004/09"
xmlns:ce="http://mds.globus.org/glue/ce/1.1\" >
<Info ce:LRMSType="Condor" ce:LRMSVersion="$version"
ce:GRAMVersion="4.0.6" ce:HostName="$hostname"
ce:TotalCPUs="$total_cpus" ce:FreeCPUs="$total_unclaimed"/>
That info block must correspond to this part in the schema:
General Info for the queue associated to the CE (objectclass
GlueCEInfo)
• GlueCEInfoLRMSType: name of the local batch system
• GlueCEInfoLRMSVersion: version of the local batch system
• GlueCEInfoGRAMVersion: version of GRAM
• GlueCEInfoHostName: fully qualified name of the host where the
gatekeeper runs
• GlueCEInfoGateKeeperPort: port number for the gatekeeper
• GlueCEInfoTotalCPUs: number of CPUs in the cluster associated to
the CE
• GlueCEInfoContactString: contact string for the service
• GlueCEInfoJobManager: job manager used by the gatekeeper
• GlueCEInfoApplicationDir: path of the directory for application
installation
• GlueCEInfoDataDir: path a shared the directory for application data
• GlueCEInfoDefaultSE: unique identifier of the default SE
So I get the general idea there. Then, there is a <Queue> block
like this:
<Queue name="default">
<totalnodes>$total_nodes</totalnodes>
<freenodes>$free_nodes</freenodes>
<maxtime>unknown</maxtime>
<maxCPUtime>unknown</maxCPUtime>
<maxCount>unknown</maxCount>
<totalJobs>$total_jobs</totalJobs>
<runningJobs>$running_jobs</runningJobs>
<maxReqNodes>unknown</maxReqNodes>
<maxRunningJobs>unknown</maxRunningJobs>
<maxJobsInQueue>unknown</maxJobsInQueue>
<maxTotalMemory>$max_total_memory</maxTotalMemory>
<maxSingleMemory>$max_single_memory</maxSingleMemory>
<whenActive>unknown</whenActive>
<status>enabled</status>
<dispatchType>batch</dispatchType>
</Queue>
And frankly, I had a hard time seeing where in the schema (http://www-numi.fnal.gov/offline_software/srt_public_context/GridTools/docs/glue_schema.html#GlueCEState
) these elements matched up.
So anyway, if it's difficult to see how even the existing XML
corresponds to the schema, you can see why I'm lost as to how to
properly define and associate a storage element (SE) by adding XML
to the existing scheduler providers.
Are there any kind of tutorials about this? Again, I just want to
add a couple of simple attributes about how much space is being used
in GLOBUS_SCRATCH_DIR on a per-scheduler basis. Thanks for your help!
Adam
On Mon, Apr 7, 2008 at 4:24 PM, Charles Bacon <[EMAIL PROTECTED]>
wrote:
Reading pages you link to is the new technology. There is a CE-SE
Binding section at the bottom of http://www-numi.fnal.gov/offline_software/srt_public_context/GridTools/docs/glue_schema.html#CE-SE_Binding
Charles
On Apr 7, 2008, at 3:20 PM, Charles Bacon wrote:
how one is meant to correlate the CE and SE to each other.