Complete INVENTORY Schema

http://sciencegateways.org/SGCIResource

Schema for an SGCI Resource

type

object

properties

  • schemaVersion

Version of the SGCI Resource Descriptions schema used for this description.

type

string

  • host

Network addressable name (hostname) serving as a unique identifier for the resource across all SGCI resource descriptions.

hostName

  • name

Human-readable, displayable name for the resource

resourceName

  • description

Detailed description of the resource.

type

string

maxLength

2048

  • storageResources

storageDefinitionList

  • computeResources

computeDefinitionList

  • resourceStatus

statusDefinition

  • resourceOutages

outageDefinitionList

additionalProperties

False

resourceName

Human-readable, displayable name for the resource

type

string

maxLength

256

minLength

1

hostName

label assigned to identify the device as an internet point of access

type

string

maxLength

256

minLength

1

dirPath

the general form of the name of a file or directory, it specifies a unique location in the file system

type

string

maxLength

1024

minLength

1

connectionDefinition

The connection object defines all parameters required to establish a connection with the resource

type

object

properties

  • connectionProtocol

Communication protocol required to establish a connection with the resource

type

string

enum

SSH, GLOBUS, HTTP, HTTPS, SFTP, SCP, IRODS

  • securityProtocol

Cryptographic or access protocol enabled to access the resource

type

string

enum

PASSWORDS, SSHKEYS, APIKEYS, X509, OAUTH2

  • host

Communication endpoint host (if omitted, the top level host of this resource is used)

hostName

  • port

Communication endpoint port

type

integer

  • proxyHost

The ProxyHost object includes details required to connect to the proxy tunneling

hostName

  • proxyPort

Communication endpoint required by the proxy

type

integer

storageDefinitionList

type

array

items

storageDefinition

computeDefinitionList

type

array

items

computeDefinition

outageDefinitionList

type

array

items

outageDefinition

storageDefinition

The storage object is used to describe storage properties of the resource. All resources in the SGCI Resource Catalog are assumed to provide storage facilities, and as such, All resource descriptions must include values for the storage properties.

type

object

properties

  • storageType

High-level category to which this storage resource belongs. Determines additional properties that can be provided.

type

string

enum

POSIX, S3, IRODS

  • connections

The connection objects indicate available methods for accessing the resource.

type

array

items

connectionDefinition

minItems

1

  • fileSystems

The fileSystem objects containing information about the paths available on the storage resource.

type

array

items

fileSystemDefinition

  • defaultQuota

The defaultQuota object includes quota information about the available storage per

type

object

properties

  • bytesPerUser

type

integer

fileSystemDefinition

The fileSystem object contains information about the paths available on the storage resource.

type

object

properties

  • mountDir

The path on the resource where the fileSystem is mounted.

dirPath

  • homeDir

The path on the resource serving as the base for user specific home directories.

dirPath

  • scratchDir

The path on the resource serving as the base for the SCRATCH file system, typically non-shared storage where running jobs should direct their I/O while executing.

dirPath

  • workDir

The path on the resource serving as the base for the WORK file system, typically shared storage where files are staged before being copied to SCRATCH.

dirPath

  • capacity

The capacity object describes the total available storage on the fileSystem.

type

object

properties

  • totalBytes

The total bytes of storage available on the fileSystem.

type

integer

computeDefinition

The Compute Resource Object is used to describe computational properties of the resource. Not all resources in the SGCI Resource Catalog are assumed to provide compute facilities.

type

object

properties

  • schedulerType

Job scheduler configured on the resource

type

string

enum

FORK, BATCH

  • connections

The connection objects indicate available methods for accessing the resource.

type

array

items

connectionDefinition

minItems

1

  • executionCommands

This list defines all the commands required to execute any command on the resource

type

array

items

executionCommandDefinition

  • batchSystem

The batchSystem object lists all parameters required by the batch scheduler system

batchSystemDefinition

  • forkSystem

The forkSystem object lists all parameters required by the fork scheduler system

forkSystemDefinition

executionCommandDefinition

The execution Command Object describes how a commnad should be executed on the resource

type

object

properties

  • commandType

label that describe the type of command supported by the resource

type

string

examples

serial

mpi

openmp

ccm

  • commandPrefix

command to be preappend to the command in order to be executed as the commandType, e.g mpi->mpirun

type

string

examples

ibrun

mpirun

  • moduleDependencies

list of modules to be loaded before execution of the command

type

array

items

type

string

batchSystemDefinition

type

object

