StoRM GLUE 2.0 template
This twiki contains detailed information on how to publish StoRM in GLUE 2.0. For all the relevant GLUE 2.0 objects that apply to StoRM, the following information has been collected:
- A summary of the attributes that must be published according to the EGI profile for GLUE 2.0
- An example LDIF file
- Results of validating how StoRM is currently publishing those attributes in GLUE 2.0
GLUE2StorageService
EGI profile definition
LDIF template
dn: GLUE2ServiceID=serviceID,GLUE2GroupID=resource,o=glue
GLUE2ServiceID: serviceID
objectClass: GLUE2Service
objectClass: GLUE2StorageService
GLUE2EntityCreationTime: 2013-05-24T09:52:02Z
GLUE2EntityOtherInfo: ProfileName=EGI
GLUE2EntityOtherInfo: ProfileVersion=1.0
GLUE2ServiceType: Storage
GLUE2ServiceQualityLevel: production
GLUE2ServiceCapability: data.management.storage
GLUE2ServiceAdminDomainForeignKey: TEST-SITE
GLUE 2.0 validation status
Attribute |
Status |
Comments |
objectClass: GLUE2StorageService |
|
|
GLUE2EntityCreationTime |
|
Recommended and not published |
GLUE2EntityOtherInfo: ProfileName |
|
Mandatory and not published |
GLUE2EntityOtherInfo: ProfileVersion |
|
Mandatory and not published |
GLUE2ServiceID |
|
|
GLUE2ServiceCapability |
|
data.management.storage |
GLUE2ServiceType |
|
Storage , which is not part of ServiceType_t , should it be included? |
GLUE2ServiceQualityLevel |
|
2 , does not meet QualityLevel_t |
GLUE2ServiceAdminDomainForeignKey |
|
|
GLUE2StorageServiceCapacity
It represents the size of the data storage associated to a StorageService.
EGI profile definition
LDIF template
dn: GLUE2StorageServiceCapacityID=capacityID, GLUE2StorageService=serviceID,GLUE2GroupID=resource,o=glue
GLUE2StorageServiceCapacityID: capacityID
objectClass: GLUE2StorageServiceCapacity
GLUE2EntityCreationTime: 2013-05-24T09:52:02Z
GLUE2StorageServiceCapacityType: online
GLUE2StorageServiceCapacityTotalSize: 35
GLUE2StorageServiceCapacityUsedSize: 0
GLUE2StorageServiceCapacityFreeSize: 35
GLUE2StorageServiceCapacityStorageServiceForeignKey: serviceID
GLUE 2.0 validation status
Attribute |
Status |
Comments |
GLUE2EntityCreationTime |
|
Recommended and not published |
GLUE2StorageServiceCapacityID |
|
|
GLUE2StorageServiceCapacityType |
|
|
GLUE2StorageServiceCapacityTotalSize |
|
|
GLUE2StorageServiceCapacityUsedSize |
|
|
GLUE2StorageServiceCapacityFreeSize |
|
|
GLUE2StorageServiceCapacityReservedSize |
|
Recommended and not published |
GLUE2StorageServiceCapacityStorageServiceForeignKey |
|
Publishes the Capacity ID instead of the Service ID |
UsedSize,
FreeSize and
ReservedSize are 0 if the size is less than 1GB. This doesn't give a coherent
TotalSize number. See discussion in
GGUS:92217
.
GLUE2StorageAccessProtocol
It gives information on
ALL the available protocols that can be used to store or retrieve data from DataStores.
EGI profile definition
LDIF template
dn: GLUE2StorageAccessProtocolID=protocolID,GLUE2ServiceID=serviceID,GLUE2GroupID=resource,o=glue
GLUE2StorageAccessProtocolID: protocolID
objectClass: GLUE2StorageAccessProtocol
GLUE2EntityCreationTime: 2013-05-24T09:52:02Z
GLUE2StorageAccessProtocolType: gsiftp
GLUE2StorageAccessProtocolVersion: 2.0.0
GLUE2StorageAccessProtocolStorageServiceForeignKey: serviceID
GLUE 2.0 validation status
Attribute |
Status |
Comments |
GLUE2EntityCreationTime |
|
Recommended and not published |
GLUE2StorageAccessProtocolID |
|
|
GLUE2StorageAccessProtocolType |
|
|
GLUE2StorageAccessProtocolVersion |
|
|
GLUE2StorageAccessProtocolStorageServiceForeignKey |
|
Publishes the Protocol ID instead of the Service ID |
GLUE2StorageEndpoint
It represents an endpoint for managing StorageShares or for accessing data stored in them. If the access protocol is available via SRM, it may be published as an endpoint. If not, if should be published as an endpoint. When multiple endpoints are published for the same protocol, clients can choose one at random unless there is more specific documentation that says something else.
For the protocols accessible via SRM, the OtherInfo attribute is used.
EGI profile definition
LDIF template
dn: GLUE2EndpointID=endpointID,GLUE2ServiceID=serviceID,GLUE2GroupID=resource,o=glue
GLUE2EndpointID: endpointID
objectClass: GLUE2Endpoint
objectClass: GLUE2StorageEndpoint
GLUE2EntityCreationTime: 2013-05-24T09:52:02Z
GLUE2EndpointURL: httpg://hostname:port/srm/managerv2
GLUE2EndpointInterfaceName: SRM
GLUE2EndpointInterfaceVersion: 2.2.0
GLUE2EndpointImplementationName: StoRM
GLUE2EndpointImplementationVersion: 1.11.2
GLUE2EndpointQualityLevel: production
GLUE2EndpointHealthState: ok
GLUE2EndpointServingState: production
GLUE2EndpointIssuerCA: /C=IT/O=INFN/CN=INFN CA
GLUE2ServiceCapability: data.management.storage
GLUE2EndpointServiceForeignKey: serviceID
For the SRM endpoints, the following information should be also published:
GLUE2EntityOtherInfo: SupportedProtocol=root
GLUE2EntityOtherInfo: SupportedProtocol=file
GLUE2EntityOtherInfo: SupportedProtocol=gsiftp
GLUE2EntityOtherInfo: SupportedProtocol=http
GLUE2EntityOtherInfo: SupportedProtocol=https
GLUE2EntityOtherInfo: SupportedProtocol=rfio
GLUE 2.0 validation status
Attribute |
Status |
Comments |
GLUE2EntityCreationTime |
|
Recommended and not published |
GLUE2EntityOtherInfo: SupportedProtocol=xxx |
|
Mandatory for SRM |
GLUE2EndpointID |
|
|
GLUE2EndpointURL |
|
|
GLUE2EndpointInterfaceName |
|
Published as SRM, which is not part of InterfaceName_t , should it be included? |
GLUE2EndpointInterfaceVersion |
|
|
GLUE2EndpointImplementationName |
|
|
GLUE2EndpointImplementationVersion |
|
|
GLUE2EndpointQualityLevel |
|
Testing instead of testing |
GLUE2EndpointHealthState |
|
|
GLUE2EndpointServingState |
|
emi.storm.backend , does not meet QualityLevel_t |
GLUE2EndpointIssuerCA |
|
|
GLUE2EndpointCapability |
|
Publishes Storage Management instead of following Capability_t |
GLUE2EndpointServiceForeignKey |
|
|
GLUE2AccessPolicy
It defines which VOs may access a certain storage service endpoint.
EGI profile definition
LDIF template
dn: GLUE2PolicyID=policiyID,GLUE2EndpointID=endpointID,GLUE2ServiceID=serviceID,GLUE2GroupID=resource,o=glue
GLUE2PolicyID: policiyID
objectClass: GLUE2Policy
objectClass: GLUE2AccessPolicy
GLUE2EntityCreationTime: 2013-05-24T09:52:02Z
GLUE2PolicyScheme: org.glite.standard
GLUE2PolicyRule: VO:ops
GLUE2PolicyUserDomainForeignKey: ops
GLUE2AccessPolicyEndpointForeignKey: endpointID
GLUE 2.0 validation status
Attribute |
Status |
Comments |
GLUE2EntityCreationTime |
|
Recommended and not published |
GLUE2PolicyID |
|
|
GLUE2PolicyScheme |
|
|
GLUE2PolicyRule |
|
|
GLUE2PolicyUserDomainForeignKey |
|
|
GLUE2AccessPolicyEndpointForeignKey |
|
|
GLUE2StorageShare
It represents a utilization target of one or more DataStores.
EGI profile definition
LDIF template
dn: GLUE2ShareID=shareID,GLUE2ServiceID=serviceID,GLUE2GroupID=resource,o=glue
GLUE2ShareID: shareID
objectClass: GLUE2Share
objectClass: GLUE2StorageShare
GLUE2EntityCreationTime: 2013-05-24T09:52:02Z
GLUE2StorageShareSharingID: dpm_pool:replica:online
GLUE2StorageShareServingState: production
GLUE2StorageShareAccessLatency: online
GLUE2StorageShareRetentionPolicy: replica
GLUE2StorageShareExpirationMode: neverexpire
GLUE2StorageShareStorageServiceForeignKey: serviceID
GLUE 2.0 validation status
Attribute |
Status |
Comments |
GLUE2EntityCreationTime |
|
Recommended and not published |
GLUE2ShareID |
|
|
GLUE2StorageShareSharingID |
|
|
GLUE2StorageShareServingState |
|
|
GLUE2StorageShareAccessLatency |
|
|
GLUE2StorageShareRetentionPolicy |
|
|
GLUE2StorageShareExpirationMode |
|
|
GLUE2StorageShareStorageServiceForeignKey |
|
|
GLUE2MappingPolicy
It represents which VOs may consume a certain share of storage resources.
EGI profile definition
LDIF template
dn: GLUE2PolicyID=policiyID,GLUE2ShareID=endpointID,GLUE2ServiceID=serviceID,GLUE2GroupID=resource,o=glue
GLUE2PolicyID: policiyID
objectClass: GLUE2Policy
objectClass: GLUE2MappingPolicy
GLUE2EntityCreationTime: 2013-05-24T09:52:02Z
GLUE2PolicyScheme: org.glite.standard
GLUE2PolicyRule: VO:ops
GLUE2PolicyUserDomainForeignKey: ops
GLUE2MappingPolicyShareForeignKey:shareID
GLUE 2.0 validation status
This object is not published at all
Attribute |
Status |
Comments |
GLUE2EntityCreationTime |
|
|
GLUE2PolicyID |
|
|
GLUE2PolicyScheme |
|
|
GLUE2PolicyRule |
|
|
GLUE2PolicyUserDomainForeignKey |
|
|
GLUE2MappingPolicyShareForeignKey |
|
|
GLUE2StorageShareCapacity
It represents the size of the data storage associated to a StorageShare.
EGI profile definition
LDIF template
dn: GLUE2StorageShareCapacityID=capacityID,GLUE2ShareID=shareID,GLUE2ServiceID=serviceID,GLUE2GroupID=resource,o=glue
GLUE2StorageShareCapacityID: capacityID
objectClass: GLUE2StorageShareCapacity
GLUE2EntityCreationTime: 2013-05-24T09:52:02Z
GLUE2StorageShareCapacityType: online
GLUE2StorageShareCapacityTotalSize: 35
GLUE2StorageShareCapacityUsedSize: 0
GLUE2StorageShareCapacityFreeSize: 35
GLUE2StorageShareCapacityReservedSize: 0
GLUE2StorageShareCapacityStorageShareForeignKey: ShareID
GLUE 2.0 validation status
Attribute |
Status |
Comments |
GLUE2EntityCreationTime |
|
Recommended and not published |
GLUE2StorageShareCapacityID |
|
|
GLUE2StorageShareCapacityType |
|
|
GLUE2StorageShareCapacityTotalSize |
|
|
GLUE2StorageShareCapacityUsedSize |
|
|
GLUE2StorageShareCapacityFreeSize |
|
|
GLUE2StorageShareCapacityReservedSize |
|
|
GLUE2StorageShareCapacityStorageShareForeignKey |
|
Publishes the Capacity ID instead of the Share ID |
GLUE2StorageManager
It refers to the software which manages the storage system itself rather than the grid interface. For
StoRM this is the same software.
EGI profile definition
LDIF template
dn: GLUE2ManagerID=managerID,GLUE2ServiceID=serviceID,GLUE2GroupID=resource,o=glue
GLUE2ManagerID: managerID
objectClass: GLUE2Manager
objectClass: GLUE2StorageManager
GLUE2EntityCreationTime: 2013-05-24T09:52:02Z
GLUE2ManagerProductName: storm-backend-server
GLUE2ManagerProductVersion: 1.11.2
GLUE2StorageManagerStorageServiceForeignKey: serviceID
GLUE 2.0 validation status
Attribute |
Status |
Comments |
GLUE2EntityCreationTime |
|
Recommended and not published |
GLUE2ManagerID |
|
|
GLUE2ManagerProductName |
|
|
GLUE2ManagerProductVersion |
|
|
GLUE2StorageManagerStorageServiceForeignKey |
|
|
GLUE2DataStore
It represents the real hardware behind the system. For instance, in the DataStore, the size would be the physical size of all the disks and tapes, whereas the StorageServiceCapacity gives the sizes which can be used to store user files.
EGI profile definition
LDIF template
dn: GLUE2ResourceID=resourceID,GLUE2ManagerID=managerID,GLUE2ServiceID=serviceID,GLUE2GroupID=resource,o=glue
GLUE2ResourceID: resourceID
objectClass: GLUE2DataStore
objectClass: GLUE2Resource
GLUE2EntityCreationTime: 2013-05-24T09:52:02Z
GLUE2DataStoreType: disk
GLUE2DataStoreLatency: online
GLUE2DataStoreTotalSize: 1064486
GLUE2ResourceManagerForeignKey: managerID
GLUE 2.0 validation status
This object is not published at all
Attribute |
Status |
Comments |
GLUE2EntityCreationTime |
|
|
GLUE2ResourceID |
|
|
GLUE2DataStoreType |
|
|
GLUE2DataStoreLatency |
|
|
GLUE2DataStoreTotalSize |
|
|
GLUE2ResourceManagerForeignKey |
|
|
GLUE2ToComputingService
It describes the network link quality between a computer service and a storage service.
EGI profile definition
LDIF template
dn: GLUE2ToComputingServiceID=SECEID,GLUE2ServiceID=serviceID,GLUE2GroupID=resource,o=glue
GLUE2ToComputingServiceID: SECEID
objectClass: GLUE2ToComputingService
GLUE2EntityCreationTime: 2013-05-24T09:52:02Z
GLUE2ToComputingServiceNetworkInfo: gigabitethernet
GLUE2ToComputingServiceBandwidth: 100
GLUE2ToComputingServiceStorageServiceForeignKey: SEserviceID
GLUE2ToComputingServiceComputingServiceForeignKey: CEserviceID
GLUE 2.0 validation status
This object is not published at all
Attribute |
Status |
Comments |
GLUE2EntityCreationTime |
|
|
GLUE2ToComputingServiceID |
|
|
GLUE2ToComputingServiceNetworkInfo |
|
|
GLUE2ToComputingServiceBandwidth |
|
|
GLUE2ToComputingServiceStorageServiceForeignKey |
|
|
GLUE2ToComputingServiceComputingServiceForeignKey |
|
|
GLUE2ToComputingServiceStorageAccessProtocolForeignKey |
|
|
Follow up actions
- GGUS:92217
: General ticket tracking glue-validator errors for StoRM.
- GGUS:94268
: Request to publish gridftp endpoints (this won't be implemented since gridftp can only be accessed via SRM)