Sha256: 260ad0734da3d155617fb4ac249b998064add66b082d2b7e6cbaaab9d103a5d4

Contents?: true

Size: 1.29 KB

Versions: 7

Compression:

Stored size: 1.29 KB

Contents

# PRIVATE CLASS: do not call directly
class postgresql::server::service {
  $ensure           = $postgresql::server::ensure
  $service_name     = $postgresql::server::service_name
  $service_provider = $postgresql::server::service_provider
  $service_status   = $postgresql::server::service_status
  $user             = $postgresql::server::user
  $default_database = $postgresql::server::default_database

  $service_ensure = $ensure ? {
    present => true,
    absent  => false,
    default => $ensure
  }

  service { 'postgresqld':
    ensure    => $service_ensure,
    name      => $service_name,
    enable    => $service_ensure,
    provider  => $service_provider,
    hasstatus => true,
    status    => $service_status,
  }

  if($service_ensure) {
    # This blocks the class before continuing if chained correctly, making
    # sure the service really is 'up' before continuing.
    #
    # Without it, we may continue doing more work before the database is
    # prepared leading to a nasty race condition.
    postgresql::validate_db_connection { 'validate_service_is_running':
      run_as          => $user,
      database_name   => $default_database,
      sleep           => 1,
      tries           => 60,
      create_db_first => false,
      require         => Service['postgresqld'],
    }
  }
}

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
freighthop-0.3.3 modules/postgresql/manifests/server/service.pp
freighthop-0.3.2 modules/postgresql/manifests/server/service.pp
freighthop-0.3.1 modules/postgresql/manifests/server/service.pp
freighthop-0.3.0 modules/postgresql/manifests/server/service.pp
freighthop-0.2.1 modules/postgresql/manifests/server/service.pp
freighthop-0.2.0 modules/postgresql/manifests/server/service.pp
freighthop-0.1.0 modules/postgresql/manifests/server/service.pp