Skip to content
Snippets Groups Projects
Commit 2eee9282 authored by Nicolas Dandrimont's avatar Nicolas Dandrimont
Browse files

Add a cassandra node role

Related to T2033
parent 1c204f12
No related branches found
No related tags found
No related merge requests found
......@@ -39,6 +39,10 @@ mod 'apache',
:git => 'https://forge.softwareheritage.org/source/puppet-puppetlabs-apache',
:tag => 'v5.2.0'
mod 'cassandra',
:git => 'https://forge.softwareheritage.org/source/puppet-puppet-cassandra',
:ref => 'master'
mod 'ceph',
:git => 'https://forge.softwareheritage.org/source/puppet-openstack-ceph',
:ref => 'master'
......
This diff is collapsed.
......@@ -46,6 +46,10 @@ node /^kafka\d+\./ {
include role::swh_kafka_broker
}
node /^cassandra\d+\./ {
include role::swh_cassandra_node
}
node 'granet.internal.softwareheritage.org' {
include role::swh_graph_backend
}
......
# Definition of a cassandra node
class profile::cassandra::node {
$release = lookup('cassandra::release')
class {'::cassandra::apache_repo':
release => $release,
}
$basedir = '/srv/cassandra'
$commitlogdir = "${basedir}/commitlog"
$datadir = "${basedir}/data"
$hintsdir = "${basedir}/hints"
file {$basedir:
ensure => 'directory',
owner => 'cassandra',
group => 'cassandra',
}
$baseline_settings = lookup('cassandra::baseline_settings')
$cluster = lookup('cassandra::cluster')
$cluster_settings = lookup('cassandra::clusters', Hash)[$cluster]
$listen_network = lookup('cassandra::listen_network', Optional[String], 'first', undef)
$listen_address = lookup('cassandra::listen_address', Optional[String], 'first', undef)
$actual_listen_address = pick($listen_address, ip_for_network($listen_network))
$listen_settings = {
listen_address => $actual_listen_address,
rpc_address => $actual_listen_address
}
class {'::cassandra':
baseline_settings => $baseline_settings,
commitlog_directory => $commitlogdir,
data_file_directories => [$datadir],
hints_directory => $hintsdir,
settings => $cluster_settings + $listen_settings,
}
}
# Deployment of a cassandra node
class role::swh_cassandra_node inherits role::swh_base {
include profile::puppet::agent
include profile::cassandra::node
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment