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.2.3'
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 WebDAV
- StoRM Globus GridFTP server
- StoRM Frontend
Setup
Build and install module as follow:
puppet module build
puppet module install ./pkg/cnafsd-storm-0.2.2.tar.gz
Usage
With this Puppet module, administrators can configure StoRM services, users and storage directories if needed.
Customize StoRM users
To create the default StoRM users and groups use storm::users
class.
Use:
class { 'storm::users': }
to create default scenario:
storm
group with id 991edguser
group with id 995infosys
group with id 996storm
user with id 991, member ofstorm
andedguser
groupsedguser
user with id 995
Check here for all the class options.
Customize StoRM WebDAV component
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'],
authenticated_read_enabled => false,
anonymous_read_enabled => false,
vo_map_enabled => false,
},
{
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 => false,
vo_map_enabled => false,
},
],
hostnames => ['storm-webdav.example.org', 'alias-for-storm-webdav.example.org'],
}
Check here for all WebDAV class options.
Customize StoRM GridFTP component
Example of StoRM Gridftp configuration:
class { 'storm::gridftp':
redirect_lcmaps_log => true,
llgt_log_file => '/var/log/storm/storm-gridftp-lcmaps.log',
}
Check here for all GridFTP class options.
Customize StoRM Frontend component
Example of StoRM Frontend configuration:
class { 'storm::frontend':
be_xmlrpc_host => 'storm-backend.example',
be_xmlrpc_token => 'secret',
db_host => 'storm-backend.example',
db_user => 'storm',
db_passwd => 'secret',
}
Check here for all Frontend 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::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::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::common_directory
: Check if a directory path exists. If not, a new directory is created with specific owner and permissions.
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
Parameters
The StoRM Backend configuration parameters are:
name
: description
Examples
Example of usage
class { 'storm::backend':
}
Parameters
The following parameters are available in the storm::backend
class.
name
Description
hostname
Data type: String
db_user
Data type: String
Default value: $storm::backend::params::db_user
db_passwd
Data type: String
Default value: $storm::backend::params::db_passwd
rfio_hostname
Data type: String
Default value: lookup('storm::backend::rfio_hostname', String, undef, $hostname)
rfio_port
Data type: Integer
Default value: $storm::backend::params::rfio_port
xroot_hostname
Data type: String
Default value: lookup('storm::backend::xroot_hostname', String, undef, $hostname)
xroot_port
Data type: Integer
Default value: $storm::backend::params::xroot_port
gsiftp_pool_balance_strategy
Data type: Storm::Backend::BalanceStrategy
Default value: $storm::backend::params::gsiftp_pool_balance_strategy
gsiftp_pool_members
Data type: Array[Storm::Backend::GsiftpPoolMember]
Default value: $storm::backend::params::gsiftp_pool_members
webdav_pool_members
Data type: Array[Storm::Backend::WebdavPoolMember]
Default value: $storm::backend::params::webdav_pool_members
srm_pool_members
Data type: Array[Storm::Backend::SrmPoolMember]
Default value: $storm::backend::params::srm_pool_members
storage_areas
Data type: Array[Storm::Backend::StorageArea]
Default value: $storm::backend::params::storage_areas
frontend_public_host
Data type: String
Default value: lookup('storm::backend::srm_hostname', String, undef, $hostname)
storm::backend::config
StoRM Backend config class
Parameters
The following parameters are available in the storm::backend::config
class.
db_user
Data type: Any
Default value: $storm::backend::db_user
db_passwd
Data type: Any
Default value: $storm::backend::db_passwd
storage_areas
Data type: Any
Default value: $storm::backend::storage_areas
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
rfio_hostname
Data type: Any
Default value: $storm::backend::rfio_hostname
rfio_port
Data type: Any
Default value: $storm::backend::rfio_port
xroot_hostname
Data type: Any
Default value: $storm::backend::xroot_hostname
xroot_port
Data type: Any
Default value: $storm::backend::xroot_port
srm_hostname
Data type: Any
Default value: $storm::backend::frontend_public_host
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.
db_host
Data type: String
Host for database connection. Default is localhost.
Default value: $storm::frontend::params::db_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 password.
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
be_xmlrpc_host
Data type: String
Backend hostname. Default is localhost.
Default value: $storm::frontend::params::be_xmlrpc_host
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
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 => ['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':
storage_root => '/storage',
storage_areas => {
'test.vo' => '/storage/test.vo',
'tape' => '/storage/tape',
},
}
Parameters
The following parameters are available in the storm::storage
class.
storage_root
Data type: String
Default value: '/storage'
storage_areas
Data type: Hash[String, String]
Default value: { 'test.vo' => '/storage/test.vo', 'test.vo.2' => '/storage/test.vo.2', 'igi' => '/storage/igi', 'noauth' => '/storage/noauth', 'test.vo.bis' => '/storage/test.vo.bis', 'nested' => '/storage/nested', 'tape' => '/storage/tape', }
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: { 'infosys' => { gid => '996', }, }
users
Data type: Accounts::User::Hash
Default value: { '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', }, }
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'],
authenticated_read_enabled => false,
anonymous_read_enabled => false,
vo_map_enabled => false,
},
{
name => 'test.vo.2',
root_path => '/storage/test.vo.2',
access_points => ['/test.vo.2'],
vos => ['test.vo.2'],
authenticated_read_enabled => false,
anonymous_read_enabled => false,
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.
storage_areas
Data type: Array[Storm::Webdav::StorageArea]
List of storage area's configuration.
Default value: $storm::webdav::params::storage_areas
oauth_issuers
Data type: Array[Storm::Webdav::OAuthIssuer]
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.
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::common_directory
Check if a directory path exists. If not, a new directory is created with specific owner and permissions.
Examples
Basic usage
storm::common_directory { 'check-root-dir':
path => '/storage',
}
Parameters
The following parameters are available in the storm::common_directory
defined type.
path
Data type: String
The directory path. Required.
owner
Data type: String
Directory's owner. Optional. Default: 'storm'.
Default value: 'storm'
group
Data type: String
Directory's group. Optional. Default: 'storm'.
Default value: 'storm'
permissions
Data type: String
Directory's permissions. Optional. Default: '755'.
Default value: '755'
recurse
Data type: Boolean
If recursion is enabled. Optional. Default: false.
Default value: false
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['ext3', 'gpfs']
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
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], fs_driver => Optional[Storm::Backend::FsDriver], 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', 'rfio', 'root', 'http', 'https']
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, 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_write_permission => Optional[Boolean], }]
Changelog
All notable changes to this project will be documented in this file.
[Unreleased]
[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)