Version information
This version is compatible with:
- Puppet Enterprise 2018.1.x
- Puppet >= 5.5.0 < 6.0.0
Start using this module
Add this module to your Puppetfile:
mod 'cnafsd-storm', '0.4.4'
Learn more about managing modules with a PuppetfileDocumentation
StoRM puppet module
Table of Contents
Description
StoRM Puppet module allows administrators to easily configure StoRM services. Currently, the supported services are:
- StoRM Backend
- StoRM Frontend
- StoRM WebDAV
- StoRM Globus GridFTP server
Setup
StoRM Puppet module is available on puppet forge:
puppet module install cnafsd-storm
You can also build and install module from source code as follow:
git clone https://github.com/italiangrid/storm-puppet-module.git
cd storm-puppet-module
puppet module build
puppet module install ./pkg/cnafsd-storm-*.tar.gz
Usage
With this Puppet module, administrators can configure StoRM services. Some utility classes are also provided to configure users, storage directories and pool accounts, if needed.
- StoRM Backend component
- StoRM Frontend component
- StoRM WebDAV component
- StoRM GridFTP component
- StoRM users utility class
- StoRM storage utility class
StoRM Backend component
StoRM Backend class:
- installs:
storm-backend-mp
and all the releated packages;storm-dynamic-info-provider
;- MySQL community client;
- MySQL community server (if enabled);
- creates and initializes StoRM database;
- configures
storm-backend-server
service; - configures
storm-info-provider
.
The main StoRM Backend configuration parameters are:
hostname
: StoRM Backend Fully Qualified Domain Name. Required.db_username
anddb_password
: database credentials. Default values are username storm and password storm.install_native_libs_gpfs
: Set this if you need to install storm-native-libs-gpfs. Default value: false.mysql_server_install
: Set this if you need to install and configure a MySQL server. Default value: false.mysql_server_root_password
: Set this if you have setmysql_server_install
to true. Default value: storm.synchcall_xmlrpc_security_token
: The token that the backend will require to be present for accepting XML-RPC requests. It must be equal to the one defined for StoRM Frontend. Default value: secret.srm_pool_members
: the list ofStorm::Backend::SrmPoolMember
elements (more info below). Required even if Frontend and Backend are on the same host.frontend_public_host
: StoRM Frontend hostname in case of a single Frontend StoRM deployment, StoRM Frontends DNS alias in case of a multiple Frontends StoRM deployment. Default value is the value ofhostname
parameter.gsiftp_pool_members
: the list ofStorm::Backend::GsiftpPoolMember
elements (more info below). Required even if GridFTP and Backend are on the same host.webdav_pool_members
: the list ofStorm::Backend::WebdavPoolMember
elements (more info below). Required even if WebDAV and Backend are on the same host.storage_areas
: the list ofStorm::Backend::StorageArea
elements (more info below).
The Info Provider related parameters are:
info_sitename
: A string that stands for the name of the site. Default: StoRM site.info_storage_default_root
: The default storage area root directory. Default: /storage.info_endpoint_quality_level
: Endpoint maturity level to be published by the Info Provider. Optional variable. Default value: 2.
Other StoRM Backend configuration parameters:
mysql_server_override_options
: Configure MySQL Server with your personal needs by overriding options. Read more on the related MySQL Puppet module documentation.xroot_hostname
: Root server (default value for all Storage Areas). Note: you may change the settings for each SA acting on its configuration. Default value is the value ofhostname
parameter.xroot_port
: Root server port (default value for all Storage Areas). Default value: 1094.gsiftp_pool_balance_strategy
: Load balancing strategy for GridFTP server pool (default value for all Storage Areas). Note: you may change the settings for each SA acting on its configuration. Available values: round-robin, smart-rr, random, weight. Default value: round-robin.transfer_protocols
: List of supported (and published) transfer protocols (default value for all Storage Areas). Note: you may change the settings for each SA acting on its configuration. Default value: ['file', 'gsiftp'].fs_type
: File System Type (default value for all Storage Areas). Note: you may change the settings for each SA acting on its configuration. Available values: posixfs, gpfs and test. Default value: posixfs.frontend_port
: StoRM Frontend service port. Optional variable. Default value: 8444.synchcall_xmlrpc_unsecure_server_port
: Port to listen on for incoming XML-RPC connections from Frontends(s). Default: 8080.synchcall_xmlrpc_maxthread
: Number of threads managing XML-RPC connection from Frontends(s). A well sized value for this parameter have to be at least equal to the sum of the number of working threads in all Frontend(s). Default: 256.synchcall_xmlrpc_max_queue_size
: Number of queued threads managing XML-RPC connection from Frontends(s). Default: 1000.synchcall_xmlrpc_security_enabled
: Whether the backend will require a token to be present for accepting XML-RPC requests. Default: true.ptg_skip_acl_setup
: Skip ACL setup for prepareToGet requests. Default: false.sanity_check_enabled
: Enable|Disable sanity checks on bootstrap phase. Default: true.synchcall_max_ls_entries
: Maximum number of entries returned by an srmLs call. Since in case of recursive srmLs results can be in order of million, this prevent a server overload. Default: 2000.rest_services_port
: StoRM backend server rest port. Optional variable. Default value: 9998.rest_services_max_threads
: Number of threads managing REST connections. Default: 100.rest_services_max_queue_size
: Number of queued threads managing REST connections. Default: 1000.service_du_enabled
: Flag to enable disk usage service. Default: false.service_du_delay
: The initial delay before the service is started (seconds). Default: 60.service_du_interval
The interval in seconds between successive run. Default: 360.gc_pinnedfiles_cleaning_delay
: Initial delay before starting the reserved space, JIT ACLs and pinned files garbage collection process, in seconds. Default: 10.gc_pinnedfiles_cleaning_interval
: Time interval in seconds between successive purging run. Default: 300.gc_purge_enabled
: Enable the request garbage collector. Default: true.gc_purge_interval
: Time interval in seconds between successive purging run. Default: 600.gc_purge_size
: Number of requests picked up for cleaning from the requests garbage collector at each run. This value is use also by Tape Recall Garbage Collector. Default: 800.gc_expired_request_time
: Time in seconds to consider a request expired after its submission. Default: 604800 seconds (1 week). From StoRM 1.11.13 it is used also to identify how much time is needed to consider a completed recall task as cleanable.gc_expired_inprogress_time
: Time in seconds to consider an in-progress ptp request as expired. Default: 2592000 seconds (1 month).gc_ptp_transit_interval
: Time interval in seconds between successive expired put requests agent run. Default: 3000.gc_ptp_transit_start_delay
: Initial delay before starting the expired put requests agent process, in seconds. Default: 60.extraslashes_file
: Add extra slashes after the “authority” part of a TURL for file protocol. Defaul: ''.extraslashes_root
: Add extra slashes after the “authority” part of a TURL for xroot protocol. Default: /.extraslashes_gsiftp
: Add extra slashes after the “authority” part of a TURL for gsiftp protocol. Default: /.db_connection_pool_enabled
: Enable the database connection pool. Default: true.db_connection_pool_max_active
: Database connection pool max active connections. Default: 10.db_connection_pool_max_wait
: Database connection pool max wait time to provide a connection. Default: 50pinlifetime_default
: Default PinLifetime in seconds used for pinning files in case of srmPrepareToPut or srmPrepareToGet operation without any pinLifetime specified. Default: 259200.pinlifetime_maximum
: Maximum PinLifetime allowed in seconds. Default: 1814400.directory_automatic_creation
: Flag to enable automatic missing directory creation upon srmPrepareToPut requests. Default: false.directory_writeperm
: Flag to enable directory write permission setting upon srmMkDir requests on created directories. Default: false.asynch_db_reconnect_period
: Database connection refresh time intervall in seconds. Default: 18000.asynch_db_delay_period
: Database connection refresh initial delay in seconds. Default: 30.asynch_picking_initial_delay
: Initial delay before starting to pick requests from the DB, in seconds. Default: 1.asynch_picking_time_interval
: Polling interval in seconds to pick up new SRM requests. Default: 2.asynch_picking_max_batch_size
: Maximum number of requests picked up at each polling time. Default: 100.requests_scheduler_core_size
: Crusher Scheduler worker pool base size. Default: 50.requests_scheduler_max_size
: Crusher Schedule worker pool max size. Default: 200.requests_scheduler_queue_size
: Request queue maximum size. Default: 2000.ptp_requests_scheduler_core_size
: PrepareToPut worker pool base size. Default: 50.ptp_requests_scheduler_max_size
: PrepareToPut worker pool max size. Default: 200.ptp_requests_scheduler_queue_size
: PrepareToPut request queue maximum size. Default: 1000.ptg_requests_scheduler_core_size
: PrepareToGet worker pool base size. Default: 50.ptg_requests_scheduler_max_size
: PrepareToGet worker pool max size. Default: 200.ptg_requests_scheduler_queue_size
: PrepareToGet request queue maximum size. Default: 2000.bol_requests_scheduler_core_size
: BringOnline worker pool base size. Default: 50.bol_requests_scheduler_max_size
: BringOnline Worker pool max size. Default: 200.bol_requests_scheduler_queue_size
: BringOnline request queue maximum size. Default: 2000.jvm_options
: JVM options. Default: -Xms512m -Xmx512m.jmx
: Flag to enable JMX options. Default: false.jmx_options
: Default: -Dcom.sun.management.jmxremote.port=8501 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false.lcmaps_db_file
: LCMPAS configuration file. Default: /etc/storm/backend-server/lcmaps.db.lcmaps_policy_name
: LCMAPS policy name. Default: standard.lcmaps_log_file
: LCMAPS logging file. Default: /var/log/storm/lcmaps.log.lcmaps_debug_level
: LCMAPS debug level. Default: 0.
Example of StoRM Backend configuration:
class { 'storm::backend':
hostname => backend.test.example,
mysql_server_install => true,
frontend_public_host => frontend.test.example,
transfer_protocols => ['file', 'gsiftp', 'webdav'],
xmlrpc_security_token => 'NS4kYAZuR65XJCq',
service_du_enabled => true,
srm_pool_members => [
{
'hostname' => frontend.test.example,
}
],
gsiftp_pool_members => [
{
'hostname' => gridftp.test.example,
},
],
webdav_pool_members => [
{
'hostname' => wendav.test.example,
},
],
storage_areas => [
{
'name' => 'dteam-disk',
'root_path' => '/storage/disk',
'access_points' => ['/disk'],
'vos' => ['dteam'],
'online_size' => 40,
},
{
'name' => 'dteam-tape',
'root_path' => '/storage/tape',
'access_points' => ['/tape'],
'vos' => ['dteam'],
'online_size' => 40,
'nearline_size' => 80,
'fs_type' => 'gpfs',
'storage_class' => 'T1D0',
},
],
}
StoRM Frontend component
The main StoRM Frontend configuration parameters are:
be_xmlrpc_host
: StoRM Backend Fully Qualified Domain Name. Required.be_xmlrpc_token
: Token used for communicating with Backend service. Default: secret.db_host
: Host for database connection. Default is set tobe_xmlrpc_host
value.db_user
: User for database connection. Default is storm.db_passwd
: Password for database connection. Default is storm.
Other StoRM Frontend configuration parameters:
port
: Frontend service port. Default is 8444.be_xmlrpc_port
: Backend XML-RPC server port. Default is 8080.be_xmlrpc_path
: XML-RPC server path. Default is /RPC2.be_recalltable_port
: REST server port running on the Backend machine. Default is 9998.threadpool_maxpending
: Size of the internal queue used to maintain SRM tasks in case there are no free worker threads. Default is 200.threadpool_threads_number
: Size of the worker thread pool. Default is 50.gsoap_maxpending
: Size of the GSOAP queue used to maintain pending SRM requests. Default is 1000.check_user_blacklisting
: Enable/disable user blacklisting. Default is false.argus_pepd_endpoint
: The complete service endpoint of Argus PEP server. Mandatory ifcheck_user_blacklisting
is true.monitoring_enabled
: Enable/disable monitoring. Default is true.monitoring_time_interval
: Time interval in seconds between each monitoring round. Default is 60.monitoring_detailed
: Enable/disable detailed monitoring. Default is false.security_enable_mapping
: Flag to enable/disable DN-to-userid mapping via gridmap-file. Default is false.security_enable_vomscheck
: Flag to enable/disable checking proxy VOMS credentials. Default is true.log_debuglevel
: Logging level. Possible values are: ERROR, WARN, INFO, DEBUG, DEBUG2. Default is INFO.gridmap_dir
: Gridmap directory path. Defailt value is: /etc/grid-security/gridmapdir.gridmap_file
: Gridmap file path. Defailt value is: /etc/grid-security/grid-mapfile.
Example of StoRM Frontend configuration:
class { 'storm::frontend':
be_xmlrpc_host => 'backend.test.example',
be_xmlrpc_token => 'NS4kYAZuR65XJCq',
db_host => 'backend.test.example',
db_user => 'storm',
db_passwd => 'storm',
}
Check here for all Frontend class options.
StoRM WebDAV component
The main StoRM WebDAV configuration parameters are:
storage_areas
: the list ofStorm::Webdav::StorageArea
elements (more info below). Ignored ifstorage_areas_directory
is defined;- `
storage_areas_directory
: the path of a directory that will be copied to/etc/storm/webdav/sa.d
. If defined, the value ofstorage_areas
is ignored; oauth_issuers
: the list ofStorm::Webdav::OAuthIssuer
elements that means the supported OAuth providers (more info below). Ignored ifapplication_file
is defined;application_file
: the path of a valid YAML file whose content will be copied into/etc/storm/webdav/config/application.yml
file. If defined, the value ofoauth_issuers
is ignored;hostnames
: the list of hostname and aliases supported for Third-Party-Copy;http_port
andhttps_port
: the service ports. Default: 8085, 8443.
The Storm::Webdav::StorageArea
type :
name
: The name of the storage area. Required.root_path
: The path of the storage area root directory. Required.access_points
: A list of logic path used to access storage area's root. Required.vos
: A list of one or more Virtual Organization names of the users allowed to read/write into the storage area. Required.orgs
: A list of one or more Organizations. Optional. Default: ''.authenticated_read_enabled
: A boolean value used to enable the read of the storage area content to authenticated users. Optional. Default:false
.anonymous_read_enabled
: A boolean value used to enable anonymous read access to storage area content. Optional. Default:false
.vo_map_enabled
: A boolean value used to enable the use of the VO gridmap files. Optional. Default:false
.vo_map_grants_write_access
: A boolean value used to grant write access to the VO users read from gridmap file. Optional. Default:false
.orgs_grant_write_permission
: A boolean value used to grant write access to the members of the organizations defined withorgs
. Optional. Default:false
.
The Storm::Webdav::OAuthIssuer
type:
name
: the organization name. Required.issuer
: the issuer URL. Required.
Administrators can provide a their own application.yml
file by specifying its absolute path with application_file
parameter. In this case, even if it's set, the value of oauth_issuers
is ignored.
They can provide the .properties
files of each storage area by storing them into a personal directory and specifying that absolute path with storage_areas_directory
parameter. Each files within this path will be copied into /etc/storm/webdav/sa.d
directory.
Examples of StoRM WebDAV configuration:
class { 'storm::webdav':
storage_areas => [
{
name => 'test.vo',
root_path => '/storage/test.vo',
access_points => ['/test.vo'],
vos => ['test.vo'],
},
{
name => 'test.vo.2',
root_path => '/storage/test.vo.2',
access_points => ['/test.vo.2'],
vos => ['test.vo.2'],
authenticated_read_enabled => true,
},
],
hostnames => ['storm-webdav.example.org', 'alias-for-storm-webdav.example.org'],
}
class { 'storm::webdav':
application_file => '/root/storm/webdav/application.yml',
storage_areas_directory => '/root/storm/webdav/sa.d',
hostnames => ['storm-webdav.example.org'],
}
Check here for all WebDAV class options.
StoRM GridFTP component
The StoRM GridFTP configuration parameters are:
port
: the port used by GridFTP server service. Default: 2811.port_range
: the range of ports used by transfer sockets; format is 'MIN,MAX'. Default: '20000,25000'.connections_max
: the number of max allowed connections to server. Default: 2000.redirect_lcmaps_log
: If true, redirect the LCMAPS log to the file specified byllgt_log_file
. Default: false.llgt_log_file
: The LCMAPS log file used ifredirect_lcmaps_log
is true. Default: '/var/log/storm/storm-gridftp-lcmaps.log'.
Other StoRM GridFTP configuration parameters:
log_single
: Session log file path. Default is: /var/log/storm/storm-gridftp-session.log.log_transfer
: Transfer log file path. Default is: /var/log/storm/storm-globus-gridftp.log.lcmaps_debug_level
: The LCMAPS logging level. Values from 0 (ERROR) to 5 (DEBUG). Default: 3 (INFO).lcas_debug_level
: The LCAS logging level. Values from 0 (ERROR) to 5 (DEBUG). Default: 3 (INFO).load_storm_dsi_module
: Enable/Disable StoRM DSI module. Default: true (enabled).
Administrators can provide a their own lcamps.db
, lcas.db
, ban_users.db
and gsi-authz.conf
files by specifying their absolute paths with the proper parameter:
lcmaps_db_file
lcas_db_file
lcas_ban_users_file
gsi_authz_file
Examples of StoRM Gridftp configuration:
class { 'storm::gridftp':
redirect_lcmaps_log => true,
llgt_log_file => '/var/log/storm/storm-gridftp-lcmaps.log',
}
class { 'storm::gridftp':
lcmaps_db_file => '/root/storm/gridftp/lcamps.db',
}
Check here for all GridFTP class options.
StoRM users utility class
To create the default StoRM users and groups you can use the storm::users
utility class.
Use:
include storm::users
to create default scenario:
storm
group with id 1100edguser
group with id 1101storm
user with id 1100, member ofstorm
andedguser
groupsedguser
user with id 1101, member ofedguser
andstorm
groups
You can also customize and create your own users and groups as follow:
class { 'storm::users':
groups => {
infosys => {
gid => '996',
},
},
users => {
edguser => {
comment => 'Edguser user',
groups => [ edguser, infosys, storm, ],
uid => '995',
gid => '995',
home => '/home/edguser',
},
storm => {
comment => 'StoRM user',
groups => [ storm, edguser, ],
uid => '991',
gid => '991',
home => '/home/storm',
},
},
}
Check here for all the class options.
StoRM storage utility class
To create the root directories of your storage areas, you can use the storm::storage
utility class.
It's mainly used for test purposes. We expected not to use this class on production.
Use:
include storm::storage
to create /storage
directory owned by 'storm' user and '755' as permissions.
You can specify a different list of directories as follow:
class { 'storm::storage':
root_directories => [
'/storage',
'/storage/test.vo',
'/storage/dteam',
],
}
Check here for all the class options.
Documentation
You can find all the info about module classes and parameters at:
How to update doc
Update REFERENCE.md
file as follow:
puppet strings generate --format markdown
Update gh-pages
branch as follow:
bundle exec rake strings:gh_pages:update
Limitations
It works only on RedHat CentOS 7 distribution.
Reference
Table of Contents
Classes
storm::backend
: StoRM Backend puppet modulestorm::backend::config
: StoRM Backend config classstorm::backend::configdb
: StoRM Backend DB config classstorm::backend::install
: StoRM Backend install classstorm::backend::params
: StoRM Frontend params classstorm::backend::service
: StoRM Backend service classstorm::frontend
: StoRM Frontend puppet modulestorm::frontend::config
: StoRM Frontend config classstorm::frontend::install
: StoRM Frontend install classstorm::frontend::params
: StoRM Frontend params classstorm::frontend::service
: StoRM Frontend service classstorm::gridftp
: StoRM GridFTP puppet modulestorm::gridftp::config
: StoRM GridFTP config classstorm::gridftp::install
: StoRM GridFTP install classstorm::gridftp::params
: StoRM GridFTP params classstorm::gridftp::service
: StoRM GridFTP service classstorm::gridmap
: Utility class used to create gridmap dir, grid-mapfile, groupmapfile and pool accountsstorm::params
: StoRM params classstorm::repo
: Choose which StoRM repository you want to intall and enable. Also a custom list of repository URL can be specified.storm::storage
: Init testbed storage area's directoriesstorm::users
: StoRM accounts configurationstorm::webdav
: StoRM WebDAV puppet modulestorm::webdav::config
: StoRM WebDAV config classstorm::webdav::install
: StoRM WebDAV install classstorm::webdav::params
: StoRM WebDAV params classstorm::webdav::service
: StoRM WebDAV service class
Defined types
storm::rootdir
: StoRM root directory defined resource
Data types
Storm::Backend::Acl
: The ACL type for storm-backend-serverStorm::Backend::AclMode
:Storm::Backend::BalanceStrategy
:Storm::Backend::Endpoint
: The Endpoint type for storm-backend-serverStorm::Backend::FileSystem
: The FileSystem type for storm-backend-serverStorm::Backend::FsDriver
:Storm::Backend::FsType
:Storm::Backend::Gsiftp
: The Gsiftp type for storm-backend-serverStorm::Backend::GsiftpPoolMember
:Storm::Backend::Pool
: The Pool type for storm-backend-serverStorm::Backend::Quota
: The Quota type for storm-backend-serverStorm::Backend::Rfio
: The Rfio type for storm-backend-serverStorm::Backend::SrmPoolMember
:Storm::Backend::StorageArea
: The storage area type for storm-backend-serverStorm::Backend::StorageClass
:Storm::Backend::TransferProtocol
: The TransferProtocol type for storm-backend-serverStorm::Backend::Webdav
: The WebDAV type for storm-backend-serverStorm::Backend::WebdavPoolMember
:Storm::Backend::Xroot
: The Xroot type for storm-backend-serverStorm::CustomRepo
: The storage area type for storm-webdavStorm::Webdav::OAuthIssuer
: The OAuthIssuer type for storm-webdavStorm::Webdav::StorageArea
: The storage area type for storm-webdav
Classes
storm::backend
StoRM Backend puppet module
Examples
Example of usage
class { 'storm::backend':
hostname => 'backend.test.example',
db_username => 'storm',
db_password => 'bluemoon',
srm_pool_members => [
{
'hostname' => 'frontend.test.example',
}
],
gsiftp_pool_members => [
{
'hostname' => 'gridftp.test.example',
},
],
webdav_pool_members => [
{
'hostname' => 'webdav.test.example',
},
],
storage_areas => [
{
'name' => 'test.vo',
'root_path' => '/storage/test.vo',
'access_points' => ['/test.vo'],
'vos' => ['test.vo'],
'storage_class' => 'T0D1',
'online_size' => 4,
'transfer_protocols' => ['file', 'gsiftp', 'https'],
},
],
}
Parameters
The following parameters are available in the storm::backend
class.
hostname
Data type: String
StoRM Backend Fully Qualified Domain Name
install_native_libs_gpfs
Data type: Boolean
Set this if you need to install storm-native-libs-gpfs. Default: false.
Default value: $storm::backend::params::install_native_libs_gpfs
mysql_server_install
Data type: Boolean
Install MySQL server on the same host. Default: false.
Default value: $storm::backend::params::mysql_server_install
mysql_server_root_password
Data type: String
Used to configure MySQL server in case mysql_server_install is true. Default: 'storm'.
Default value: $storm::backend::params::mysql_server_root_password
mysql_server_override_options
Data type: Data
Used to configure MySQL server in case mysql_server_install is true.
Default value: $storm::backend::params::mysql_server_override_options
db_username
Data type: String
The name of user used to connect to local database. Default: storm
Default value: $storm::backend::params::db_username
db_password
Data type: String
Password for the user in db_storm_username
. Default: bluemoon
Default value: $storm::backend::params::db_password
xroot_hostname
Data type: String
Root server (default value for all Storage Areas). Note: you may change the settings for each SA acting on its configuration.
Default value: lookup('storm::backend::xroot_hostname', String, undef, $hostname)
xroot_port
Data type: Integer
Root server port (default value for all Storage Areas).
Default value: $storm::backend::params::xroot_port
gsiftp_pool_balance_strategy
Data type: Storm::Backend::BalanceStrategy
Load balancing strategy for GridFTP server pool (default value for all Storage Areas). Note: you may change the settings for each SA acting on its configuration. Available values: round-robin, smart-rr, random, weight. Default value: round-robin. See Storm::Backend::BalanceStrategy.
Default value: $storm::backend::params::gsiftp_pool_balance_strategy
gsiftp_pool_members
Data type: Array[Storm::Backend::GsiftpPoolMember]
Array of Storm::Backend::GsiftpPoolMember. GridFTP servers pool list (default value for all Storage Areas). Note: you may change the settings for each SA acting on its configuration.
Default value: $storm::backend::params::gsiftp_pool_members
webdav_pool_members
Data type: Array[Storm::Backend::WebdavPoolMember]
Array of Storm::Backend::WebdavPoolMember. WebDAV endpoints pool list (default value for all Storage Areas). Note: you may change the settings for each SA acting on its configuration.
Default value: $storm::backend::params::webdav_pool_members
srm_pool_members
Data type: Array[Storm::Backend::SrmPoolMember]
Array of Storm::Backend::SrmPoolMember. Frontend endpoints pool list (default value for all Storage Areas). Note: you may change the settings for each SA acting on its configuration.
Default value: $storm::backend::params::srm_pool_members
transfer_protocols
Data type: Array[Storm::Backend::TransferProtocol]
List of supported (and published) transfer protocols (default value for all Storage Areas). Note: you may change the settings for each SA acting on its configuration.
Default value: $storm::backend::params::transfer_protocols
fs_type
Data type: Storm::Backend::FsType
File System Type (default value for all Storage Areas). Note: you may change the settings for each SA acting on its configuration. Available values: posixfs, gpfs and test. Default value: posixfs See Storm::Backend::FsType.
Default value: $storm::backend::params::fs_type
storage_areas
Data type: Array[Storm::Backend::StorageArea]
List of supported Storage Areas. Array of Storm::Backend::StorageArea.
Default value: $storm::backend::params::storage_areas
frontend_public_host
Data type: String
StoRM Frontend service public host. It’s used by StoRM Info Provider to publish the SRM endpoint into the Resource BDII.
Default value: hostname
Default value: lookup('storm::backend::srm_hostname', String, undef, $hostname)
frontend_port
Data type: Integer
StoRM Frontend service port. Default value: 8444
Default value: $storm::backend::params::frontend_port
directory_automatic_creation
Data type: Boolean
Flag to enable automatic missing directory creation upon srmPrepareToPut requests. Default: false.
Default value: $storm::backend::params::directory_automatic_creation
directory_writeperm
Data type: Boolean
Flag to enable directory write permission setting upon srmMkDir requests on created directories. Default: false.
Default value: $storm::backend::params::directory_writeperm
rest_services_port
Data type: Integer
REST services port. Default value: 9998
Default value: $storm::backend::params::rest_services_port
rest_services_max_threads
Data type: Integer
REST services max active requests. Default: 100
Default value: $storm::backend::params::rest_services_max_threads
rest_services_max_queue_size
Data type: Integer
REST services max queue size of accepted requests. Default: 1000
Default value: $storm::backend::params::rest_services_max_queue_size
xmlrpc_unsecure_server_port
Data type: Integer
Port to listen on for incoming XML-RPC connections from Frontends(s). Default: 8080
Default value: $storm::backend::params::xmlrpc_unsecure_server_port
xmlrpc_maxthread
Data type: Integer
Number of threads managing XML-RPC connection from Frontends(s). A well sized value for this parameter have to be at least equal to the sum of the number of working threads in all Frontends. Default: 100.
Default value: $storm::backend::params::xmlrpc_maxthread
xmlrpc_max_queue_size
Data type: Integer
Max number of accepted and queued XML-RPC connection from Frontends(s). Default: 1000
Default value: $storm::backend::params::xmlrpc_max_queue_size
xmlrpc_security_enabled
Data type: Boolean
Whether the backend will require a token to be present for accepting XML-RPC requests. Default: true.
Default value: $storm::backend::params::xmlrpc_security_enabled
xmlrpc_security_token
Data type: String
The token that the backend will require to be present for accepting XML-RPC requests. Mandatory if xmlrpc_security_enabled is true.
Default value: $storm::backend::params::xmlrpc_security_token
ptg_skip_acl_setup
Data type: Boolean
Skip ACL setup for PtG requests. Default: false.
Default value: $storm::backend::params::ptg_skip_acl_setup
pinlifetime_default
Data type: Integer
Default PinLifetime in seconds used for pinning files in case of srmPrepareToPut or srmPrepareToGet operation without any pinLifetime specified. Default: 259200.
Default value: $storm::backend::params::pinlifetime_default
pinlifetime_maximum
Data type: Integer
Maximum PinLifetime allowed in seconds. Default: 1814400.
Default value: $storm::backend::params::pinlifetime_maximum
sanity_check_enabled
Data type: Boolean
Enable/disable sanity checks during bootstrap phase. Default: true.
Default value: $storm::backend::params::sanity_check_enabled
service_du_enabled
Data type: Boolean
Flag to enable disk usage service. Default: false.
Default value: $storm::backend::params::service_du_enabled
service_du_delay
Data type: Integer
The initial delay before the service is started (seconds). Default: 60.
Default value: $storm::backend::params::service_du_delay
service_du_interval
Data type: Integer
The interval in seconds between successive run. Default: 360.
Default value: $storm::backend::params::service_du_interval
max_ls_entries
Data type: Integer
Maximum number of entries returned by an srmLs call. Since in case of recursive srmLs results can be in order of million, this prevent a server overload. Default: 500.
Default value: $storm::backend::params::max_ls_entries
gc_pinnedfiles_cleaning_delay
Data type: Integer
Initial delay before starting the reserved space, JIT ACLs and pinned files garbage collection process, in seconds. Default: 10.
Default value: $storm::backend::params::gc_pinnedfiles_cleaning_delay
gc_pinnedfiles_cleaning_interval
Data type: Integer
Time interval in seconds between successive purging run. Default: 300.
Default value: $storm::backend::params::gc_pinnedfiles_cleaning_interval
gc_purge_enabled
Data type: Boolean
Enable the request garbage collector. Default: true.
Default value: $storm::backend::params::gc_purge_enabled
gc_purge_interval
Data type: Integer
Time interval in seconds between successive purging run. Default: 600.
Default value: $storm::backend::params::gc_purge_interval
gc_purge_size
Data type: Integer
Number of requests picked up for cleaning from the requests garbage collector at each run. This value is use also by Tape Recall Garbage Collector. Default: 800
Default value: $storm::backend::params::gc_purge_size
gc_expired_request_time
Data type: Integer
Time in seconds to consider a request expired after its submission. Default: 604800 seconds (1 week). From StoRM 1.11.13 it is used also to identify how much time is needed to consider a completed recall task as cleanable.
Default value: $storm::backend::params::gc_expired_request_time
gc_expired_inprogress_time
Data type: Integer
Time in seconds to consider an in-progress ptp request as expired. Default: 2592000 seconds (1 month).
Default value: $storm::backend::params::gc_expired_inprogress_time
gc_ptp_transit_interval
Data type: Integer
Time interval in seconds between successive expired put requests agent run. Default: 3000.
Default value: $storm::backend::params::gc_ptp_transit_interval
gc_ptp_transit_start_delay
Data type: Integer
Initial delay before starting the expired put requests agent process, in seconds. Default: 60
Default value: $storm::backend::params::gc_ptp_transit_start_delay
extraslashes_file
Data type: String
Add extra slashes after the “authority” part of a TURL for file protocol. Defaul: ''
Default value: $storm::backend::params::extraslashes_file
extraslashes_root
Data type: String
Add extra slashes after the “authority” part of a TURL for xroot protocol. Default: '/'
Default value: $storm::backend::params::extraslashes_root
extraslashes_gsiftp
Data type: String
Add extra slashes after the “authority” part of a TURL for gsiftp protocol. Default: '/'
Default value: $storm::backend::params::extraslashes_gsiftp
db_connection_pool_enabled
Data type: Boolean
Enable the database connection pool. Default: true
Default value: $storm::backend::params::db_connection_pool_enabled
db_connection_pool_max_active
Data type: Integer
Database connection pool max active connections. Default: 10
Default value: $storm::backend::params::db_connection_pool_max_active
db_connection_pool_max_wait
Data type: Integer
Database connection pool max wait time to provide a connection. Default: 50
Default value: $storm::backend::params::db_connection_pool_max_wait
asynch_db_reconnect_period
Data type: Integer
Database connection refresh time intervall in seconds. Default: 18000
Default value: $storm::backend::params::asynch_db_reconnect_period
asynch_db_delay_period
Data type: Integer
Database connection refresh initial delay in seconds. Default: 30.
Default value: $storm::backend::params::asynch_db_delay_period
asynch_picking_initial_delay
Data type: Integer
Initial delay before starting to pick requests from the DB, in seconds. Default: 1.
Default value: $storm::backend::params::asynch_picking_initial_delay
asynch_picking_time_interval
Data type: Integer
Polling interval in seconds to pick up new SRM requests. Default: 2.
Default value: $storm::backend::params::asynch_picking_time_interval
asynch_picking_max_batch_size
Data type: Integer
Maximum number of requests picked up at each polling time. Default: 100.
Default value: $storm::backend::params::asynch_picking_max_batch_size
requests_scheduler_core_size
Data type: Integer
Crusher Scheduler worker pool base size. Default: 50.
Default value: $storm::backend::params::requests_scheduler_core_size
requests_scheduler_max_size
Data type: Integer
Crusher Schedule worker pool max size. Default: 200.
Default value: $storm::backend::params::requests_scheduler_max_size
requests_scheduler_queue_size
Data type: Integer
Request queue maximum size. Default: 2000.
Default value: $storm::backend::params::requests_scheduler_queue_size
ptp_requests_scheduler_core_size
Data type: Integer
PrepareToPut worker pool base size. Default: 50.
Default value: $storm::backend::params::ptp_requests_scheduler_core_size
ptp_requests_scheduler_max_size
Data type: Integer
PrepareToPut worker pool max size. Default: 200.
Default value: $storm::backend::params::ptp_requests_scheduler_max_size
ptp_requests_scheduler_queue_size
Data type: Integer
PrepareToPut request queue maximum size. Default: 1000.
Default value: $storm::backend::params::ptp_requests_scheduler_queue_size
ptg_requests_scheduler_core_size
Data type: Integer
PrepareToGet worker pool base size. Default: 50.
Default value: $storm::backend::params::ptg_requests_scheduler_core_size
ptg_requests_scheduler_max_size
Data type: Integer
PrepareToGet worker pool max size. Default: 200.
Default value: $storm::backend::params::ptg_requests_scheduler_max_size
ptg_requests_scheduler_queue_size
Data type: Integer
PrepareToGet request queue maximum size. Default: 2000.
Default value: $storm::backend::params::ptg_requests_scheduler_queue_size
bol_requests_scheduler_core_size
Data type: Integer
BringOnline worker pool base size. Default: 50.
Default value: $storm::backend::params::bol_requests_scheduler_core_size
bol_requests_scheduler_max_size
Data type: Integer
BringOnline Worker pool max size. Default: 200.
Default value: $storm::backend::params::bol_requests_scheduler_max_size
bol_requests_scheduler_queue_size
Data type: Integer
BringOnline request queue maximum size. Default: 2000.
Default value: $storm::backend::params::bol_requests_scheduler_queue_size
info_sitename
Data type: String
It’s the human-readable name of your site used to set the Glue-SiteName attribute.
Default value: $storm::backend::params::info_sitename
info_storage_default_root
Data type: String
Default directory for Storage Areas.
Default value: $storm::backend::params::info_storage_default_root
info_endpoint_quality_level
Data type: Integer
Endpoint maturity level to be published by the StoRM info provider. Default value: 2.
Default value: $storm::backend::params::info_endpoint_quality_level
info_webdav_pool_list
Data type: Array[Storm::Backend::WebdavPoolMember]
List of published webdav endpoints.
Default value: lookup('storm::backend::info_webdav_pool_list', Array[Storm::Backend::WebdavPoolMember], undef, $webdav_pool_members)
info_frontend_host_list
Data type: Array[Storm::Backend::SrmPoolMember]
List of published srm endpoints.
Default value: lookup('storm::backend::info_frontend_host_list', Array[Storm::Backend::SrmPoolMember], undef, $srm_pool_members)
jvm_options
Data type: String
Default value: $storm::backend::params::jvm_options
jmx
Data type: Boolean
Default value: $storm::backend::params::jmx
jmx_options
Data type: String
Default value: $storm::backend::params::jmx_options
debug
Data type: Boolean
Default value: $storm::backend::params::debug
debug_port
Data type: Integer
Default value: $storm::backend::params::debug_port
debug_suspend
Data type: Boolean
Default value: $storm::backend::params::debug_suspend
lcmaps_db_file
Data type: String
Default value: $storm::backend::params::lcmaps_db_file
lcmaps_policy_name
Data type: String
Default value: $storm::backend::params::lcmaps_policy_name
lcmaps_log_file
Data type: String
Default value: $storm::backend::params::lcmaps_log_file
lcmaps_debug_level
Data type: Integer
Default value: $storm::backend::params::lcmaps_debug_level
http_turl_prefix
Data type: String
Default value: $storm::backend::params::http_turl_prefix
info_config_file
Data type: String
Default value: $storm::backend::params::info_config_file
storm::backend::config
StoRM Backend config class
Parameters
The following parameters are available in the storm::backend::config
class.
hostname
Data type: Any
Default value: $storm::backend::hostname
install_native_libs_gpfs
Data type: Any
Default value: $storm::backend::install_native_libs_gpfs
db_username
Data type: Any
Default value: $storm::backend::db_username
db_password
Data type: Any
Default value: $storm::backend::db_password
mysql_server_install
Data type: Any
Default value: $storm::backend::mysql_server_install
mysql_server_root_password
Data type: Any
Default value: $storm::backend::mysql_server_root_password
mysql_server_override_options
Data type: Any
Default value: $storm::backend::mysql_server_override_options
xroot_hostname
Data type: Any
Default value: $storm::backend::xroot_hostname
xroot_port
Data type: Any
Default value: $storm::backend::xroot_port
gsiftp_pool_members
Data type: Any
Default value: $storm::backend::gsiftp_pool_members
gsiftp_pool_balance_strategy
Data type: Any
Default value: $storm::backend::gsiftp_pool_balance_strategy
webdav_pool_members
Data type: Any
Default value: $storm::backend::webdav_pool_members
srm_pool_members
Data type: Any
Default value: $storm::backend::srm_pool_members
transfer_protocols
Data type: Any
Default value: $storm::backend::transfer_protocols
fs_type
Data type: Any
Default value: $storm::backend::fs_type
storage_areas
Data type: Any
Default value: $storm::backend::storage_areas
frontend_public_host
Data type: Any
Default value: $storm::backend::frontend_public_host
frontend_port
Data type: Any
Default value: $storm::backend::frontend_port
directory_automatic_creation
Data type: Any
Default value: $storm::backend::directory_automatic_creation
directory_writeperm
Data type: Any
Default value: $storm::backend::directory_writeperm
rest_services_port
Data type: Any
Default value: $storm::backend::rest_services_port
rest_services_max_threads
Data type: Any
Default value: $storm::backend::rest_services_max_threads
rest_services_max_queue_size
Data type: Any
Default value: $storm::backend::rest_services_max_queue_size
xmlrpc_unsecure_server_port
Data type: Any
Default value: $storm::backend::xmlrpc_unsecure_server_port
xmlrpc_maxthread
Data type: Any
Default value: $storm::backend::xmlrpc_maxthread
xmlrpc_max_queue_size
Data type: Any
Default value: $storm::backend::xmlrpc_max_queue_size
xmlrpc_security_enabled
Data type: Any
Default value: $storm::backend::xmlrpc_security_enabled
xmlrpc_security_token
Data type: Any
Default value: $storm::backend::xmlrpc_security_token
ptg_skip_acl_setup
Data type: Any
Default value: $storm::backend::ptg_skip_acl_setup
pinlifetime_default
Data type: Any
Default value: $storm::backend::pinlifetime_default
pinlifetime_maximum
Data type: Any
Default value: $storm::backend::pinlifetime_maximum
sanity_check_enabled
Data type: Any
Default value: $storm::backend::sanity_check_enabled
service_du_enabled
Data type: Any
Default value: $storm::backend::service_du_enabled
service_du_delay
Data type: Any
Default value: $storm::backend::service_du_delay
service_du_interval
Data type: Any
Default value: $storm::backend::service_du_interval
max_ls_entries
Data type: Any
Default value: $storm::backend::max_ls_entries
gc_pinnedfiles_cleaning_delay
Data type: Any
Default value: $storm::backend::gc_pinnedfiles_cleaning_delay
gc_pinnedfiles_cleaning_interval
Data type: Any
Default value: $storm::backend::gc_pinnedfiles_cleaning_interval
gc_purge_enabled
Data type: Any
Default value: $storm::backend::gc_purge_enabled
gc_purge_interval
Data type: Any
Default value: $storm::backend::gc_purge_interval
gc_purge_size
Data type: Any
Default value: $storm::backend::gc_purge_size
gc_expired_request_time
Data type: Any
Default value: $storm::backend::gc_expired_request_time
gc_expired_inprogress_time
Data type: Any
Default value: $storm::backend::gc_expired_inprogress_time
gc_ptp_transit_interval
Data type: Any
Default value: $storm::backend::gc_ptp_transit_interval
gc_ptp_transit_start_delay
Data type: Any
Default value: $storm::backend::gc_ptp_transit_start_delay
extraslashes_file
Data type: Any
Default value: $storm::backend::extraslashes_file
extraslashes_root
Data type: Any
Default value: $storm::backend::extraslashes_root
extraslashes_gsiftp
Data type: Any
Default value: $storm::backend::extraslashes_gsiftp
db_connection_pool_enabled
Data type: Any
Default value: $storm::backend::db_connection_pool_enabled
db_connection_pool_max_active
Data type: Any
Default value: $storm::backend::db_connection_pool_max_active
db_connection_pool_max_wait
Data type: Any
Default value: $storm::backend::db_connection_pool_max_wait
asynch_db_reconnect_period
Data type: Any
Default value: $storm::backend::asynch_db_reconnect_period
asynch_db_delay_period
Data type: Any
Default value: $storm::backend::asynch_db_delay_period
asynch_picking_initial_delay
Data type: Any
Default value: $storm::backend::asynch_picking_initial_delay
asynch_picking_time_interval
Data type: Any
Default value: $storm::backend::asynch_picking_time_interval
asynch_picking_max_batch_size
Data type: Any
Default value: $storm::backend::asynch_picking_max_batch_size
requests_scheduler_core_size
Data type: Any
Default value: $storm::backend::requests_scheduler_core_size
requests_scheduler_max_size
Data type: Any
Default value: $storm::backend::requests_scheduler_max_size
requests_scheduler_queue_size
Data type: Any
Default value: $storm::backend::requests_scheduler_queue_size
ptp_requests_scheduler_core_size
Data type: Any
Default value: $storm::backend::ptp_requests_scheduler_core_size
ptp_requests_scheduler_max_size
Data type: Any
Default value: $storm::backend::ptp_requests_scheduler_max_size
ptp_requests_scheduler_queue_size
Data type: Any
Default value: $storm::backend::ptp_requests_scheduler_queue_size
ptg_requests_scheduler_core_size
Data type: Any
Default value: $storm::backend::ptg_requests_scheduler_core_size
ptg_requests_scheduler_max_size
Data type: Any
Default value: $storm::backend::ptg_requests_scheduler_max_size
ptg_requests_scheduler_queue_size
Data type: Any
Default value: $storm::backend::ptg_requests_scheduler_queue_size
bol_requests_scheduler_core_size
Data type: Any
Default value: $storm::backend::bol_requests_scheduler_core_size
bol_requests_scheduler_max_size
Data type: Any
Default value: $storm::backend::bol_requests_scheduler_max_size
bol_requests_scheduler_queue_size
Data type: Any
Default value: $storm::backend::bol_requests_scheduler_queue_size
info_config_file
Data type: Any
Default value: $storm::backend::info_config_file
info_sitename
Data type: Any
Default value: $storm::backend::info_sitename
info_storage_default_root
Data type: Any
Default value: $storm::backend::info_storage_default_root
info_endpoint_quality_level
Data type: Any
Default value: $storm::backend::info_endpoint_quality_level
jvm_options
Data type: Any
Default value: $storm::backend::jvm_options
jmx
Data type: Any
Default value: $storm::backend::jmx
jmx_options
Data type: Any
Default value: $storm::backend::jmx_options
debug
Data type: Any
Default value: $storm::backend::debug
debug_port
Data type: Any
Default value: $storm::backend::debug_port
debug_suspend
Data type: Any
Default value: $storm::backend::debug_suspend
lcmaps_db_file
Data type: Any
Default value: $storm::backend::lcmaps_db_file
lcmaps_policy_name
Data type: Any
Default value: $storm::backend::lcmaps_policy_name
lcmaps_log_file
Data type: Any
Default value: $storm::backend::lcmaps_log_file
lcmaps_debug_level
Data type: Any
Default value: $storm::backend::lcmaps_debug_level
http_turl_prefix
Data type: Any
Default value: $storm::backend::http_turl_prefix
storm::backend::configdb
StoRM Backend DB config class
Parameters
The following parameters are available in the storm::backend::configdb
class.
fqdn_hostname
Data type: Any
Default value: $storm::backend::hostname
storm_username
Data type: Any
Default value: $storm::backend::db_username
storm_password
Data type: Any
Default value: $storm::backend::db_password
storm::backend::install
StoRM Backend install class
storm::backend::params
StoRM Frontend params class
storm::backend::service
StoRM Backend service class
storm::frontend
StoRM Frontend puppet module
Examples
Example of usage
class { 'storm::frontend':
be_xmlrpc_host => 'storm-backend.example',
be_xmlrpc_token => 'secret',
db_host => 'storm-backend.example',
db_user => 'storm',
db_passwd => 'secret',
}
Parameters
The following parameters are available in the storm::frontend
class.
be_xmlrpc_host
Data type: String
Backend hostname. Required.
be_xmlrpc_port
Data type: Integer
Backend XML-RPC server port. Default is 8080.
Default value: $storm::frontend::params::be_xmlrpc_port
be_xmlrpc_token
Data type: String
Token used for communicating with Backend service. Mandatory, has no default.
Default value: $storm::frontend::params::be_xmlrpc_token
be_xmlrpc_path
Data type: String
XML-RPC server path. Default is /RPC2.
Default value: $storm::frontend::params::be_xmlrpc_path
be_recalltable_port
Data type: Integer
REST server port running on the Backend machine. Default is 9998.
Default value: $storm::frontend::params::be_recalltable_port
db_host
Data type: String
Host for database connection. Default is set to be_xmlrpc_host.
Default value: lookup('storm::frontend::db::host', String, undef, $be_xmlrpc_host)
db_user
Data type: String
User for database connection. Default is storm.
Default value: $storm::frontend::params::db_user
db_passwd
Data type: String
Password for database connection. Default is storm.
Default value: $storm::frontend::params::db_passwd
port
Data type: Integer
Frontend service port. Default is 8444.
Default value: $storm::frontend::params::port
threadpool_maxpending
Data type: Integer
Size of the internal queue used to maintain SRM tasks in case there are no free worker threads. Default is 200
Default value: $storm::frontend::params::threadpool_maxpending
threadpool_threads_number
Data type: Integer
Size of the worker thread pool. Default is 50.
Default value: $storm::frontend::params::threadpool_threads_number
gsoap_maxpending
Data type: Integer
Size of the GSOAP queue used to maintain pending SRM requests. Default is 1000.
Default value: $storm::frontend::params::gsoap_maxpending
check_user_blacklisting
Data type: Boolean
Enable/disable user blacklisting. Default is false.
Default value: $storm::frontend::params::check_user_blacklisting
argus_pepd_endpoint
Data type: String
The complete service endpoint of Argus PEP server. Mandatory if check_user_blacklisting is true.
Default value: $storm::frontend::params::argus_pepd_endpoint
monitoring_enabled
Data type: Boolean
Enable/disable monitoring. Default is true.
Default value: $storm::frontend::params::monitoring_enabled
monitoring_time_interval
Data type: Integer
Time interval in seconds between each monitoring round. Default is 60.
Default value: $storm::frontend::params::monitoring_time_interval
monitoring_detailed
Data type: Boolean
Enable/disable detailed monitoring. Default is false.
Default value: $storm::frontend::params::monitoring_detailed
security_enable_mapping
Data type: Boolean
Flag to enable/disable DN-to-userid mapping via gridmap-file. Default is false.
Default value: $storm::frontend::params::security_enable_mapping
security_enable_vomscheck
Data type: Boolean
Flag to enable/disable checking proxy VOMS credentials. Default is true.
Default value: $storm::frontend::params::security_enable_vomscheck
log_debuglevel
Data type: String
Logging level. Possible values are: ERROR, WARN, INFO, DEBUG, DEBUG2. Default is INFO
Default value: $storm::frontend::params::log_debuglevel
gridmap_dir
Data type: String
Gridmap directory path. Defailt value is: /etc/grid-security/gridmapdir
Default value: $storm::frontend::params::gridmap_dir
gridmap_file
Data type: String
Gridmap file path. Defailt value is: /etc/grid-security/grid-mapfile
Default value: $storm::frontend::params::gridmap_file
storm::frontend::config
StoRM Frontend config class
Parameters
The following parameters are available in the storm::frontend::config
class.
db_host
Data type: Any
Default value: $storm::frontend::db_host
db_user
Data type: Any
Default value: $storm::frontend::db_user
db_passwd
Data type: Any
Default value: $storm::frontend::db_passwd
port
Data type: Any
Default value: $storm::frontend::port
threadpool_threads_number
Data type: Any
Default value: $storm::frontend::threadpool_threads_number
threadpool_maxpending
Data type: Any
Default value: $storm::frontend::threadpool_maxpending
gsoap_maxpending
Data type: Any
Default value: $storm::frontend::gsoap_maxpending
be_xmlrpc_host
Data type: Any
Default value: $storm::frontend::be_xmlrpc_host
be_xmlrpc_token
Data type: Any
Default value: $storm::frontend::be_xmlrpc_token
be_xmlrpc_port
Data type: Any
Default value: $storm::frontend::be_xmlrpc_port
be_xmlrpc_path
Data type: Any
Default value: $storm::frontend::be_xmlrpc_path
be_recalltable_port
Data type: Any
Default value: $storm::frontend::be_recalltable_port
check_user_blacklisting
Data type: Any
Default value: $storm::frontend::check_user_blacklisting
argus_pepd_endpoint
Data type: Any
Default value: $storm::frontend::argus_pepd_endpoint
monitoring_enabled
Data type: Any
Default value: $storm::frontend::monitoring_enabled
monitoring_time_interval
Data type: Any
Default value: $storm::frontend::monitoring_time_interval
monitoring_detailed
Data type: Any
Default value: $storm::frontend::monitoring_detailed
security_enable_mapping
Data type: Any
Default value: $storm::frontend::security_enable_mapping
security_enable_vomscheck
Data type: Any
Default value: $storm::frontend::security_enable_vomscheck
log_debuglevel
Data type: Any
Default value: $storm::frontend::log_debuglevel
gridmap_dir
Data type: Any
Default value: $storm::frontend::gridmap_dir
gridmap_file
Data type: Any
Default value: $storm::frontend::gridmap_file
storm::frontend::install
StoRM Frontend install class
storm::frontend::params
StoRM Frontend params class
storm::frontend::service
StoRM Frontend service class
storm::gridftp
Parameters
The StoRM GridFTP configuration parameters are:
port
: the port used by GridFTP server service;port_range
: the range of ports used by transfer sockets; format is 'MIN,MAX';connections_max
: the number of max allowed connections to server;
Examples
Example of usage
class { 'storm::gridftp':
port => 2811,
port_range => '20000,25000',
connections_max => 2000,
}
Parameters
The following parameters are available in the storm::gridftp
class.
port
Data type: Integer
The port used by GridFTP server service.
Default value: $storm::gridftp::params::port
port_range
Data type: String
The range of ports used by transfer sockets; format is 'MIN,MAX'.
Default value: $storm::gridftp::params::port_range
connections_max
Data type: Integer
The number of max allowed connections to server.
Default value: $storm::gridftp::params::connections_max
log_single
Data type: String
Session log file path. Default is: /var/log/storm/storm-gridftp-session.log
Default value: $storm::gridftp::params::log_single
log_transfer
Data type: String
Transfer log file path. Default is: /var/log/storm/storm-globus-gridftp.log
Default value: $storm::gridftp::params::log_transfer
redirect_lcmaps_log
Data type: Boolean
If true, redirect the LCMAPS log to the file specified by 'llgt_log_file'.
Default value: $storm::gridftp::params::redirect_lcmaps_log
llgt_log_file
Data type: String
The LCMAPS log file used if 'redirect_lcmaps_log' is true.
Default value: $storm::gridftp::params::llgt_log_file
lcmaps_debug_level
Data type: Integer
The LCMAPS logging level. Values from 0 (ERROR) to 5 (DEBUG). Default: 3 (INFO)
Default value: $storm::gridftp::params::lcmaps_debug_level
lcas_debug_level
Data type: Integer
The LCAS logging level. Values from 0 (ERROR) to 5 (DEBUG). Default: 3 (INFO)
Default value: $storm::gridftp::params::lcas_debug_level
load_storm_dsi_module
Data type: Boolean
Enable/Disable StoRM DSI module. Default: true (enabled)
Default value: $storm::gridftp::params::load_storm_dsi_module
lcmaps_db_file
Data type: String
Custom lcmaps db file path
Default value: $storm::gridftp::params::lcmaps_db_file
lcas_db_file
Data type: String
Custom lcas db file path
Default value: $storm::gridftp::params::lcas_db_file
lcas_ban_users_file
Data type: String
Custom lcas banned users file path
Default value: $storm::gridftp::params::lcas_ban_users_file
gsi_authz_file
Data type: String
Custom gsi authz file path
Default value: $storm::gridftp::params::gsi_authz_file
storm::gridftp::config
StoRM GridFTP config class
Parameters
The following parameters are available in the storm::gridftp::config
class.
port
Data type: Any
Default value: $storm::gridftp::port
port_range
Data type: Any
Default value: $storm::gridftp::port_range
connections_max
Data type: Any
Default value: $storm::gridftp::connections_max
log_single
Data type: Any
Default value: $storm::gridftp::log_single
log_transfer
Data type: Any
Default value: $storm::gridftp::log_transfer
redirect_lcmaps_log
Data type: Any
Default value: $storm::gridftp::redirect_lcmaps_log
llgt_log_file
Data type: Any
Default value: $storm::gridftp::llgt_log_file
lcmaps_debug_level
Data type: Any
Default value: $storm::gridftp::lcmaps_debug_level
lcas_debug_level
Data type: Any
Default value: $storm::gridftp::lcas_debug_level
load_storm_dsi_module
Data type: Any
Default value: $storm::gridftp::load_storm_dsi_module
lcmaps_db_file
Data type: Any
Default value: $storm::gridftp::lcmaps_db_file
lcas_db_file
Data type: Any
Default value: $storm::gridftp::lcas_db_file
lcas_ban_users_file
Data type: Any
Default value: $storm::gridftp::lcas_ban_users_file
gsi_authz_file
Data type: Any
Default value: $storm::gridftp::gsi_authz_file
storm::gridftp::install
StoRM GridFTP install class
storm::gridftp::params
StoRM GridFTP params class
storm::gridftp::service
StoRM GridFTP service class
storm::gridmap
Utility class used to create gridmap dir, grid-mapfile, groupmapfile and pool accounts
Parameters
The following parameters are available in the storm::gridmap
class.
gridmapdir_owner
Data type: String
Default value: 'storm'
gridmapdir_group
Data type: String
Default value: 'storm'
gridmapdir_mode
Data type: String
Default value: '0770'
gridmap_data
Data type: Array[Data]
Default value: [{ 'vo' => 'test.vo', 'group' => 'testvo', 'gid' => 7100, 'pool_name' => 'tstvo', 'pool_size' => 20, 'pool_base_uid' => 7100, },{ 'vo' => 'test.vo.2', 'group' => 'testvodue', 'gid' => 8100, 'pool_name' => 'testdue', 'pool_size' => 20, 'pool_base_uid' => 8100, }]
storm::params
storm class default parameters
storm::repo
Choose which StoRM repository you want to intall and enable. Also a custom list of repository URL can be specified.
Examples
Install all the repositories and enable only nightly repo as follow:
class { 'storm::repo':
enabled => ['nightly'],
}
Parameters
The following parameters are available in the storm::repo
class.
installed
Data type: Array[Enum['stable', 'beta', 'nightly']]
The list of repositories that have to be installed. Allowed values are stable
, beta
and nightly
. Optional.
Default value: ['stable', 'beta', 'nightly']
enabled
Data type: Array[Enum['stable', 'beta', 'nightly']]
The list of repositories that have to be enabled. Allowed values are stable
, beta
and nightly
. Optional.
Default value: ['stable']
extra
Data type: Array[Storm::CustomRepo]
A list of repository that have to be created. Optional.
Default value: []
storm::storage
Init testbed storage area's directories
Examples
Example of usage
class { 'storm::storage':
root_directories => [
'/storage',
'/storage/disk',
'/storage/tape',
],
}
Parameters
The following parameters are available in the storm::storage
class.
root_directories
Data type: Array[String]
A list of all storage root directories owned by storm user. You must add also all parent directories.
Default value: ['/storage']
storm::users
Parameters
StoRM needs a 'storm' Unix user, member of an 'edguser' group. This class creates all the necessary users.
Examples
Example of usage
class { 'storm::users':
groups => {
'infosys' => {
gid => '996',
},
},
users => {
'edguser' => {
'comment' => 'Edguser user',
'groups' => [ edguser, infosys, storm, ],
'uid' => '995',
'gid' => '995',
},
'storm' => {
'comment' => 'StoRM user',
'groups' => [ storm, edguser, ],
'uid' => '991',
'gid' => '991',
},
}
}
Parameters
The following parameters are available in the storm::users
class.
groups
Data type: Accounts::Group::Hash
Default value: { }
users
Data type: Accounts::User::Hash
Default value: { 'edguser' => { 'comment' => 'Edguser user', 'groups' => [ edguser, storm, ], 'uid' => '1101', 'gid' => '1101', 'home' => '/home/edguser', }, 'storm' => { 'comment' => 'StoRM user', 'groups' => [ storm, edguser, ], 'uid' => '1100', 'gid' => '1100', 'home' => '/home/storm', }, }
storm::webdav
Parameters
The main StoRM WebDAV configuration parameters are:
user_name
: the Unix user that runs storm-webdav service;storage_areas
: the list of Storm::Webdav::StorageArea elements (more info below);oauth_issuers
: the list of Storm::Webdav::OAuthIssuer elements that means the supported OAuth providers;hostnames
: the list of hostname and aliases supported for Third-Party-Copy;http_port
andhttps_port
: the service ports;
The Storm::Webdav::StorageArea type
name
: The name of the storage area. Required.root_path
: The path of the storage area root directory. Required.access_points
: A list of logic path used to access storage area's root. Required.vos
: A list of one or more Virtual Organization names of the users allowed to read/write into the storage area. Required.orgs
: A list of one or more Organizations. Optional.authenticated_read_enabled
: A boolean value used to enable the read of the storage area content to authenticated users. Required.anonymous_read_enabled
: A boolean value used to enable anonymous read access to storage area content. Required.vo_map_enabled
: A boolean value used to enable the use of the VO gridmap files. Required.vo_map_grants_write_access
: A boolean value used to grant write access to the VO users read from grifmap file. Optional,
The Storm::Webdav::OAuthIssuer type
name
: the organization name. Rerquired.issuer
: the issuer URL. Required.
Examples
Example of usage
class { 'storm::webdav':
storage_areas => [
{
name => 'test.vo',
root_path => '/storage/test.vo',
access_points => ['/test.vo'],
vos => ['test.vo', 'test.vo.2'],
},
{
name => 'test.vo.2',
root_path => '/storage/test.vo.2',
access_points => ['/test.vo.2'],
vos => ['test.vo.2'],
authenticated_read_enabled => true,
anonymous_read_enabled => true,
vo_map_enabled => false,
},
],
oauth_issuers => [
{
name => 'indigo-dc',
issuer => 'https://iam-test.indigo-datacloud.eu/',
},
],
hostnames => ['localhost', 'alias.for.localhost'],
}
Parameters
The following parameters are available in the storm::webdav
class.
application_file
Data type: String
If defined, the application.yml file is copied from this path and oauth_issuers is ignored.
Default value: $storm::webdav::params::application_file
storage_areas_directory
Data type: String
If defined, the properties files of the storage areas are copied and storage_areas parameter is ignored.
Default value: $storm::webdav::params::storage_areas_directory
storage_areas
Data type: Array[Storm::Webdav::StorageArea]
List of storage area's configuration. Ignored if storage_areas_directory is defined.
Default value: $storm::webdav::params::storage_areas
oauth_issuers
Data type: Array[Storm::Webdav::OAuthIssuer]
List of OAuth issuers stored into application.yml. Ignored if application_file is defined.
Default value: $storm::webdav::params::oauth_issuers
hostnames
Data type: Array[String]
Default value: $storm::webdav::params::hostnames
http_port
Data type: Integer
Default value: $storm::webdav::params::http_port
https_port
Data type: Integer
Default value: $storm::webdav::params::https_port
trust_anchors_refresh_interval
Data type: Integer
Default value: $storm::webdav::params::trust_anchors_refresh_interval
max_concurrent_connections
Data type: Integer
Default value: $storm::webdav::params::max_concurrent_connections
max_queue_size
Data type: Integer
Default value: $storm::webdav::params::max_queue_size
connector_max_idle_time
Data type: Integer
Default value: $storm::webdav::params::connector_max_idle_time
vo_map_files_enable
Data type: Boolean
Default value: $storm::webdav::params::vo_map_files_enable
vo_map_files_config_dir
Data type: String
Default value: $storm::webdav::params::vo_map_files_config_dir
vo_map_files_refresh_interval
Data type: Integer
Default value: $storm::webdav::params::vo_map_files_refresh_interval
tpc_max_connections
Data type: Integer
Default value: $storm::webdav::params::tpc_max_connections
tpc_verify_checksum
Data type: Boolean
Default value: $storm::webdav::params::tpc_verify_checksum
jvm_opts
Data type: String
Default value: $storm::webdav::params::jvm_opts
authz_server_enable
Data type: Boolean
Default value: $storm::webdav::params::authz_server_enable
authz_server_issuer
Data type: String
Default value: $storm::webdav::params::authz_server_issuer
authz_server_max_token_lifetime_sec
Data type: Integer
Default value: $storm::webdav::params::authz_server_max_token_lifetime_sec
authz_server_secret
Data type: String
Default value: $storm::webdav::params::authz_server_secret
require_client_cert
Data type: Boolean
Default value: $storm::webdav::params::require_client_cert
use_conscrypt
Data type: Boolean
Default value: $storm::webdav::params::use_conscrypt
tpc_use_conscrypt
Data type: Boolean
Default value: $storm::webdav::params::tpc_use_conscrypt
enable_http2
Data type: Boolean
Default value: $storm::webdav::params::enable_http2
debug
Data type: Boolean
Default value: $storm::webdav::params::debug
debug_port
Data type: Integer
Default value: $storm::webdav::params::debug_port
debug_suspend
Data type: Boolean
Default value: $storm::webdav::params::debug_suspend
storm_limit_nofile
Data type: Integer
Default value: $storm::webdav::params::storm_limit_nofile
storm::webdav::config
StoRM WebDAV config class
Parameters
The following parameters are available in the storm::webdav::config
class.
application_file
Data type: Any
Default value: $storm::webdav::application_file
storage_areas_directory
Data type: Any
Default value: $storm::webdav::storage_areas_directory
storage_areas
Data type: Any
Default value: $storm::webdav::storage_areas
oauth_issuers
Data type: Any
Default value: $storm::webdav::oauth_issuers
hostnames
Data type: Any
Default value: $storm::webdav::hostnames
http_port
Data type: Any
Default value: $storm::webdav::http_port
https_port
Data type: Any
Default value: $storm::webdav::https_port
trust_anchors_refresh_interval
Data type: Any
Default value: $storm::webdav::trust_anchors_refresh_interval
max_concurrent_connections
Data type: Any
Default value: $storm::webdav::max_concurrent_connections
max_queue_size
Data type: Any
Default value: $storm::webdav::max_queue_size
connector_max_idle_time
Data type: Any
Default value: $storm::webdav::connector_max_idle_time
vo_map_files_enable
Data type: Any
Default value: $storm::webdav::vo_map_files_enable
vo_map_files_config_dir
Data type: Any
Default value: $storm::webdav::vo_map_files_config_dir
vo_map_files_refresh_interval
Data type: Any
Default value: $storm::webdav::vo_map_files_refresh_interval
tpc_max_connections
Data type: Any
Default value: $storm::webdav::tpc_max_connections
tpc_verify_checksum
Data type: Any
Default value: $storm::webdav::tpc_verify_checksum
jvm_opts
Data type: Any
Default value: $storm::webdav::jvm_opts
authz_server_enable
Data type: Any
Default value: $storm::webdav::authz_server_enable
authz_server_issuer
Data type: Any
Default value: $storm::webdav::authz_server_issuer
authz_server_max_token_lifetime_sec
Data type: Any
Default value: $storm::webdav::authz_server_max_token_lifetime_sec
authz_server_secret
Data type: Any
Default value: $storm::webdav::authz_server_secret
require_client_cert
Data type: Any
Default value: $storm::webdav::require_client_cert
use_conscrypt
Data type: Any
Default value: $storm::webdav::use_conscrypt
tpc_use_conscrypt
Data type: Any
Default value: $storm::webdav::tpc_use_conscrypt
enable_http2
Data type: Any
Default value: $storm::webdav::enable_http2
debug
Data type: Any
Default value: $storm::webdav::debug
debug_port
Data type: Any
Default value: $storm::webdav::debug_port
debug_suspend
Data type: Any
Default value: $storm::webdav::debug_suspend
storm_limit_nofile
Data type: Any
Default value: $storm::webdav::storm_limit_nofile
storm::webdav::install
StoRM WebDAV install class
storm::webdav::params
StoRM WebDAV params class
storm::webdav::service
StoRM WebDAV service class
Defined types
storm::rootdir
StoRM root directory defined resource
Parameters
The following parameters are available in the storm::rootdir
defined type.
path
Data type: String
Data types
Storm::Backend::Acl
The ACL type for storm-backend-server
Alias of Struct[{ group => String, permission => Enum['R', 'W', 'RW'], }]
Storm::Backend::AclMode
The Storm::Backend::AclMode data type.
Alias of Enum['AoT', 'JiT']
Storm::Backend::BalanceStrategy
The Storm::Backend::BalanceStrategy data type.
Alias of Enum['round-robin', 'smart-rr', 'random', 'weight']
Storm::Backend::Endpoint
The Endpoint type for storm-backend-server
Alias of Struct[{ schema => Enum['rfio','xroot','gsiftp','srm','http','https'], hostname => String, port => Integer, path => String, }]
Storm::Backend::FileSystem
The FileSystem type for storm-backend-server
Alias of Struct[{ type => Enum['ext3', 'gpfs'], driver => Enum['posixfs', 'gpfs', 'test'], space_system => Optional[Enum['MockSpaceSystem', 'GPFSSpaceSystem']], }]
Storm::Backend::FsDriver
The Storm::Backend::FsDriver data type.
Alias of Enum['posixfs', 'gpfs', 'test']
Storm::Backend::FsType
The Storm::Backend::FsType data type.
Alias of Enum['posixfs', 'gpfs', 'test']
Storm::Backend::Gsiftp
The Gsiftp type for storm-backend-server
Alias of Struct[{ pool => Storm::Backend::Pool, }]
Storm::Backend::GsiftpPoolMember
The Storm::Backend::GsiftpPoolMember data type.
Alias of Struct[{ hostname => String, port => Optional[Integer], weight => Optional[Integer], }]
Storm::Backend::Pool
The Pool type for storm-backend-server
Alias of Struct[{ balance_strategy => Optional[Enum['round-robin', 'smart-rr', 'random', 'weight']], members => Array[Struct[{ hostname => String, port => Optional[Integer], weigth => Optional[Integer], }]], }]
Storm::Backend::Quota
The Quota type for storm-backend-server
Alias of Struct[{ device => String, type => Enum['username', 'group', 'fileset'], value => String, }]
Storm::Backend::Rfio
The Rfio type for storm-backend-server
Alias of Struct[{ hostname => String, port => Optional[Integer], }]
Storm::Backend::SrmPoolMember
The Storm::Backend::SrmPoolMember data type.
Alias of Struct[{ hostname => String, port => Optional[Integer], }]
Storm::Backend::StorageArea
Mandatory fields:
Alias of Struct[{ name => String, root_path => String, access_points => Array[String], vos => Array[String], fs_type => Optional[Storm::Backend::FsType], space_token => Optional[String], authz => Optional[String], storage_class => Optional[Storm::Backend::StorageClass], online_size => Integer, nearline_size => Optional[Integer], acl_mode => Optional[Storm::Backend::AclMode], default_acl_list => Optional[Array[Storm::Backend::Acl]], quota => Optional[Storm::Backend::Quota], dn_regex => Optional[String], anonymous_http_read => Optional[Boolean], transfer_protocols => Optional[Array[Storm::Backend::TransferProtocol]], rfio_hostname => Optional[String], rfio_port => Optional[Integer], xroot_hostname => Optional[String], xroot_port => Optional[Integer], gsiftp_pool_balance_strategy => Optional[Storm::Backend::BalanceStrategy], gsiftp_pool_members => Optional[Array[Storm::Backend::GsiftpPoolMember]], webdav_pool_members => Optional[Array[Storm::Backend::WebdavPoolMember]], }]
Storm::Backend::StorageClass
The Storm::Backend::StorageClass data type.
Alias of Enum['T0D1', 'T1D0', 'T1D1']
Storm::Backend::TransferProtocol
The TransferProtocol type for storm-backend-server
Alias of Enum['file', 'gsiftp', 'xroot', 'webdav']
Storm::Backend::Webdav
The WebDAV type for storm-backend-server
Alias of Struct[{ pool => Array[Struct[{ hostname => String, port => Optional[Integer], }]], }]
Storm::Backend::WebdavPoolMember
The Storm::Backend::WebdavPoolMember data type.
Alias of Struct[{ hostname => String, http_port => Optional[Integer], https_port => Optional[Integer], }]
Storm::Backend::Xroot
The Xroot type for storm-backend-server
Alias of Struct[{ hostname => String, port => Optional[Integer], }]
Storm::CustomRepo
The storage area type for storm-webdav
Alias of Struct[{ name => String, baseurl => String, }]
Storm::Webdav::OAuthIssuer
The OAuthIssuer type for storm-webdav
Alias of Struct[{ name => String, issuer => String, }]
Storm::Webdav::StorageArea
The storage area type for storm-webdav
Alias of Struct[{ name => String, root_path => String, access_points => Array[String], vos => Array[String], orgs => Optional[Array[String]], authenticated_read_enabled => Optional[Boolean], anonymous_read_enabled => Optional[Boolean], vo_map_enabled => Optional[Boolean], vo_map_grants_write_permission => Optional[Boolean], orgs_grant_read_permission => Optional[Boolean], orgs_grant_write_permission => Optional[Boolean], wlcg_scope_authz_enabled => Optional[Boolean], fine_grained_authz_enabled => Optional[Boolean], }]
Changelog
All notable changes to this project will be documented in this file.
[Unreleased]
[0.2.3] - 2020-05-25
Changed
- Allow enable/disable StoRM DSI module for gridftp
[0.2.1] - 2020-05-25
Changed
- Updated README.md
[0.2.0] - 2020-05-15
Added
- Support for StoRM Frontend service configuration
Changed
- Fixed ignored WebDAV HTTP2 and Conscrypt options
- Allow redirection of LCMAPS logging to a particular file
- Fixed conflict on storm user/group creation when the same node install WebDAV and Frontend services
[0.1.0] - 2019-10-09
Added
- Support for StoRM WebDAV service configuration
- Support for StoRM GridFTP server configuration
- Documentation at REFERENCE.md
- Documentation at https://italiangrid.github.io/storm-puppet-module
Dependencies
- puppetlabs/accounts (>= 6.1.0)
- puppetlabs/mysql (>= 10.4.0)