Forge Home

fts

A puppet module to install and configure FTS created by Michele Delli Veneri and Francesco Di Nucci

128 downloads

128 latest version

3.0 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

  • 0.1.6 (latest)
released Nov 6th 2023
This version is compatible with:
  • Puppet Enterprise 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2021.7.x
  • Puppet >= 7.24 < 9.0.0
  • , , ,

Start using this module

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

Add this module to your Puppetfile:

mod 'nasd-fts', '0.1.6'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add nasd-fts
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install nasd-fts --version 0.1.6

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

nasd/fts — version 0.1.6 Nov 6th 2023

fts

Table of Contents

  1. Description
  2. Setup - The basics of getting started with fts
  3. Usage - Configuration options
  4. Limitations - OS compatibility

Description

A module to install and configure an FTS3 server and its MySQL database on a couple of Hosts.

Setup

  • Setup two machines with CentOS 7 (puppet agents, not constrained to CentOS 7);
  • Install puppet agent on both machines:
    1. add the puppet repo rpm -Uvh https://yum.puppetlabs.com/puppet7/puppet7-release-el-7.noarch.rpm;
    2. install the puppet agent and vim packages (yum install -y puppet-agent vim)
    3. Reload your /etc/profile to update $PATH or run puppet agent by absolute path
    4. create the certificates folder in the root path and copy there your site hostcert.pem and hostkey.pem;
  • Employ the fts class to configure the FTS server and the MySQL database on the nodes, see the fts=db.pp and fts-server.pp in examples for some reference;
  • Add the following modules in your puppetfile:
mod 'cnafsd-voms', '0.8.0'
mod "puppetlabs-stdlib",'9.4.0'
mod 'puppet-cron', '4.1.0'
mod 'puppet-selinux', '4.0.0'
mod 'puppetlabs-inifile', '6.1.0'
mod 'puppet-systemd', '6.0.0'
mod 'puppetlabs-firewall', '7.0.2'
mod 'puppet/yum', '7.1.0'
mod 'puppetlabs/apache', '11.1.0'
mod 'puppetlabs/mysql', '15.0.0'
mod 'bradipoeremita-concat', '9.0.0'
mod 'nasd-fts', '0.1.6'
  • Modify the puppet.conf (vim /etc/puppetlabs/puppet/puppet.conf) file in both servers to point to your puppet server with the fts_development environment
[main]
        server = yourpuppetserver.infn.it

[agent]
        pluginsync  = true
        report      = true
        environment = fts_development
  • execute puppet agent -t -v on both servers (db first, fts server second);
  • execute fetch-crl (it is possible to use -p parameter to parallelize download);
  • restart httpd: systemctl restart httpd

Test your installation

  1. Check your monitoring webpage at https://{fts_fqdn}:8449/fts3/ftsmon/#/;
  2. Execute the following command on your server curl --capath /etc/grid-security/certificates -E /etc/grid-security/hostcert.pem --key /etc/grid-security/hostkey.pem https://fts_host:8446/whoami;

Usage

The module can be used to configure both the database and fts server on the same machine, or on two different machines. For the latter use case, to configure the fts server only, set configure_db to false, and to configure the mysql database only, set configure_fts to false. Check the examples to see two .pp files configuring both the server and the database.

# On the fts server 
fts {'creating-fts-server'
    fts_host           => 'fts3-server.example.org',
    db_host            => 'fts3-db.example.org',
    db_root_password   => 'ftstestpassword',
    fts_db_user        => 'fts3',
    fts_db_type        => 'mysql',
    fts_server_alias   => 'fts3-server',
    fts_db_threads_num => 24,
    configure_db       => false,
    configure_fts      => true,
    configure_firewall => true,
    configure_lsc      => true,
    vo_list            => ['alice', 'atlas', 'cms', 'cygno', 'datacloud', 'dteam', 'escape', 'lhcb', 'ops', 'wlcg'],
}
# On the fts database
fts {'creating the database'
    fts_host           => 'fts3-server.example.org',
    db_host            => 'fts3-db.example.org',
    db_root_password   => 'ftstestpassword',
    fts_db_user        => 'fts3',
    fts_db_type        => 'mysql',
    fts_server_alias   => 'fts3-server',
    fts_db_threads_num => 24,
    configure_db       => true,
    configure_fts      => false,
    configure_firewall => true,
    configure_lsc      => true,
    vo_list            => ['alice', 'atlas', 'cms', 'cygno', 'datacloud', 'dteam', 'escape', 'lhcb', 'ops', 'wlcg'],
}

Limitations

It works only on CentOS 7 distributions.