properties

  • jobManager

Job scheduler software installed on the resource no handle job requests

type

string

enum

SLURM, SGE, PBS, PBSPRO, TORQUE, LOADLEVELER, LSF

  • host

Hostname of the job manager

hostName

  • commandPaths

List of commands supported by the Batch System

type

array

items

commandPathDefinition

  • partitions

List of public partitions and queues installed on the Batch System

type

array

items

partitionDefinition

commandPathDefinition

type

object

properties

  • name

Label that defines the operation supported by the system

type

string

examples

SUBMISSION

JOB_MONITORING

DELETION

CHECK_JOB

SHOW_QUEUE

SHOW_RESERVATION

SHOW_START

  • path

Complete path to the command that executes the operation

type

string

partitionDefinition

type

object

properties

  • name

This label represents a partition of hardware for the resource, typically a queue or partition in the job scheduler

type

string

examples

normal

large-mem

  • submitArgs

Arguments required to request this partition of hardware (if omitted, ‘-p PARTITION_NAME’ or ‘-q PARTITION_NAME’ is used, depending on the job scheduler)

type

array

examples

–nodes=1

–partition=hugemem

–exclusive

–constraint=40core

items

type

string

  • totalNodes

Number of available nodes on this partition / queue

type

integer

  • nodeHardware

The nodeHardware object includes detailed information of the node

nodeHardwareDefinition

  • computeQuotas

queues or partition may have multiple restriction on the jobs allowed to run

type

object

properties

  • minJobsTotal

Minimum number of allowed jobs actively running on the partition

type

integer

  • maxJobsTotal

Maximum number of allowed jobs actively running on the partition

type

integer

  • minJobsPerUser

Minimum number of allowed jobs actively running on the partition for a user

type

integer

  • maxJobsPerUser

Maximum number of allowed jobs actively running on the partition for a user

type

integer

  • minNodesPerJob

Minimum number of nodes allowed to be used by a job

type

integer

  • maxNodesPerJob

Maximum number of nodes allowed to be used by a job

type

integer

  • minTimePerJob

Minimum time a job can run without been killed

type

integer

  • maxTimePerJob

Maximum time a job can run without been killed

type

integer

  • minMemoryPerJob

Minimum memory allocated for a job

type

string

  • maxMemoryPerJob

Maximum memory allocated for a job

type

string

  • minCPUsPerJob

Minimum number of cpus allowed to be used by a job

type

integer

  • maxCPUsPerJob

Maximum number of cpus allowed to be used by a job

type

integer

  • minGPUsPerJob

Minimum number of gpus allowed to be used by a job

type

integer

  • maxGPUsPerJob

Maximum number of gpus allowed to be used by a job

type

integer

  • minCPUsPerNode

Minimum number of cpus allowed to be requested for a node

type

integer

  • maxCPUsPerNode

Maximum number of cpus allowed to be requested for a node

type

integer

forkSystemDefinition

type

object

properties

  • systemType

OS installed on the resource

type

string

enum

LINUX, WINDOWS

  • version

Version of OS installed on the resource

type

string

  • nodeHardware

NodeHardware object contains details about the software installed on the resource

nodeHardwareDefinition

nodeHardwareDefinition

type

object

properties

  • cpuType

Type of cpus installed on the resource

type

string

examples

Haswell CPUs @ 2.60GHz

Intel Xeon-E5

  • cpuCount

Total number of cpus available on the resource

type

integer

  • gpuType

Type of gpus installed on the resource

type

string

examples

NVIDIA Tesla P100

NVIDIA Tesla M2090

  • gpuCount

Total number of gpus available on the resource

type

integer

  • memoryType

Type of memory installed on the resource

type

string

  • memorySize

Total memory available on the resource

type

string

examples

64 GB

statusDefinition

type

object

properties

  • status

Descriptive current resource status

type

string

enum

Pre-production, Production, Post-production

  • startDate

When the resource starts the current status

type

string

format

date

  • endsDate

When the resource ends the current status

type

string

format

date

outageDefinition

type

object

properties

  • outageType

It the outage full or partial

type

string

enum

Partial, Full

  • name

Outage descriptive name

type

string

maxLength

128

minLength

1

  • description

Outage description

type

string

maxLength

4096

minLength

1

  • url

Outage details URL

type

string

format

uri

  • startsDatetime

Starting date and time in UTC and ISO 8601 format

type

string

format

date-time

  • endsDatetime

Ending date and time in UTC and ISO 8601 format

type

string

format

date-time