SGCI / sgci-resource-inventory

This contains all the computational resource entities
https://sgci-resource-inventory.readthedocs.io/en/latest/introduction.html
Apache License 2.0
6 stars 2 forks source link

Information on data transports like Globus #27

Open yadudoc opened 2 years ago

yadudoc commented 2 years ago

Having information on the data transport systems supported by a resource is valuable. I would like to see some basic information on data transports supported by resources covered by the schema. The following is just a suggestion based on my very rudimentary understanding of globus data transport system. Might make sense to get some feedback from @kylechard on this. I'm sure it needs to be generalized better to support other transport systems like scp, IRODS, GridFTP to be useful.

    "TransferDefinition": {
      "description": "The transfer object defines all parameters required to establish a data transfer with the resource",
      "type": "object",
      "required": [
        "dataTransferProtocol",
        "securityProtocol"
      ],
      "properties": {
        "dataTransferProtocol": {
          "description": "Data transfer protocol required to establish a connection with the resource",
          "type": "string",
          "enum": [
            "GLOBUS",
            "HTTP",
          ]
        },
       "URL": {
          "description":"URL for the resource",
          "type": "string",
          "format": "uri"
        },
        "PathMap": {
          "description":"Mapping between local filesystem and path visible to Transport",
          "type": "object",
          "properties": {
              "TransportRoot": {
                  "description":"The filesystem root seen by the transport system",
                  "$ref": "#/definitions/dirPath"
              },
              "LocalFilesystemRoot": {
                  "description":" The filesystem path on the resource to which the TransportRoot is mapped",
                  "$ref": "#/definitions/dirPath"
              }

           },
        }
     }
joestubbs commented 2 years ago

Hi @yadudoc (cc @kylechard)

Thanks for thinking about this! The specification does have a connectionProtocol attribute which is an enum with possible values that include GLOBUS and HTTP (see https://sgci-resource-inventory.readthedocs.io/en/latest/storageDefinition.html#connection-object-connectiondefinition). Could this be used for what you are trying to accomplish, and if not, can you explain how the dataTransferProtocol would differ?