Forge Home

storm

StoRM Puppet module

17,818 downloads

272 latest version

4.6 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 4.1.0 (latest)
  • 4.0.1
  • 4.0.0
  • 3.4.0
  • 3.3.2
  • 3.3.1
  • 3.3.0
  • 3.2.1
  • 3.2.0
  • 3.1.1
  • 3.1.0
  • 3.0.0
  • 2.2.1
  • 2.2.0
  • 2.1.0
  • 2.0.1
  • 2.0.0
  • 1.1.1
  • 1.1.0
  • 1.0.5
  • 1.0.4
  • 1.0.3
  • 1.0.2
  • 1.0.1
  • 1.0.0
  • 0.4.4
  • 0.4.3
  • 0.4.2
  • 0.4.0
  • 0.3.12
  • 0.3.11
  • 0.3.10
  • 0.3.9
  • 0.3.8
  • 0.3.7
  • 0.3.5
  • 0.3.4
  • 0.3.3
  • 0.3.2
  • 0.3.1
  • 0.3.0
  • 0.2.9
  • 0.2.8
  • 0.2.7
  • 0.2.6 (deleted)
  • 0.2.5
  • 0.2.4
  • 0.2.3
  • 0.2.2
  • 0.2.1
  • 0.2.0 (deleted)
released Jul 27th 2020
This version is compatible with:
  • Puppet Enterprise 2018.1.x
  • Puppet >= 5.5.0 < 6.0.0

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'cnafsd-storm', '0.3.4'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add cnafsd-storm
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install cnafsd-storm --version 0.3.4

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

cnafsd/storm — version 0.3.4 Jul 27th 2020

StoRM puppet module

Table of Contents

  1. Description
  2. Setup
  3. Usage
  4. Limitations - OS compatibility

Description

StoRM Puppet module allows administrators to easily configure StoRM services. Currently, the supported services are:

  • StoRM WebDAV
  • StoRM Globus GridFTP server
  • StoRM Frontend
  • StoRM Backend

Setup

StoRM Puppet module is available on puppet forge:

puppet module install cnafsd-storm

You can also build and install module from source code as follow:

git clone https://github.com/italiangrid/storm-puppet-module.git
cd storm-puppet-module
puppet module build
puppet module install ./pkg/cnafsd-storm-*.tar.gz

Usage

With this Puppet module, administrators can configure StoRM services, 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 991
  • edguser group with id 995
  • infosys group with id 996
  • storm user with id 991, member of storm and edguser groups
  • edguser 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.

Customize StoRM Backend component

StoRM Backend class:

  • installs MySQL community client/server;
  • creates and initializes StoRM database;
  • installs and configures storm-backend-server service;
  • installs and configures storm-info-provider and bdii.
Property Name Description
hostname * StoRM Backend Fully Qualified Domain Name. Mandatory.
install_native_libs_gpfs Set this if you need to install storm-native-libs-gpfs. Default value: false.
db_root_password MySQL root user password. Default value: storm
db_storm_username The name of user used to connect to local database. Default value: storm.
db_storm_password Password for the user in db_storm_username. Default value: bluemoon.
xroot_hostname Root server (default value for all Storage Areas). Note: you may change the settings for each SA acting on its configuration. Default value: hostname
xroot_port Root server port (default value for all Storage Areas). Default value: 1094
gsiftp_pool_balance_strategy
gsiftp_pool_members
webdav_pool_members
srm_pool_members
transfer_protocols
fs_type
storage_areas
frontend_public_host
frontend_port
directory_automatic_creation
directory_writeperm
rest_services_port
rest_services_max_threads
rest_services_max_queue_size
synchcall_xmlrpc_unsecure_server_port
synchcall_xmlrpc_maxthread
synchcall_xmlrpc_max_queue_size
synchcall_xmlrpc_security_enabled
synchcall_xmlrpc_security_token
ptg_skip_acl_setup
pinlifetime_default
pinlifetime_maximum
sanity_check_enabled
service_du_enabled
service_du_delay
service_du_interval
synchcall_max_ls_entries
gc_pinnedfiles_cleaning_delay
gc_pinnedfiles_cleaning_interval
gc_purge_enabled
gc_purge_interval
gc_purge_size
gc_expired_request_time
gc_expired_inprogress_time
gc_ptp_transit_interval
gc_ptp_transit_start_delay
extraslashes_file
extraslashes_root
extraslashes_gsiftp
db_connection_pool_enabled
db_connection_pool_max_active
db_connection_pool_max_wait
asynch_db_reconnect_period
asynch_db_delay_period
asynch_picking_initial_delay
asynch_picking_time_interval
asynch_picking_max_batch_size
requests_scheduler_core_size
requests_scheduler_max_size
requests_scheduler_queue_size
ptp_requests_scheduler_core_size
ptp_requests_scheduler_max_size
ptp_requests_scheduler_queue_size
ptg_requests_scheduler_core_size
ptg_requests_scheduler_max_size
ptg_requests_scheduler_queue_size
bol_requests_scheduler_core_size
bol_requests_scheduler_max_size
bol_requests_scheduler_queue_size
info_sitename
info_storage_default_root
info_endpoint_quality_level
info_webdav_pool_list
info_frontend_host_list

Example of StoRM Backend configuration:

class { 'storm::backend':
  hostname => 'backend.test.example',
  db_root_password  => 'storm',
  db_storm_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'],
    },
  ],
}

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.