diff --git a/manifests/server.pp b/manifests/server.pp new file mode 100644 index 0000000..a9b2963 --- /dev/null +++ b/manifests/server.pp @@ -0,0 +1,37 @@ +# = Class: zaqar::server +# +# This class manages the Zaqar server. +# +# [*enabled*] +# (Optional) Service enable state for zaqar-server. +# Defaults to true. +# +# [*manage_service*] +# (Optional) Whether the service is managed by this puppet class. +# Defaults to true. +# +class zaqar::server( + $manage_service = true, + $enabled = true, +) { + + include ::zaqar + include ::zaqar::params + + if $manage_service { + if $enabled { + $service_ensure = 'running' + } else { + $service_ensure = 'stopped' + } + } + + if $manage_service { + service { $::zaqar::params::service_name: + ensure => $service_ensure, + enable => $enabled, + } + Zaqar_config<||> ~> Service[$::zaqar::params::service_name] + } + +} diff --git a/spec/classes/zaqar_server_spec.rb b/spec/classes/zaqar_server_spec.rb new file mode 100644 index 0000000..e2d0623 --- /dev/null +++ b/spec/classes/zaqar_server_spec.rb @@ -0,0 +1,20 @@ +require 'spec_helper' +describe 'zaqar::server' do + + let :facts do + { :osfamily => 'RedHat' } + end + + describe 'with a zaqar server enabled' do + let :pre_condition do + "class {'::zaqar': admin_password => 'foo'}" + end + + it { is_expected.to contain_service('openstack-zaqar').with( + :ensure => 'running', + :enable => true + )} + + end + +end