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', '1.1.1'
Learn more about managing modules with a PuppetfileDocumentation
StoRM puppet module
Table of Contents
Description
StoRM Puppet module allows administrators to configure StoRM services deployed on CentOS 7.
The supported services are:
- StoRM Backend
- StoRM Frontend
- StoRM WebDAV
- StoRM Globus GridFTP
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
This Puppet module allows site administrators to properly configure StoRM services on CentOS 7 platform. This module provides some classes related to the main components and also some utility classes those can be used to configure StoRM repositories, StoRM users, VO pool accounts, LCMAPS and storage directories.
Component classes:
Utility classes:
StoRM Backend class
Prerequisites: A MySQL or MariaDB server with StoRM databases must exist. Databases can be empty. If you want to use this module to install MySQL client and server and init databases, please read about StoRM database utility class.
The Backend class installs:
storm-backend-mp
and all the releated packages;storm-dynamic-info-provider
.
Then, the Backend class configures storm-backend-server
service by managing the following files:
/etc/storm/backend-server/storm.properties
/etc/storm/backend-server/namespace.xml
/etc/systemd/system/storm-backend-server.service.d/storm-backend-server.conf
/etc/systemd/system/storm-backend-server.service.d/filelimit.conf
and deploys StoRM databases. In addiction, this class configures and run storm-info-provider
by managing the following file:
/etc/storm/info-provider/storm-yaim-variables.conf
.
The whole list of StoRM Backend class parameters can be found here.
Example of StoRM Backend configuration:
class { 'storm::backend':
hostname => backend.test.example,
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 class
The StoRM Frontend class installs storm-frontend-mp
and all the releated packages and configures storm-frontend-server
service by managing the following files:
/etc/storm/frontend-server/storm-frontend-server.conf
/etc/sysconfig/storm-frontend-server
The whole list of StoRM Frontend class parameters can be found here.
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',
}
StoRM WebDAV class
The StoRM WebDAV class installs storm-webdav
rpm and configures storm-webdav
service by managing the following files:
- the systemd override files
filelimit.conf
andstorm-webdav.conf
stored into/etc/systemd/system/storm-webdav.service.d
; - the storage areas property files stored into
/etc/storm/webdav/sa.d
(optional); - the
application.yml
file in/etc/storm/webdav/comfig
(optional).
The whole list of StoRM Webdav class parameters can be found here.
Example 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', '/alias'],
vos => ['test.vo.2'],
authenticated_read_enabled => true,
},
],
oauth_issuers => [
{
name => 'indigo-dc',
issuer => 'https://iam-test.indigo-datacloud.eu/',
},
],
hostnames => ['storm-webdav.test.example', 'alias-for-storm-webdav.test.example'],
}
StoRM GridFTP class
The StoRM GridFTP class installs storm-globus-gridftp-mp
and configures storm-globus-gridftp
service by managing the following files:
/etc/gridftp.conf
, the main configuration file;/etc/sysconfig/storm-globus-gridftp
, with the environment variables.
The whole list of StoRM GridFTP class parameters can be found here.
Examples of StoRM Gridftp configuration:
class { 'storm::gridftp':
redirect_lcmaps_log => true,
llgt_log_file => '/var/log/storm/storm-gridftp-lcmaps.log',
}
StoRM database class
The StoRM database utility class installs mariadb
server and releated rpms and configures mysql
service by managing the following files:
/etc/my.cnf.d/server.cnf
;/etc/systemd/system/mariadb.service.d/limits.conf
.
The whole list of StoRM Database class parameters can be found here.
Examples of StoRM Database usage:
class { 'storm::db':
root_password => 'supersupersecretword',
storm_password => 'supersecretword',
}
StoRM repo class
The StoRM repo utility class creates all the StoRM YUM repositories: stable, beta, nightly. By default, only stable repo is enabled. You can also add extra repositories to install.
The whole list of StoRM repo class parameters can be found here.
Examples of StoRM Repo usage:
class { 'storm::repo':
enabled => ['stable', 'beta'],
}
StoRM users class
The StoRM users utility class creates the default StoRM users and groups.
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',
},
},
}
The whole list of StoRM repo class parameters can be found here.
StoRM storage class
To create the root directories of your storage areas, you can use the storm::storage
utility class. This class is mainly used for test purposes. We expected not to use this class on production.
The whole list of StoRM storage class parameters can be found here.
Example of StoRM storage usage on our testbed:
file { '/storage':
ensure => directory,
mode => '0755',
owner => 'root',
group => 'root',
recurse => false,
} -> class { 'storm::storage':
root_directories => [
'/storage/test.vo',
'/storage/test.vo.2',
'/storage/tape',
'/storage/info',
],
}
StoRM mapping class
The StoRM mapping utility class installs the following rpms:
lcmaps
lcmaps-without-gsi
lcmaps-plugins-basic
lcmaps-plugins-voms
lcas
lcas-lcmaps-gt4-interface
lcas-plugins-basic
lcas-plugins-voms
Then, it creates the following directories/files:
/etc/grid-security/gridmapdir
/etc/grid-security/grid-mapfile
/etc/grid-security/groupmapfile
/etc/grid-security/gsi-authz.conf
(optional)/etc/lcmaps/lcmaps.db
(optional)/etc/lcas/lcas.db
(optional)/etc/lcas/ban_users.db
(optional)
The content of grid-mapfile and groupmapfile and the content of gridmapdir directory depends on the pool accounts defined.
By default, the pool accounts needed by our testbed are created though the parameter pools
:
$pools = [{
'name' => 'tstvo',
'size' => 20,
'base_uid' => 7100,
'group' => 'testvo',
'groups' => ['testvo'],
'gid' => 7100,
'vo' => 'test.vo',
'role' => 'NULL',
},{
'name' => 'testdue',
'size' => 20,
'base_uid' => 8100,
'group' => 'testvodue',
'groups' => ['testvodue'],
'gid' => 8100,
'vo' => 'test.vo.2',
'role' => 'NULL',
}],
The whole list of StoRM Mapping class parameters can be found here.
Examples of StoRM Mapping usage:
include 'storm::mapping'
Documentation
You can find all the info about module classes and parameters at:
How to update doc (for developers)
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::db
: Install MariaDB server and client, create empty databases 'storm_db' and 'storm_be_ISAM', add storm user and all the necessary grants.storm::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::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
: The AclMode type for storm-backend-serverStorm::Backend::BalanceStrategy
: The BalanceStrategy type for storm-backend-serverStorm::Backend::Endpoint
: The Endpoint type for storm-backend-serverStorm::Backend::FileSystem
: The FileSystem type for storm-backend-serverStorm::Backend::FsDriver
: The FsDriver type for storm-backend-serverStorm::Backend::FsType
: The FsType type for storm-backend-serverStorm::Backend::Gsiftp
: The Gsiftp type for storm-backend-serverStorm::Backend::GsiftpPoolMember
: The GsiftpPoolMember type for storm-backend-serverStorm::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
: The SrmPoolMember type for storm-backend-serverStorm::Backend::StorageArea
: The storage area type for storm-backend-serverStorm::Backend::StorageClass
: The StorageClass type for storm-backend-serverStorm::Backend::TransferProtocol
: The TransferProtocol type for storm-backend-serverStorm::Backend::Webdav
: The WebDAV type for storm-backend-serverStorm::Backend::WebdavPoolMember
: The WebdavPoolMember type for storm-backend-serverStorm::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
Default value: lookup('storm::backend::hostname', String, undef, $::fqdn)
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
db_hostname
Data type: String
Fully Qualified Domain Name of database hostname. Default value: hostname
.
Default value: lookup('storm::backend::db_hostname', String, undef, $hostname)
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
storm_limit_nofile
Data type: Integer
Sets LimitNOFILE value.
Default value: $storm::backend::params::storm_limit_nofile
manage_path_authz_db
Data type: Any
If true, allows to set content of path-authz.db file.
Default value: $storm::backend::params::manage_path_authz_db
path_authz_db_file
Data type: Any
If manage_path_authz_db is true, set the content from this source path
Default value: $storm::backend::params::path_authz_db_file
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_hostname
Data type: Any
Default value: $storm::backend::db_hostname
db_username
Data type: Any
Default value: $storm::backend::db_username
db_password
Data type: Any
Default value: $storm::backend::db_password
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_limit_nofile
Data type: Any
Default value: $storm::backend::storm_limit_nofile
manage_path_authz_db
Data type: Any
Default value: $storm::backend::manage_path_authz_db
path_authz_db_file
Data type: Any
Default value: $storm::backend::path_authz_db_file
storm::backend::configdb
StoRM Backend DB config class
Parameters
The following parameters are available in the storm::backend::configdb
class.
db_hostname
Data type: Any
Default value: $storm::backend::db_hostname
db_username
Data type: Any
Default value: $storm::backend::db_username
db_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::db
Install MariaDB server and client, create empty databases 'storm_db' and 'storm_be_ISAM', add storm user and all the necessary grants.
Examples
Basic usage:
include storm::db
Parameters
The following parameters are available in the storm::db
class.
fqdn_hostname
Data type: String
The Fully Qualified Domain Name of the host. Default value got from Puppet fact fqdn
.
Default value: $::fqdn
root_password
Data type: String
MySQL root password. Default: 'storm'.
Default value: 'storm'
storm_username
Data type: String
The username of the user used by storm services to query the databases. Default 'storm'.
Default value: 'storm'
storm_password
Data type: String
The password of 'storm' username used by storm services to access the databases. Default: 'storm'.
Default value: 'storm'
override_options
Data type: Data
MySQL server override options. Read more about this at https://forge.puppet.com/puppetlabs/mysql/reference#override_options.
Default value: { 'mysqld' => { 'bind-address' => '0.0.0.0', 'max_connections' => 2048, }, }
limit_no_file
Data type: Integer
MariaDB setting for limitNoFile
Default value: 65535
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
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
storm::gridftp::install
StoRM GridFTP install class
storm::gridftp::params
StoRM GridFTP params class
storm::gridftp::service
StoRM GridFTP service class
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 => ['stable'],
}
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
StoRM WebDAV puppet module
Examples
Basic 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,
},
],
manage_application_file => true,
oauth_issuers => [
{
name => 'indigo-dc',
issuer => 'https://iam-test.indigo-datacloud.eu/',
},
],
hostnames => ['webdav.example.org', 'storm-webdav.example.org'],
}
class { 'storm::webdav':
manage_application_file => true,
application_file => '/root/storm/webdav/application.yml',
storage_areas_directory => '/root/storm/webdav/sa.d',
hostnames => ['storm-webdav.example.org'],
}
Parameters
The following parameters are available in the storm::webdav
class.
manage_application_file
Data type: Boolean
Set to True if you want to manage application.yml configuration. Default: false (application.yml file configuration is ignored).
Default value: $storm::webdav::params::manage_application_file
application_file
Data type: String
If defined, the application.yml file is copied from this path and oauth_issuers is ignored. Ignored if manage_application_file is false.
Default value: $storm::webdav::params::application_file
manage_storage_areas
Data type: Boolean
Set to True if you want to manage storage areas configuration. Default: true.
Default value: $storm::webdav::params::manage_storage_areas
storage_areas_directory
Data type: String
If defined, the properties files of the storage areas are copied and storage_areas parameter is ignored. Ignored if manage_storage_areas is false.
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. Ignored if manage_storage_areas is false.
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]
Sets STORMWEBDAV_HOSTNAME(N) environment variables.
Default value: $storm::webdav::params::hostnames
http_port
Data type: Integer
Sets STORM_WEBDAV_HTTP_PORT environment variable.
Default value: $storm::webdav::params::http_port
https_port
Data type: Integer
Sets STORM_WEBDAV_HTTPS_PORT environment variable.
Default value: $storm::webdav::params::https_port
trust_anchors_refresh_interval
Data type: Integer
Sets STORM_WEBDAV_TRUST_ANCHORS_REFRESH_INTERVAL environment variable.
Default value: $storm::webdav::params::trust_anchors_refresh_interval
max_concurrent_connections
Data type: Integer
Sets STORM_WEBDAV_MAX_CONNECTIONS environment variable.
Default value: $storm::webdav::params::max_concurrent_connections
max_queue_size
Data type: Integer
Sets STORM_WEBDAV_MAX_QUEUE_SIZE environment variable.
Default value: $storm::webdav::params::max_queue_size
connector_max_idle_time
Data type: Integer
Sets STORM_WEBDAV_CONNECTOR_MAX_IDLE_TIME environment variable.
Default value: $storm::webdav::params::connector_max_idle_time
vo_map_files_enable
Data type: Boolean
Sets STORM_WEBDAV_VO_MAP_FILES_ENABLE environment variable.
Default value: $storm::webdav::params::vo_map_files_enable
vo_map_files_config_dir
Data type: String
Sets STORM_WEBDAV_VO_MAP_FILES_CONFIG_DIR environment variable.
Default value: $storm::webdav::params::vo_map_files_config_dir
vo_map_files_refresh_interval
Data type: Integer
Sets STORM_WEBDAV_VO_MAP_FILES_REFRESH_INTERVAL environment variable.
Default value: $storm::webdav::params::vo_map_files_refresh_interval
tpc_max_connections
Data type: Integer
Sets STORM_WEBDAV_TPC_MAX_CONNECTIONS environment variable.
Default value: $storm::webdav::params::tpc_max_connections
tpc_verify_checksum
Data type: Boolean
Sets STORM_WEBDAV_TPC_VERIFY_CHECKSUM environment variable.
Default value: $storm::webdav::params::tpc_verify_checksum
jvm_opts
Data type: String
Sets part of STORM_WEBDAV_JVM_OPTS environment variable.
Default value: $storm::webdav::params::jvm_opts
authz_server_enable
Data type: Boolean
Sets STORM_WEBDAV_AUTHZ_SERVER_ENABLE environment variable.
Default value: $storm::webdav::params::authz_server_enable
authz_server_issuer
Data type: String
Sets STORM_WEBDAV_AUTHZ_SERVER_ISSUER environment variable.
Default value: $storm::webdav::params::authz_server_issuer
authz_server_max_token_lifetime_sec
Data type: Integer
Sets STORM_WEBDAV_AUTHZ_SERVER_MAX_TOKEN_LIFETIME_SEC environment variable.
Default value: $storm::webdav::params::authz_server_max_token_lifetime_sec
authz_server_secret
Data type: String
Sets STORM_WEBDAV_AUTHZ_SERVER_SECRET environment variable.
Default value: $storm::webdav::params::authz_server_secret
require_client_cert
Data type: Boolean
Sets STORM_WEBDAV_REQUIRE_CLIENT_CERT environment variable.
Default value: $storm::webdav::params::require_client_cert
use_conscrypt
Data type: Boolean
Sets STORM_WEBDAV_USE_CONSCRYPT environment variable.
Default value: $storm::webdav::params::use_conscrypt
tpc_use_conscrypt
Data type: Boolean
Sets STORM_WEBDAV_TPC_USE_CONSCRYPT environment variable.
Default value: $storm::webdav::params::tpc_use_conscrypt
enable_http2
Data type: Boolean
Sets STORM_WEBDAV_ENABLE_HTTP2 environment variable.
Default value: $storm::webdav::params::enable_http2
debug
Data type: Boolean
Sets part of STORM_WEBDAV_JVM_OPTS environment variable. It enables remote debug.
Default value: $storm::webdav::params::debug
debug_port
Data type: Integer
Sets part of STORM_WEBDAV_JVM_OPTS environment variable. It sets the remote debug port if remote debug is enabled.
Default value: $storm::webdav::params::debug_port
debug_suspend
Data type: Boolean
Sets part of STORM_WEBDAV_JVM_OPTS environment variable. It sets debug suspend value in case remote debug is enabled.
Default value: $storm::webdav::params::debug_suspend
storm_limit_nofile
Data type: Integer
Sets LimitNOFILE value.
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.
manage_application_file
Data type: Any
Default value: $storm::webdav::manage_application_file
application_file
Data type: Any
Default value: $storm::webdav::application_file
oauth_issuers
Data type: Any
Default value: $storm::webdav::oauth_issuers
manage_storage_areas
Data type: Any
Default value: $storm::webdav::manage_storage_areas
storage_areas_directory
Data type: Any
Default value: $storm::webdav::storage_areas_directory
storage_areas
Data type: Any
Default value: $storm::webdav::storage_areas
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 AclMode type for storm-backend-server
Alias of Enum['AoT', 'JiT']
Storm::Backend::BalanceStrategy
The BalanceStrategy type for storm-backend-server
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 FsDriver type for storm-backend-server
Alias of Enum['posixfs', 'gpfs', 'test']
Storm::Backend::FsType
The FsType type for storm-backend-server
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 GsiftpPoolMember type for storm-backend-server
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 SrmPoolMember type for storm-backend-server
Alias of Struct[{ hostname => String, port => Optional[Integer], }]
Storm::Backend::StorageArea
The storage area type for storm-backend-server
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 StorageClass type for storm-backend-server
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 WebdavPoolMember type for storm-backend-server
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.
[1.1.0] - 2020-10-05
- Removed storm::mapping class
[1.0.5] - 2020-10-02
- Added path-authz.db support to StoRM Backend
[1.0.0] - 2020-09-25
- Moved database creation and MySQL/MariaDB installation on a separated class storm::db
- Backend class only import SQL script of databases, only if database or table version not exists
- WebDAV class by default doesn't manage application.yml file. It can be optionally managed from a source or from variables.
- WebDAV class by default manage storage areas. A source directory or the array of storage areas can be provided.
- Mapping class also manages VOMS roles and multiple groups.
- Removed epel and umd repo from repo class
- Removed testca and testvos classes
[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)
- puppetlabs-stdlib (>= 1.0.0)