Mds-v.0.1: glueschema13R2.xsd

File glueschema13R2.xsd, 18.9 KB (added by stepanova, 3 years ago)
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2
3<!-- New document created with EditiX at Thu Sep 24 12:14:10 MSD 2009 -->
4
5<!-- GLUE Schema 1.3 - mapping to XML Schema                  -->
6<!-- Author: MMS (mstep@mms.nw.ru) -->
7<!-- Institution: SPbSU - Russia                                -->
8<!-- License: see LICENSE file for GridNNS Middleware            -->
9<!-- Revision number: 1 date: 22 September 2009                -->
10<xs:schema xmlns="http://ngrid.ru/glueschema/V13/R1" xmlns:xs="http://www.w3.org/2001/XMLSchema"
11        targetNamespace="http://ngrid.ru/glueschema/V13/R1" elementFormDefault="qualified">
12        <!-- simple types definition -->
13        <xs:simpleType name="UniqueIDType">
14                <xs:restriction base="xs:string"/>
15        </xs:simpleType>
16        <xs:simpleType name="LocalIDType">
17                <xs:restriction base="xs:string"/>
18        </xs:simpleType>
19        <xs:simpleType name="DirType">
20                <xs:restriction base="xs:string"/>
21        </xs:simpleType>
22        <!-- enumerations definition -->
23        <xs:simpleType name="ServiceStatusEnum">
24                <xs:restriction base="xs:string">
25                        <xs:enumeration value="OK"/>
26                        <xs:enumeration value="Warning"/>
27                        <xs:enumeration value="Critical"/>
28                        <xs:enumeration value="Unknown"/>
29                        <xs:enumeration value="Other"/>
30                </xs:restriction>
31        </xs:simpleType>
32        <xs:simpleType name="JobStatusEnum">
33                <xs:restriction base="xs:string">
34                        <xs:enumeration value="Queued"/>
35                        <xs:enumeration value="Running"/>
36                </xs:restriction>
37        </xs:simpleType>
38        <xs:simpleType name="LRMSTypeEnum">
39                <xs:restriction base="xs:string">
40                        <xs:enumeration value="PBS"/>
41                        <xs:enumeration value="Torque"/>
42                        <xs:enumeration value="SLURM"/>
43                        <xs:enumeration value="Cleo"/>
44                        <xs:enumeration value="LSF"/>
45                        <xs:enumeration value="Condor"/>
46                        <xs:enumeration value="BQS"/>
47                        <xs:enumeration value="CondorG"/>
48                        <xs:enumeration value="OpenPBS"/>
49                        <xs:enumeration value="PBSPro"/>
50                        <xs:enumeration value="SGE"/>
51                        <xs:enumeration value="Fork"/>
52                        <xs:enumeration value="other"/>
53                </xs:restriction>
54        </xs:simpleType>
55        <xs:simpleType name="LRMSTypeOpenEnum">
56                <xs:union memberTypes="LRMSTypeEnum xs:string"/>
57        </xs:simpleType>
58        <xs:simpleType name="ServiceTypeEnum">
59                <xs:restriction base="xs:string">
60                        <xs:enumeration value="VOMS"/>
61                        <xs:enumeration value="MDS_Local"/>
62                        <xs:enumeration value="MDS_Central"/>
63                        <xs:enumeration value="RegistryService"/>
64                        <xs:enumeration value="GridFTP"/>
65                        <xs:enumeration value="MyProxy"/>
66                        <xs:enumeration value="RFT"/>
67                        <xs:enumeration value="GRAM"/>
68                        <xs:enumeration value="MON"/>
69                        <xs:enumeration value="SRM"/>
70                        <xs:enumeration value="RLS"/>
71                        <xs:enumeration value="other"/>
72                </xs:restriction>
73        </xs:simpleType>
74        <xs:simpleType name="ServiceTypeOpenEnum">
75                <xs:union memberTypes="ServiceTypeEnum xs:string"/>
76        </xs:simpleType>
77        <!--complex types definition -->
78        <xs:complexType name="ACLType">
79                <xs:sequence>
80                        <xs:element name="Rule" type="xs:string" maxOccurs="unbounded"/>
81                </xs:sequence>
82        </xs:complexType>
83        <xs:complexType name="JobType">
84                <xs:sequence>
85                        <xs:element name="GlobalID" type="xs:string" minOccurs="0"/>
86                        <xs:element name="LocalOwner" type="xs:string" minOccurs="0"/>
87                        <xs:element name="GlobalOwner" type="xs:string" minOccurs="0"/>
88                        <xs:element name="Status" type="JobStatusEnum" minOccurs="0"/>
89                        <xs:element name="SchedulerSpecific" type="xs:string" minOccurs="0"/>
90                </xs:sequence>
91                <xs:attribute name="LocalID" type="LocalIDType" use="required"/>
92        </xs:complexType>
93        <xs:complexType name="OperatingSystemType">
94                <xs:attribute name="Name" type="xs:string"/>
95                <xs:attribute name="Release" type="xs:string"/>
96                <xs:attribute name="Version" type="xs:string"/>
97        </xs:complexType>
98        <xs:complexType name="ProcessorType">
99                <xs:attribute name="Vendor" type="xs:string"/>
100                <xs:attribute name="Model" type="xs:string"/>
101                <xs:attribute name="ClockSpeed" type="xs:integer"/>
102                <xs:attribute name="InstructionSet" type="xs:string"/>
103                <xs:attribute name="OtherDescription" type="xs:string"/>
104        </xs:complexType>
105        <xs:complexType name="ProcessorFullType">
106                <xs:complexContent>
107                        <xs:extension base="ProcessorType">
108                                <xs:attribute name="CacheL1" type="xs:integer"/>
109                                <xs:attribute name="CacheL1I" type="xs:integer"/>
110                                <xs:attribute name="CacheL1D" type="xs:integer"/>
111                                <xs:attribute name="CacheL2" type="xs:integer"/>
112                        </xs:extension>
113                </xs:complexContent>
114        </xs:complexType>
115        <xs:complexType name="LoadType">
116                <xs:attribute name="Last1Min" type="xs:integer"/>
117                <xs:attribute name="Last5Min" type="xs:integer"/>
118                <xs:attribute name="Last15Min" type="xs:integer"/>
119        </xs:complexType>
120        <xs:complexType name="HostArchitectureType">
121                <xs:attribute name="PlatformType" type="xs:string"/>
122                <xs:attribute name="SMPSize" type="xs:integer"/>
123        </xs:complexType>
124        <xs:complexType name="HostArchitectureFullType">
125                <xs:complexContent>
126                        <xs:extension base="HostArchitectureType">
127                                <xs:attribute name="SMTSize" type="xs:integer"/>
128                        </xs:extension>
129                </xs:complexContent>
130        </xs:complexType>
131        <xs:complexType name="MainMemoryType">
132                <xs:attribute name="RAMSize" type="xs:integer"/>
133                <xs:attribute name="VirtualSize" type="xs:integer"/>
134        </xs:complexType>
135        <xs:complexType name="MainMemoryFullType">
136                <xs:complexContent>
137                        <xs:extension base="MainMemoryType">
138                                <xs:attribute name="RAMAvailable" type="xs:integer"/>
139                                <xs:attribute name="VirtualAvailable" type="xs:integer"/>
140                        </xs:extension>
141                </xs:complexContent>
142        </xs:complexType>
143        <xs:complexType name="NetworkAdapterType">
144                <xs:attribute name="InboundIP" type="xs:boolean"/>
145                <xs:attribute name="OutboundIP" type="xs:boolean"/>
146        </xs:complexType>
147        <xs:complexType name="NetworkAdapterFullType">
148                <xs:complexContent>
149                        <xs:extension base="NetworkAdapterType">
150                                <xs:attribute name="Name" type="xs:string"/>
151                                <xs:attribute name="IPAddress" type="xs:string"/>
152                                <xs:attribute name="MTU" type="xs:integer"/>
153                        </xs:extension>
154                </xs:complexContent>
155        </xs:complexType>
156        <xs:complexType name="BenchmarkType">
157                <xs:attribute name="SI00" type="xs:integer"/>
158                <xs:attribute name="SF00" type="xs:integer"/>
159        </xs:complexType>
160        <xs:complexType name="RunTimeEnvType">
161                <xs:sequence>
162                        <xs:element name="Variable" type="xs:string" maxOccurs="unbounded"/>
163                </xs:sequence>
164        </xs:complexType>
165        <xs:complexType name="SoftwareType">
166                <xs:sequence>
167                        <xs:element name="LocalID" type="LocalIDType" minOccurs="1" maxOccurs="1" />
168                        <xs:element name="Name" type="xs:string" minOccurs="0" maxOccurs="1" />
169                        <xs:element name="Version" type="xs:string" minOccurs="0" maxOccurs="1" />
170                        <xs:element name="InstalledRoot" type="xs:string" minOccurs="0" maxOccurs="1" />
171                        <xs:element name="EnvironmentSetup" type="xs:string" minOccurs="0" maxOccurs="1" />
172                        <xs:element name="ModuleName" type="xs:string" minOccurs="0" maxOccurs="1" />
173                        <xs:element name="Data" minOccurs="0" maxOccurs="unbounded">
174                                <xs:complexType>
175                                                <xs:sequence>
176                                                        <xs:element name="Key" type="xs:string"/>
177                                                        <xs:element name="Value" type="xs:string"/>
178                                                </xs:sequence>
179                                        </xs:complexType>
180                                </xs:element>
181                </xs:sequence>
182        </xs:complexType>
183        <xs:complexType name="FileSystemType">
184                <xs:attribute name="Name" type="xs:string"/>
185                <xs:attribute name="Root" type="xs:string"/>
186                <xs:attribute name="Size" type="xs:integer"/>
187                <xs:attribute name="AvailableSpace" type="xs:integer"/>
188                <xs:attribute name="ReadOnly" type="xs:boolean"/>
189                <xs:attribute name="Type" type="xs:string"/>
190        </xs:complexType>
191        <xs:complexType name="StorageDeviceType">
192                <xs:attribute name="Name" type="xs:string"/>
193                <xs:attribute name="Type" type="xs:string"/>
194                <xs:attribute name="TransferRate" type="xs:integer"/>
195                <xs:attribute name="Size" type="xs:integer"/>
196        </xs:complexType>
197        <xs:complexType name="StoragePartitionType">
198                <xs:attribute name="Name" type="xs:string"/>
199                <xs:attribute name="Size" type="xs:string"/>
200                <xs:attribute name="RateRate" type="xs:integer"/>
201                <xs:attribute name="WriteRate" type="xs:integer"/>
202        </xs:complexType>
203        <xs:complexType name="CEVOViewType">
204                <xs:sequence>
205                        <xs:element name="ACL" type="ACLType" minOccurs="0"/>
206                        <xs:element name="Capability" type="xs:string" minOccurs="0" />
207                        <xs:element name="Info" minOccurs="0" />
208                                <xs:complexType>
209                                 <xs:sequence>
210                                        <xs:element name="TotalCPUs" type="xs:integer" minOccurs="0"/>
211                                        <xs:element name="DefaultSE" type="xs:string" minOccurs="0"/>
212                                        <xs:element name="ApplicationDir" type="xs:string" minOccurs="0"/>
213                                        <xs:element name="DataDir" type="xs:string" minOccurs="0"/>
214                                 </xs:sequence>
215                                </xs:complexType>
216                        <xs:element name="State" minOccurs="0" />
217                                <xs:complexType>
218                                <xs:sequence>
219                                        <xs:element name="RunningJobs" type="xs:integer" minOccurs="0"/>
220                                        <xs:element name="WaitingJobs" type="xs:integer" minOccurs="0"/>
221                                        <xs:element name="TotalJobs" type="xs:integer" minOccurs="0"/>
222                                        <xs:element name="FreeCPUs" type="xs:integer" minOccurs="0"/>
223                                        <xs:element name="FreeJobSlots" type="xs:integer" minOccurs="0"/>
224                                        <xs:element name="EstimatedResponseTime" type="xs:integer" minOccurs="0"/>
225                                        <xs:element name="WorstResponseTime" type="xs:integer" minOccurs="0"/>
226                                </xs:sequence>
227                                </xs:complexType>
228                         <xs:element name="Policy" minOccurs="0" />
229                         <xs:complexType>
230                                <xs:sequence>
231                                        <xs:element name="MaxWallClockTime" type="xs:integer" minOccurs="0"/>
232                                        <xs:element name="MaxObtainableWallClockTime" type="xs:integer" minOccurs="0"/>
233                                        <xs:element name="MaxCPUTime" type="xs:integer" minOccurs="0"/>
234                                        <xs:element name="MaxObtainableCPUTime" type="xs:integer" minOccurs="0"/>
235                                        <xs:element name="MaxTotalJobs" type="xs:integer" minOccurs="0"/>
236                                        <xs:element name="MaxRunningJobs" type="xs:integer" minOccurs="0"/>
237                                        <xs:element name="MaxWaitingJobs" type="xs:integer" minOccurs="0"/>
238                                        <xs:element name="Priority" type="xs:integer" minOccurs="0"/>
239                                        <xs:element name="AssignedJobSlots" type="xs:integer" minOccurs="0"/>
240                                        <xs:element name="MaxSlotsPerJob" type="xs:integer" minOccurs="0"/>
241                                        <xs:element name="Preemption" type="xs:integer" minOccurs="0"/>
242                                </xs:sequence>
243                         </xs:complexType>
244                </xs:sequence>
245                <xs:attribute name="LocalID" type="LocalIDType" use="required"/>
246        </xs:complexType>
247        <xs:complexType name="ComputingElementType">
248                <xs:sequence>
249                        <xs:element name="InformationServiceURL" type="xs:anyURI" minOccurs="0"/>
250                        <xs:element name="Name" type="xs:string" minOccurs="0"/>
251                        <xs:element name="ImplementationVersion" type="xs:string" minOccurs="0"/>
252                        <xs:element name="Capability" type="xs:string" minOccurs="0"/>
253                        <xs:element name="Info" minOccurs="0" />
254                                <xs:complexType>
255                                        <xs:sequence>
256                                        <xs:element name="LRMSType" type="LRMSTypeOpenEnum" minOccurs="0"/>
257                                        <xs:element name="LRMSVersion" type="xs:string" minOccurs="0"/>
258                                        <xs:element name="GRAMVersion" type="xs:string" minOccurs="0"/>
259                                        <xs:element name="HostName" type="xs:string" minOccurs="0"/>
260                                        <xs:element name="TotalCPUs" type="xs:integer" minOccurs="0"/>
261                                        <xs:element name="JobManager" type="xs:string" minOccurs="0"/>
262                                        <xs:element name="GateKeeperPort" type="xs:integer" minOccurs="0"/>
263                                        <xs:element name="ContactString" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
264                                        <xs:element name="ApplicationDir" type="DirType" minOccurs="0"/>
265                                        <xs:element name="DataDir" type="DirType" minOccurs="0"/>
266                                        <xs:element name="DefaultSE" type="xs:string" minOccurs="0"/>
267                                        </xs:sequence>
268                                </xs:complexType>
269                         <xs:element name="State" minOccurs="0" />
270                                 <xs:complexType>
271                                 <xs:sequence>
272                                        <xs:element name="Status" type="CEStatusEnum" minOccurs="0"/>
273                                        <xs:element name="RunningJobs" type="xs:integer" minOccurs="0"/>
274                                        <xs:element name="WaitingJobs" type="xs:integer" minOccurs="0"/>
275                                        <xs:element name="TotalJobs" type="xs:integer" minOccurs="0"/>
276                                        <xs:element name="EstimatedResponseTime" type="xs:integer" minOccurs="0"/>
277                                        <xs:element name="WorstResponseTime" type="xs:integer" minOccurs="0"/>
278                                        <xs:element name="FreeJobSlots" type="xs:integer" minOccurs="0"/>
279                                        <xs:element name="FreeCPUs" type="xs:integer" minOccurs="0"/>
280                                 </xs:sequence>
281                         </xs:complexType>
282                         <xs:element name="Policy" minOccurs="0" />
283                                <xs:complexType>
284                                <xs:sequence>
285                                        <xs:element name="MaxWallClockTime" type="xs:integer" minOccurs="0"/>
286                                        <xs:element name="MaxObtainableWallClockTime" type="xs:integer" minOccurs="0"/>
287                                        <xs:element name="MaxCPUTime" type="xs:integer" minOccurs="0"/>
288                                        <xs:element name="MaxObtainableCPUTime" type="xs:integer" minOccurs="0"/>
289                                        <xs:element name="MaxTotalJobs" type="xs:integer" minOccurs="0"/>
290                                        <xs:element name="MaxRunningJobs" type="xs:integer" minOccurs="0"/>
291                                        <xs:element name="MaxWaitingJobs" type="xs:integer" minOccurs="0"/>
292                                        <xs:element name="Priority" type="xs:integer" minOccurs="0"/>
293                                        <xs:element name="AssignedJobSlots" type="xs:integer" minOccurs="0"/>
294                                        <xs:element name="MaxSlotsPerJob" type="xs:integer" minOccurs="0"/>
295                                        <xs:element name="Preemption" type="xs:integer" minOccurs="0"/>
296                                </xs:sequence>
297                         </xs:complexType>
298                        <xs:element name="ACL" type="ACLType" minOccurs="0"/>
299                        <xs:element name="Job" type="JobType" minOccurs="0" maxOccurs="unbounded"/>
300                        <xs:element name="VOView" type="CEVOViewType" minOccurs="0" maxOccurs="unbounded"/>
301                </xs:sequence>
302                <xs:attribute name="UniqueID" type="UniqueIDType" use="required"/>
303        </xs:complexType>
304        <xs:complexType name="SubClusterType">
305                <xs:sequence>
306                        <xs:element name="Name" type="xs:string" minOccurs="0"/>
307                        <xs:element name="PhysicalCPUs" type="xs:integer" minOccurs="0"/>
308                        <xs:element name="LogicalCPUs" type="xs:integer" minOccurs="0"/>
309                        <xs:element name="TmpDir" type="DirType" minOccurs="0"/>
310                        <xs:element name="WNTmpDir" type="DirType" minOccurs="0"/>
311                        <xs:element name="Software" type="SoftwareType" minOccurs="0" />
312                        <xs:element name="Host" type="HostType" minOccurs="0" maxOccurs="unbounded" />
313                </xs:sequence>
314                <xs:attribute name="UniqueID" type="UniqueIDType" use="required"/>
315        </xs:complexType>
316        <xs:complexType name="Service2ServiceType">
317                <xs:attribute name="Service1UniqueID" type="UniqueIDType" use="required"/>
318                <xs:attribute name="Service2UniqueID" type="UniqueIDType" use="required"/>
319        </xs:complexType>
320        <xs:complexType name="ClusterType">
321                 <xs:sequence>
322                          <xs:element name="Name" type="xs:string" minOccurs="0"/>
323                          <xs:element name="TmpDir" type="DirType" minOccurs="0"/>
324                          <xs:element name="WNTmpDir" type="DirType" minOccurs="0"/>
325                          <xs:element name="ComputingElement" type="ComputingElementType" maxOccurs="unbounded"/>
326                          <xs:element name="SubCluster" type="SubClusterType" maxOccurs="unbounded"/>
327                </xs:sequence>
328                <xs:attribute name="UniqueID" type="UniqueIDType" use="required"/>
329         </xs:complexType>
330        <xs:complexType name="ServiceType">
331                        <xs:sequence>
332                                <xs:element name="Name" type="xs:string" minOccurs="0"/>
333                                <xs:element name="Type" type="ServiceTypeOpenEnum" minOccurs="0"/>
334                                <xs:element name="Version" type="xs:string" minOccurs="0"/>
335                                <xs:element name="Endpoint" type="xs:anyURI" minOccurs="0"/>
336                                <xs:element name="Status" type="ServiceStatusEnum" minOccurs="0"/>
337                                <xs:element name="StatusInfo" type="xs:string" minOccurs="0"/>
338                                <xs:element name="WSDL" type="xs:anyURI" minOccurs="0"/>
339                                <xs:element name="Semantics" type="xs:anyURI" minOccurs="0"/>
340                                <xs:element name="StartTime" type="xs:dateTime" minOccurs="0"/>
341                                <xs:element name="Owner" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
342                                <xs:element name="Data" minOccurs="0" maxOccurs="unbounded">
343                                        <xs:complexType>
344                                                <xs:sequence>
345                                                        <xs:element name="Key" type="xs:string"/>
346                                                        <xs:element name="Value" type="xs:string"/>
347                                                </xs:sequence>
348                                        </xs:complexType>
349                                </xs:element>
350                        </xs:sequence>
351                        <xs:attribute name="UniqueID" type="UniqueIDType" use="required"/>
352        </xs:complexType>
353        <xs:complexType name="HostType">
354                        <xs:sequence>
355                                <xs:element name="Name" type="xs:string" minOccurs="0"/>
356                                <xs:element name="UpTime" type="xs:integer" minOccurs="0"/>
357                                <xs:element name="Architecture" type="HostArchitectureFullType" minOccurs="0"/>
358                                <xs:element name="MainMemory" type="MainMemoryFullType" minOccurs="0"/>
359                                <xs:element name="OperatingSystem" type="OperatingSystemType" minOccurs="0"/>
360                                <xs:element name="Processor" type="ProcessorFullType" minOccurs="0"/>
361                                <xs:element name="Load" type="LoadType" minOccurs="0"/>
362                                <xs:element name="NetworkAdapter" type="NetworkAdapterFullType" minOccurs="0" maxOccurs="unbounded"/>
363                                <xs:element name="Benchmark" type="BenchmarkType" minOccurs="0"/>
364                                <xs:element name="RunTimeEnv" type="RunTimeEnvType" minOccurs="0"/>
365                                <xs:element name="StorageDevice" type="StorageDeviceType" minOccurs="0" maxOccurs="unbounded"/>
366                                <xs:element name="StoragePartition" type="StoragePartitionType" minOccurs="0" maxOccurs="unbounded"/>
367                                <xs:element name="LocalFileSystem" type="FileSystemType" minOccurs="0" maxOccurs="unbounded"/>
368                                <xs:element name="RemoteFileSystem" type="FileSystemType" minOccurs="0" maxOccurs="unbounded"/>
369                        </xs:sequence>
370                        <xs:attribute name="UniqueID" type="UniqueIDType" use="required"/>
371        </xs:complexType>
372        <xs:complexType name="SiteType">
373                        <xs:sequence>
374                                <xs:element name="Name" type="xs:string" minOccurs="0"/>
375                                <xs:element name="Description" type="xs:string" minOccurs="0"/>
376                                <xs:element name="EmailContact" type="xs:string" minOccurs="0"/>
377                                <xs:element name="UserSupportContact" type="xs:string" minOccurs="0"/>
378                                <xs:element name="SysAdminContact" type="xs:string" minOccurs="0"/>
379                                <xs:element name="SecurityContact" type="xs:string" minOccurs="0"/>
380                                <xs:element name="Location" type="xs:string" minOccurs="0"/>
381                                <xs:element name="Latitude" type="xs:double" minOccurs="0"/>
382                                <xs:element name="Longitude" type="xs:double" minOccurs="0"/>
383                                <xs:element name="Web" type="xs:anyURI" minOccurs="0"/>
384                                <xs:element name="OtherInfo" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
385                                <xs:element name="Cluster" type="ClusterType" minOccurs="0" maxOccurs="unbounded"/>
386                                <xs:element name="Service" type="ServiceType" minOccurs="0" maxOccurs="unbounded"/>
387                        </xs:sequence>
388                        <xs:attribute name="UniqueID" type="UniqueIDType" use="required"/>
389        </xs:complexType>
390
391        <!-- complex elements definition -->
392        <xs:element name="Site" type="SiteType" />
393        <xs:element name="Cluster" type="ClusterType" />
394        <xs:element name="Service" type="ServiceType" />
395        <xs:element name="Host" type="HostType">
396                <xs:key name="FileSystemNameKey">
397                        <!-- the file system  name is unique within an host -->
398                        <xs:selector xpath=".//LocalFileSystem | .//RemoteFileSystem"/>
399                        <xs:field xpath="@Name"/>
400                </xs:key>
401                <xs:key name="NetworkAdapterNameKey">
402                        <!-- the file system  name is unique within an host -->
403                        <xs:selector xpath=".//NetworkAdapter"/>
404                        <xs:field xpath="@Name"/>
405                </xs:key>
406        </xs:element>
407</xs:schema>
408