diff --git a/ReleaseNotes.md b/ReleaseNotes.md index 2feebd2f40abcae34188592c832ec1fdb84cf327..fa90a05f6f8042b6bbf3a1dfb371da7fbd928f58 100644 --- a/ReleaseNotes.md +++ b/ReleaseNotes.md @@ -36,6 +36,7 @@ The following manual pages have been updated: - cta/CTA#947 - cta-taped should log the FST being used for a data transfer - cta/CTA#1106 - "cta-admin schedulinginfo ls" returns records larger than SSI buffer size limit - cta/CTA#1269 - cta-restore-deleted-files injects wrong diskFileId in CTA Catalogue +- cta/CTA#1276 - Some configuration files should be renamed from `.conf` to `.conf.example` - cta/CTA#1278 - Add support for reading multiple tape formats by the ReadtpCmd command ### Continuous Integration diff --git a/catalogue/cta-catalogue.conf.example b/catalogue/cta-catalogue.conf.example index fc86732925bad7b2eda1ded026ea22cb480b7cbb..974149035205983b99d7f2e0bb5f802576245c9c 100644 --- a/catalogue/cta-catalogue.conf.example +++ b/catalogue/cta-catalogue.conf.example @@ -13,28 +13,22 @@ # granted to it by virtue of its status as an Intergovernmental Organization or # submit itself to any jurisdiction. -# This file should contain one and only one connection string. Blank lines and -# comments are ignored. -# -# PLEASE NOTE that comments at the end of a line are not supported. Only entire -# line comments are allowed. A comment line starts a hash '#' character. -# Leading whitespace is permitted. +# This file should contain a single line, with the connection string for the CTA Catalogue database. +# Blank lines and comments are ignored. A comment line starts a hash '#' character. Comments at the +# end of a line are not supported. Leading whitespace is permitted. # # The format of the connection string is either: # -# in_memory -# -# or: -# # oracle:username/password@database # # or: # # postgresql:postgresql://username:password@hostname/database # -# or: +# There are two additional options intended for development and testing only. These should not +# be used in a production environment: # +# in_memory # sqlite:filename # -# PLEASE NOTE that the "in_memory" and "sqlite:" connection strings are for -# development and testing purposes only. +postgresql:postgresql://username:password@hostname/database diff --git a/cmdline/CMakeLists.txt b/cmdline/CMakeLists.txt index 4c076b7934912326239bb8caa741515a908cb341..91d0a453fed33e091d51af35026e57ae880d7af1 100644 --- a/cmdline/CMakeLists.txt +++ b/cmdline/CMakeLists.txt @@ -68,4 +68,4 @@ install(FILES cta-admin.1cta DESTINATION usr/share/man/man1) install(TARGETS cta-send-event DESTINATION usr/bin) install(FILES cta-send-closew.sh DESTINATION usr/bin) install(TARGETS cta-verify-file DESTINATION usr/bin) -install(FILES cta-cli.conf DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/cta) +install(FILES cta-cli.conf.example DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/cta) diff --git a/cmdline/cta-admin.1cta b/cmdline/cta-admin.1cta index 1ee9b8dc30e2c33bc1bb37f16b28174fac330a79..9b3d5c57b44ffb64dd4201f7e4ed0e8e61fe1fc8 100644 --- a/cmdline/cta-admin.1cta +++ b/cmdline/cta-admin.1cta @@ -54,7 +54,7 @@ to have a separate namespace for each Virtual Organization (VO). .TP diskinstancespace (dis) Add, change, remove or list the disk instance spaces. A disk instance can contain zero or more disk -instance spaces. A disk instance space is a partition of the disk. For examples, it can be desirable +instance spaces. A disk instance space is a partition of the disk. For example, it can be desirable to have separate spaces for archival and retrieval operations on each instance. .TP disksystem (ds) @@ -161,13 +161,6 @@ Sets the client log level (see \fBXrdSsiPbLogLevel\fR below). .TP cta.log.hiRes (default: \fIfalse\fR) Specify whether log timestamps should have second (\fIfalse\fR) or microsecond (\fItrue\fR) resolution. -.SS Example configuration file -.P -.RS -cta.endpoint cta-frontend.cern.ch:10955 -.br -cta.resource.options Reusable -.RE .SH EXIT STATUS \fBcta-admin\fP returns 0 on success. @@ -230,7 +223,7 @@ number of retries. .SH FILES .TP .BI /etc/cta/cta-cli.conf -Configuration file. See \fBCONFIGURATION\fP, above. +See \fBCONFIGURATION\fP above, and \fI/etc/cta/cta-cli.conf.example\fR. .TP .BI /etc/cta/eos.grpc.keytab gRPC keys for each instance, used by \fBcta-admin tapefile ls\fP to display disk metadata associated with diff --git a/cmdline/cta-cli.conf b/cmdline/cta-cli.conf deleted file mode 100644 index 734377fc574cefcdf5b36887918bea4efc96a8e2..0000000000000000000000000000000000000000 --- a/cmdline/cta-cli.conf +++ /dev/null @@ -1,8 +0,0 @@ -# The CTA frontend address in the form <FQDN>:<TCPPort> -cta.endpoint <host>.cern.ch:10955 - -# Options for cta-send-event -eos.instance eosctapps -eos.endpoint localhost:1094 -eos.requester.user ctaops -eos.requester.group it diff --git a/cmdline/cta-cli.conf.example b/cmdline/cta-cli.conf.example new file mode 100644 index 0000000000000000000000000000000000000000..c2903929753823dbc15551e188822fb80fb8dfb3 --- /dev/null +++ b/cmdline/cta-cli.conf.example @@ -0,0 +1,25 @@ +# +# CTA client options +# + +# CTA Frontend hostname (FQDN) and TCP port +cta.endpoint ctafrontend.cern.ch:10955 + +# CTA user/group to use for tape verification jobs +eos.requester.user verification +eos.requester.group it + +# +# XRootD client options +# + +# XRootD SSI resource options. Defaults to none. Set to Reusable to use use XRootD SSI reusable +# resources. Documentation at http://xrootd.org/doc/dev49/ssi_reference-V2.htm#_Toc506323429. +# cta.resource.options none + +# Client log level. Can be overridden by setting environment variable XrdSsiPbLogLevel. See +# cta-admin(1cta) man page for details. +# cta.log none + +# Specify whether log timestamps should have second (false) or microsecond (true) resolution. +# cta.log.hiRes false diff --git a/xroot_plugins/cta-frontend-xrootd.conf b/continuousintegration/docker/ctafrontend/cc7/etc/cta/cta-frontend-xrootd.conf similarity index 100% rename from xroot_plugins/cta-frontend-xrootd.conf rename to continuousintegration/docker/ctafrontend/cc7/etc/cta/cta-frontend-xrootd.conf diff --git a/cta.spec.in b/cta.spec.in index 83c981f51e19e97141ae267b9616638f73794931..287ddfd4941526e74279c09b4e28563542b0dda0 100644 --- a/cta.spec.in +++ b/cta.spec.in @@ -157,7 +157,7 @@ The xroot plugin %defattr(0755,root,root) %{_libdir}/libXrdSsiCta.so* %attr(0644,root,root) %config(noreplace) /etc/logrotate.d/cta-frontend -%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/cta/cta-frontend-xrootd.conf +%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/cta/cta-frontend-xrootd.conf.example %attr(0644,root,root) %config(noreplace) /etc/sysconfig/cta-frontend %attr(0644,cta,tape) /etc/systemd/system/cta-frontend.service @@ -222,7 +222,7 @@ The command line utilities %attr(0755,root,root) %{_bindir}/cta-send-event %attr(0755,root,root) %{_bindir}/cta-send-closew.sh %attr(0755,root,root) %{_bindir}/cta-verify-file -%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/cta/cta-cli.conf +%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/cta/cta-cli.conf.example %package -n cta-lib-common Summary: CERN Tape Archive libraries diff --git a/frontend-grpc/cta-frontend-grpc.1cta b/frontend-grpc/cta-frontend-grpc.1cta index 957f6ff46f4c233f7f9f5e5cb8189665b98f81b1..54b153831a48033357f463b9d5ec48fa75ee92ea 100644 --- a/frontend-grpc/cta-frontend-grpc.1cta +++ b/frontend-grpc/cta-frontend-grpc.1cta @@ -51,7 +51,7 @@ Display command options and exit. The CTA configuration file. .TP .B /etc/cta/cta-catalogue.conf -The CTA catalog configuration file. +The CTA catalog configuration file. See \fI/etc/cta/cta-catalogue.conf.example\fR. .SH SEE ALSO .P diff --git a/tapeserver/cta-taped.1cta b/tapeserver/cta-taped.1cta index db1fb637b2cd059cd1bc8324662b2b90ad02ebae..be40aa492475aaf69a77869204495c17fa6674ce 100644 --- a/tapeserver/cta-taped.1cta +++ b/tapeserver/cta-taped.1cta @@ -213,6 +213,10 @@ DRIVE_NAME LOGICAL_LIBRARY_NAME DRIVE_DEVICE LIBRARY_SLOT See \fI/etc/cta/TPCONFIG.example\fR. .RE .TP +.B /etc/cta/cta-catalogue.conf +Usual location for the CTA Catalogue configuration file. See \fBtaped CatalogueConfigFile\fP option +under \fBCONFIGURATION\fP, and \fI/etc/cta/cta-catalogue.conf.example\fR. +.TP .B /var/log/cta/cta-taped.log Usual location for the tape server log file. diff --git a/xroot_plugins/CMakeLists.txt b/xroot_plugins/CMakeLists.txt index 9a7933f40ea699f2b2616968b87490ebd05bd65f..47a5d823862e0ccf830e6bb269acb9aaa6a4b8b1 100644 --- a/xroot_plugins/CMakeLists.txt +++ b/xroot_plugins/CMakeLists.txt @@ -45,7 +45,7 @@ if (OCCI_SUPPORT) endif (OCCI_SUPPORT) install(TARGETS XrdSsiCta DESTINATION usr/${CMAKE_INSTALL_LIBDIR}) -install(FILES cta-frontend-xrootd.conf DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/cta) +install(FILES cta-frontend-xrootd.conf.example DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/cta) install(FILES cta-frontend.logrotate DESTINATION /etc/logrotate.d RENAME cta-frontend) install(FILES cta-frontend.sysconfig DESTINATION /etc/sysconfig RENAME cta-frontend) install(FILES cta-frontend.service DESTINATION /etc/systemd/system) diff --git a/xroot_plugins/cta-frontend-xrootd.conf.example b/xroot_plugins/cta-frontend-xrootd.conf.example new file mode 100644 index 0000000000000000000000000000000000000000..eac3b76818698fd3c61eab40998502b29f6c27b0 --- /dev/null +++ b/xroot_plugins/cta-frontend-xrootd.conf.example @@ -0,0 +1,70 @@ +# +# CTA options +# + +# CTA ObjectStore options +#cta.objectstore.backendpath /tmp/jobStoreXXXXXXX + +# CTA Scheduler DB options +cta.schedulerdb.numberofthreads 500 +cta.schedulerdb.threadstacksize_mb 1 + +# CTA Catalogue options +cta.catalogue.numberofconnections 10 + +# Maximum file size (in GB) that the CTA Frontend will accept for archiving +cta.archivefile.max_size_gb 1000 + +# CTA Frontend log URL +cta.log.url file:/var/log/cta/cta-frontend.log + +# CTA Logger log level +# Valid log levels are EMERG, ALERT, CRIT, ERR, WARNING, NOTICE (==USERERR), INFO, DEBUG +# cta.log.level DEBUG + +# CTA XRootD SSI Protobuf log level +# cta.log.ssi debug protobuf +cta.log.ssi warning + +# CTA Repack buffer URL +# cta.repack.repack_buffer_url root://ctaeos//eos/ctaeos/repack + +# CTA Verification Mount Policy +cta.verification.mount_policy verification + +# Keytab containing gRPC endpoints and tokens for each disk instance +#cta.ns.config /etc/cta/eos.grpc.keytab + +# +# XRootD/SSI options +# + +# Enable SSI debug logging +#ssi.trace debug + +# Load the CTA SSI plugin +xrootd.fslib -2 libXrdSsi.so + +# Load the SSI module +ssi.svclib libXrdSsiCta.so + +# Use the security module +xrootd.seclib libXrdSec.so + +# Security protocol specification +# +# Note: the XRootD process needs to be able to read the keytab file +sec.protocol krb5 /etc/cta/cta-frontend.krb5.keytab cta/cta-frontend@TEST.CTA +sec.protocol sss -s /etc/cta/eos.sss.keytab + +# Only Kerberos 5 and sss are allowed +sec.protbind * only sss krb5 + +# Turn off asynchronous I/O +xrootd.async off + +# Use a port other than 1094, already used by EOS xroot server +xrd.port 10955 + +# Export the SSI resource +all.export /ctafrontend nolock r/w