Configuring Service Files ------------------------- Service definition files have been part of Kit Registration and publishing since the days of TeraGrid. The Capability kits as such are deprecated in XSEDE, but we can continue to use the (slightly modified) service definition files for publishing through AMQP. To do so, you should find the files that define services within your installed capability kits (NOTE: only .conf files from your reg/service/ directories, not reg/kit.conf files), and copy them to a single directory. We recommend /etc/ipf/services/ (or $IPF/etc/services for a non RPM install), though you could place them anywhere. You must then set the environment variable SERVICEPATH to point to the directory where you have installed your service definition files. This will get encoded by ipf_configure_xsede into the periodic workflows, so that the services periodic workflow will be able to find the services files. Unlike Teragrid Kit Registration, IPF will consider all filenames within SERVICEPATH to be valid service definition files, except filenames that start with ".". In other words, both ExampleService.conf and ExampleService.noreg would get published, but .ExampleService.conf will not. There are some minor schema differences between the legacy service publishing files and what the IPF Glue2 publishing services expect. In general, if a field from MDS publishing is no longer being used, it will not be harmful to leave it in the service.conf file, but please take special note of how the Name field has changed. If you have not published CTSS Kit information through MDS/MDS stopgap, you will have to create your service definition files from scratch. The information in the rest of this section is applicable both to those editing existing service.conf files, and those creating them from scratch. Each service.conf file needs to have a Name, Version, Endpoint, and Capability. The Name field in legacy MDS publishing referred to the human readable name of the service, whereas in the new system, it refers to the GLUE2 Primary protocol name supported by the service endpoint, as seen in the table below. Each service can have multiple capabilities, but each line is a key/value pair, so to publish multiple capabilities for a service, have a line that starts "Capability = " for each value. (see example below). Note: in MDS publishing, separate services were published for striped/non-striped GridFTP servers, even if the endpoint URL was the same. In IPF publishing, the Capability fields describe what the service at the endpoint URL supports. Valid capability values can be seen in the table below. Please edit your service.conf files to include appropriate Capability values. A key/value pair for SupportStatus in your service.conf file will override the default, which is the support status of your service as published in RDR. _________________________________________________________________________ A table of valid Name,version and capability values: Name Version Capability org.globus.gridftp {5,6}.y.z data.transfer.striped data.transfer.nonstriped org.globus.gram {5,6}.y.z executionmanagement.jobdescription executionmanagement.jobexecution executionmanagement.jobmanager org.globus.openssh 5.y.z login.remoteshell login.remoteshell.gsi eu.unicore.tsf {6,7}.y.z executionmanagement.jobdescription executionmanagement.jobexecution executionmanagement.jobmanager eu.unicore.bes {6,7}.y.z executionmanagement.jobdescription executionmanagement.jobexecution executionmanagement.jobmanager eu.unicore.reg {6,7}.y.z Information.publication org.xsede.gpfs 3.5 data.access.flatfiles org.xsede.genesisII 2.y.z data.access.flatfiles data.naming.resolver org.xsede.mds­stopgap 1.2 information.publication ______________________________________________________________________________ Sample Service publishing file: #%Service1.0################################################################### ## ## serviceinfofiles/org.globus.gridftp-6.0.1.conf ## Name = org.globus.gridftp Version = 6.0.1 Endpoint = gsiftp://$GRIDFTP_PUBLIC_HOSTNAME:2811/ Extensions.go_transfer_xsede_endpoint_name = "default" Capability = data.transfer.striped Capability = data.transfer.nonstriped SupportStatus = testing