summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVincent Deygas <Vincent.Deygas@rewardgateway.com>2015-01-21 11:25:22 +0000
committerJames Shubin <james@shubin.ca>2015-01-21 13:57:45 -0500
commit65e3682fb3ad1e562ebd0b8f8d16122229a96d58 (patch)
treebcdb9ef983eb3414e60b510245341d335ccaf4a8
parent7983670733c1d48a274e5d925d1f13004c6a69b2 (diff)
downloadpuppet-gluster-65e3682fb3ad1e562ebd0b8f8d16122229a96d58.tar.gz
puppet-gluster-65e3682fb3ad1e562ebd0b8f8d16122229a96d58.tar.xz
puppet-gluster-65e3682fb3ad1e562ebd0b8f8d16122229a96d58.zip
Used owner/group param for file/directory. Needed because group "nobody" doesn't exist on Ubuntu systems, see : http://askubuntu.com/questions/138972/what-is-the-equivalent-user-for-nobodynobody-from-centos
-rw-r--r--data/params/Debian.yaml5
-rw-r--r--manifests/brick.pp8
-rw-r--r--manifests/host.pp28
-rw-r--r--manifests/mount/base.pp4
-rw-r--r--manifests/params.pp9
-rw-r--r--manifests/server.pp20
-rw-r--r--manifests/vardir.pp11
-rw-r--r--manifests/volume.pp4
-rw-r--r--manifests/volume/property/group/data.pp5
-rw-r--r--manifests/xml.pp4
10 files changed, 57 insertions, 41 deletions
diff --git a/data/params/Debian.yaml b/data/params/Debian.yaml
index 2fc71ae..1c051bc 100644
--- a/data/params/Debian.yaml
+++ b/data/params/Debian.yaml
@@ -5,6 +5,11 @@ gluster::params::package_glusterfs_api: '' # doesn't exist
gluster::params::package_glusterfs_fuse: '' # doesn't exist
gluster::params::service_glusterd: 'glusterfs-server'
+# Owner/Group
+gluster::params::misc_owner_root: 'root'
+gluster::params::misc_group_root: 'root'
+gluster::params::misc_group_nobody: 'nogroup'
+
gluster::params::program_fping: '/usr/bin/fping'
gluster::params::program_awk: '/usr/bin/awk'
# TODO: the debian family of glusterd needs a reload command in the init file !
diff --git a/manifests/brick.pp b/manifests/brick.pp
index c161dc6..371be49 100644
--- a/manifests/brick.pp
+++ b/manifests/brick.pp
@@ -74,8 +74,8 @@ define gluster::brick(
$safename = regsubst("${name}", '/', '_', 'G') # make /'s safe
file { "${vardir}/brick/${safename}.${group}":
content => "${name}\n",
- owner => root,
- group => root,
+ owner => "${::gluster::params::misc_owner_root}",
+ group => "${::gluster::params::misc_group_root}",
mode => 644,
ensure => present,
require => File["${vardir}/brick/"],
@@ -96,8 +96,8 @@ define gluster::brick(
# $group is unnecessary, but i left it in for consistency...
file { "${vardir}/brick/fsuuid/${safename}.${group}":
content => "${fsuuid}\n",
- owner => root,
- group => root,
+ owner => "${::gluster::params::misc_owner_root}",
+ group => "${::gluster::params::misc_group_root}",
mode => 600, # might as well...
ensure => present,
require => File["${vardir}/brick/fsuuid/"],
diff --git a/manifests/host.pp b/manifests/host.pp
index 064588b..7537a54 100644
--- a/manifests/host.pp
+++ b/manifests/host.pp
@@ -75,8 +75,8 @@ define gluster::host(
'' => undef,
default => "${uuid}\n",
},
- owner => root,
- group => root,
+ owner => "${::gluster::params::misc_owner_root}",
+ group => "${::gluster::params::misc_group_root}",
mode => 600, # might as well...
ensure => present,
require => File["${vardir}/uuid/"],
@@ -110,8 +110,8 @@ define gluster::host(
# set a unique uuid per host, and operating version...
file { '/var/lib/glusterd/glusterd.info':
content => template('gluster/glusterd.info.erb'),
- owner => root,
- group => root,
+ owner => "${::gluster::params::misc_owner_root}",
+ group => "${::gluster::params::misc_group_root}",
mode => 600, # u=rw,go=r
seltype => 'glusterd_var_lib_t',
seluser => "${::gluster::params::selinux_glusterd_seluser}",
@@ -124,8 +124,8 @@ define gluster::host(
@@file { "${vardir}/uuid/uuid_${name}":
content => "${valid_uuid}\n",
tag => 'gluster_uuid',
- owner => root,
- group => root,
+ owner => "${::gluster::params::misc_owner_root}",
+ group => "${::gluster::params::misc_group_root}",
mode => 600,
ensure => present,
}
@@ -195,8 +195,8 @@ define gluster::host(
# tag the file so it doesn't get removed by purge
file { "/var/lib/glusterd/peers/${valid_uuid}":
ensure => present,
- owner => root,
- group => root,
+ owner => "${::gluster::params::misc_owner_root}",
+ group => "${::gluster::params::misc_group_root}",
# NOTE: this mode was found by inspecting the process
mode => 600, # u=rw,go=r
seltype => 'glusterd_var_lib_t',
@@ -230,8 +230,8 @@ define gluster::host(
# store so that a fact can figure out the interface and cidr...
file { "${vardir}/vrrp/ip":
content => "${valid_ip}\n",
- owner => root,
- group => root,
+ owner => "${::gluster::params::misc_owner_root}",
+ group => "${::gluster::params::misc_group_root}",
mode => 600, # might as well...
ensure => present,
require => File["${vardir}/vrrp/"],
@@ -243,8 +243,8 @@ define gluster::host(
'' => undef,
default => "${password}",
},
- owner => root,
- group => root,
+ owner => "${::gluster::params::misc_owner_root}",
+ group => "${::gluster::params::misc_group_root}",
mode => 600, # might as well...
ensure => present,
require => File["${vardir}/vrrp/"],
@@ -254,8 +254,8 @@ define gluster::host(
@@file { "${vardir}/vrrp/vrrp_${name}":
content => "${::gluster_vrrp}\n",
tag => 'gluster_vrrp',
- owner => root,
- group => root,
+ owner => "${::gluster::params::misc_owner_root}",
+ group => "${::gluster::params::misc_group_root}",
mode => 600,
ensure => present,
}
diff --git a/manifests/mount/base.pp b/manifests/mount/base.pp
index 54fbd42..5b44a9d 100644
--- a/manifests/mount/base.pp
+++ b/manifests/mount/base.pp
@@ -90,8 +90,8 @@ class gluster::mount::base(
# TODO: will this autoload the fuse module?
#file { '/etc/modprobe.d/fuse.conf':
# content => "fuse\n", # TODO: "install fuse ${::gluster::params::program_modprobe} --ignore-install fuse ; /bin/true\n" ?
- # owner => root,
- # group => root,
+ # owner => "${::gluster::params::misc_owner_root}",
+ # group => "${::gluster::params::misc_group_root}",
# mode => 644, # u=rw,go=r
# ensure => present,
#}
diff --git a/manifests/params.pp b/manifests/params.pp
index 98130f2..4582321 100644
--- a/manifests/params.pp
+++ b/manifests/params.pp
@@ -57,6 +57,11 @@ class gluster::params(
# SELinux
$selinux_glusterd_seluser = 'system_u',
+ # Owner/Group
+ $misc_owner_root = 'root',
+ $misc_group_root = 'root',
+ $misc_group_nobody = 'nobody',
+
# services...
$service_glusterd = 'glusterd',
@@ -99,8 +104,8 @@ class gluster::params(
# create a custom external fact!
file { "${factbase}gluster_program.yaml":
content => inline_template('<%= @hash.to_yaml %>'),
- owner => root,
- group => root,
+ owner => "${misc_owner_root}",
+ group => "${misc_group_root}",
mode => 644, # u=rw,go=r
ensure => present,
}
diff --git a/manifests/server.pp b/manifests/server.pp
index d065091..d57e668 100644
--- a/manifests/server.pp
+++ b/manifests/server.pp
@@ -53,8 +53,8 @@ class gluster::server(
# this is meant to be replace the excellent sponge utility by sponge.py
file { "${vardir}/sponge.py": # for scripts needing: 'sponge'
source => 'puppet:///modules/gluster/sponge.py',
- owner => root,
- group => nobody,
+ owner => "${::gluster::params::misc_owner_root}",
+ group => "${::gluster::params::misc_group_nobody}",
mode => 700, # u=rwx
backup => false, # don't backup to filebucket
ensure => present,
@@ -89,8 +89,8 @@ class gluster::server(
recurse => false, # TODO: eventually...
purge => false, # TODO: eventually...
force => false, # TODO: eventually...
- owner => root,
- group => root,
+ owner => "${::gluster::params::misc_owner_root}",
+ group => "${::gluster::params::misc_group_root}",
mode => 644,
#notify => Service["${::gluster::params::service_glusterd}"], # TODO: ???
require => Package["${::gluster::params::package_glusterfs_server}"],
@@ -107,8 +107,8 @@ class gluster::server(
file { '/etc/glusterfs/glusterd.vol':
content => template('gluster/glusterd.vol.erb'),
- owner => root,
- group => root,
+ owner => "${::gluster::params::misc_owner_root}",
+ group => "${::gluster::params::misc_group_root}",
mode => 644, # u=rw,go=r
ensure => present,
require => File['/etc/glusterfs/'],
@@ -119,8 +119,8 @@ class gluster::server(
recurse => false, # TODO: eventually...
purge => false, # TODO: eventually...
force => false, # TODO: eventually...
- owner => root,
- group => root,
+ owner => "${::gluster::params::misc_owner_root}",
+ group => "${::gluster::params::misc_group_root}",
mode => 644,
#notify => Service["${::gluster::params::service_glusterd}"], # TODO: eventually...
require => File['/etc/glusterfs/glusterd.vol'],
@@ -131,8 +131,8 @@ class gluster::server(
recurse => true, # recursively manage directory
purge => true,
force => true,
- owner => root,
- group => root,
+ owner => "${::gluster::params::misc_owner_root}",
+ group => "${::gluster::params::misc_group_root}",
mode => 644,
notify => Service["${::gluster::params::service_glusterd}"],
require => File['/var/lib/glusterd/'],
diff --git a/manifests/vardir.pp b/manifests/vardir.pp
index 2dd40d5..c9c20d2 100644
--- a/manifests/vardir.pp
+++ b/manifests/vardir.pp
@@ -16,6 +16,8 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
class gluster::vardir { # module vardir snippet
+ include gluster::params
+
if "${::puppet_vardirtmp}" == '' {
if "${::puppet_vardir}" == '' {
# here, we require that the puppetlabs fact exist!
@@ -28,8 +30,8 @@ class gluster::vardir { # module vardir snippet
recurse => false, # don't recurse into directory
purge => true, # purge all unmanaged files
force => true, # also purge subdirs and links
- owner => root,
- group => nobody,
+ owner => "${::gluster::params::misc_owner_root}",
+ group => "${::gluster::params::misc_group_nobody}",
mode => 600,
backup => false, # don't backup to filebucket
#before => File["${module_vardir}"], # redundant
@@ -44,7 +46,10 @@ class gluster::vardir { # module vardir snippet
recurse => true, # recursively manage directory
purge => true, # purge all unmanaged files
force => true, # also purge subdirs and links
- owner => root, group => nobody, mode => 600, backup => false,
+ owner => "${::gluster::params::misc_owner_root}",
+ group => "${::gluster::params::misc_group_nobody}",
+ mode => 600,
+ backup => false,
require => File["${tmp}"], # File['/var/lib/puppet/tmp/']
}
}
diff --git a/manifests/volume.pp b/manifests/volume.pp
index bfd470f..008472e 100644
--- a/manifests/volume.pp
+++ b/manifests/volume.pp
@@ -254,8 +254,8 @@ define gluster::volume(
# instead, so that we don't inadvertently force some other bad thing...
file { "${vardir}/volume/create-${name}.sh":
content => inline_template("#!/bin/bash\n/bin/sleep 5s && ${::gluster::params::program_gluster} volume create ${name} ${valid_replica}${valid_stripe}transport ${valid_transport} ${brick_spec} force > >(/usr/bin/tee '/tmp/gluster-volume-create-${name}.stdout') 2> >(/usr/bin/tee '/tmp/gluster-volume-create-${name}.stderr' >&2) || (${rmdir_volume_dirs} && /bin/false)\nexit \$?\n"),
- owner => root,
- group => root,
+ owner => "${::gluster::params::misc_owner_root}",
+ group => "${::gluster::params::misc_group_root}",
mode => 755,
ensure => present,
# this notify is the first to kick off the 2nd step! it
diff --git a/manifests/volume/property/group/data.pp b/manifests/volume/property/group/data.pp
index b79c4dd..c8ece2b 100644
--- a/manifests/volume/property/group/data.pp
+++ b/manifests/volume/property/group/data.pp
@@ -22,6 +22,7 @@
class gluster::volume::property::group::data() {
include gluster::vardir
+ include gluster::params
#$vardir = $::gluster::vardir::module_vardir # with trailing slash
$vardir = regsubst($::gluster::vardir::module_vardir, '\/$', '')
@@ -32,8 +33,8 @@ class gluster::volume::property::group::data() {
recurse => true,
purge => true,
force => true,
- owner => root,
- group => nobody,
+ owner => "${::gluster::params::misc_owner_root}",
+ group => "${::gluster::params::misc_group_nobody}",
mode => 644, # u=rwx
backup => false, # don't backup to filebucket
require => File["${vardir}/"],
diff --git a/manifests/xml.pp b/manifests/xml.pp
index 489a7c5..99a9543 100644
--- a/manifests/xml.pp
+++ b/manifests/xml.pp
@@ -38,8 +38,8 @@ class gluster::xml {
file { "${vardir}/xml.py":
source => 'puppet:///modules/gluster/xml.py',
- owner => root,
- group => nobody,
+ owner => "${::gluster::params::misc_owner_root}",
+ group => "${::gluster::params::misc_group_nobody}",
mode => 700, # u=rwx
backup => false, # don't backup to filebucket
ensure => present,