From 40c5ce56121bccb3cc6f98567bf2b64af7019d74 Mon Sep 17 00:00:00 2001 From: Michele Baldessari Date: Wed, 11 Jan 2017 00:31:19 +0100 Subject: [PATCH] Add a remote class for pacemaker-remote Change-Id: I0c01ecb7df1a0f9856fdc866b9d06acf0283fa4f --- manifests/params.pp | 6 ++++++ manifests/remote.pp | 50 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 manifests/remote.pp diff --git a/manifests/params.pp b/manifests/params.pp index 165e0818..05ecd4d2 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -43,6 +43,12 @@ class pacemaker::params { $pcsd_mode = true $services_manager = 'systemd' } + # Starting with 7.3 we have a separate pacemaker-remote package + if $::operatingsystemrelease =~ /7\.[012]*$/ { + $pcmk_remote_package_list = ['pacemaker','pcs','fence-agents-all','pacemaker-libs'] + } else { + $pcmk_remote_package_list = ['pacemaker','pcs','fence-agents-all','pacemaker-libs', 'pacemaker-remote'] + } $service_name = 'pacemaker' } default: { diff --git a/manifests/remote.pp b/manifests/remote.pp new file mode 100644 index 00000000..f39c31e9 --- /dev/null +++ b/manifests/remote.pp @@ -0,0 +1,50 @@ +# Copyright 2016 Red Hat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# == Class: pacemaker::remote +# +# Pacemaker remote manifest. This class is a small helper to set up a pacemaker +# remote node. It does not create the pacemaker-remote resource in the CIB but only +# sets up the remote service +# +# === Parameters +# +# [*remote_authkey*] +# (Required) Authkey for pacemaker remote nodes +# Defaults to undef +# +class pacemaker::remote ($remote_authkey) { + include ::pacemaker::params + package { $::pacemaker::params::pcmk_remote_package_list: + ensure => installed, + } -> + file { 'etc-pacemaker': + ensure => directory, + path => '/etc/pacemaker', + owner => 'hacluster', + group => 'haclient', + mode => '0750', + } -> + file { 'etc-pacemaker-authkey': + path => '/etc/pacemaker/authkey', + owner => 'hacluster', + group => 'haclient', + mode => '0640', + content => $remote_authkey, + } -> + service { 'pacemaker_remote': + ensure => running, + enable => true, + } +}