Difference between revisions of "How to install Cumin"
| Line 148: | Line 148: | ||
==File needed== | ==File needed== | ||
| − | Download cumin_3.0.2-1_amd64.deb and python3-clustershell_1.8.1- | + | Download cumin_3.0.2-1_amd64.deb and python3-clustershell_1.8.1-2_all.deb and save those files in /etc/puppetlabs/code/environments/production/modules/cumin/files |
| + | http://ftp.us.debian.org/debian/pool/main/c/clustershell/ | ||
| + | https://github.com/wikimedia/cumin/releases/download/v3.0.2/cumin_3.0.2-1_amd64.deb | ||
==Configuration== | ==Configuration== | ||
Revision as of 19:39, 5 October 2019
Cumin is open Source program written in Python that allows you to execute multiple commands on multiple hosts in parallel. For more information on Cumin please see the references section.
Prerequisites
For this tutorial, you need:
- pupetmaster node
- puppetdb node
- cumin node
- some nodes for testing
Environment
Nodes names
All nodes in this tutorial are running Debian Stretch with Puppet 6
- Puppetmaster1002 : Puppet master node
- Puppetdb1002 : PuppetDb node
- cumin1001 : Running cumin
- lab1001: Test node
Installation
One of the required package for Cumin 3.0.2 is python3-clustershell. Debian Stretch doesn't have that package so you will to download it and install it.
ppaul@cumin1001:~$ sudo apt-get install python3-clustershell Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package python3-clustershell
You can also install Debian Buster if you want on the cumin node since Debian Buster has the package.
- Test from a node running Debian Buster
papaul@lab1002:~$ sudo apt-get install python3-clustershell Reading package lists... Done Building dependency tree Reading state information... Done Suggested packages: vim-addon-manager The following NEW packages will be installed: python3-clustershell 0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded. Need to get 126 kB of archives. After this operation, 625 kB of additional disk space will be used. Get:1 http://apt1001.dfw.labnet/debian buster/main amd64 python3-clustershell all 1.8.1-1 [126 kB] Fetched 126 kB in 1s (249 kB/s) Selecting previously unselected package python3-clustershell. (Reading database ... 57033 files and directories currently installed.) Preparing to unpack .../python3-clustershell_1.8.1-1_all.deb ... Unpacking python3-clustershell (1.8.1-1) ... Setting up python3-clustershell (1.8.1-1) ...
cumin Class
On your puppetmaster create the cumin class
cd /etc/puppetlabs/code/environments/production/modules sudo mkdir cumin cd cumin sudo mkdir manifests sudo mkdir templates cd manifests
Create the master.pp file, copy and paste the content below
class profile::cumin::master (
$puppetdb_host = hiera('puppetdb_host'),
) {
$cumin_log_path = '/var/log/cumin'
# Ensure to add FQDN of the current host also the first time the role is applied
$cumin_masters = unique(concat(query_nodes('Class[Role::Cumin::Master]'), [$::fqdn]))
require_package([
'python3-dnspython',
'python3-colorama',
'python3-pyparsing',
'python3-tqdm',
'python3-requests',
'python3-yaml',
])
file { '/srv/cumin_3.0.2-1_amd64.deb':
ensure => present,
owner => 'root',
group => 'root',
source => 'puppet:///modules/cumin/cumin_3.0.2-1_amd64.deb',
}
file { '/srv/python3-clustershell_1.8.1-2_all.deb':
ensure => present,
owner => 'root',
group => 'root',
source => 'puppet:///modules/cumin/python3-clustershell_1.8.1-2_all.deb',
}
package { 'cumin':
ensure => installed,
provider => dpkg,
source => '/srv/cumin_3.0.2-1_amd64.deb',
require => File['/srv/cumin_3.0.2-1_amd64.deb'],
}
package { 'python3-clusterhsell':
ensure => installed,
provider => dpkg,
source => '/srv/python3-clustershell_1.8.1-2_all.deb',
require => File['/srv/python3-clustershell_1.8.1-2_all.deb'],
}
file { $cumin_log_path:
ensure => directory,
owner => 'root',
group => 'root',
mode => '0750',
}
file { '/etc/cumin':
ensure => directory,
owner => 'root',
group => 'root',
mode => '0755',
}
file { '/etc/cumin/config.yaml':
ensure => present,
owner => 'root',
group => 'root',
mode => '0640',
content => template('cumin/config.yaml.erb'),
require => File['/etc/cumin'],
}
file { '/etc/cumin/config-installer.yaml':
ensure => present,
owner => 'root',
group => 'root',
mode => '0640',
content => template('cumin/config-installer.yaml.erb'),
require => File['/etc/cumin'],
}
file { '/etc/cumin/aliases.yaml':
ensure => present,
owner => 'root',
group => 'root',
mode => '0644',
content => template('cumin/aliases.yaml.erb'),
require => File['/etc/cumin'],
}
if os_version('debian == stretch') {
$python_version = '3.5'
} else {
$python_version = '3.6'
}
}
File needed
Download cumin_3.0.2-1_amd64.deb and python3-clustershell_1.8.1-2_all.deb and save those files in /etc/puppetlabs/code/environments/production/modules/cumin/files
http://ftp.us.debian.org/debian/pool/main/c/clustershell/ https://github.com/wikimedia/cumin/releases/download/v3.0.2/cumin_3.0.2-1_amd64.deb