[Swift-commit] r7943 - trunk/resources
hategan at ci.uchicago.edu
hategan at ci.uchicago.edu
Fri Jul 4 01:11:00 CDT 2014
Author: hategan
Date: 2014-07-04 01:10:58 -0500 (Fri, 04 Jul 2014)
New Revision: 7943
Modified:
trunk/resources/swift-sites-2.0.xsd
Log:
updated swift sites schema with the new sites spec
Modified: trunk/resources/swift-sites-2.0.xsd
===================================================================
--- trunk/resources/swift-sites-2.0.xsd 2014-07-04 06:10:06 UTC (rev 7942)
+++ trunk/resources/swift-sites-2.0.xsd 2014-07-04 06:10:58 UTC (rev 7943)
@@ -5,27 +5,6 @@
targetNamespace="http://www.ci.uchicago.edu/swift/SwiftSites"
elementFormDefault="qualified"
attributeFormDefault="unqualified" version="1.5">
- <xs:simpleType name="ProfileNamespace">
- <xs:annotation>
- <xs:documentation>defines the legal namespaces of execution profiles.</xs:documentation>
- </xs:annotation>
- <xs:restriction base="xs:NMTOKEN">
- <xs:enumeration value="vds"/>
- <xs:enumeration value="swift"/>
- <xs:enumeration value="env"/>
- <xs:enumeration value="hints"/>
- <xs:enumeration value="globus"/>
- <xs:enumeration value="karajan"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:attributeGroup name="GlobusVersionInfo">
- <xs:annotation>
- <xs:documentation>A set of attributes to define a Globus version.</xs:documentation>
- </xs:annotation>
- <xs:attribute name="major" type="xs:positiveInteger" use="required"/>
- <xs:attribute name="minor" type="xs:nonNegativeInteger" use="required"/>
- <xs:attribute name="patch" type="xs:nonNegati
veInteger" use="optional"/>
- </xs:attributeGroup>
<xs:simpleType name="OSType">
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="INTEL32::LINUX"/>
@@ -49,60 +28,29 @@
</xs:annotation>
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
- <xs:element ref="profile" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element ref="env" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="property" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="workdirectory" minOccurs="0" maxOccurs="1"/>
<xs:element ref="scratch" minOccurs="0" maxOccurs="1"/>
<xs:element ref="execution" minOccurs="0" maxOccurs="1"/>
<xs:element ref="filesystem" minOccurs="0" maxOccurs="1"/>
- <xs:element ref="application" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="apps" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="sysinfo" type="OSType" use="optional" default="INTEL32::LINUX"/>
</xs:complexType>
</xs:element>
+ <xs:element ref="app" minOccurs="0" maxOccurs="unbounde
d"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="config">
+ <xs:element name="property">
<xs:annotation>
- <xs:documentation>root element aggregating all sites information there is.</xs:documentation>
+ <xs:documentation>A name value pair representing a custom property</xs:documentation>
</xs:annotation>
<xs:complexType>
- <xs:sequence maxOccurs="unbounded">
- <xs:element name="pool" minOccurs="0" maxOccurs="unbounded">
- <xs:annotation>
- <xs:documentation>Describes a single site.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence maxOccurs="unbounded">
- <xs:element ref="profile" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element ref="env" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element ref="workdirectory" minOccurs="0" maxOccurs="1"/>
- <xs:element ref="scratch" minOccurs="0" maxOccurs="1"/>
- <xs:element ref="execution" minOccurs="0" maxOccurs="
1"/>
- <xs:element ref="filesystem" minOccurs="0" maxOccurs="1"/>
- <xs:element ref="gridftp" minOccurs="0" maxOccurs="1"/>
- <xs:element ref="jobmanager" minOccurs="0" maxOccurs="1"/>
- </xs:sequence>
- <xs:attribute name="handle" type="xs:ID" use="required"/>
- <xs:attribute name="sysinfo" type="xs:string" use="optional" default="INTEL32::LINUX"/>
-
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- <xs:attribute name="version" type="xs:decimal" use="optional" default="1.0"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="profile">
- <xs:annotation>
- <xs:documentation>Administrative profile defaults associated with a pool.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
- <xs:attribute name="namespace" type="ProfileNamespace" use="required"/>
- <xs:attribute name="key" type="xs:string" use="required"/>
+ <xs:attribute name="
name" type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
@@ -123,7 +71,7 @@
<xs:element name="scratch">
<xs:annotation>
- <xs:documentation>TODO</xs:documentation>
+ <xs:documentation>A scratch directory. If specified, applications will run in this directory on compute nodes</xs:documentation>
</xs:annotation>
</xs:element>
@@ -132,6 +80,9 @@
<xs:documentation>Describes the mechanism used to submit jobs to the pool</xs:documentation>
</xs:annotation>
<xs:complexType>
+ <xs:sequence>
+ <xs:element ref="property" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
<xs:attribute name="provider" type="xs:string" use="required"/>
<xs:attribute name="jobManager" type="xs:string" use="optional"/>
<xs:attribute name="jobmanager" type="xs:string" use="optional"/>
@@ -144,97 +95,48 @@
<xs:documentation>Describes the mechanism used to interact with the filesystem on the given pool</xs:documentation>
</xs:annotation>
<xs:complexType>
+ <xs:sequence>
+ <xs:element ref="property" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
<xs:attribute name="provider" type="xs:string" use="required"/>
<xs:attribute name="url" type="xs:string" use="optional" default="localhost"/>
</xs:complexType>
</xs:element>
- <xs:element name="gridftp">
+ <xs:element name="env">
<xs:annotation>
- <xs:documentation>Each pool may have multiple gridftp servers.</xs:documentation>
+ <xs:documentation>Allows specifying an environment variable that all applications on this site will see</xs:documentation>
</xs:annotation>
<xs:complexType>
- <xs:sequence>
- <xs:element name="bandwidth" minOccurs="0" maxOccurs="unbounded">
- <xs:annotation>
- <xs:documentation>Stores the bandwidth informaion related to each gridftp server.</xs:
documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:attribute name="dest-subnet" type="xs:string" use="required"/>
- <xs:attribute name="avg-bandwidth" type="xs:float" use="required"/>
- <xs:attribute name="max-bandwidth" type="xs:float" use="required"/>
- <xs:attribute name="min-bandwidth" type="xs:float" use="required"/>
- <xs:attribute name="avg-bandwidth-range1" type="xs:float" use="optional"/>
- <xs:attribute name="avg-bandwidth-range2" type="xs:float" use="optional"/>
- <xs:attribute name="avg-bandwidth-range3" type="xs:float" use="optional"/>
- <xs:attribute name="avg-bandwidth-range4" type="xs:float" use="optional"/>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- <xs:attribute name="url" type="xs:anyURI" use="required">
- <xs:annotation>
- <xs:documentation>The URL (actually, it may be more a URI, but hey, so what) is the access URL to the gridftp server. Each pool may have multiple grid
ftp servers, or run multiple versions of Globus on different ports.</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="storage" type="xs:string" use="optional" default="/">
- <xs:annotation>
- <xs:documentation>This element is the storage mount point prefix. Of course, this may get turned over into other things, augmented by user and system requirements etc. I believe that default works quite well for default Globus setups. </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attributeGroup ref="GlobusVersionInfo"/>
- <xs:attribute name="total-size" type="xs:decimal" use="optional"/>
- <xs:attribute name="free-size" type="xs:decimal" use="optional"/>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
</xs:complexType>
</xs:element>
- <xs:element name="jobmanager">
+
+ <xs:element name="apps
">
<xs:annotation>
- <xs:documentation>Each pool supports various (usually two) jobmanagers.</xs:documentation>
+ <xs:documentation>Specifies the set of applications defined on a site</xs:documentation>
</xs:annotation>
<xs:complexType>
- <xs:attribute name="universe" type="xs:token" use="required">
- <xs:annotation>
- <xs:documentation>The universe name is actually the primary key for the jobmanager identification.</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="url" type="xs:string" use="required">
- <xs:annotation>
- <xs:documentation>The contact string is the secondary key for any job manager.</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attributeGroup ref="GlobusVersionInfo">
- <xs:annotation>
- <xs:documentation>Any pool may have multiple versions of Globus installed, and these versions may have multiple jobmanagers listening on different ports.</xs:documentation>
- </xs
:annotation>
- </xs:attributeGroup>
- <xs:attribute name="free-mem" type="xs:string" use="optional"/>
- <xs:attribute name="total-mem" type="xs:string" use="optional"/>
- <xs:attribute name="max-count" type="xs:string" use="optional"/>
- <xs:attribute name="max-cpu-time" type="xs:string" use="optional"/>
- <xs:attribute name="running-jobs" type="xs:nonNegativeInteger" use="optional"/>
- <xs:attribute name="jobs-in-queue" type="xs:nonNegativeInteger" use="optional"/>
- <xs:attribute name="idle-nodes" type="xs:nonNegativeInteger" use="optional"/>
- <xs:attribute name="total-nodes" type="xs:nonNegativeInteger" use="optional"/>
- <xs:attribute name="os" type="xs:string" use="optional"/>
- <xs:attribute name="arch" type="xs:string" use="optional"/>
- <xs:attribute name="type" type="xs:string" use="optional"/>
- <xs:attribute name="subnet" type="xs:string" use="optional"/>
+ <xs:sequence maxOccurs="unbounded">
+ <xs:element ref="property" minOccurs="
0" maxOccurs="unbounded"/>
+ <xs:element ref="env" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="app" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="env">
+
+ <xs:element name="app">
<xs:annotation>
- <xs:documentation>Allows specifying an environment variable that all applications on this site will see</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:attribute name="key" type="xs:string" use="required"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="application">
- <xs:annotation>
<xs:documentation>Specifies the details of an application installed on a site</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
- <xs:element ref="profile" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="property" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="env" minOccurs="0" maxOccurs="unbounded"
/>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="executable" type="xs:string" use="required"/>
More information about the Swift-commit
mailing list