Skip to content

Commit

Permalink
Fix Service[oddjobd] failing to start
Browse files Browse the repository at this point in the history
Without this patch the initial Puppet run fails with the following error
message:

    Error: Could not start Service[oddjobd]: Execution of '/sbin/service oddjobd
    start' returned 1: Starting oddjobd: [FAILED]

The cause of this error is that the `messagebus` service is not started.  This
patch addresses the problem by adding optional management of dependent services
to the sssd::services class.  Since these dependencies aren't strictly related
to sssd they can easily be overridden by setting sssd::service_dependencies to
an empty array in Hiera.
  • Loading branch information
jeffmccune committed Aug 22, 2016
1 parent 0d677cc commit 786e6c5
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 5 deletions.
9 changes: 8 additions & 1 deletion manifests/init.pp
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,11 @@
# [*service_ensure*]
# Ensure if services should be running/stopped
#
# [*service_dependencies*]
# Array of service resource names to manage before managing sssd related
# services. Intended to be used to manage messagebus service to prevent
# `Error: Could not start Service[oddjobd]`.
#
# === Examples
#
# class {'::sssd':
Expand Down Expand Up @@ -76,6 +81,7 @@
$mkhomedir = $sssd::params::mkhomedir,
$manage_oddjobd = $sssd::params::manage_oddjobd,
$service_ensure = $sssd::params::service_ensure,
$service_dependencies = $sssd::params::service_dependencies,
$enable_mkhomedir_flags = $sssd::params::enable_mkhomedir_flags,
$disable_mkhomedir_flags = $sssd::params::disable_mkhomedir_flags,
) inherits sssd::params {
Expand All @@ -93,7 +99,8 @@
validate_array(
$extra_packages,
$enable_mkhomedir_flags,
$disable_mkhomedir_flags
$disable_mkhomedir_flags,
$service_dependencies
)

validate_absolute_path(
Expand Down
2 changes: 2 additions & 0 deletions manifests/params.pp
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
$sssd_package = 'sssd'
$sssd_service = 'sssd'
$service_ensure = 'running'
$service_dependencies = ['messagebus']
$config_file = '/etc/sssd/sssd.conf'
$mkhomedir = true

Expand All @@ -57,6 +58,7 @@
$sssd_package = 'sssd'
$sssd_service = 'sssd'
$service_ensure = 'running'
$service_dependencies = []
$config_file = '/etc/sssd/sssd.conf'
$mkhomedir = true
$extra_packages = [
Expand Down
20 changes: 16 additions & 4 deletions manifests/service.pp
Original file line number Diff line number Diff line change
@@ -1,10 +1,22 @@
# See README.md for usage information
class sssd::service (
$sssd_service = $sssd::sssd_service,
$mkhomedir = $sssd::mkhomedir,
$manage_oddjobd = $sssd::manage_oddjobd,
$service_ensure = $sssd::service_ensure,
$sssd_service = $sssd::sssd_service,
$mkhomedir = $sssd::mkhomedir,
$manage_oddjobd = $sssd::manage_oddjobd,
$service_dependencies = $sssd::service_dependencies,
$service_ensure = $sssd::service_ensure,
) {

if ! empty($service_dependencies) {
service { $service_dependencies:
ensure => running,
hasstatus => true,
hasrestart => true,
enable => true,
before => Service["$sssd_service"]
}
}

service { $sssd_service:
ensure => $service_ensure,
enable => true,
Expand Down

0 comments on commit 786e6c5

Please sign in to comment.