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/05/01 20:29:21 UTC
[3/9] Separating gfac-monitoring implementation
http://git-wip-us.apache.org/repos/asf/airavata/blob/553caa08/modules/gfac/gfac-monitor/src/main/resources/errors.properties
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/resources/errors.properties b/modules/gfac/gfac-monitor/src/main/resources/errors.properties
new file mode 100644
index 0000000..88c41b8
--- /dev/null
+++ b/modules/gfac/gfac-monitor/src/main/resources/errors.properties
@@ -0,0 +1,197 @@
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you 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.
+#
+
+# Directly copied from jglobus. Not a good way to manager error properties.
+1 = Parameter not supported
+2 = The RSL length is greater than the maximum allowed
+3 = No resources available
+4 = Bad directory specified
+5 = The executable does not exist
+6 = Insufficient funds
+7 = Authentication with the remote server failed
+8 = Job cancelled by user
+9 = Job cancelled by system
+
+10 = Data transfer to the server failed
+11 = The stdin file does not exist
+12 = The connection to the server failed (check host and port)
+13 = The provided RSL 'maxtime' value is invalid (not an integer or must be greater than 0)
+14 = The provided RSL 'count' value is invalid (not an integer or must be greater than 0)
+15 = The job manager received an invalid RSL
+16 = Could not connect to job manager
+17 = The job failed when the job manager attempted to run it
+18 = Paradyn error
+19 = The provided RSL 'jobtype' value is invalid
+
+20 = The provided RSL 'myjob' value is invalid
+21 = The job manager failed to locate an internal script argument file
+22 = The job manager failed to create an internal script argument file
+23 = The job manager detected an invalid job state
+24 = The job manager detected an invalid script response
+25 = The job manager detected an invalid job state
+26 = The provided RSL 'jobtype' value is not supported by this job manager
+27 = Unimplemented
+28 = The job manager failed to create an internal script submission file
+29 = The job manager cannot find the user proxy
+
+30 = The job manager failed to open the user proxy
+31 = The job manager failed to cancel the job as requested
+32 = System memory allocation failed
+33 = The interprocess job communication initialization failed
+34 = The interprocess job communication setup failed
+35 = The provided RSL 'host count' value is invalid
+36 = One of the provided RSL parameters is unsupported
+37 = The provided RSL 'queue' parameter is invalid
+38 = The provided RSL 'project' parameter is invalid
+39 = The provided RSL string includes variables that could not be identified
+
+40 = The provided RSL 'environment' parameter is invalid
+41 = The provided RSL 'dryrun' parameter is invalid
+42 = The provided RSL is invalid (an empty string)
+43 = The job manager failed to stage the executable
+44 = The job manager failed to stage the stdin file
+45 = The requested job manager type is invalid
+46 = The provided RSL 'arguments' parameter is invalid
+47 = The gatekeeper failed to run the job manager
+48 = The provided RSL could not be properly parsed
+49 = There is a version mismatch between GRAM components
+
+50 = The provided RSL 'arguments' parameter is invalid
+51 = The provided RSL 'count' parameter is invalid
+52 = The provided RSL 'directory' parameter is invalid
+53 = The provided RSL 'dryrun' parameter is invalid
+54 = The provided RSL 'environment' parameter is invalid
+55 = The provided RSL 'executable' parameter is invalid
+56 = The provided RSL 'host_count' parameter is invalid
+57 = The provided RSL 'jobtype' parameter is invalid
+58 = The provided RSL 'maxtime' parameter is invalid
+59 = The provided RSL 'myjob' parameter is invalid
+
+60 = The provided RSL 'paradyn' parameter is invalid
+61 = The provided RSL 'project' parameter is invalid
+62 = The provided RSL 'queue' parameter is invalid
+63 = The provided RSL 'stderr' parameter is invalid
+64 = The provided RSL 'stdin' parameter is invalid
+65 = The provided RSL 'stdout' parameter is invalid
+66 = The job manager failed to locate an internal script
+67 = The job manager failed on the system call pipe()
+68 = The job manager failed on the system call fcntl()
+69 = The job manager failed to create the temporary stdout filename
+
+70 = The job manager failed to create the temporary stderr filename
+71 = The job manager failed on the system call fork()
+72 = The executable file permissions do not allow execution
+73 = The job manager failed to open stdout
+74 = The job manager failed to open stderr
+75 = The cache file could not be opened in order to relocate the user proxy
+76 = Cannot access cache files in ~/.globus/.gass_cache, check permissions, quota, and disk space
+77 = The job manager failed to insert the contact in the client contact list
+78 = The contact was not found in the job manager's client contact list
+79 = Connecting to the job manager failed. Possible reasons: job terminated, invalid job contact, network problems, ...
+
+80 = The syntax of the job contact is invalid
+81 = The executable parameter in the RSL is undefined
+82 = The job manager service is misconfigured. condor arch undefined
+83 = The job manager service is misconfigured. condor os undefined
+84 = The provided RSL 'min_memory' parameter is invalid
+85 = The provided RSL 'max_memory' parameter is invalid
+86 = The RSL 'min_memory' value is not zero or greater
+87 = The RSL 'max_memory' value is not zero or greater
+88 = The creation of a HTTP message failed
+89 = Parsing incoming HTTP message failed
+
+90 = The packing of information into a HTTP message failed
+91 = An incoming HTTP message did not contain the expected information
+92 = The job manager does not support the service that the client requested
+93 = The gatekeeper failed to find the requested service
+94 = The jobmanager does not accept any new requests (shutting down)
+95 = The client failed to close the listener associated with the callback URL
+96 = The gatekeeper contact cannot be parsed
+97 = The job manager could not find the 'poe' command
+98 = The job manager could not find the 'mpirun' command
+99 = The provided RSL 'start_time' parameter is invalid"
+100 = The provided RSL 'reservation_handle' parameter is invalid
+
+101 = The provided RSL 'max_wall_time' parameter is invalid
+102 = The RSL 'max_wall_time' value is not zero or greater
+103 = The provided RSL 'max_cpu_time' parameter is invalid
+104 = The RSL 'max_cpu_time' value is not zero or greater
+105 = The job manager is misconfigured, a scheduler script is missing
+106 = The job manager is misconfigured, a scheduler script has invalid permissions
+107 = The job manager failed to signal the job
+108 = The job manager did not recognize/support the signal type
+109 = The job manager failed to get the job id from the local scheduler
+
+110 = The job manager is waiting for a commit signal
+111 = The job manager timed out while waiting for a commit signal
+112 = The provided RSL 'save_state' parameter is invalid
+113 = The provided RSL 'restart' parameter is invalid
+114 = The provided RSL 'two_phase' parameter is invalid
+115 = The RSL 'two_phase' value is not zero or greater
+116 = The provided RSL 'stdout_position' parameter is invalid
+117 = The RSL 'stdout_position' value is not zero or greater
+118 = The provided RSL 'stderr_position' parameter is invalid
+119 = The RSL 'stderr_position' value is not zero or greater
+
+120 = The job manager restart attempt failed
+121 = The job state file doesn't exist
+122 = Could not read the job state file
+123 = Could not write the job state file
+124 = The old job manager is still alive
+125 = The job manager state file TTL expired
+126 = It is unknown if the job was submitted
+127 = The provided RSL 'remote_io_url' parameter is invalid
+128 = Could not write the remote io url file
+129 = The standard output/error size is different
+
+130 = The job manager was sent a stop signal (job is still running)
+131 = The user proxy expired (job is still running)
+132 = The job was not submitted by original jobmanager
+133 = The job manager is not waiting for that commit signal
+134 = The provided RSL scheduler specific parameter is invalid
+135 = The job manager could not stage in a file
+136 = The scratch directory could not be created
+137 = The provided 'gass_cache' parameter is invalid
+138 = The RSL contains attributes which are not valid for job submission
+139 = The RSL contains attributes which are not valid for stdio update
+
+140 = The RSL contains attributes which are not valid for job restart
+141 = The provided RSL 'file_stage_in' parameter is invalid
+142 = The provided RSL 'file_stage_in_shared' parameter is invalid
+143 = The provided RSL 'file_stage_out' parameter is invalid
+144 = The provided RSL 'gass_cache' parameter is invalid
+145 = The provided RSL 'file_cleanup' parameter is invalid
+146 = The provided RSL 'scratch_dir' parameter is invalid
+147 = The provided scheduler-specific RSL parameter is invalid
+148 = A required RSL attribute was not defined in the RSL spec
+149 = The gass_cache attribute points to an invalid cache directory
+
+150 = The provided RSL 'save_state' parameter has an invalid value
+151 = The job manager could not open the RSL attribute validation file
+152 = The job manager could not read the RSL attribute validation file
+153 = The provided RSL 'proxy_timeout' is invalid
+154 = The RSL 'proxy_timeout' value is not greater than zero
+155 = The job manager could not stage out a file
+156 = The job contact string does not match any which the job manager is handling
+157 = Proxy delegation failed
+158 = The job manager could not lock the state lock file
+
+1000 = Failed to start up callback handler
+1003 = Job contact not set
http://git-wip-us.apache.org/repos/asf/airavata/blob/553caa08/modules/gfac/gfac-monitor/src/main/resources/schema/AccessPolicy.json
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/resources/schema/AccessPolicy.json b/modules/gfac/gfac-monitor/src/main/resources/schema/AccessPolicy.json
new file mode 100644
index 0000000..8f6cfe1
--- /dev/null
+++ b/modules/gfac/gfac-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/553caa08/modules/gfac/gfac-monitor/src/main/resources/schema/Activity.json
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/resources/schema/Activity.json b/modules/gfac/gfac-monitor/src/main/resources/schema/Activity.json
new file mode 100644
index 0000000..8bd2495
--- /dev/null
+++ b/modules/gfac/gfac-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/553caa08/modules/gfac/gfac-monitor/src/main/resources/schema/AdminDomain.json
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/resources/schema/AdminDomain.json b/modules/gfac/gfac-monitor/src/main/resources/schema/AdminDomain.json
new file mode 100644
index 0000000..8ed4606
--- /dev/null
+++ b/modules/gfac/gfac-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"
+ }
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/553caa08/modules/gfac/gfac-monitor/src/main/resources/schema/ApplicationEnvironment.json
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/resources/schema/ApplicationEnvironment.json b/modules/gfac/gfac-monitor/src/main/resources/schema/ApplicationEnvironment.json
new file mode 100644
index 0000000..89c78e0
--- /dev/null
+++ b/modules/gfac/gfac-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/553caa08/modules/gfac/gfac-monitor/src/main/resources/schema/ApplicationHandle.json
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/resources/schema/ApplicationHandle.json b/modules/gfac/gfac-monitor/src/main/resources/schema/ApplicationHandle.json
new file mode 100644
index 0000000..e7972e9
--- /dev/null
+++ b/modules/gfac/gfac-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/553caa08/modules/gfac/gfac-monitor/src/main/resources/schema/Benchmark.json
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/resources/schema/Benchmark.json b/modules/gfac/gfac-monitor/src/main/resources/schema/Benchmark.json
new file mode 100644
index 0000000..2b64261
--- /dev/null
+++ b/modules/gfac/gfac-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/553caa08/modules/gfac/gfac-monitor/src/main/resources/schema/ComputingActivity.json
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/resources/schema/ComputingActivity.json b/modules/gfac/gfac-monitor/src/main/resources/schema/ComputingActivity.json
new file mode 100644
index 0000000..5fcae72
--- /dev/null
+++ b/modules/gfac/gfac-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/553caa08/modules/gfac/gfac-monitor/src/main/resources/schema/ComputingEndpoint.json
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/resources/schema/ComputingEndpoint.json b/modules/gfac/gfac-monitor/src/main/resources/schema/ComputingEndpoint.json
new file mode 100644
index 0000000..f94f889
--- /dev/null
+++ b/modules/gfac/gfac-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/553caa08/modules/gfac/gfac-monitor/src/main/resources/schema/ComputingManager.json
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/resources/schema/ComputingManager.json b/modules/gfac/gfac-monitor/src/main/resources/schema/ComputingManager.json
new file mode 100644
index 0000000..aecb114
--- /dev/null
+++ b/modules/gfac/gfac-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/553caa08/modules/gfac/gfac-monitor/src/main/resources/schema/ComputingService.json
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/resources/schema/ComputingService.json b/modules/gfac/gfac-monitor/src/main/resources/schema/ComputingService.json
new file mode 100644
index 0000000..9cfde1b
--- /dev/null
+++ b/modules/gfac/gfac-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/553caa08/modules/gfac/gfac-monitor/src/main/resources/schema/ComputingShare.json
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/resources/schema/ComputingShare.json b/modules/gfac/gfac-monitor/src/main/resources/schema/ComputingShare.json
new file mode 100644
index 0000000..340c83e
--- /dev/null
+++ b/modules/gfac/gfac-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/553caa08/modules/gfac/gfac-monitor/src/main/resources/schema/Contact.json
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/resources/schema/Contact.json b/modules/gfac/gfac-monitor/src/main/resources/schema/Contact.json
new file mode 100644
index 0000000..436b262
--- /dev/null
+++ b/modules/gfac/gfac-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/553caa08/modules/gfac/gfac-monitor/src/main/resources/schema/DataStore.json
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/resources/schema/DataStore.json b/modules/gfac/gfac-monitor/src/main/resources/schema/DataStore.json
new file mode 100644
index 0000000..8f15447
--- /dev/null
+++ b/modules/gfac/gfac-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/553caa08/modules/gfac/gfac-monitor/src/main/resources/schema/Domain.json
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/resources/schema/Domain.json b/modules/gfac/gfac-monitor/src/main/resources/schema/Domain.json
new file mode 100644
index 0000000..5bd996b
--- /dev/null
+++ b/modules/gfac/gfac-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/553caa08/modules/gfac/gfac-monitor/src/main/resources/schema/Endpoint.json
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/resources/schema/Endpoint.json b/modules/gfac/gfac-monitor/src/main/resources/schema/Endpoint.json
new file mode 100644
index 0000000..b75b02a
--- /dev/null
+++ b/modules/gfac/gfac-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/553caa08/modules/gfac/gfac-monitor/src/main/resources/schema/Entity.json
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/resources/schema/Entity.json b/modules/gfac/gfac-monitor/src/main/resources/schema/Entity.json
new file mode 100644
index 0000000..5d1ae46
--- /dev/null
+++ b/modules/gfac/gfac-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/553caa08/modules/gfac/gfac-monitor/src/main/resources/schema/ExecutionEnvironment.json
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/resources/schema/ExecutionEnvironment.json b/modules/gfac/gfac-monitor/src/main/resources/schema/ExecutionEnvironment.json
new file mode 100644
index 0000000..77bf876
--- /dev/null
+++ b/modules/gfac/gfac-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/553caa08/modules/gfac/gfac-monitor/src/main/resources/schema/Glue2.json
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/resources/schema/Glue2.json b/modules/gfac/gfac-monitor/src/main/resources/schema/Glue2.json
new file mode 100644
index 0000000..bb80505
--- /dev/null
+++ b/modules/gfac/gfac-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/553caa08/modules/gfac/gfac-monitor/src/main/resources/schema/Location.json
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/resources/schema/Location.json b/modules/gfac/gfac-monitor/src/main/resources/schema/Location.json
new file mode 100644
index 0000000..8491cc0
--- /dev/null
+++ b/modules/gfac/gfac-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/553caa08/modules/gfac/gfac-monitor/src/main/resources/schema/Manager.json
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/resources/schema/Manager.json b/modules/gfac/gfac-monitor/src/main/resources/schema/Manager.json
new file mode 100644
index 0000000..d1df50a
--- /dev/null
+++ b/modules/gfac/gfac-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/553caa08/modules/gfac/gfac-monitor/src/main/resources/schema/MappingPolicy.json
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/resources/schema/MappingPolicy.json b/modules/gfac/gfac-monitor/src/main/resources/schema/MappingPolicy.json
new file mode 100644
index 0000000..268844d
--- /dev/null
+++ b/modules/gfac/gfac-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/553caa08/modules/gfac/gfac-monitor/src/main/resources/schema/Policy.json
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/resources/schema/Policy.json b/modules/gfac/gfac-monitor/src/main/resources/schema/Policy.json
new file mode 100644
index 0000000..f936699
--- /dev/null
+++ b/modules/gfac/gfac-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/553caa08/modules/gfac/gfac-monitor/src/main/resources/schema/Resource.json
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/resources/schema/Resource.json b/modules/gfac/gfac-monitor/src/main/resources/schema/Resource.json
new file mode 100644
index 0000000..88d08ad
--- /dev/null
+++ b/modules/gfac/gfac-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/553caa08/modules/gfac/gfac-monitor/src/main/resources/schema/Service.json
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/resources/schema/Service.json b/modules/gfac/gfac-monitor/src/main/resources/schema/Service.json
new file mode 100644
index 0000000..4662407
--- /dev/null
+++ b/modules/gfac/gfac-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/553caa08/modules/gfac/gfac-monitor/src/main/resources/schema/Share.json
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/resources/schema/Share.json b/modules/gfac/gfac-monitor/src/main/resources/schema/Share.json
new file mode 100644
index 0000000..258fc1b
--- /dev/null
+++ b/modules/gfac/gfac-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/553caa08/modules/gfac/gfac-monitor/src/main/resources/schema/StorageAccessProtocol.json
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/resources/schema/StorageAccessProtocol.json b/modules/gfac/gfac-monitor/src/main/resources/schema/StorageAccessProtocol.json
new file mode 100644
index 0000000..05a830b
--- /dev/null
+++ b/modules/gfac/gfac-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/553caa08/modules/gfac/gfac-monitor/src/main/resources/schema/StorageEndpoint.json
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/resources/schema/StorageEndpoint.json b/modules/gfac/gfac-monitor/src/main/resources/schema/StorageEndpoint.json
new file mode 100644
index 0000000..38b27c4
--- /dev/null
+++ b/modules/gfac/gfac-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/553caa08/modules/gfac/gfac-monitor/src/main/resources/schema/StorageManager.json
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/resources/schema/StorageManager.json b/modules/gfac/gfac-monitor/src/main/resources/schema/StorageManager.json
new file mode 100644
index 0000000..f3984f6
--- /dev/null
+++ b/modules/gfac/gfac-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/553caa08/modules/gfac/gfac-monitor/src/main/resources/schema/StorageService.json
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/resources/schema/StorageService.json b/modules/gfac/gfac-monitor/src/main/resources/schema/StorageService.json
new file mode 100644
index 0000000..a03d111
--- /dev/null
+++ b/modules/gfac/gfac-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/553caa08/modules/gfac/gfac-monitor/src/main/resources/schema/StorageServiceCapacity.json
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/resources/schema/StorageServiceCapacity.json b/modules/gfac/gfac-monitor/src/main/resources/schema/StorageServiceCapacity.json
new file mode 100644
index 0000000..a25c204
--- /dev/null
+++ b/modules/gfac/gfac-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/553caa08/modules/gfac/gfac-monitor/src/main/resources/schema/StorageShare.json
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/resources/schema/StorageShare.json b/modules/gfac/gfac-monitor/src/main/resources/schema/StorageShare.json
new file mode 100644
index 0000000..9703118
--- /dev/null
+++ b/modules/gfac/gfac-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/553caa08/modules/gfac/gfac-monitor/src/main/resources/schema/StorageShareCapacity.json
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/resources/schema/StorageShareCapacity.json b/modules/gfac/gfac-monitor/src/main/resources/schema/StorageShareCapacity.json
new file mode 100644
index 0000000..f392c94
--- /dev/null
+++ b/modules/gfac/gfac-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/553caa08/modules/gfac/gfac-monitor/src/main/resources/schema/ToComputingService.json
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/src/main/resources/schema/ToComputingService.json b/modules/gfac/gfac-monitor/src/main/resources/schema/ToComputingService.json
new file mode 100644
index 0000000..6d81b80
--- /dev/null
+++ b/modules/gfac/gfac-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"]
+}