You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by la...@apache.org on 2014/03/11 20:41:05 UTC
[1/3] Adding glue2 schema and add more changes - AIRAVATA-1023
Repository: airavata
Updated Branches:
refs/heads/master 703a92be6 -> c00025f49
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/schema/ApplicationEnvironment.json
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/schema/ApplicationEnvironment.json b/modules/airavata-job-monitor/src/main/resources/schema/ApplicationEnvironment.json
new file mode 100644
index 0000000..89c78e0
--- /dev/null
+++ b/modules/airavata-job-monitor/src/main/resources/schema/ApplicationEnvironment.json
@@ -0,0 +1,86 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/ApplicationEnvironment.json",
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Entity.json"}],
+ "properties": {
+ "AppName": {
+ "type": "string",
+ "description": "The name of the application"
+ },
+ "AppVersion": {
+ "type": "string",
+ "description": "The version of the application"
+ },
+ "State": {
+ "type": "string",
+ "description": "The current installation state of the application - AppEnvState_t"
+ },
+ "RemovalDate": {
+ "type": "string",
+ "description": "The date/time after which the application may be removed - DateTime_t"
+ },
+ "License": {
+ "type": "string",
+ "description": "The license under which the application is usable - License_t"
+ },
+ "Description": {
+ "type": "string",
+ "description": "A human-readable description of the application"
+ },
+ "BestBenchmark": {
+ "type": "array",
+ "description": "The type(s) of the benchmarks which best describe the sensitivity of this application to the performance of the ExecutionEnvironment - Benchmark_t",
+ "items": {
+ "type": "string"
+ }
+ },
+ "ParallelSupport": {
+ "type": "string",
+ "description": "The type of supported parallel execution - ParallelSupport_t"
+ },
+ "MaxSlots": {
+ "type": "integer",
+ "description": "The maximum number of concurrent slots that may be used to run the application"
+ },
+ "MaxJobs": {
+ "type": "integer",
+ "description": "The maximum number of concurrent jobs that can run the application"
+ },
+ "MaxUserSeats": {
+ "type": "integer",
+ "description": "The maximum number of concurrent users that can run the application"
+ },
+ "FreeSlots": {
+ "type": "integer",
+ "description": "The maximum number slots currently available to run the application"
+ },
+ "FreeJobs": {
+ "type": "integer",
+ "description": "The maximum number of additional jobs that can run the application"
+ },
+ "FreeUserSeats": {
+ "type": "integer",
+ "description": "The maximum number of additional users that can run the application"
+ },
+ "ExecutionEnvironmentID": {
+ "type": "array",
+ "description": "ID(s) of ExecutionEnvironments where this ApplicationEnvironment can be used",
+ "items": {
+ "type": "string"
+ }
+ },
+ "ComputingManagerID": {
+ "type": "string",
+ "description": "ID of the ComputingManager this ApplicationEnvironment is associated with"
+ },
+ "ApplicationHandleID": {
+ "type": "array",
+ "description": "ID(s) of the ApplicationHandles that can be used to refer to this environment",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": ["AppName","ComputingManagerID"]
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/schema/ApplicationHandle.json
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/schema/ApplicationHandle.json b/modules/airavata-job-monitor/src/main/resources/schema/ApplicationHandle.json
new file mode 100644
index 0000000..e7972e9
--- /dev/null
+++ b/modules/airavata-job-monitor/src/main/resources/schema/ApplicationHandle.json
@@ -0,0 +1,21 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/ApplicationHandle.json",
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Entity.json"}],
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The type of method used to set up an ApplicationEnvironment - ApplicationHandle_t (open enumeration)"
+ },
+ "Value": {
+ "type": "string",
+ "description": "How to set up the ApplicationEnvironment in the context of the Type"
+ },
+ "ApplicationEnvironmentID": {
+ "type": "string",
+ "description": "The ID of the ApplicationEnvironment this ApplicationHandle refers to"
+ }
+ },
+ "required": ["Type","Value","ApplicationEnvironmentID"]
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/schema/Benchmark.json
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/schema/Benchmark.json b/modules/airavata-job-monitor/src/main/resources/schema/Benchmark.json
new file mode 100644
index 0000000..2b64261
--- /dev/null
+++ b/modules/airavata-job-monitor/src/main/resources/schema/Benchmark.json
@@ -0,0 +1,21 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Benchmark.json",
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Entity.json"}],
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The type of the benchmark - Benchmark_t (open enumeration)"
+ },
+ "Value": {
+ "type": "number",
+ "description": "The value of the benchmark"
+ },
+ "ComputingManagerID": {
+ "type": "string",
+ "description": "The ID of the ComputingManager this benchmark is for"
+ }
+ },
+ "required": ["Type","Value"]
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/schema/ComputingActivity.json
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/schema/ComputingActivity.json b/modules/airavata-job-monitor/src/main/resources/schema/ComputingActivity.json
new file mode 100644
index 0000000..5fcae72
--- /dev/null
+++ b/modules/airavata-job-monitor/src/main/resources/schema/ComputingActivity.json
@@ -0,0 +1,165 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/ComputingActivity.json",
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Activity.json"}],
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "closed enumeration ComputingActivityType_t",
+ "enum": ["collectionelement","parallelelement","single","workflownode"]
+ },
+ "IDFromEndpoint": {
+ "type": "string",
+ "description": "The ID assigned by the ComputingEndpoint"
+ },
+ "LocalIDFromManager": {
+ "type": "string",
+ "description": "The local ID assigned by the ComputingManager"
+ },
+ "State": {
+ "type": "array",
+ "description": "open enumeration ComputingActivityState_t",
+ "items": {
+ "type": "string"
+ },
+ "minItems": 1
+ },
+ "RestartState": {
+ "type": "array",
+ "description": "open enumeration ComputingActivityState_t",
+ "items": {
+ "type": "string"
+ }
+ },
+ "ExitCode": {
+ "type": "integer",
+ "description": "The exit code as returned by the main executable code or script of the job"
+ },
+ "ComputingManagerExitCode": {
+ "type": "string",
+ "description": "The exit code provided by the ComputingManager"
+ },
+ "Error": {
+ "type": "array",
+ "description": "The error messages as provided by the software components involved in the management of the job",
+ "items": {
+ "type": "string"
+ }
+ },
+ "WaitingPosition": {
+ "type": "integer",
+ "description": "The position of the job in the queue, if the job is waiting"
+ },
+ "Owner": {
+ "type": "string",
+ "description": "The Grid identity of the job's owner"
+ },
+ "LocalOwner": {
+ "type": "string",
+ "description": "The local user name of the job's owner"
+ },
+ "RequestedTotalWallTime": {
+ "type": "integer",
+ "description": "The total wall clock time requested by the job"
+ },
+ "RequestedTotalCPUTime": {
+ "type": "integer",
+ "description": "The total CPU time requested by the job"
+ },
+ "RequestedSlots": {
+ "type": "integer",
+ "description": "The number of slots requested for the job"
+ },
+ "RequestedApplicationEnvironment": {
+ "type": "array",
+ "description": "The AppName and Version of the requested ApplicationEnvironments",
+ "items": {
+ "type": "string"
+ }
+ },
+ "StdIn": {
+ "type": "string",
+ "description": "The name of the file used for standard input"
+ },
+ "StdOut": {
+ "type": "string",
+ "description": "The name of the file used for standard output"
+ },
+ "StdErr": {
+ "type": "string",
+ "description": "The name of the file used for standard error"
+ },
+ "LogDir": {
+ "type": "string",
+ "description": "The name of the directory which contains job logs"
+ },
+ "ExecutionNode": {
+ "type": "array",
+ "description": "Hostnames associated with the ExecutionEnvironments running the job",
+ "items": {
+ "type": "string"
+ }
+ },
+ "Queue": {
+ "type": "string",
+ "description": "The name of the ComputingManager queue that held the job before execution"
+ },
+ "UsedTotalWallTime": {
+ "type": "integer",
+ "description": "The total wall clock time consumed by the job so far (slots*seconds)"
+ },
+ "UsedTotalCpuTime": {
+ "type": "integer",
+ "description": "The total CPU time consumed by the job so far (seconds)"
+ },
+ "UsedMainMemory": {
+ "type": "integer",
+ "description": "The physical RAM currently used by the job (MB)"
+ },
+ "SubmissionTime": {
+ "type": "string",
+ "description": "The time when the job was submitted to the ComputingEndpoint (DateTime_t)"
+ },
+ "ComputingManagerSubmissionTime": {
+ "type": "string",
+ "description": "The time when the job was submitted to the ComputingManager (DateTime_t)"
+ },
+ "StartTime": {
+ "type": "string",
+ "description": "The time when the ComputingManager started the job (DateTime_t)"
+ },
+ "EndTime": {
+ "type": "string",
+ "description": "The time when the job ended in the Grid layer (DateTime_t)"
+ },
+ "ComputingManagerEndTime": {
+ "type": "string",
+ "description": "The time when the job ended according to the ComputingManager (DateTime_t)"
+ },
+ "WorkingAreaEraseTime": {
+ "type": "string",
+ "description": "The time when working area will be removed from storage (DateTime_t)"
+ },
+ "ProxyExpirationTime": {
+ "type": "string",
+ "description": "The expiration time of the Grid proxy associated with the job (DateTime_t)"
+ },
+ "SubmissionHost": {
+ "type": "string",
+ "description": "The name of the host from which the job was submitted"
+ },
+ "SubmissionClientName": {
+ "type": "string",
+ "description": "The name of the software client used to submit the job"
+ },
+ "OtherMessages": {
+ "type": "array",
+ "description": "Optional messages provided by either the Grid layer or the ComputingManager",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": ["State","Owner"]
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/schema/ComputingEndpoint.json
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/schema/ComputingEndpoint.json b/modules/airavata-job-monitor/src/main/resources/schema/ComputingEndpoint.json
new file mode 100644
index 0000000..f94f889
--- /dev/null
+++ b/modules/airavata-job-monitor/src/main/resources/schema/ComputingEndpoint.json
@@ -0,0 +1,44 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/ComputingEndpoint.json",
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Endpoint.json"}],
+ "properties": {
+ "Staging": {
+ "type": "string",
+ "description": "Supported file staging functionality - Staging_t",
+ "enum": ["none","stagingin","staginginout","stagingout"]
+ },
+ "JobDescription": {
+ "type": "array",
+ "description": "Supported job description languages - JobDescription_t (open Enumeration)",
+ "items": {
+ "type": "string"
+ }
+ },
+ "TotalJobs": {
+ "type": "integer",
+ "description": "The total number of Grid jobs known to the system"
+ },
+ "RunningJobs": {
+ "type": "integer",
+ "description": "The number of Grid jobs which are running in an ExecutionEnvironment"
+ },
+ "WaitingJobs": {
+ "type": "integer",
+ "description": "The number of Grid jobs which are waiting to start executing"
+ },
+ "StagingJobs": {
+ "type": "integer",
+ "description": "The number of Grid jobs staging files before or after execution"
+ },
+ "SuspendedJobs": {
+ "type": "integer",
+ "description": "The number of Grid jobs that started to execute, but are now suspended"
+ },
+ "PreLRMSWaitingJobs": {
+ "type": "integer",
+ "description": "The number of Grid jobs managed by the Grid software, but not yet passed to the LRMS"
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/schema/ComputingManager.json
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/schema/ComputingManager.json b/modules/airavata-job-monitor/src/main/resources/schema/ComputingManager.json
new file mode 100644
index 0000000..aecb114
--- /dev/null
+++ b/modules/airavata-job-monitor/src/main/resources/schema/ComputingManager.json
@@ -0,0 +1,117 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/ComputingManager.json",
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Share.json"}],
+ "properties": {
+ "Reservation": {
+ "type": "boolean",
+ "description": "Whether advance reservation is supported (no value implies undefined in ExtendedBoolean_t)"
+ },
+ "BulkSubmission": {
+ "type": "boolean",
+ "description": "Whether multiple jobs can be submitted at once (no value implies undefined in ExtendedBoolean_t)"
+ },
+ "TotalPhysicalCPUs": {
+ "type": "integer",
+ "description": "The total number of physical CPUs managed by this ComputingManager"
+ },
+ "TotalLogicalCPUs": {
+ "type": "integer",
+ "description": "The total number of logical CPUs managed by this ComputingManager"
+ },
+ "TotalSlots": {
+ "type": "integer",
+ "description": "The total number of slots managed by this ComputingManager"
+ },
+ "SlotsUsedByLocalJobs": {
+ "type": "integer",
+ "description": "The number of slots currently used by jobs submitted via a non-Grid interface"
+ },
+ "SlotsUsedByGridJobs": {
+ "type": "integer",
+ "description": "The number of slots currently used by jobs submitted via a non-Grid interface"
+ },
+ "Homogeneous": {
+ "type": "boolean",
+ "description": "Whether this ComputingManager manages only one type of ExecutionEnvironment"
+ },
+ "NetworkInfo": {
+ "type": "array",
+ "description": "The types of internal network connections between ExecutionEnvironments (NetworkInfo_t)",
+ "items": {
+ "type": "string"
+ }
+ },
+ "LocalCPUDistribution": {
+ "type": "boolean",
+ "description": "Classification of the managed ExecutionEnvironments aggregated by the number of logical CPUs"
+ },
+ "WorkingAreaShared": {
+ "type": "boolean",
+ "description": "True if the working area is shared across different ExecutionEnvironments"
+ },
+ "WorkingAreaGuaranteed": {
+ "type": "boolean",
+ "description": "True if the job is guaranteed all of WorkingAreaTotal"
+ },
+ "WorkingAreaTotal": {
+ "type": "integer",
+ "description": "Total size of the working area available to single slot jobs (GB)"
+ },
+ "WorkingAreaFree": {
+ "type": "integer",
+ "description": "The amount of free space in the working area (GB)"
+ },
+ "WorkingAreaLifeTime": {
+ "type": "integer",
+ "description": "The minimum guaranteed lifetime of files created in the working area (seconds)"
+ },
+ "WorkingAreaMultiSlotTotal": {
+ "type": "integer",
+ "description": "The total size of the working area across all ExecutionEnvironments (GB)"
+ },
+ "WorkingAreaMultiSlotFree": {
+ "type": "integer",
+ "description": "The available space in the working area across all ExecutionEnvironments (GB)"
+ },
+ "WorkingAreaMultiSlotLifeTime": {
+ "type": "integer",
+ "description": "The minimum guaranteed lifetime of files created in the working area (seconds)"
+ },
+ "CacheTotal": {
+ "type": "integer",
+ "description": "If local caching of input files is supported, the total size of the area they may be stored in"
+ },
+ "CacheFree": {
+ "type": "integer",
+ "description": "If local caching of input files is supported, the available size of the area they may be stored in"
+ },
+ "TmpDir": {
+ "type": "string",
+ "description": "The absolute path of a temporary directory local to an ExecutionEnvironment"
+ },
+ "ScratchDir": {
+ "type": "string",
+ "description": "The absolute path of a shared directory available for application data"
+ },
+ "ApplicationDir": {
+ "type": "string",
+ "description": "The absolute path of a directory available for installation of persistent application software"
+ },
+ "ApplicationEnvironmentID": {
+ "type": "array",
+ "description": "ID(s) of ApplicationEnvironments provided by this ComputingManager",
+ "items": {
+ "type": "string"
+ }
+ },
+ "BenchmarkID": {
+ "type": "array",
+ "description": "ID(s) of Benchmarks associated with this ComputingManager",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/schema/ComputingService.json
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/schema/ComputingService.json b/modules/airavata-job-monitor/src/main/resources/schema/ComputingService.json
new file mode 100644
index 0000000..9cfde1b
--- /dev/null
+++ b/modules/airavata-job-monitor/src/main/resources/schema/ComputingService.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/ComputingService.json",
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Service.json"}],
+ "properties": {
+ "TotalJobs": {
+ "type": "integer",
+ "description": "The total number of Grid jobs known to the system"
+ },
+ "RunningJobs": {
+ "type": "integer",
+ "description": "The number of Grid jobs which are running in an ExecutionEnvironment"
+ },
+ "WaitingJobs": {
+ "type": "integer",
+ "description": "The number of Grid jobs which are waiting to start executing"
+ },
+ "StagingJobs": {
+ "type": "integer",
+ "description": "The number of Grid jobs staging files before or after execution"
+ },
+ "SuspendedJobs": {
+ "type": "integer",
+ "description": "The number of Grid jobs that started to execute, but are now suspended"
+ },
+ "PreLRMSWaitingJobs": {
+ "type": "integer",
+ "description": "The number of Grid jobs managed by the Grid software, but not yet passed to the LRMS"
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/schema/ComputingShare.json
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/schema/ComputingShare.json b/modules/airavata-job-monitor/src/main/resources/schema/ComputingShare.json
new file mode 100644
index 0000000..340c83e
--- /dev/null
+++ b/modules/airavata-job-monitor/src/main/resources/schema/ComputingShare.json
@@ -0,0 +1,182 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/ComputingShare.json",
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Share.json"}],
+ "properties": {
+ "MappingQueue": {
+ "type": "string",
+ "description": "The name of the queue in the LRMS where jobs in this share are submitted"
+ },
+ "MaxWallTime": {
+ "type": "integer",
+ "description": "The maximum wall clock time that a single-slot job can run (seconds)"
+ },
+ "MaxMultiSlotWallTime": {
+ "type": "integer",
+ "description": "The maximum wall clock time that a multi-slot job can run (seconds)"
+ },
+ "DefaultWallTime": {
+ "type": "integer",
+ "description": "The default wall clock per slot assumed by the LRMS if a maximum time is not specified (seconds)"
+ },
+ "MaxCPUTime": {
+ "type": "integer",
+ "description": "The maximum pre-slot CPU time that a job can request (seconds)"
+ },
+ "MaxTotalCPUTime": {
+ "type": "integer",
+ "description": "The maximum amount of CPU time that a job can request across all slots assigned to it (seconds)"
+ },
+ "MinCPUTime": {
+ "type": "integer",
+ "description": "The minimum pre-slot CPU time that a job can request (seconds)"
+ },
+ "DefaultCPUTime": {
+ "type": "integer",
+ "description": "The default CPU time limit assumed by the LRMS if a maximum time is not specified (seconds)"
+ },
+ "MaxTotalJobs": {
+ "type": "integer",
+ "description": "The maximum number of jobs that can be in this Share"
+ },
+ "MaxRunningJobs": {
+ "type": "integer",
+ "description": "The maximum number of jobs that can be running in this Share"
+ },
+ "MaxWaitingJobs": {
+ "type": "integer",
+ "description": "The maximum number of jobs that can be waiting in this Share"
+ },
+ "MaxPreLRMSWaitingJobs": {
+ "type": "integer",
+ "description": "The maximum number of jobs that can be waiting in the Grid layer for this Share"
+ },
+ "MaxUserRunningJobs": {
+ "type": "integer",
+ "description": "The maximum number of jobs that can be running in this Share per user"
+ },
+ "MaxSlotsPerJob": {
+ "type": "integer",
+ "description": "The maximum number of slots that can be allocated to a single job in this Share"
+ },
+ "MaxStageInStreams": {
+ "type": "integer",
+ "description": "The maximum number of streams available to stage files in"
+ },
+ "MaxStageOutStreams": {
+ "type": "integer",
+ "description": "The maximum number of streams available to stage files out"
+ },
+ "ScheduingPolicy": {
+ "type": "string",
+ "description": "The scheduling policy used by the share - SchedulingPolicy_t (open enumeration)"
+ },
+ "MaxMainMemory": {
+ "type": "integer",
+ "description": "The maximum amount of physical RAM that a job can use (MB)"
+ },
+ "GuaranteedMainMemory": {
+ "type": "integer",
+ "description": "The amount of physical RAM that a job will have available (MB)"
+ },
+ "MaxVirtualMemory": {
+ "type": "integer",
+ "description": "The maximum amount memory (RAM+swap) that a job can use (MB)"
+ },
+ "GuaranteedVirtualMemory": {
+ "type": "integer",
+ "description": "The amount of memory (RAM+swap) that a job will have available (MB)"
+ },
+ "MaxDiskSpace": {
+ "type": "integer",
+ "description": "The maximum disk space that a job can use in the working area (GB)"
+ },
+ "DefaultStorageServiceID": {
+ "type": "string",
+ "description": "The ID of the default StorageService used to store files"
+ },
+ "Preemption": {
+ "type": "boolean",
+ "description": "Whether jobs can be preempted and resumed (no value implies undefined in ExtendedBoolean_t)"
+ },
+ "ServingState": {
+ "type": "string",
+ "description": "How the Share is currently serving jobs",
+ "enum": ["closed","draining","production","queueing"]
+ },
+ "TotalJobs": {
+ "type": "integer",
+ "description": "The total number of jobs in any state"
+ },
+ "RunningJobs": {
+ "type": "integer",
+ "description": "The number of running jobs submitted through Grid or non-Grid interfaces"
+ },
+ "LocalRunningJobs": {
+ "type": "integer",
+ "description": "The number of running jobs submitted using non-Grid interfaces"
+ },
+ "WaitingJobs": {
+ "type": "integer",
+ "description": "The number of waiting jobs submitted through Grid or non-Grid interfaces"
+ },
+ "LocalWaitingJobs": {
+ "type": "integer",
+ "description": "The number of waiting jobs submitted using non-Grid interfaces"
+ },
+ "SuspendedJobs": {
+ "type": "integer",
+ "description": "The number of suspended jobs submitted through Grid or non-Grid interfaces"
+ },
+ "LocalSuspendedJobs": {
+ "type": "integer",
+ "description": "The number of suspended jobs submitted using non-Grid interfaces"
+ },
+ "StagingJobs": {
+ "type": "integer",
+ "description": "The number of jobs staging files before or after execution"
+ },
+ "PreLRMSWaitingJobs": {
+ "type": "integer",
+ "description": "The number of Grid jobs which have not yet been passed to the LRMS"
+ },
+ "EstimatedAverageWaitingTime": {
+ "type": "integer",
+ "description": "An estimate of the average time a job will wait before it starts to execute (seconds)"
+ },
+ "EstimatedWorstWaitingTime": {
+ "type": "integer",
+ "description": "An estimate of the worst-case time a job will wait before it starts to execute (seconds)"
+ },
+ "FreeSlots": {
+ "type": "integer",
+ "description": "The number of slots which are currently available for use"
+ },
+ "FreeSlotsWithDuration": {
+ "type": "string",
+ "description": "The number of slots which are currently available for use and how long they are available"
+ },
+ "UsedSlots": {
+ "type": "integer",
+ "description": "The number of slots currently in use"
+ },
+ "RequestedSlots": {
+ "type": "integer",
+ "description": "The number of slots needd to execute all waiting and staging jobs"
+ },
+ "ReservationPolicy": {
+ "type": "string",
+ "description": "The policy used for advance reservation - ReservationPolicy_t",
+ "enum": ["mandatory","none","optional"]
+ },
+ "Tag": {
+ "type": "array",
+ "description": "UserDomain-defined tags for this Share",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": ["ServingState"]
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/schema/Contact.json
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/schema/Contact.json b/modules/airavata-job-monitor/src/main/resources/schema/Contact.json
new file mode 100644
index 0000000..436b262
--- /dev/null
+++ b/modules/airavata-job-monitor/src/main/resources/schema/Contact.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Contact.json",
+ "description": "A GLUE 2 Contact",
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Entity.json"}],
+ "properties": {
+ "Detail": {
+ "type": "string",
+ "description": "A URI embedding the contact information"
+ },
+ "Type": {
+ "type": "string",
+ "description": "closed enumeration ContactType_t",
+ "enum": ["general","security","sysadmin","usersupport"]
+ },
+ "ServiceID": {
+ "type": "array",
+ "description": "The IDs of Services associated with this Contact",
+ "items": {
+ "type": "string"
+ }
+ },
+ "DomainID": {
+ "type": "array",
+ "description": "The IDs of Domains associated with this Contact",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/schema/DataStore.json
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/schema/DataStore.json b/modules/airavata-job-monitor/src/main/resources/schema/DataStore.json
new file mode 100644
index 0000000..8f15447
--- /dev/null
+++ b/modules/airavata-job-monitor/src/main/resources/schema/DataStore.json
@@ -0,0 +1,30 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/DataStore.json",
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Resource.json"}],
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The type of storage medium - DataStoreType_t (disk,optical,tape,...)"
+ },
+ "Latency": {
+ "type": "string",
+ "description": "The latency category under normal operating conditions - AccessLatency_t",
+ "enum": ["nearline","offline","online"]
+ },
+ "TotalSize": {
+ "type": "integer",
+ "description": "The total amount of storage (GB)"
+ },
+ "FreeSize": {
+ "type": "integer",
+ "description": "The amount of available storage (GB)"
+ },
+ "UsedSize": {
+ "type": "integer",
+ "description": "The amount of used storage (GB)"
+ }
+ },
+ "required": ["Type","Latency"]
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/schema/Domain.json
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/schema/Domain.json b/modules/airavata-job-monitor/src/main/resources/schema/Domain.json
new file mode 100644
index 0000000..5bd996b
--- /dev/null
+++ b/modules/airavata-job-monitor/src/main/resources/schema/Domain.json
@@ -0,0 +1,30 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Domain.json",
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Entity.json"}],
+ "properties": {
+ "Description": {
+ "type": "string",
+ "description": "A description of the Domain"
+ },
+ "WWW": {
+ "type": "array",
+ "description": "URLs of web pages with more information about the Domain",
+ "items": {
+ "type": "string"
+ }
+ },
+ "ContactID": {
+ "type": "array",
+ "description": "IDs of Contacts for this Domain",
+ "items": {
+ "type": "string"
+ }
+ },
+ "LocationID": {
+ "type": "string",
+ "description": "The ID of the primary Location for this Domain"
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/schema/Endpoint.json
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/schema/Endpoint.json b/modules/airavata-job-monitor/src/main/resources/schema/Endpoint.json
new file mode 100644
index 0000000..b75b02a
--- /dev/null
+++ b/modules/airavata-job-monitor/src/main/resources/schema/Endpoint.json
@@ -0,0 +1,147 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Endpoint.json",
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Entity.json"}],
+ "properties": {
+ "URL": {
+ "type": "string",
+ "description": "Network location of the endpoint"
+ },
+ "Capability": {
+ "type": "array",
+ "description": "Capability_t (open enumeration)",
+ "items": {
+ "type": "string"
+ }
+ },
+ "Technology": {
+ "type": "string",
+ "description": "EndpointTechnology_t"
+ },
+ "InterfaceName": {
+ "type": "string",
+ "description": "InterfaceName_t"
+ },
+ "InterfaceVersion": {
+ "type": "string",
+ "description": "The version of the primary interface protocol (free format)"
+ },
+ "InterfaceExtension": {
+ "type": "array",
+ "description": "URIs identifying supported extensions to the interface protocol",
+ "items": {
+ "type": "string"
+ }
+ },
+ "WSDL": {
+ "type": "array",
+ "description": "URLs of WSDL document(s) describing the interface",
+ "items": {
+ "type": "string"
+ }
+ },
+ "SupportedProfile": {
+ "type": "array",
+ "description": "URI(s) identifying supported profiles for the Endpoint",
+ "items": {
+ "type": "string"
+ }
+ },
+ "Semantics": {
+ "type": "array",
+ "description": "URL(s) of documents providing human-readable descriptions of the semantics of the Endpoint",
+ "items": {
+ "type": "string"
+ }
+ },
+ "Implementor": {
+ "type": "string",
+ "description": "The name of the main organization implementing the Endpoint"
+ },
+ "ImplementationName": {
+ "type": "string",
+ "description": "The name of the implementation of the Endpoint"
+ },
+ "ImplementationVersion": {
+ "type": "string",
+ "description": "The version of the implementation of the Endpoint"
+ },
+ "QualityLevel": {
+ "type": "string",
+ "description": "QualityLevel_t",
+ "enum": ["development","pre-production","production","testing"]
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "The operational status of the Endpoint",
+ "enum": ["critical","ok","other","unknown","warning"]
+ },
+ "HealthStateInfo": {
+ "type": "string",
+ "description": "A human-readable explanation of the HealthState of this Endpoint"
+ },
+ "ServingState": {
+ "type": "string",
+ "description": "If the endpoint is accepting and serving requests",
+ "enum": ["closed","draining","production","queueing"]
+ },
+ "StartTime": {
+ "type": "string",
+ "description": "The start time of the Service associated with this Endpoint (DateTime_t)"
+ },
+ "IssuerCA": {
+ "type": "string",
+ "description": "The DN of the CA issuing the certificate presented by this Endpoint"
+ },
+ "TrustedCA": {
+ "type": "array",
+ "description": "DN(s) of CAs trusted by this Endpoint",
+ "items": {
+ "type": "string"
+ }
+ },
+ "DowntimeAnnounce": {
+ "type": "string",
+ "description": "When the next scheduled downtime was announced (DateTime_t)"
+ },
+ "DowntimeStart": {
+ "type": "string",
+ "description": "When the next scheduled downtime will start (DateTime_t)"
+ },
+ "DowntimeEnd": {
+ "type": "string",
+ "description": "When the next scheduled downtime will end (DateTime_t)"
+ },
+ "DowntimeInfo": {
+ "type": "string",
+ "description": "Human-readable of the next scheduled downtime"
+ },
+ "ServiceID": {
+ "type": "string",
+ "description": "The ID of the Service associated with this Endpoint"
+ },
+ "ShareID": {
+ "type": "array",
+ "description": "The IDs of the Shares accessible from this Endpoint",
+ "items": {
+ "type": "string"
+ }
+ },
+ "AccessPolicyID": {
+ "type": "array",
+ "description": "IDs of AccessPolicies associated with this Endpoint",
+ "items": {
+ "type": "string"
+ }
+ },
+ "ActivityID": {
+ "type": "array",
+ "description": "IDs of Activities being managed through this Endpoint",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": ["InterfaceName","QualityLevel","HealthState","ServingState","ServiceID"]
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/schema/Entity.json
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/schema/Entity.json b/modules/airavata-job-monitor/src/main/resources/schema/Entity.json
new file mode 100644
index 0000000..5d1ae46
--- /dev/null
+++ b/modules/airavata-job-monitor/src/main/resources/schema/Entity.json
@@ -0,0 +1,35 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Entity.json",
+ "type": "object",
+ "properties": {
+ "CreationTime": {
+ "type": "string",
+ "description": "The creation time of this entity in the format: CCYY-MM-DDThh:mm:ss[Z|(+|-)hh:mm]"
+ },
+ "Validity": {
+ "type": "integer",
+ "description": "The number of seconds after CreationTime that this entity should be considered relevant"
+ },
+ "ID": {
+ "type": "string",
+ "description": "A globally unique identifier for this entity"
+ },
+ "Name": {
+ "type": "string",
+ "description": "A human-readable name"
+ },
+ "OtherInfo": {
+ "type": "array",
+ "description": "Placeholder for information that does not fit in any other attribute",
+ "items": {
+ "type": "string"
+ }
+ },
+ "Extension": {
+ "type": "object",
+ "description": "Key/value pairs enabling the association of extra information not captured by the model"
+ }
+ },
+ "required": ["ID"]
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/schema/ExecutionEnvironment.json
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/schema/ExecutionEnvironment.json b/modules/airavata-job-monitor/src/main/resources/schema/ExecutionEnvironment.json
new file mode 100644
index 0000000..77bf876
--- /dev/null
+++ b/modules/airavata-job-monitor/src/main/resources/schema/ExecutionEnvironment.json
@@ -0,0 +1,115 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/ExecutionEnvironment.json",
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Resource.json"}],
+ "properties": {
+ "Platform": {
+ "type": "string",
+ "description": "The platform architecture - Platform_t (open enumeration)"
+ },
+ "VirtualMachine": {
+ "type": "boolean",
+ "description": "True if the ExecutionEnvironment is a virtual machine"
+ },
+ "TotalInstances": {
+ "type": "integer",
+ "description": "The total number of ExecutionEnvironment instances"
+ },
+ "UsedInstances": {
+ "type": "integer",
+ "description": "The number of ExecutionEnvironment instances in use"
+ },
+ "UnavailableInstances": {
+ "type": "integer",
+ "description": "The number of ExecutionEnvironment instances that are unavailable"
+ },
+ "PhysicalCPUs": {
+ "type": "integer",
+ "description": "The number of physical CPUs in one ExecutionEnvironment instance"
+ },
+ "LogicalCPUs": {
+ "type": "integer",
+ "description": "The number of logical CPUs in one ExecutionEnvironment instance"
+ },
+ "CPUMultiplicity": {
+ "type": "string",
+ "description": "Information about the CPUs and cores in an execution environment",
+ "enum": ["multicpu-multicore","multicpu-singlecore","singlecpu-multicore","singlecpu-singlecore"]
+ },
+ "CPUVendor": {
+ "type": "string",
+ "description": "The name of the manufacturer of the CPU"
+ },
+ "CPUModel": {
+ "type": "string",
+ "description": "The model of the CPU, as defined by the vendor"
+ },
+ "CPUVersion": {
+ "type": "string",
+ "description": "The specific version name of the CPU, as defined by the vendor"
+ },
+ "CPUClockSpeed": {
+ "type": "integer",
+ "description": "The clock speed of the CPU (MHz)"
+ },
+ "CPUTimeScalingFactor": {
+ "type": "float",
+ "description": "The factor used by the ComputingManager to scale the CPU time limit"
+ },
+ "WallTimeScalingFactor": {
+ "type": "float",
+ "description": "The factor used by the ComputingManager to scale the wallclock time limit"
+ },
+ "MainMemorySize": {
+ "type": "integer",
+ "description": "The total amount of physical RAM in one ExecutionEnvironment instance (MB)"
+ },
+ "VirtualMemorySize": {
+ "type": "integer",
+ "description": "The total amount of virtual memory (RAM+swap) in one ExecutionEnvironment instance (MB)"
+ },
+ "OSFamily": {
+ "type": "string",
+ "description": "The general family of the operating system - OSFamily_t (open enumeration)"
+ },
+ "OSName": {
+ "type": "string",
+ "description": "The specific name of the operating system - OSName_t (open enumeration)"
+ },
+ "OSVersion": {
+ "type": "string",
+ "description": "The version of the operating system, as defined by the vendor"
+ },
+ "ConnectivityIn": {
+ "type": "boolean",
+ "description": "True if direct inbound network connectiity is available to a running job"
+ },
+ "ConnectivityOut": {
+ "type": "boolean",
+ "description": "True if direct outbound network connectiity is available to a running job"
+ },
+ "NetworkInfo": {
+ "type": "array",
+ "description": "The types of internal network connections between ExecutionEnvironments - NetworkInfo_t (open enumeration)",
+ "items": {
+ "type": "string"
+ }
+ },
+ "ApplicationEnvironmentID": {
+ "type": "array",
+ "description": "ID(s) of ApplicationEnvironments available in this ExecutionEnvironment",
+ "items": {
+ "type": "string"
+ }
+ },
+ "BenchmarkID": {
+ "type": "array",
+ "description": "ID(s) of Benchmarks associated with this ExecutionEnvironment",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": ["Platform","MainMemorySize","OSFamily","ConnectivityIn","ConnectivityOut"]
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/schema/Glue2.json
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/schema/Glue2.json b/modules/airavata-job-monitor/src/main/resources/schema/Glue2.json
new file mode 100644
index 0000000..bb80505
--- /dev/null
+++ b/modules/airavata-job-monitor/src/main/resources/schema/Glue2.json
@@ -0,0 +1,246 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Glue2.json",
+ "description": "A GLUE 2 document",
+ "type": "object",
+ "properties": {
+ "Entity": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Entity.json"}]
+ }
+ },
+ "Location": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Location.json"}]
+ }
+ },
+ "Contact": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Contact.json"}]
+ }
+ },
+ "Domain": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Domain.json"}]
+ }
+ },
+ "AdminDomain": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/AdminDomain.json"}]
+ }
+ },
+ "UserDomain": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/UserDomain.json"}]
+ }
+ },
+ "Service": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Service.json"}]
+ }
+ },
+ "Endpoint": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Endpoint.json"}]
+ }
+ },
+ "Share": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Share.json"}]
+ }
+ },
+ "Manager": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Manager.json"}]
+ }
+ },
+ "Resource": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Resource.json"}]
+ }
+ },
+ "Activity": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Activity.json"}]
+ }
+ },
+ "Policy": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Policy.json"}]
+ }
+ },
+ "AccessPolicy": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/AccessPolicy.json"}]
+ }
+ },
+ "MappingPolicy": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/MappingPolicy.json"}]
+ }
+ },
+ "ComputingService": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/ComputingService.json"}]
+ }
+ },
+ "ComputingEndpoint": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/ComputingEndpoint.json"}]
+ }
+ },
+ "ComputingShare": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/ComputingShare.json"}]
+ }
+ },
+ "ComputingManager": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/ComputingManager.json"}]
+ }
+ },
+ "Benchmark": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Benchmark.json"}]
+ }
+ },
+ "ExecutionEnvironment": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/ExecutionEnvironment.json"}]
+ }
+ },
+ "ApplicationEnvironment": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/ApplicationEnvironment.json"}]
+ }
+ },
+ "ApplicationHandle": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/ApplicationHandle.json"}]
+ }
+ },
+ "ComputingActivity": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/ComputingActivity.json"}]
+ }
+ },
+ "ToStorageService": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/ToStorageService.json"}]
+ }
+ },
+ "StorageService": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/StorageService.json"}]
+ }
+ },
+ "StorageServiceCapacity": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/StorageServiceCapacity.json"}]
+ }
+ },
+ "StorageAccessProtocol": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/StorageAccessProtocol.json"}]
+ }
+ },
+ "StorageEndpoint": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/StorageEndpoint.json"}]
+ }
+ },
+ "StorageShare": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/StorageShare.json"}]
+ }
+ },
+ "StorageShareCapacity": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/StorageShareCapacity.json"}]
+ }
+ },
+ "StorageManager": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/StorageManager.json"}]
+ }
+ },
+ "DataStore": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/DataStore.json"}]
+ }
+ },
+ "ToComputingService": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/ToComputingService.json"}]
+ }
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/schema/Location.json
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/schema/Location.json b/modules/airavata-job-monitor/src/main/resources/schema/Location.json
new file mode 100644
index 0000000..8491cc0
--- /dev/null
+++ b/modules/airavata-job-monitor/src/main/resources/schema/Location.json
@@ -0,0 +1,47 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Location.json",
+ "description": "A GLUE 2 Location",
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Entity.json"}],
+ "properties": {
+ "Address": {
+ "type": "string",
+ "description": "A free format street address"
+ },
+ "Place": {
+ "type": "string",
+ "description": "Name of town/city"
+ },
+ "Country": {
+ "type": "string",
+ "description": "Name of country"
+ },
+ "PostalCode": {
+ "type": "string",
+ "description": "Postal code"
+ },
+ "Latitude": {
+ "type": "number",
+ "description": "Position north (positive) or south (negative) of the equator in degrees"
+ },
+ "Longitude": {
+ "type": "number",
+ "description": "Position east (positive) or west (negative) of the primary meridian in degrees"
+ },
+ "ServiceID": {
+ "type": "array",
+ "description": "The IDs of Services at this location",
+ "items": {
+ "type": "string"
+ }
+ },
+ "DomainID": {
+ "type": "array",
+ "description": "The IDs of Domains at this location",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/schema/Manager.json
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/schema/Manager.json b/modules/airavata-job-monitor/src/main/resources/schema/Manager.json
new file mode 100644
index 0000000..d1df50a
--- /dev/null
+++ b/modules/airavata-job-monitor/src/main/resources/schema/Manager.json
@@ -0,0 +1,28 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Manager.json",
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Entity.json"}],
+ "properties": {
+ "ProductName": {
+ "type": "string",
+ "description": "The name of the software product which implements the Manager"
+ },
+ "ProductVersion": {
+ "type": "string",
+ "description": "The version of the software product which implements the Manager"
+ },
+ "ServiceID": {
+ "type": "string",
+ "description": "The ID of the Service this Share participates in"
+ },
+ "ResourceID": {
+ "type": "array",
+ "description": "ID(s) of Resources associated with this Share",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": ["ProductName","ServiceID","ResourceID"]
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/schema/MappingPolicy.json
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/schema/MappingPolicy.json b/modules/airavata-job-monitor/src/main/resources/schema/MappingPolicy.json
new file mode 100644
index 0000000..268844d
--- /dev/null
+++ b/modules/airavata-job-monitor/src/main/resources/schema/MappingPolicy.json
@@ -0,0 +1,13 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/MappingPolicy.json",
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Policy.json"}],
+ "properties": {
+ "ShareID": {
+ "type": "string",
+ "description": "The ID of the Share this MappingPolicy is for"
+ }
+ },
+ "required": ["ShareID"]
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/schema/Policy.json
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/schema/Policy.json b/modules/airavata-job-monitor/src/main/resources/schema/Policy.json
new file mode 100644
index 0000000..f936699
--- /dev/null
+++ b/modules/airavata-job-monitor/src/main/resources/schema/Policy.json
@@ -0,0 +1,27 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Policy.json",
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Entity.json"}],
+ "properties": {
+ "Scheme": {
+ "type": "string",
+ "description": "PolicyScheme_t (open enumeration)"
+ },
+ "Rule": {
+ "type": "array",
+ "description": "Policy rules",
+ "items": {
+ "type": "string"
+ }
+ },
+ "UserDomainID": {
+ "type": "array",
+ "description": "The ID(s) of the UserDomains this Policy applies to",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": ["Scheme","Rule","UserDomainID"]
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/schema/Resource.json
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/schema/Resource.json b/modules/airavata-job-monitor/src/main/resources/schema/Resource.json
new file mode 100644
index 0000000..88d08ad
--- /dev/null
+++ b/modules/airavata-job-monitor/src/main/resources/schema/Resource.json
@@ -0,0 +1,27 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Resource.json",
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Entity.json"}],
+ "properties": {
+ "ManagerID": {
+ "type": "string",
+ "description": "The ID of the Manager for this Resource"
+ },
+ "ShareID": {
+ "type": "array",
+ "description": "The ID(s) of the Shares this Resource is part of",
+ "items": {
+ "type": "string"
+ }
+ },
+ "ActivityID": {
+ "type": "array",
+ "description": "The ID(s) of Activities consuming from this Share",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": ["ManagerID"]
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/schema/Service.json
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/schema/Service.json b/modules/airavata-job-monitor/src/main/resources/schema/Service.json
new file mode 100644
index 0000000..4662407
--- /dev/null
+++ b/modules/airavata-job-monitor/src/main/resources/schema/Service.json
@@ -0,0 +1,75 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Service.json",
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Entity.json"}],
+ "properties": {
+ "Capability": {
+ "type": "array",
+ "description": "Capability_t (open enumeration)",
+ "items": {
+ "type": "string"
+ }
+ },
+ "Type": {
+ "type": "string",
+ "description": "ServiceType_t (open enumeration)"
+ },
+ "QualityLevel": {
+ "type": "string",
+ "description": "QualityLevel_t",
+ "enum": ["development","pre-production","production","testing"]
+ },
+ "StatusInfo": {
+ "type": "array",
+ "description": "URLs of web pages providing additional information",
+ "items": {
+ "type": "string"
+ }
+ },
+ "Complexity": {
+ "type": "string",
+ "description": "A human-readable description of the number of endpoint types, shares, and resources"
+ },
+ "EndpointID": {
+ "type": "array",
+ "description": "The IDs of Endpoints for this Service",
+ "items": {
+ "type": "string"
+ }
+ },
+ "ShareID": {
+ "type": "array",
+ "description": "The IDs of the Shares offered by this Service",
+ "items": {
+ "type": "string"
+ }
+ },
+ "ManagerID": {
+ "type": "array",
+ "description": "The IDs of the Managers of this Service",
+ "items": {
+ "type": "string"
+ }
+ },
+ "ContactID": {
+ "type": "array",
+ "description": "The IDs of Contacts for this Service",
+ "items": {
+ "type": "string"
+ }
+ },
+ "LocationID": {
+ "type": "string",
+ "description": "The ID of the primary Location of this Service"
+ },
+ "ServiceID": {
+ "type": "array",
+ "description": "The IDs of Services related to this Service",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": ["Type","QualityLevel"]
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/schema/Share.json
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/schema/Share.json b/modules/airavata-job-monitor/src/main/resources/schema/Share.json
new file mode 100644
index 0000000..258fc1b
--- /dev/null
+++ b/modules/airavata-job-monitor/src/main/resources/schema/Share.json
@@ -0,0 +1,45 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Share.json",
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Entity.json"}],
+ "properties": {
+ "Description": {
+ "type": "string",
+ "description": "A human-readable description of the Share"
+ },
+ "EndpointID": {
+ "type": "array",
+ "description": "The ID(s) of the Endpoints that can be used to access this Share",
+ "items": {
+ "type": "string"
+ }
+ },
+ "ResourceID": {
+ "type": "array",
+ "description": "The ID(s) of the Resources associated with this Share",
+ "items": {
+ "type": "string"
+ }
+ },
+ "ServiceID": {
+ "type": "string",
+ "description": "The ID of the Service this Share participates in"
+ },
+ "ActivityID": {
+ "type": "array",
+ "description": "The ID(s) of Activities consuming from this Share",
+ "items": {
+ "type": "string"
+ }
+ },
+ "MappingPolicyID": {
+ "type": "array",
+ "description": "ID(s) of MappingPolicies associated with this Share",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": ["ServiceID"]
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/schema/StorageAccessProtocol.json
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/schema/StorageAccessProtocol.json b/modules/airavata-job-monitor/src/main/resources/schema/StorageAccessProtocol.json
new file mode 100644
index 0000000..05a830b
--- /dev/null
+++ b/modules/airavata-job-monitor/src/main/resources/schema/StorageAccessProtocol.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/StorageAccessProtocol.json",
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Entity.json"}],
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The type of the protocol - StorageAccessProtocol_t"
+ },
+ "Version": {
+ "type": "string",
+ "description": "The version of the protocol supported"
+ },
+ "MaxStreams": {
+ "type": "integer",
+ "description": "The maximum number of parallel network streams which can be usef for a single transfer"
+ },
+ "StorageServiceID": {
+ "type": "string",
+ "description": "The ID of the StorageService this protocol is available for"
+ },
+ "ToComputingServiceID": {
+ "type": "array",
+ "description": "The ID(s) ToComputingService objects that describe connectivity to ComputingServices",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": ["Type","Version","StorageServiceID"]
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/schema/StorageEndpoint.json
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/schema/StorageEndpoint.json b/modules/airavata-job-monitor/src/main/resources/schema/StorageEndpoint.json
new file mode 100644
index 0000000..38b27c4
--- /dev/null
+++ b/modules/airavata-job-monitor/src/main/resources/schema/StorageEndpoint.json
@@ -0,0 +1,8 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/StorageEndpoint.json",
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Endpoint.json"}],
+ "properties": {
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/schema/StorageManager.json
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/schema/StorageManager.json b/modules/airavata-job-monitor/src/main/resources/schema/StorageManager.json
new file mode 100644
index 0000000..f3984f6
--- /dev/null
+++ b/modules/airavata-job-monitor/src/main/resources/schema/StorageManager.json
@@ -0,0 +1,8 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/StorageManager.json",
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Share.json"}],
+ "properties": {
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/schema/StorageService.json
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/schema/StorageService.json b/modules/airavata-job-monitor/src/main/resources/schema/StorageService.json
new file mode 100644
index 0000000..a03d111
--- /dev/null
+++ b/modules/airavata-job-monitor/src/main/resources/schema/StorageService.json
@@ -0,0 +1,22 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/StorageService.json",
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Service.json"}],
+ "properties": {
+ "StorageAccessProtocolID": {
+ "type": "array",
+ "description": "The ID(s) of the StorageAccessProtocols supported by this service",
+ "items": {
+ "type": "string"
+ }
+ },
+ "StorageServiceCapacityID": {
+ "type": "array",
+ "description": "The ID(s) of the StorageServiceCapacities for this Service",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/schema/StorageServiceCapacity.json
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/schema/StorageServiceCapacity.json b/modules/airavata-job-monitor/src/main/resources/schema/StorageServiceCapacity.json
new file mode 100644
index 0000000..a25c204
--- /dev/null
+++ b/modules/airavata-job-monitor/src/main/resources/schema/StorageServiceCapacity.json
@@ -0,0 +1,33 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/StorageServiceCapacity.json",
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Entity.json"}],
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The type of storage capacity - StorageCapacity_t"
+ },
+ "TotalSize": {
+ "type": "integer",
+ "description": "The total amount of storage of this type (GB)"
+ },
+ "FreeSize": {
+ "type": "integer",
+ "description": "The amount of currently available storage of this type (GB)"
+ },
+ "UsedSize": {
+ "type": "integer",
+ "description": "The amount storage of this type in use (GB)"
+ },
+ "ReservedSize": {
+ "type": "integer",
+ "description": "The amount storage of this type which is not in use, but has been reserved for use in use (GB)"
+ },
+ "StorageServiceID": {
+ "type": "string",
+ "description": "The ID of the StorageService this capacity describes"
+ }
+ },
+ "required": ["Type","StorageServiceID"]
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/schema/StorageShare.json
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/schema/StorageShare.json b/modules/airavata-job-monitor/src/main/resources/schema/StorageShare.json
new file mode 100644
index 0000000..9703118
--- /dev/null
+++ b/modules/airavata-job-monitor/src/main/resources/schema/StorageShare.json
@@ -0,0 +1,65 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/StorageShare.json",
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Share.json"}],
+ "properties": {
+ "ServingState": {
+ "type": "string",
+ "description": "How the Share is currently serving jobs",
+ "enum": ["closed","draining","production","queueing"]
+ },
+ "Path": {
+ "type": "string",
+ "description": "A default namespace where files are logically placed when they are stored in this Share"
+ },
+ "AccessMode": {
+ "type": "array",
+ "description": "The type of access allowed for this share - AccessMode_t (undefined)",
+ "items": {
+ "type": "string"
+ }
+ },
+ "SharingID": {
+ "type": "string",
+ "description": "A local identifier common to the set of StorageShares which use the same underling extents"
+ },
+ "AccessLatency": {
+ "type": "string",
+ "description": "The maximum latency category under normal operating conditions",
+ "enum": ["nearline","offline","online"]
+ },
+ "RetentionPolicy": {
+ "type": "string",
+ "description": "The quality of data retention - RetentionPolicy_t"
+ },
+ "ExpirationMode": {
+ "type": "array",
+ "description": "Supported file lifetime modes",
+ "items": {
+ "type": "string",
+ "enum": ["neverexpire","releasewhenexpired","warnwhenexpired"]
+ }
+ },
+ "DefaultLifeTime": {
+ "type": "integer",
+ "description": "The default lifetime assigned to a new file"
+ },
+ "MaximumLifeTime": {
+ "type": "integer",
+ "description": "The maximum lifetime that can be requested for a file"
+ },
+ "Tag": {
+ "type": "string",
+ "description": "An identifier defined by a UserDomain"
+ },
+ "StorageShareCapacityID": {
+ "type": "array",
+ "description": "ID of the StorageShareCapacities associated with this share",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": ["ServingState","SharingID","AccessLatency"]
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/schema/StorageShareCapacity.json
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/schema/StorageShareCapacity.json b/modules/airavata-job-monitor/src/main/resources/schema/StorageShareCapacity.json
new file mode 100644
index 0000000..f392c94
--- /dev/null
+++ b/modules/airavata-job-monitor/src/main/resources/schema/StorageShareCapacity.json
@@ -0,0 +1,33 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/StorageShareCapacity.json",
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Entity.json"}],
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The type of storage capacity - StorageCapacity_t"
+ },
+ "TotalSize": {
+ "type": "integer",
+ "description": "The total amount of storage (GB)"
+ },
+ "FreeSize": {
+ "type": "integer",
+ "description": "The amount of available storage (GB)"
+ },
+ "UsedSize": {
+ "type": "integer",
+ "description": "The amount of used storage (GB)"
+ },
+ "ReservedSize": {
+ "type": "integer",
+ "description": "The amount storage which is not occupied, but has been reserved for use (GB)"
+ },
+ "StorageShareID": {
+ "type": "string",
+ "description": "The ID of the StorageShare related to this capacity"
+ }
+ },
+ "required": ["Type","StorageShareID"]
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/schema/ToComputingService.json
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/schema/ToComputingService.json b/modules/airavata-job-monitor/src/main/resources/schema/ToComputingService.json
new file mode 100644
index 0000000..6d81b80
--- /dev/null
+++ b/modules/airavata-job-monitor/src/main/resources/schema/ToComputingService.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/ToComputingService.json",
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Entity.json"}],
+ "properties": {
+ "NetworkInfo": {
+ "type": "string",
+ "description": "Type of network connections between the Storage and Computing services (NetworkInfo_t)"
+ },
+ "Bandwidth": {
+ "type": "integer",
+ "description": "The normal bandwidth available between the Storage and Computing services (Mb/s)"
+ },
+ "StorageAccessProtocolID": {
+ "type": "array",
+ "description": "IDs of the protocols that can be used to access the StorageService",
+ "items": {
+ "type": "string"
+ }
+ },
+ "ComputingServiceID": {
+ "type": "string",
+ "description": "The ID of the ComputingService"
+ },
+ "StorageServiceID": {
+ "type": "string",
+ "description": "The ID of the StorageService"
+ }
+ },
+ "required": ["ComputingServiceID","StorageServiceID"]
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/schema/ToStorageService.json
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/schema/ToStorageService.json b/modules/airavata-job-monitor/src/main/resources/schema/ToStorageService.json
new file mode 100644
index 0000000..644f3d1
--- /dev/null
+++ b/modules/airavata-job-monitor/src/main/resources/schema/ToStorageService.json
@@ -0,0 +1,25 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/ToStorageService.json",
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Entity.json"}],
+ "properties": {
+ "LocalPath": {
+ "type": "string",
+ "description": "The path within the ComputingService that is used to access the StorageService"
+ },
+ "RemotePath": {
+ "type": "string",
+ "description": "The path in the StorageService which is associated with the LocalPath"
+ },
+ "ComputingServiceID": {
+ "type": "string",
+ "description": "The ID of the ComputingService"
+ },
+ "StorageServiceID": {
+ "type": "string",
+ "description": "The ID of the StorageService"
+ }
+ },
+ "required": ["LocalPath","RemotePath","ComputingServiceID","StorageServiceID"]
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/schema/UserDomain.json
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/schema/UserDomain.json b/modules/airavata-job-monitor/src/main/resources/schema/UserDomain.json
new file mode 100644
index 0000000..7acda31
--- /dev/null
+++ b/modules/airavata-job-monitor/src/main/resources/schema/UserDomain.json
@@ -0,0 +1,58 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/UserDomain.json",
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Domain.json"}],
+ "properties": {
+ "Level": {
+ "type": "integer",
+ "description": "the number of hops to reach the root of the hierarchy of UserDomains"
+ },
+ "UserManagerID": {
+ "type": "array",
+ "description": "ID for the Endpoint of a Service managing users in this UserDomain",
+ "items": {
+ "type": "string"
+ }
+ },
+ "Member": {
+ "type": "array",
+ "description": "Identifiers for users in this UserDomain",
+ "items": {
+ "type": "string"
+ }
+ },
+ "PolicyID": {
+ "type": "array",
+ "description": "IDs for Policies associated with this UserDomain",
+ "items": {
+ "type": "string"
+ }
+ },
+ "ChildDomainID": {
+ "type": "array",
+ "description": "IDs of UserDomains aggregated by this UserDomain",
+ "items": {
+ "type": "string"
+ }
+ },
+ "ParentDomainID": {
+ "type": "string",
+ "description": "The ID of the UserDomain that this UserDomain participates in"
+ },
+ "AccessPolicyID": {
+ "type": "array",
+ "description": "IDs of AccessPolicies associated with this UserDomain",
+ "items": {
+ "type": "string"
+ }
+ },
+ "MappingPolicyID": {
+ "type": "array",
+ "description": "IDs of MappingPolicies associated with this UserDomain",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/distribution/airavata-server/pom.xml
----------------------------------------------------------------------
diff --git a/modules/distribution/airavata-server/pom.xml b/modules/distribution/airavata-server/pom.xml
index 469c20c..13430a2 100644
--- a/modules/distribution/airavata-server/pom.xml
+++ b/modules/distribution/airavata-server/pom.xml
@@ -600,6 +600,11 @@
<artifactId>libthrift</artifactId>
<version>0.9.1</version>
</dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
+ <version>2.0.0</version>
+ </dependency>
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/distribution/airavata-server/src/main/assembly/bin-assembly.xml
----------------------------------------------------------------------
diff --git a/modules/distribution/airavata-server/src/main/assembly/bin-assembly.xml b/modules/distribution/airavata-server/src/main/assembly/bin-assembly.xml
index ab3bbf3..c1b931a 100644
--- a/modules/distribution/airavata-server/src/main/assembly/bin-assembly.xml
+++ b/modules/distribution/airavata-server/src/main/assembly/bin-assembly.xml
@@ -272,6 +272,7 @@
<include>org.apache.thrift:libthrift:jar:0.9.1</include>
<include>commons-cli:commons-cli</include>
<include>com.rabbitmq:amqp-client</include>
+ <include>com.fasterxml.jackson.core:jackson-databind</include>
<!-- unicore start
<include>eu.unicore:ogsabes-client</include>
<include>eu.unicore:ogsabes-types</include>
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/provider/impl/GSISSHProvider.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/provider/impl/GSISSHProvider.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/provider/impl/GSISSHProvider.java
index 1996500..683a2b5 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/provider/impl/GSISSHProvider.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/provider/impl/GSISSHProvider.java
@@ -161,9 +161,14 @@ public class GSISSHProvider extends AbstractProvider implements GFacProvider{
jobDetails.setJobDescription(jobDescriptor.toXML());
String jobID = cluster.submitBatchJob(jobDescriptor);
- jobDetails.setJobID(jobID);
jobExecutionContext.setJobDetails(jobDetails);
- GFacUtils.saveJobStatus(jobDetails, JobState.SUBMITTED, taskID);
+ if(jobID == null){
+ jobDetails.setJobID("none");
+ GFacUtils.saveJobStatus(jobDetails, JobState.FAILED, taskID);
+ }else{
+ jobDetails.setJobID(jobID);
+ GFacUtils.saveJobStatus(jobDetails, JobState.SUBMITTED, taskID);
+ }
} catch (SSHApiException e) {
String error = "Error submitting the job to host " + host.getHostAddress() + e.getMessage();
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java b/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
index 9dc561b..6d6d6f9 100644
--- a/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
+++ b/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
@@ -157,7 +157,7 @@ public class OrchestratorServerHandler implements OrchestratorService.Iface {
}
for (TaskDetails taskID : tasks) {
//iterate through all the generated tasks and performs the job submisssion+monitoring
-
+ String jobID = null;
Experiment experiment = (Experiment) registry.get(DataType.EXPERIMENT, experimentId);
if (experiment == null) {
log.error("Error retrieving the Experiment by the given experimentID: " + experimentId);
@@ -173,16 +173,26 @@ public class OrchestratorServerHandler implements OrchestratorService.Iface {
Constants.PUSH.equals(((GsisshHostType) hostDescription).getMonitorMode())) {
monitorID = new MonitorID(hostDescription, null, taskID.getTaskID(), experimentId, userName);
monitorManager.addAJobToMonitor(monitorID);
- String jobID = orchestrator.launchExperiment(experimentId, taskID.getTaskID());
- log.info("Job Launched to the resource by GFAC and jobID returned : " + jobID);
+ jobID = orchestrator.launchExperiment(experimentId, taskID.getTaskID());
+ if("none".equals(jobID)) {
+ log.error("Job submission Failed, so we remove the job from monitoring");
+
+ }else{
+ log.info("Job Launched to the resource by GFAC and jobID returned : " + jobID);
+ }
} else {
// Launching job for each task
// if the monitoring is pull mode then we add the monitorID for each task after submitting
// the job with the jobID, otherwise we don't need the jobID
- String jobID = orchestrator.launchExperiment(experimentId, taskID.getTaskID());
+ jobID = orchestrator.launchExperiment(experimentId, taskID.getTaskID());
log.info("Job Launched to the resource by GFAC and jobID returned : " + jobID);
monitorID = new MonitorID(hostDescription, jobID, taskID.getTaskID(), experimentId, userName, authenticationInfo);
- monitorManager.addAJobToMonitor(monitorID);
+ if("none".equals(jobID)) {
+ log.error("Job submission Failed, so we remove the job from monitoring");
+
+ }else{
+ monitorManager.addAJobToMonitor(monitorID);
+ }
}
}
} catch (Exception e) {
[2/3] git commit: Adding glue2 schema and add more changes -
AIRAVATA-1023
Posted by la...@apache.org.
Adding glue2 schema and add more changes - AIRAVATA-1023
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/bbbc35d3
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/bbbc35d3
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/bbbc35d3
Branch: refs/heads/master
Commit: bbbc35d3e3ac455351a1efc4a71b9a9bfb41185b
Parents: 12dd3c6
Author: lahiru <la...@apache.org>
Authored: Tue Mar 11 15:40:40 2014 -0400
Committer: lahiru <la...@apache.org>
Committed: Tue Mar 11 15:40:40 2014 -0400
----------------------------------------------------------------------
modules/airavata-job-monitor/pom.xml | 22 +-
.../impl/push/amqp/JSONMessageParser.java | 9 +-
.../src/main/resources/glue2.xsd | 1546 ------------------
.../src/main/resources/schema/AccessPolicy.json | 13 +
.../src/main/resources/schema/Activity.json | 31 +
.../src/main/resources/schema/AdminDomain.json | 51 +
.../schema/ApplicationEnvironment.json | 86 +
.../resources/schema/ApplicationHandle.json | 21 +
.../src/main/resources/schema/Benchmark.json | 21 +
.../resources/schema/ComputingActivity.json | 165 ++
.../resources/schema/ComputingEndpoint.json | 44 +
.../main/resources/schema/ComputingManager.json | 117 ++
.../main/resources/schema/ComputingService.json | 32 +
.../main/resources/schema/ComputingShare.json | 182 +++
.../src/main/resources/schema/Contact.json | 32 +
.../src/main/resources/schema/DataStore.json | 30 +
.../src/main/resources/schema/Domain.json | 30 +
.../src/main/resources/schema/Endpoint.json | 147 ++
.../src/main/resources/schema/Entity.json | 35 +
.../resources/schema/ExecutionEnvironment.json | 115 ++
.../src/main/resources/schema/Glue2.json | 246 +++
.../src/main/resources/schema/Location.json | 47 +
.../src/main/resources/schema/Manager.json | 28 +
.../main/resources/schema/MappingPolicy.json | 13 +
.../src/main/resources/schema/Policy.json | 27 +
.../src/main/resources/schema/Resource.json | 27 +
.../src/main/resources/schema/Service.json | 75 +
.../src/main/resources/schema/Share.json | 45 +
.../resources/schema/StorageAccessProtocol.json | 32 +
.../main/resources/schema/StorageEndpoint.json | 8 +
.../main/resources/schema/StorageManager.json | 8 +
.../main/resources/schema/StorageService.json | 22 +
.../schema/StorageServiceCapacity.json | 33 +
.../src/main/resources/schema/StorageShare.json | 65 +
.../resources/schema/StorageShareCapacity.json | 33 +
.../resources/schema/ToComputingService.json | 32 +
.../main/resources/schema/ToStorageService.json | 25 +
.../src/main/resources/schema/UserDomain.json | 58 +
modules/distribution/airavata-server/pom.xml | 5 +
.../src/main/assembly/bin-assembly.xml | 1 +
.../gfac/provider/impl/GSISSHProvider.java | 9 +-
.../server/OrchestratorServerHandler.java | 20 +-
42 files changed, 2033 insertions(+), 1555 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/pom.xml
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/pom.xml b/modules/airavata-job-monitor/pom.xml
index a2569ee..185b068 100644
--- a/modules/airavata-job-monitor/pom.xml
+++ b/modules/airavata-job-monitor/pom.xml
@@ -137,7 +137,11 @@
<artifactId>xmlbeans</artifactId>
<version>${xmlbeans.version}</version>
</dependency>
-
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
+ <version>2.0.0</version>
+ </dependency>
</dependencies>
<build>
@@ -151,6 +155,22 @@
<failIfNoTests>false</failIfNoTests>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.jsonschema2pojo</groupId>
+ <artifactId>jsonschema2pojo-maven-plugin</artifactId>
+ <version>0.4.0</version>
+ <configuration>
+ <sourceDirectory>${basedir}/src/main/resources/schema</sourceDirectory>
+ <targetPackage>org.apache.airavata</targetPackage>
+ </configuration>
+ <executions>
+ <execution>
+ <goals>
+ <goal>generate</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/impl/push/amqp/JSONMessageParser.java
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/impl/push/amqp/JSONMessageParser.java b/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/impl/push/amqp/JSONMessageParser.java
index 95192d1..577e9ed 100644
--- a/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/impl/push/amqp/JSONMessageParser.java
+++ b/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/impl/push/amqp/JSONMessageParser.java
@@ -20,6 +20,7 @@
*/
package org.apache.airavata.job.monitor.impl.push.amqp;
+import org.apache.airavata.ComputingActivity;
import org.apache.airavata.job.monitor.MonitorID;
import org.apache.airavata.job.monitor.core.MessageParser;
import org.apache.airavata.job.monitor.exception.AiravataMonitorException;
@@ -30,6 +31,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.IOException;
+import java.util.List;
public class JSONMessageParser implements MessageParser {
private final static Logger logger = LoggerFactory.getLogger(JSONMessageParser.class);
@@ -41,7 +43,12 @@ public class JSONMessageParser implements MessageParser {
// JSONParser parser = new JSONParser();
ObjectMapper mapper = new ObjectMapper();
try {
- mapper.readTree(message);
+ ComputingActivity computingActivity = mapper.readValue(message.getBytes(), ComputingActivity.class);
+ logger.info(computingActivity.getIDFromEndpoint());
+ List<String> stateList = computingActivity.getState();
+ for (String aState : stateList) {
+ logger.info(aState);
+ }
} catch (IOException e) {
throw new AiravataMonitorException(e);
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/glue2.xsd
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/glue2.xsd b/modules/airavata-job-monitor/src/main/resources/glue2.xsd
deleted file mode 100644
index 92b88d0..0000000
--- a/modules/airavata-job-monitor/src/main/resources/glue2.xsd
+++ /dev/null
@@ -1,1546 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- OGF GLUE 2.0 - XML Schema mapping
- Release: 31 Mar 2011
-
- Copyright (c) 2011
-
- Sergio Andreozzi (EGI.eu)
- Balazs Konya (Lund University)
- Shiraz Memon (Forschungszentrum Juelich GmbH)
- Paul Millar (DESY)
- Adrian Taga (Oslo University)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<?xml-stylesheet href="xs3p.xsl" type="text/xsl"?>
-<schema targetNamespace="http://schemas.ogf.org/glue/2009/03/spec_2.0_r1" xmlns="http://www.w3.org/2001/XMLSchema"
- xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:glue="http://schemas.ogf.org/glue/2009/03/spec_2.0_r1"
- xmlns:xhtml="http://www.w3.org/1999/xhtml"
- elementFormDefault="qualified"
- attributeFormDefault="unqualified">
-
- <element name="Domains" type="glue:Domains_t"/>
- <element name="AdminDomain" type="glue:AdminDomain_t"/>
- <element name="UserDomain" type="glue:UserDomain_t"/>
- <element name="Location" type="glue:Location_t"/>
- <element name="Contact" type="glue:Contact_t"/>
- <element name="Service" type="glue:Service_t"/>
- <element name="ComputingService" type="glue:ComputingService_t"/>
- <element name="StorageService" type="glue:StorageService_t"/>
- <element name="ToComputingService" type="glue:ToComputingService_t"/>
- <element name="StorageManager" type="glue:StorageManager_t"/>
- <element name="ComputingActivity" type="glue:ComputingActivity_t"/>
- <element name="ComputingActivities">
- <complexType>
- <sequence>
- <element ref="glue:ComputingActivity" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
- </element>
- <element name="ExecutionEnvironment" type="glue:ExecutionEnvironment_t"/>
- <element name="ExecutionEnvironments">
- <complexType>
- <sequence>
- <element ref="glue:ExecutionEnvironment" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
- </element>
- <element name="ApplicationEnvironment" type="glue:ApplicationEnvironment_t"/>
- <element name="ApplicationEnvironments">
- <complexType>
- <sequence>
- <element ref="glue:ApplicationEnvironment" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
- </element>
-
- <!-- BEGIN MAIN ENTITIES -->
- <complexType name="Extension_t">
- <sequence>
- <element name="LocalID" type="glue:LocalID_t" minOccurs="1" maxOccurs="1"/>
- <element name="Key" type="string" minOccurs="1" maxOccurs="1"/>
- <element name="Value" type="string" minOccurs="1" maxOccurs="1"/>
- <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="1"/>
- </sequence>
- </complexType>
-
- <complexType name="Extensions_t">
- <sequence>
- <element name="Extension" type="glue:Extension_t" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
-
- <complexType abstract="true" name="Entity_t">
- <sequence>
- <element name="ID" type="anyURI" minOccurs="1" maxOccurs="1"/>
- <element name="Name" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="OtherInfo" type="string" minOccurs="0" maxOccurs="unbounded"/>
- <element name="Extensions" type="glue:Extensions_t" minOccurs="0" maxOccurs="1"/>
- </sequence>
- <attribute name="CreationTime" type="dateTime"/>
- <attribute name="Validity" type="unsignedLong"/>
- </complexType>
-
- <complexType name="Domains_t">
- <sequence>
- <element name="AdminDomain" type="glue:AdminDomain_t" minOccurs="0" maxOccurs="unbounded"/>
- <element name="UserDomain" type="glue:UserDomain_t" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
-
- <complexType name="Location_t">
- <complexContent>
- <extension base="glue:Entity_t">
- <sequence>
- <element name="Address" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="Place" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="Country" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="PostCode" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="Latitude" type="glue:Latitude_t" minOccurs="0" maxOccurs="1"/>
- <element name="Longitude" type="glue:Longitude_t" minOccurs="0" maxOccurs="1"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="Contact_t">
- <complexContent>
- <extension base="glue:Entity_t">
- <sequence>
- <element name="Detail" type="anyURI" minOccurs="1" maxOccurs="1"/>
- <element name="Type" type="glue:ContactType_t" minOccurs="1" maxOccurs="1"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType abstract="true" name="Domain_t">
- <complexContent>
- <extension base="glue:Entity_t">
- <sequence>
- <element name="Description" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="WWW" type="anyURI" minOccurs="0" maxOccurs="unbounded"/>
- <element name="Location" type="glue:Location_t" minOccurs="0" maxOccurs="1"/>
- <element name="Contact" type="glue:Contact_t" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="BaseType" fixed="Domain" use="required"/>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="AdminDomain_t">
- <complexContent>
- <extension base="glue:Domain_t">
- <sequence>
- <element name="Distributed" type="glue:ExtendedBoolean_t" minOccurs="0" maxOccurs="1"/>
- <element name="Owner" type="string" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="glue:Service" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="glue:ComputingService" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="glue:StorageService" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="glue:AdminDomain" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="UserDomain_t">
- <complexContent>
- <extension base="glue:Domain_t">
- <sequence>
- <element name="Level" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="UserManager" type="anyURI" minOccurs="0" maxOccurs="unbounded"/>
- <element name="Member" type="string" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="glue:UserDomain" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType abstract="true" name="ServiceBase_t">
- <complexContent>
- <extension base="glue:Entity_t">
- <sequence>
- <element name="Capability" type="glue:Capability_t" minOccurs="0" maxOccurs="unbounded"/>
- <element name="Type" type="glue:ServiceType_t" minOccurs="1" maxOccurs="1"/>
- <element name="QualityLevel" type="glue:QualityLevel_t" minOccurs="1" maxOccurs="1"/>
- <element name="StatusInfo" type="anyURI" minOccurs="0" maxOccurs="unbounded"/>
- <element name="Complexity" type="string" minOccurs="0" maxOccurs="1"/>
- <element ref="glue:Location" minOccurs="0" maxOccurs="1"/>
- <element ref="glue:Contact" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="BaseType" fixed="Service" use="required"/>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="Service_t">
- <complexContent>
- <extension base="glue:ServiceBase_t">
- <sequence>
- <element name="Endpoint" type="glue:Endpoint_t" minOccurs="0" maxOccurs="unbounded"/>
- <element name="Associations" minOccurs="0" maxOccurs="1">
- <complexType>
- <sequence>
- <element name="ServiceID" type="anyURI" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
- </element>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType abstract="true" name="EndpointBase_t">
- <complexContent>
- <extension base="glue:Entity_t">
- <sequence>
- <element name="URL" type="anyURI" minOccurs="1" maxOccurs="1"/>
- <element name="Capability" type="glue:Capability_t" minOccurs="0" maxOccurs="unbounded"/>
- <element name="Technology" type="glue:EndpointTechnology_t" minOccurs="0" maxOccurs="1"/>
- <element name="InterfaceName" type="glue:InterfaceName_t" minOccurs="1" maxOccurs="1"/>
- <element name="InterfaceVersion" type="string" minOccurs="0" maxOccurs="unbounded"/>
- <element name="InterfaceExtension" type="anyURI" minOccurs="0" maxOccurs="unbounded"/>
- <element name="WSDL" type="anyURI" minOccurs="0" maxOccurs="unbounded"/>
- <element name="SupportedProfile" type="anyURI" minOccurs="0" maxOccurs="unbounded"/>
- <element name="Semantics" type="anyURI" minOccurs="0" maxOccurs="unbounded"/>
- <element name="Implementor" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="ImplementationName" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="ImplementationVersion" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="QualityLevel" type="glue:QualityLevel_t" minOccurs="1" maxOccurs="1"/>
- <element name="HealthState" type="glue:EndpointHealthState_t" minOccurs="1" maxOccurs="1"/>
- <element name="HealthStateInfo" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="ServingState" type="glue:ServingState_t" minOccurs="1" maxOccurs="1"/>
- <element name="StartTime" type="dateTime" minOccurs="0" maxOccurs="1"/>
- <element name="IssuerCA" type="glue:DN_t" minOccurs="0" maxOccurs="1"/>
- <element name="TrustedCA" type="glue:DN_t" minOccurs="0" maxOccurs="unbounded"/>
- <element name="DowntimeAnnounce" type="dateTime" minOccurs="0" maxOccurs="1"/>
- <element name="DowntimeStart" type="dateTime" minOccurs="0" maxOccurs="1"/>
- <element name="DowntimeEnd" type="dateTime" minOccurs="0" maxOccurs="1"/>
- <element name="DowntimeInfo" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="AccessPolicy" type="glue:AccessPolicy_t" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="BaseType" fixed="Endpoint" use="required"/>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="Endpoint_t">
- <complexContent>
- <extension base="glue:EndpointBase_t">
- <sequence>
- <element name="Activities" minOccurs="0" maxOccurs="1">
- <complexType>
- <sequence>
- <element name="Activity" type="glue:Activity_t" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
- </element>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType abstract="true" name="ShareBase_t">
- <complexContent>
- <extension base="glue:Entity_t">
- <sequence>
- <element name="Description" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="MappingPolicy" type="glue:MappingPolicy_t" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="BaseType" fixed="Share" use="required"/>
- </extension>
- </complexContent>
- </complexType>
-
- <!-- Share_t is not defined because it is an abstract entity -->
-
- <complexType abstract="true" name="Manager_t">
- <complexContent>
- <extension base="glue:Entity_t">
- <sequence> </sequence>
- <attribute name="BaseType" fixed="Manager" use="required"/>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType abstract="true" name="ResourceBase_t">
- <complexContent>
- <extension base="glue:Entity_t">
- <sequence> </sequence>
- <attribute name="BaseType" fixed="Resource" use="required"/>
- </extension>
- </complexContent>
- </complexType>
-
- <!-- consider to remove it TODO
- <complexType abstract="true" name="Resource_t">
- <complexContent>
- <extension base="glue:ResourceBase_t">
- <sequence>
- <element name="Associations" minOccurs="0" maxOccurs="1">
- <complexType>
- <sequence>
- <element name="ActivityID" type="anyURI" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
- </element>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- -->
-
- <complexType abstract="true" name="ActivityBase_t">
- <complexContent>
- <extension base="glue:Entity_t">
- <sequence> </sequence>
- <attribute name="BaseType" fixed="Activity" use="required"/>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="Activity_t">
- <complexContent>
- <extension base="glue:ActivityBase_t">
- <sequence>
- <element name="Associations" minOccurs="0" maxOccurs="1">
- <complexType>
- <sequence>
- <element name="UserDomainID" type="anyURI" minOccurs="0" maxOccurs="1"/>
- <element name="ActivityID" type="anyURI" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
- </element>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType abstract="true" name="Policy_t">
- <complexContent>
- <extension base="glue:Entity_t">
- <sequence>
- <element name="Scheme" type="glue:PolicyScheme_t" minOccurs="1" maxOccurs="1"/>
- <element name="Rule" type="string" minOccurs="1" maxOccurs="unbounded"/>
- <element name="Associations" minOccurs="0" maxOccurs="1">
- <complexType>
- <sequence>
- <element name="UserDomainID" type="anyURI" minOccurs="1" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
- </element>
- </sequence>
- <attribute name="BaseType" fixed="Policy" use="required"/>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="AccessPolicy_t">
- <complexContent>
- <extension base="glue:Policy_t"/>
- </complexContent>
- </complexType>
-
- <complexType name="MappingPolicy_t">
- <complexContent>
- <extension base="glue:Policy_t"/>
- </complexContent>
- </complexType>
- <!-- END MAIN ENTITIES -->
-
- <!-- BEGIN COMPUTING ENTITIES -->
- <complexType name="ComputingService_t">
- <complexContent>
- <extension base="glue:ServiceBase_t">
- <sequence>
- <element name="TotalJobs" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="RunningJobs" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="WaitingJobs" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="StagingJobs" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="SuspendedJobs" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="PreLRMSWaitingJobs" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="ComputingEndpoint" type="glue:ComputingEndpoint_t" minOccurs="0" maxOccurs="unbounded"/>
- <element name="ComputingShare" type="glue:ComputingShare_t" minOccurs="0" maxOccurs="unbounded"/>
- <element name="ComputingManager" type="glue:ComputingManager_t" minOccurs="0" maxOccurs="unbounded"/>
- <element name="ToStorageService" type="glue:ToStorageService_t" minOccurs="0" maxOccurs="1"/>
- <element name="Associations" minOccurs="0" maxOccurs="1">
- <complexType>
- <sequence>
- <element name="ServiceID" type="anyURI" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
- </element>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="ComputingEndpoint_t">
- <complexContent>
- <extension base="glue:EndpointBase_t">
- <sequence>
- <element name="Staging" type="glue:Staging_t" minOccurs="0" maxOccurs="1"/>
- <element name="JobDescription" type="glue:JobDescription_t" minOccurs="0" maxOccurs="unbounded"/>
- <element name="TotalJobs" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="RunningJobs" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="WaitingJobs" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="StagingJobs" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="SuspendedJobs" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="PreLRMSWaitingJobs" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="Associations" minOccurs="0" maxOccurs="1">
- <complexType>
- <sequence>
- <element name="ComputingShareID" type="anyURI" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
- </element>
- <element ref="glue:ComputingActivities" minOccurs="0" maxOccurs="1"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="ComputingShare_t">
- <complexContent>
- <extension base="glue:ShareBase_t">
- <sequence>
- <element name="MappingQueue" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="MaxWallTime" type="unsignedLong" minOccurs="0" maxOccurs="1"/>
- <element name="MaxMultiSlotWallTime" type="unsignedLong" minOccurs="0" maxOccurs="1"/>
- <element name="MinWallTime" type="unsignedLong" minOccurs="0" maxOccurs="1"/>
- <element name="DefaultWallTime" type="unsignedLong" minOccurs="0" maxOccurs="1"/>
- <element name="MaxCPUTime" type="unsignedLong" minOccurs="0" maxOccurs="1"/>
- <element name="MaxTotalCPUTime" type="unsignedLong" minOccurs="0" maxOccurs="1"/>
- <element name="MinCPUTime" type="unsignedLong" minOccurs="0" maxOccurs="1"/>
- <element name="DefaultCPUTime" type="unsignedLong" minOccurs="0" maxOccurs="1"/>
- <element name="MaxTotalJobs" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="MaxRunningJobs" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="MaxWaitingJobs" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="MaxPreLRMSWaitingJobs" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="MaxUserRunningJobs" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="MaxSlotsPerJob" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="MaxStateInStreams" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="MaxStageOutStreams" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="SchedulingPolicy" type="glue:SchedulingPolicy_t" minOccurs="0"/>
- <element name="MaxMainMemory" type="unsignedLong" minOccurs="0" maxOccurs="1"/>
- <element name="GuaranteedMainMemory" type="unsignedLong" minOccurs="0" maxOccurs="1"/>
- <element name="MaxVirtualMemory" type="unsignedLong" minOccurs="0" maxOccurs="1"/>
- <element name="GuaranteedVirtualMemory" type="unsignedLong" minOccurs="0" maxOccurs="1"/>
- <element name="MaxDiskSpace" type="unsignedLong" minOccurs="0" maxOccurs="1"/>
- <element name="DefaultStorageService" type="anyURI" minOccurs="0" maxOccurs="1"/>
- <element name="Preemption" type="glue:ExtendedBoolean_t" minOccurs="0" maxOccurs="1"/>
- <element name="ServingState" type="glue:ServingState_t" minOccurs="1" maxOccurs="1"/>
- <element name="TotalJobs" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="RunningJobs" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="LocalRunningJobs" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="WaitingJobs" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="LocalWaitingJobs" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="SuspendedJobs" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="LocalSuspendedJobs" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="StagingJobs" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="PreLRMSWaitingJobs" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="EstimatedAverageWaitingTime" type="unsignedLong" minOccurs="0" maxOccurs="1"/>
- <element name="EstimatedWorstWaitingTime" type="unsignedLong" minOccurs="0" maxOccurs="1"/>
- <element name="FreeSlots" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="FreeSlotsWithDuration" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="UsedSlots" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="RequestedSlots" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="ReservationPolicy" type="glue:ReservationPolicy_t" minOccurs="0" maxOccurs="1"/>
- <element name="Tag" type="string" minOccurs="0" maxOccurs="unbounded"/>
- <element name="Associations" minOccurs="0" maxOccurs="1">
- <complexType>
- <sequence>
- <element name="ComputingEndpointID" type="anyURI" minOccurs="0" maxOccurs="unbounded"/>
- <element name="ExecutionEnvironmentID" type="anyURI" minOccurs="0" maxOccurs="unbounded"/>
- <element name="ComputingActivityID" type="anyURI" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
- </element>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="ComputingManager_t">
- <complexContent>
- <extension base="glue:Manager_t">
- <sequence>
- <element name="ProductName" type="glue:ComputingManagerType_t" minOccurs="1" maxOccurs="1"/>
- <element name="ProductVersion" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="Reservation" type="glue:ExtendedBoolean_t" minOccurs="0" maxOccurs="1"/>
- <element name="BulkSubmission" type="glue:ExtendedBoolean_t" minOccurs="0" maxOccurs="1"/>
- <element name="TotalPhysicalCPUs" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="TotalLogicalCPUs" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="TotalSlots" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="SlotsUsedByLocalJobs" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="SlotsUsedByGridJobs" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="Homogeneous" type="glue:ExtendedBoolean_t" minOccurs="0" maxOccurs="1"/>
- <element name="NetworkInfo" type="glue:NetworkInfo_t" minOccurs="0" maxOccurs="unbounded"/>
- <element name="LogicalCPUDistribution" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="WorkingAreaShared" type="glue:ExtendedBoolean_t" minOccurs="0" maxOccurs="1"/>
- <element name="WorkingAreaGuaranteed" type="glue:ExtendedBoolean_t" minOccurs="0" maxOccurs="1"/>
- <element name="WorkingAreaTotal" type="unsignedLong" minOccurs="0" maxOccurs="1"/>
- <element name="WorkingAreaFree" type="unsignedLong" minOccurs="0" maxOccurs="1"/>
- <element name="WorkingAreaLifeTime" type="unsignedLong" minOccurs="0" maxOccurs="1"/>
- <element name="WorkingAreaMultiSlotTotal" type="unsignedLong" minOccurs="0" maxOccurs="1"/>
- <element name="WorkingAreaMultiSlotFree" type="unsignedLong" minOccurs="0" maxOccurs="1"/>
- <element name="WorkingAreaMultiSlotLifeTime" type="unsignedLong" minOccurs="0" maxOccurs="1"/>
- <element name="CacheTotal" type="unsignedLong" minOccurs="0" maxOccurs="1"/>
- <element name="CacheFree" type="unsignedLong" minOccurs="0" maxOccurs="1"/>
- <element name="TmpDir" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="ScratchDir" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="ApplicationDir" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="Benchmark" type="glue:Benchmark_t" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="glue:ExecutionEnvironments" minOccurs="0" maxOccurs="1"/>
- <element ref="glue:ApplicationEnvironments" minOccurs="0" maxOccurs="1"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="Benchmark_t">
- <complexContent>
- <extension base="glue:Entity_t">
- <sequence>
- <element name="Type" type="glue:BenchmarkType_t" minOccurs="1" maxOccurs="1"/>
- <element name="Value" type="float" minOccurs="1" maxOccurs="1"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="ExecutionEnvironment_t">
- <complexContent>
- <extension base="glue:ResourceBase_t">
- <sequence>
- <element name="Platform" type="glue:Platform_t" minOccurs="1" maxOccurs="1"/>
- <element name="VirtualMachine" type="glue:ExtendedBoolean_t" minOccurs="0" maxOccurs="1"/>
- <element name="TotalInstances" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="UsedInstances" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="UnavailableInstances" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="PhysicalCPUs" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="LogicalCPUs" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="CPUMultiplicity" type="glue:CPUMultiplicity_t" minOccurs="0" maxOccurs="1"/>
- <element name="CPUVendor" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="CPUModel" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="CPUVersion" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="CPUClockSpeed" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="CPUTimeScalingFactor" type="float" minOccurs="0" maxOccurs="1"/>
- <element name="WallTimeScalingFactor" type="float" minOccurs="0" maxOccurs="1"/>
- <element name="MainMemorySize" type="unsignedLong" minOccurs="1" maxOccurs="1"/>
- <element name="VirtualMemorySize" type="unsignedLong" minOccurs="0" maxOccurs="1"/>
- <element name="OSFamily" type="glue:OSFamily_t" minOccurs="1" maxOccurs="1"/>
- <element name="OSName" type="glue:OSName_t" minOccurs="0" maxOccurs="1"/>
- <element name="OSVersion" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="ConnectivityIn" type="glue:ExtendedBoolean_t" minOccurs="1" maxOccurs="1"/>
- <element name="ConnectivityOut" type="glue:ExtendedBoolean_t" minOccurs="1" maxOccurs="1"/>
- <element name="NetworkInfo" type="glue:NetworkInfo_t" minOccurs="0" maxOccurs="unbounded"/>
- <element name="Benchmark" type="glue:Benchmark_t" minOccurs="0" maxOccurs="unbounded"/>
- <element name="Associations" minOccurs="0" maxOccurs="unbounded">
- <complexType>
- <sequence>
- <element name="ComputingShareID" type="anyURI" minOccurs="0" maxOccurs="unbounded"/>
- <element name="ComputingActivityID" type="anyURI" minOccurs="0" maxOccurs="unbounded"/>
- <element name="ApplicationEnvironmentID" type="anyURI" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
- </element>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="ApplicationEnvironment_t">
- <complexContent>
- <extension base="glue:Entity_t">
- <sequence>
- <element name="AppName" type="string" minOccurs="1" maxOccurs="1"/>
- <element name="AppVersion" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="State" type="glue:AppEnvState_t" minOccurs="0" maxOccurs="1"/>
- <element name="RemovalDate" type="dateTime" minOccurs="0" maxOccurs="1"/>
- <element name="License" type="glue:License_t" minOccurs="0" maxOccurs="1"/>
- <element name="Description" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="BestBenchmark" type="glue:BenchmarkType_t" minOccurs="0" maxOccurs="unbounded"/>
- <element name="ParallelSupport" type="glue:ParallelSupport_t" minOccurs="0" maxOccurs="1"/>
- <element name="MaxSlots" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="MaxJobs" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="MaxUserSeats" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="FreeSlots" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="FreeJobs" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="FreeUserSeats" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="ApplicationHandle" type="glue:ApplicationHandle_t" minOccurs="0" maxOccurs="unbounded"/>
- <element name="Associations" minOccurs="0" maxOccurs="1">
- <complexType>
- <sequence>
- <element name="ExecutionEnvironmentID" type="anyURI" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
- </element>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="ApplicationHandle_t">
- <complexContent>
- <extension base="glue:Entity_t">
- <sequence>
- <element name="Type" type="glue:ApplicationHandleType_t" minOccurs="1" maxOccurs="1"/>
- <element name="Value" type="string" minOccurs="1" maxOccurs="1"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="ComputingActivity_t">
- <complexContent>
- <extension base="glue:ActivityBase_t">
- <sequence>
- <element name="Type" type="glue:ComputingActivityType_t" minOccurs="0" maxOccurs="1"/>
- <element name="IDFromEndpoint" type="anyURI" minOccurs="0" maxOccurs="1"/>
- <element name="LocalIDFromManager" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="JobDescription" type="glue:JobDescription_t" minOccurs="0" maxOccurs="1"/>
- <element name="State" type="glue:ComputingActivityState_t" minOccurs="1" maxOccurs="unbounded"/>
- <element name="RestartState" type="glue:ComputingActivityState_t" minOccurs="0" maxOccurs="unbounded"/>
- <element name="ExitCode" type="int" minOccurs="0" maxOccurs="1"/>
- <element name="ComputingManagerExitCode" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="Error" type="string" minOccurs="0" maxOccurs="unbounded"/>
- <element name="WaitingPosition" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="UserDomain" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="Owner" type="string" minOccurs="1" maxOccurs="1"/>
- <element name="LocalOwner" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="RequestedTotalWallTime" type="unsignedLong" minOccurs="0" maxOccurs="1"/>
- <element name="RequestedTotalCPUTime" type="unsignedLong" minOccurs="0" maxOccurs="1"/>
- <element name="RequestedSlots" type="unsignedInt" minOccurs="0" maxOccurs="1"/>
- <element name="RequestedApplicationEnvironment" type="string" minOccurs="0" maxOccurs="unbounded"/>
- <element name="StdIn" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="StdOut" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="StdErr" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="LogDir" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="ExecutionNode" type="string" minOccurs="0" maxOccurs="unbounded"/>
- <element name="Queue" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="UsedTotalWallTime" type="unsignedLong" minOccurs="0" maxOccurs="1"/>
- <element name="UsedTotalCPUTime" type="unsignedLong" minOccurs="0" maxOccurs="1"/>
- <element name="UsedMainMemory" type="unsignedLong" minOccurs="0" maxOccurs="1"/>
- <element name="SubmissionTime" type="dateTime" minOccurs="0" maxOccurs="1"/>
- <element name="ComputingManagerSubmissionTime" type="dateTime" minOccurs="0" maxOccurs="1"/>
- <element name="StartTime" type="dateTime" minOccurs="0" maxOccurs="1"/>
- <element name="ComputingManagerEndTime" type="dateTime" minOccurs="0" maxOccurs="1"/>
- <element name="EndTime" type="dateTime" minOccurs="0" maxOccurs="1"/>
- <element name="WorkingAreaEraseTime" type="dateTime" minOccurs="0" maxOccurs="1"/>
- <element name="ProxyExpirationTime" type="dateTime" minOccurs="0" maxOccurs="1"/>
- <element name="SubmissionHost" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="SubmissionClientName" type="string" minOccurs="0" maxOccurs="1"/>
- <element name="OtherMessages" type="string" minOccurs="0" maxOccurs="unbounded"/>
- <element name="Associations" minOccurs="0" maxOccurs="1">
- <complexType>
- <sequence>
- <element name="UserDomainID" type="anyURI" minOccurs="0" maxOccurs="1"/>
- <element name="ComputingShareID" type="anyURI" minOccurs="0" maxOccurs="1"/>
- <element name="ExecutionEnvironmentID" type="anyURI" minOccurs="0" maxOccurs="1"/>
- <element name="ActivityID" type="anyURI" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
- </element>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="ToStorageService_t">
- <complexContent>
- <extension base="glue:Entity_t">
- <sequence>
- <element name="LocalPath" type="string" minOccurs="1" maxOccurs="1"/>
- <element name="RemotePath" type="string" minOccurs="1" maxOccurs="1"/>
- <element name="Associations" minOccurs="1" maxOccurs="1">
- <complexType>
- <sequence>
- <element name="StorageServiceID" type="anyURI" minOccurs="1" maxOccurs="1"/>
- </sequence>
- </complexType>
- </element>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <!-- END COMPUTING ENTITIES -->
-
-
-
- <!-- BEGIN STORAGE ENTITIES -->
-
- <complexType name="StorageService_t">
- <annotation>
- <documentation source="http://www.ogf.org/documents/GFD.147.pdf#page=44"
- xml:lang="en">
- <xhtml:div>
- <xhtml:p>
- An abstracted, logical view of software and
- hardware components that participate in the
- creation of a storage capability in a Grid
- environment. A Storage Service exposes zero or
- more Endpoints having well-defined interfaces,
- zero or more Storage Shares and zero or more
- Storage Managers and the related Data Stores.
- The Storage Service also offers zero or more
- Storage Access Protocols, and provides summary
- information about the overall amount of
- storage by means of the Storage Service
- Capacity.
- </xhtml:p>
- <xhtml:p>
- The Storage Service is autonomous and denotes
- a weak aggregation among Storage Endpoints,
- Storage Shares, Storage Managers, Storage
- Access Protocols and Storage Service
- Capacities. The Storage Service enables the
- identification of the entire set of entities
- providing storage functionality with a
- persistent name.
- </xhtml:p>
- </xhtml:div>
- </documentation>
- </annotation>
- <complexContent>
- <extension base="glue:ServiceBase_t">
- <sequence>
- <element name="StorageEndpoint" type="glue:StorageEndpoint_t" minOccurs="0" maxOccurs="unbounded">
- <annotation>
- <documentation xml:lang="en">
- <xhtml:div>
- <xhtml:p>
- A storage service exposes zero or more storage endpoints.
- </xhtml:p>
- </xhtml:div>
- </documentation>
- </annotation>
- </element>
- <element name="StorageShare" type="glue:StorageShare_t" minOccurs="0" maxOccurs="unbounded">
- <annotation>
- <documentation xml:lang="en">
- <xhtml:div>
- <xhtml:p>
- A storage service serves zero or more storage shares.
- </xhtml:p>
- </xhtml:div>
- </documentation>
- </annotation>
- </element>
- <element name="StorageManager" type="glue:StorageManager_t" minOccurs="0" maxOccurs="unbounded"/>
- <element name="StorageAccessProtocol" type="glue:StorageAccessProtocol_t" minOccurs="0" maxOccurs="unbounded"/>
- <element name="StorageServiceCapacity" type="glue:StorageServiceCapacity_t" minOccurs="0" maxOccurs="unbounded"/>
- <element name="ToComputingService" type="glue:ToComputingService_t" minOccurs="0" maxOccurs="unbounded"/>
- <element name="Associations" minOccurs="0">
- <complexType>
- <sequence>
- <element name="ServiceID" type="anyURI" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
- </element>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
-
- <complexType name="StorageServiceCapacity_t">
- <annotation>
- <documentation source="http://www.ogf.org/documents/GFD.147.pdf#Page=45"
- xml:lang="en">
- <xhtml:div>
- <xhtml:p>
- Description of the size and usage of a
- homogenous storage extent; the storage extent
- is aggregated at the storage service level by
- type.
- </xhtml:p>
- </xhtml:div>
- </documentation>
- </annotation>
- <complexContent>
- <extension base="glue:Entity_t">
- <sequence>
- <element name="Type" type="glue:StorageCapacity_t"/>
- <element name="TotalSize" type="unsignedLong" minOccurs="0"/>
- <element name="FreeSize" type="unsignedLong" minOccurs="0"/>
- <element name="UsedSize" type="unsignedLong" minOccurs="0"/>
- <element name="ReservedSize" type="unsignedLong" minOccurs="0"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
-
- <complexType name="StorageAccessProtocol_t">
- <annotation>
- <documentation source="http://www.ogf.org/documents/GFD.147.pdf#Page=46"
- xml:lang="en">
- <xhtml:div>
- <xhtml:p>
- A type of protocol available to access the
- underlying storage extents.
- </xhtml:p>
- </xhtml:div>
- </documentation>
- </annotation>
- <sequence>
- <element name="Type" type="glue:StorageAccessProtocolType_t"/>
- <element name="Version" type="string"/>
- <element name="MaxStreams" type="int" minOccurs="0"/>
- <element name="Associations" minOccurs="0">
- <complexType>
- <sequence>
- <element name="ToComputingServiceID" type="anyURI" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
- </element>
- </sequence>
- </complexType>
-
-
- <complexType name="StorageEndpoint_t">
- <annotation>
- <documentation source="http://www.ogf.org/documents/GFD.147.pdf#Page=47"
- xml:lang="en">
- <xhtml:div>
- <xhtml:p>
- An Endpoint usable for managing Storage Shares
- or for accessing data stored in them; it MAY
- also be used to expose complementary
- capabilities which form part of the overall
- Storage Service.
- </xhtml:p>
- </xhtml:div>
- </documentation>
- </annotation>
- <complexContent>
- <extension base="glue:EndpointBase_t"/>
- </complexContent>
- </complexType>
-
-
- <complexType name="StorageShare_t">
- <annotation>
- <documentation source="http://www.ogf.org/documents/GFD.147.pdf#Page=48"
- xml:lang="en">
- <xhtml:div>
- <xhtml:p>
- A utilization target for a set of extents in
- Data Stores, defined by a set of configuration
- parameters and policies and characterized by
- status information.
- </xhtml:p>
- </xhtml:div>
- </documentation>
- </annotation>
- <complexContent>
- <extension base="glue:ShareBase_t">
- <sequence>
- <element name="ServingState" type="glue:ServingState_t"/>
- <element name="Path" type="string" minOccurs="0"/>
- <element name="AccessMode" type="glue:AccessMode_t" minOccurs="0" maxOccurs="unbounded"/>
- <element name="SharingID" type="glue:LocalID_t"/>
- <element name="AccessLatency" type="glue:AccessLatency_t"/>
- <element name="RetentionPolicy" type="glue:RetentionPolicy_t" minOccurs="0" maxOccurs="unbounded"/>
- <element name="ExpirationMode" type="glue:ExpirationMode_t" minOccurs="0" maxOccurs="3"/>
- <element name="DefaultLifeTime" type="int" minOccurs="0"/>
- <element name="MaximumLifeTime" type="int" minOccurs="0"/>
- <element name="Tag" type="string" minOccurs="0"/>
- <element name="StorageShareCapacity" type="glue:StorageShareCapacity_t" minOccurs="0" maxOccurs="unbounded"/>
- <element name="Associations" minOccurs="0">
- <complexType>
- <sequence>
- <element name="StorageEndpointID" type="anyURI" minOccurs="0" maxOccurs="unbounded"/>
- <element name="DataStoreID" type="anyURI" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
- </element>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
-
- <complexType name="StorageShareCapacity_t">
- <annotation>
- <documentation source="http://www.ogf.org/documents/GFD.147.pdf#Page=50"
- xml:lang="en">
- <xhtml:div>
- <xhtml:p>
- A description of the size and usage of a
- homogenous storage extent available to a
- Storage Share.
- </xhtml:p>
- </xhtml:div>
- </documentation>
- </annotation>
- <complexContent>
- <extension base="glue:Entity_t">
- <sequence>
- <element name="Type" type="glue:StorageCapacity_t"/>
- <element name="TotalSize" type="int" minOccurs="0"/>
- <element name="FreeSize" type="int" minOccurs="0"/>
- <element name="UsedSize" type="int" minOccurs="0"/>
- <element name="ReservedSize" type="int" minOccurs="0"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
-
- <complexType name="StorageManager_t">
- <annotation>
- <documentation source="http://www.ogf.org/documents/GFD.147.pdf#Page=51"
- xml:lang="en">
- <xhtml:div>
- <xhtml:p>
- The primary software component locally
- managing one or more Data Stores. It MAY also
- be used to describe aggregated information
- about the managed resources.
- </xhtml:p>
- </xhtml:div>
- </documentation>
- </annotation>
- <complexContent>
- <extension base="glue:Manager_t">
- <sequence>
- <element name="ProductName" type="string"/>
- <element name="ProductVersion" type="string" minOccurs="0"/>
- <element name="DataStore" type="glue:DataStore_t" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
-
- <complexType name="DataStore_t">
- <annotation>
- <documentation source="http://www.ogf.org/documents/GFD.147.pdf#Page=51"
- xml:lang="en">
- <xhtml:div>
- <xhtml:p>
- An abstract description of a sufficiently
- homogeneous storage device providing a storage
- extent, managed by a local software component
- (Storage Manager), part of a Storage Service,
- reachable via zero or more Endpoints and
- having zero or more Shares defined on it. A
- Data Store refers to a category of storage
- with summary information on the storage
- capacity.
- </xhtml:p>
- </xhtml:div>
- </documentation>
- </annotation>
- <complexContent>
- <extension base="glue:ResourceBase_t">
- <sequence>
- <element name="Type" type="glue:DataStoreType_t"/>
- <element name="Latency" type="glue:AccessLatency_t"/>
- <element name="TotalSize" type="int" minOccurs="0"/>
- <element name="FreeSize" type="int" minOccurs="0"/>
- <element name="UsedSize" type="int" minOccurs="0"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
-
- <complexType name="ToComputingService_t">
- <annotation>
- <documentation source="http://www.ogf.org/documents/GFD.147.pdf#Page=52"
- xml:lang="en">
- <xhtml:div>
- <xhtml:p>
- A description of the network link quality
- between a Storage Service and a computing
- service, and/or of a potentially dedicated
- access protocol that the Computing Service may
- use to access the Storage Service.
- </xhtml:p>
- </xhtml:div>
- </documentation>
- </annotation>
- <complexContent>
- <extension base="glue:Entity_t">
- <sequence>
- <element name="NetworkInfo" type="glue:NetworkInfo_t" minOccurs="0"/>
- <element name="Bandwidth" type="int" minOccurs="0"/>
- <element name="Associations" minOccurs="1">
- <complexType>
- <sequence>
- <element name="ComputingServiceID" type="anyURI" minOccurs="1"/>
- </sequence>
- </complexType>
- </element>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <!-- END STORAGE ENTITIES -->
-
- <!-- BEGIN DATA TYPES -->
-
- <simpleType name="AccessLatency_t">
- <restriction base="string">
- <enumeration value="online"/>
- <enumeration value="nearline"/>
- <enumeration value="offline"/>
- </restriction>
- </simpleType>
-
- <!-- FIXME this isn't defined in GLUE2.0 -->
- <simpleType name="AccessMode_t">
- <restriction base="string"/>
- </simpleType>
-
- <simpleType name="AppEnvState_t">
- <restriction base="string">
- <annotation>
- <appinfo>
- <enumeration value="installable"/>
- <enumeration value="installationfailed"/>
- <enumeration value="installedbroken"/>
- <enumeration value="installednotverified"/>
- <enumeration value="installedverified"/>
- <enumeration value="installingautomatically"/>
- <enumeration value="installingmanually"/>
- <enumeration value="notinstallable"/>
- <enumeration value="pendingremoval"/>
- <enumeration value="removing"/>
- </appinfo>
- </annotation>
- </restriction>
- </simpleType>
-
- <simpleType name="ApplicationHandleType_t">
- <restriction base="string">
- <annotation>
- <appinfo>
- <enumeration value="module"/>
- <enumeration value="softenv"/>
- <enumeration value="path"/>
- <enumeration value="executable"/>
- </appinfo>
- </annotation>
- </restriction>
- </simpleType>
-
- <simpleType name="BenchmarkType_t">
- <restriction base="xs:string">
- <annotation>
- <appinfo>
- <enumeration value="bogomips"/>
- <enumeration value="cfp2006"/>
- <enumeration value="cint2006"/>
- <enumeration value="linpack"/>
- <enumeration value="specfp2000"/>
- <enumeration value="specint2000"/>
- </appinfo>
- </annotation>
- </restriction>
- </simpleType>
-
- <simpleType name="Capability_t">
- <restriction base="string">
- <annotation>
- <appinfo>
- <enumeration value="data.access.flatfiles"/>
- <enumeration value="data.access.relational"/>
- <enumeration value="data.access.xml"/>
- <enumeration value="data.management.replica"/>
- <enumeration value="data.management.storage"/>
- <enumeration value="data.management.transfer"/>
- <enumeration value="data.naming.resolver"/>
- <enumeration value="data.naming.scheme"/>
- <enumeration value="data.transfer"/>
- <enumeration value="executionmanagement.candidatesetgenerator"/>
- <enumeration value="executionmanagement.dynamicvmdeploy"/>
- <enumeration value="executionmanagement.executionandplanning"/>
- <enumeration value="executionmanagement.jobdescription"/>
- <enumeration value="executionmanagement.jobexecution"/>
- <enumeration value="executionmanagement.jobmanager"/>
- <enumeration value="executionmanagement.reservation"/>
- <enumeration value="information.discovery"/>
- <enumeration value="information.logging"/>
- <enumeration value="information.model"/>
- <enumeration value="information.monitoring"/>
- <enumeration value="information.provenance"/>
- <enumeration value="security.accounting"/>
- <enumeration value="security.attributeauthority"/>
- <enumeration value="security.authentication"/>
- <enumeration value="security.authorization"/>
- <enumeration value="security.credentialstorage"/>
- <enumeration value="security.delegation"/>
- <enumeration value="security.identymapping"/>
- </appinfo>
- </annotation>
- </restriction>
- </simpleType>
-
- <simpleType name="ComputingActivityState_t">
- <restriction base="string">
- <annotation>
- <appinfo>
- <enumeration value="bes:failed"/>
- <enumeration value="bes:finished"/>
- <enumeration value="bes:pending"/>
- <enumeration value="bes:running"/>
- <enumeration value="bes:terminated"/>
- <enumeration value="unicore:undefined"/>
- <enumeration value="unicore:ready"/>
- <enumeration value="unicore:queued"/>
- <enumeration value="unicore:running"/>
- <enumeration value="unicore:successful"/>
- <enumeration value="unicore:failed"/>
- <enumeration value="unicore:stagingin"/>
- <enumeration value="unicore:stagingout"/>
- <enumeration value="nordugrid:accepting"/>
- <enumeration value="nordugrid:pending:accepted"/>
- <enumeration value="nordugrid:accepted"/>
- <enumeration value="nordugrid:pending:preparing"/>
- <enumeration value="nordugrid:preparing"/>
- <enumeration value="nordugrid:prepared"/>
- <enumeration value="nordugrid:submitting"/>
- <enumeration value="nordugrid:pending:inlrms"/>
- <enumeration value="nordugrid:inlrms:q"/>
- <enumeration value="nordugrid:inlrms:h"/>
- <enumeration value="nordugrid:inlrms:r"/>
- <enumeration value="nordugrid:inlrms:s"/>
- <enumeration value="nordugrid:inlrms:e"/>
- <enumeration value="nordugrid:inlrms:o"/>
- <enumeration value="nordugrid:inlrms:executed"/>
- <enumeration value="nordugrid:finishing"/>
- <enumeration value="nordugrid:canceling"/>
- <enumeration value="nordugrid:failed"/>
- <enumeration value="nordugrid:killed"/>
- <enumeration value="nordugrid:finished"/>
- <enumeration value="nordugrid:deleted"/>
- </appinfo>
- </annotation>
- </restriction>
- </simpleType>
-
- <simpleType name="ComputingActivityType_t">
- <restriction base="string">
- <enumeration value="collectionelement"/>
- <enumeration value="parallelelement"/>
- <enumeration value="single"/>
- <enumeration value="workflownode"/>
- </restriction>
- </simpleType>
-
- <simpleType name="ComputingManagerType_t">
- <restriction base="string">
- <annotation>
- <appinfo>
- <enumeration value="bqs"/>
- <enumeration value="condor"/>
- <enumeration value="fork"/>
- <enumeration value="loadleveler"/>
- <enumeration value="lsf"/>
- <enumeration value="openbps"/>
- <enumeration value="gridengine"/>
- <enumeration value="torque"/>
- <enumeration value="torquemaui"/>
- <enumeration value="slurm"/>
- </appinfo>
- </annotation>
- </restriction>
- </simpleType>
-
- <simpleType name="ContactType_t">
- <restriction base="string">
- <annotation>
- <appinfo>
- <enumeration value="general"/>
- <enumeration value="security"/>
- <enumeration value="sysadmin"/>
- <enumeration value="usersupport"/>
- </appinfo>
- </annotation>
- </restriction>
- </simpleType>
-
- <simpleType name="CPUMultiplicity_t">
- <restriction base="string">
- <enumeration value="multicpu-multicore"/>
- <enumeration value="multicpu-singlecore"/>
- <enumeration value="singlecpu-multicore"/>
- <enumeration value="singlecpu-singlecore"/>
- </restriction>
- </simpleType>
-
- <simpleType name="DataStoreType_t">
- <restriction base="string">
- <annotation>
- <appinfo>
- <enumeration value="disk"/>
- <enumeration value="optical"/>
- <enumeration value="tape"/>
- </appinfo>
- </annotation>
- </restriction>
- </simpleType>
-
- <simpleType name="DN_t">
- <restriction base="string"/>
- </simpleType>
-
- <simpleType name="EndpointHealthState_t">
- <restriction base="string">
- <enumeration value="critical"/>
- <enumeration value="ok"/>
- <enumeration value="other"/>
- <enumeration value="unknown"/>
- <enumeration value="warning"/>
- </restriction>
- </simpleType>
-
- <simpleType name="EndpointTechnology_t">
- <restriction base="string">
- <annotation>
- <appinfo>
- <enumeration value="corba"/>
- <enumeration value="jndi"/>
- <enumeration value="webservice"/>
- </appinfo>
- </annotation>
- </restriction>
- </simpleType>
-
- <simpleType name="ExpirationMode_t">
- <restriction base="string">
- <enumeration value="neverexpire"/>
- <enumeration value="releasewhenexpired"/>
- <enumeration value="warnwhenexpired"/>
- </restriction>
- </simpleType>
-
- <simpleType name="ExtendedBoolean_t">
- <restriction base="string">
- <enumeration value="true"/>
- <enumeration value="false"/>
- <enumeration value="undefined"/>
- </restriction>
- </simpleType>
-
- <simpleType name="InterfaceName_t">
- <restriction base="string">
- <annotation>
- <appinfo>
- <enumeration value="ogf.bes"/>
- <enumeration value="ogf.srm"/>
- <enumeration value="emi.executionservice"/>
- </appinfo>
- </annotation>
- </restriction>
- </simpleType>
-
- <simpleType name="JobDescription_t">
- <restriction base="string">
- <annotation>
- <appinfo>
- <enumeration value="condor:classad"/>
- <enumeration value="glite:jdl"/>
- <enumeration value="globus:rsl"/>
- <enumeration value="nordugrid:xrsl"/>
- <enumeration value="ogf:jsdl"/>
- <enumeration value="emi:adl"/>
- </appinfo>
- </annotation>
- </restriction>
- </simpleType>
-
- <simpleType name="License_t">
- <restriction base="string">
- <annotation>
- <appinfo>
- <enumeration value="commercial"/>
- <enumeration value="opensource"/>
- <enumeration value="unknown"/>
- </appinfo>
- </annotation>
- </restriction>
- </simpleType>
-
- <simpleType name="LocalID_t">
- <restriction base="string">
- <pattern value="[a-zA-Z][a-zA-Z_0-9\-\.:]*"/>
- </restriction>
- </simpleType>
-
- <simpleType name="NetworkInfo_t">
- <restriction base="string">
- <annotation>
- <appinfo>
- <enumeration value="100megabitethernet"/>
- <enumeration value="gigabitethernet"/>
- <enumeration value="infiniband"/>
- <enumeration value="myrinet"/>
- </appinfo>
- </annotation>
- </restriction>
- </simpleType>
-
- <simpleType name="OSFamily_t">
- <restriction base="string">
- <annotation>
- <appinfo>
- <enumeration value="linux"/>
- <enumeration value="macosx"/>
- <enumeration value="solaris"/>
- <enumeration value="windows"/>
- </appinfo>
- </annotation>
- </restriction>
- </simpleType>
-
- <simpleType name="OSName_t">
- <restriction base="string">
- <annotation>
- <appinfo>
- <enumeration value="aix"/>
- <enumeration value="centos"/>
- <enumeration value="debian"/>
- <enumeration value="fedora"/>
- <enumeration value="gentoo"/>
- <enumeration value="leopard"/>
- <enumeration value="snowleopard"/>
- <enumeration value="mandrake"/>
- <enumeration value="redhatenterprise"/>
- <enumeration value="scientificlinux"/>
- <enumeration value="suse"/>
- <enumeration value="ubuntu"/>
- <enumeration value="windowsxp"/>
- <enumeration value="windows7"/>
- </appinfo>
- </annotation>
- </restriction>
- </simpleType>
-
- <simpleType name="ParallelSupport_t">
- <restriction base="string">
- <annotation>
- <appinfo>
- <enumeration value="mpi"/>
- <enumeration value="openmp"/>
- <enumeration value="none"/>
- </appinfo>
- </annotation>
- </restriction>
- </simpleType>
-
- <simpleType name="Platform_t">
- <restriction base="string">
- <annotation>
- <appinfo>
- <enumeration value="amd64"/>
- <enumeration value="i386"/>
- <enumeration value="itanium"/>
- <enumeration value="powerpc"/>
- <enumeration value="sparc"/>
- </appinfo>
- </annotation>
- </restriction>
- </simpleType>
-
- <simpleType name="PolicyScheme_t">
- <restriction base="string">
- <annotation>
- <appinfo>
- <enumeration value="basic"/>
- <enumeration value="gacl"/>
- </appinfo>
- </annotation>
- </restriction>
- </simpleType>
-
- <simpleType name="QualityLevel_t">
- <restriction base="string">
- <enumeration value="development"/>
- <enumeration value="pre-production"/>
- <enumeration value="production"/>
- <enumeration value="testing"/>
- </restriction>
- </simpleType>
-
- <simpleType name="ReservationPolicy_t">
- <restriction base="string">
- <enumeration value="mandatory"/>
- <enumeration value="none"/>
- <enumeration value="optional"/>
- </restriction>
- </simpleType>
-
- <simpleType name="SchedulingPolicy_t">
- <restriction base="string">
- <annotation>
- <appinfo>
- <enumeration value="fairshare"/>
- <enumeration value="fifo"/>
- <enumeration value="random"/>
- </appinfo>
- </annotation>
- </restriction>
- </simpleType>
-
- <simpleType name="ServiceType_t">
- <restriction base="string">
- <annotation>
- <appinfo>
- <enumeration value="org.ogf.glue"/>
- <enumeration value="org.glite.fts"/>
- <enumeration value="org.glite.lb"/>
- <enumeration value="org.glite.wms"/>
- <enumeration value="org.nordugrid.accounting.mars"/>
- <enumeration value="org.nordugrid.execution.arex"/>
- <enumeration value="org.nordugrid.execution.janitor"/>
- <enumeration value="org.nordugrid.execution.paul"/>
- <enumeration value="org.nordugrid.execution.sched"/>
- <enumeration value="org.nordugrid.infosys.eils"/>
- <enumeration value="org.nordugrid.infosys.isis"/>
- <enumeration value="org.nordugrid.infosys.rte-catalog"/>
- <enumeration value="org.nordugrid.security.charon"/>
- <enumeration value="org.nordugrid.security.delegation"/>
- <enumeration value="org.nordugrid.security.saml"/>
- <enumeration value="org.nordugrid.security.slcs"/>
- <enumeration value="org.nordugrid.storage.ahash"/>
- <enumeration value="org.nordugrid.storage.bartender"/>
- <enumeration value="org.nordugrid.storage.hopi"/>
- <enumeration value="org.nordugrid.storage.librarian"/>
- <enumeration value="org.nordugrid.storage.shepherd"/>
- <enumeration value="org.nordugrid.tests.echo"/>
- <enumeration value="org.nordugrid.tests.echo_java"/>
- <enumeration value="org.nordugrid.tests.echo_python"/>
- <enumeration value="org.nordugrid.tests.isistest"/>
- <enumeration value="org.terragrid.gridftp"/>
- <enumeration value="org.terragrid.condor-g"/>
- <enumeration value="org.terragrid.globus-mds4"/>
- <enumeration value="org.terragrid.gpfs"/>
- <enumeration value="org.terragrid.gsi-openssh"/>
- <enumeration value="org.terragrid.prewsgram"/>
- <enumeration value="org.terragrid.rft"/>
- <enumeration value="org.terragrid.srb"/>
- <enumeration value="org.terragrid.ws-delegation"/>
- <enumeration value="org.terragrid.ws-gram"/>
- <enumeration value="org.terragrid.ws-ogsadai"/>
- </appinfo>
- </annotation>
- </restriction>
- </simpleType>
-
- <simpleType name="ServingState_t">
- <restriction base="string">
- <enumeration value="closed"/>
- <enumeration value="draining"/>
- <enumeration value="production"/>
- <enumeration value="queueing"/>
- </restriction>
- </simpleType>
-
- <simpleType name="Staging_t">
- <restriction base="string">
- <enumeration value="none"/>
- <enumeration value="stagingin"/>
- <enumeration value="staginginout"/>
- <enumeration value="stagingout"/>
- </restriction>
- </simpleType>
-
- <simpleType name="StorageAccessProtocolType_t">
- <restriction base="string">
- <annotation>
- <appinfo>
- <enumeration value="afs"/>
- <enumeration value="dcap"/>
- <enumeration value="file"/>
- <enumeration value="gsidcap"/>
- <enumeration value="gsiftp"/>
- <enumeration value="gsirfio"/>
- <enumeration value="http"/>
- <enumeration value="https"/>
- <enumeration value="nfs"/>
- <enumeration value="rfio"/>
- <enumeration value="root"/>
- <enumeration value="xrootd"/>
- <enumeration value="uftp"/>
- </appinfo>
- </annotation>
- </restriction>
- </simpleType>
-
- <simpleType name="StorageCapacity_t">
- <restriction base="string">
- <annotation>
- <appinfo>
- <enumeration value="online"/>
- <enumeration value="installedonline"/>
- <enumeration value="nearline"/>
- <enumeration value="installednearline"/>
- <enumeration value="offline"/>
- <enumeration value="cache"/>
- </appinfo>
- </annotation>
- </restriction>
- </simpleType>
-
- <simpleType name="StorageManagerType_t">
- <restriction base="string">
- <annotation>
- <appinfo>
- <enumeration value="castor"/>
- <enumeration value="dcache"/>
- <enumeration value="enstore"/>
- <enumeration value="gpfs"/>
- <enumeration value="sse"/>
- <enumeration value="tsm"/>
- </appinfo>
- </annotation>
- </restriction>
- </simpleType>
-
- <simpleType name="RetentionPolicy_t">
- <restriction base="string">
- <annotation>
- <appinfo>
- <enumeration value="custodial"/>
- <enumeration value="output"/>
- <enumeration value="replica"/>
- </appinfo>
- </annotation>
- </restriction>
- </simpleType>
-
- <simpleType name="Latitude_t">
- <restriction base="float">
- <minInclusive value="-90"/>
- <maxInclusive value="90"/>
- </restriction>
- </simpleType>
-
- <simpleType name="Longitude_t">
- <restriction base="float">
- <minExclusive value="-180"/>
- <maxInclusive value="180"/>
- </restriction>
- </simpleType>
-
-
- <!-- END DATA TYPES -->
-
-</schema>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/schema/AccessPolicy.json
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/schema/AccessPolicy.json b/modules/airavata-job-monitor/src/main/resources/schema/AccessPolicy.json
new file mode 100644
index 0000000..8f6cfe1
--- /dev/null
+++ b/modules/airavata-job-monitor/src/main/resources/schema/AccessPolicy.json
@@ -0,0 +1,13 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/AccessPolicy.json",
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Policy.json"}],
+ "properties": {
+ "EndpointID": {
+ "type": "string",
+ "description": "The ID of the Endpoint this AccessPolicy is for"
+ }
+ },
+ "required": ["EndpointID"]
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/schema/Activity.json
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/schema/Activity.json b/modules/airavata-job-monitor/src/main/resources/schema/Activity.json
new file mode 100644
index 0000000..8bd2495
--- /dev/null
+++ b/modules/airavata-job-monitor/src/main/resources/schema/Activity.json
@@ -0,0 +1,31 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Activity.json",
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Entity.json"}],
+ "properties": {
+ "UserDomainID": {
+ "type": "string",
+ "description": "An ID"
+ },
+ "EndpointID": {
+ "type": "string",
+ "description": "The ID of the Endpoint managing Activity"
+ },
+ "ShareID": {
+ "type": "string",
+ "description": "The ID of the Share servicing this Activity"
+ },
+ "ResourceID": {
+ "type": "string",
+ "description": "The ID of the Resource executing this Activity"
+ },
+ "ActivityID": {
+ "type": "array",
+ "description": "The IDs of other Activities related to this one",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bbbc35d3/modules/airavata-job-monitor/src/main/resources/schema/AdminDomain.json
----------------------------------------------------------------------
diff --git a/modules/airavata-job-monitor/src/main/resources/schema/AdminDomain.json b/modules/airavata-job-monitor/src/main/resources/schema/AdminDomain.json
new file mode 100644
index 0000000..8ed4606
--- /dev/null
+++ b/modules/airavata-job-monitor/src/main/resources/schema/AdminDomain.json
@@ -0,0 +1,51 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/AdminDomain.json",
+ "type": "object",
+ "allOf": [{"$ref": "http://schemas.ogf.org/glue/2013/05/spec_2.0_r1/Domain.json"}],
+ "properties": {
+ "Distributed": {
+ "type": "boolean",
+ "description": "true if the services managed by the AdminDomain are geographically distributed"
+ },
+ "Owner": {
+ "type": "array",
+ "description": "Identification of persons or legal entities that own the resources in this AdminDomain",
+ "items": {
+ "type": "string"
+ }
+ },
+ "ServiceID": {
+ "type": "array",
+ "description": "IDs of Services in this AdminDomain",
+ "items": {
+ "type": "string"
+ }
+ },
+ "ChildDomainID": {
+ "type": "array",
+ "description": "IDs of AdminDomains aggregated by this AdminDomain",
+ "items": {
+ "type": "string"
+ }
+ },
+ "ParentDomainID": {
+ "type": "string",
+ "description": "The ID of the AdminDomain that this AdminDomain participates in"
+ },
+ "ComputingServiceID": {
+ "type": "array",
+ "description": "IDs of ComputingServices in this AdminDomain",
+ "items": {
+ "type": "string"
+ }
+ },
+ "StorageServiceID": {
+ "type": "array",
+ "description": "IDs of StorageServices in this AdminDomain",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+}
[3/3] git commit: Merge branch 'master' of
https://git-wip-us.apache.org/repos/asf/airavata
Posted by la...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/airavata
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/c00025f4
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/c00025f4
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/c00025f4
Branch: refs/heads/master
Commit: c00025f4935ce63f6f42d9c787f3400c3a2afb8d
Parents: bbbc35d 703a92b
Author: lahiru <la...@apache.org>
Authored: Tue Mar 11 15:40:58 2014 -0400
Committer: lahiru <la...@apache.org>
Committed: Tue Mar 11 15:40:58 2014 -0400
----------------------------------------------------------------------
.../registry/jpa/impl/ExperimentRegistry.java | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
----------------------------------------------------------------------