diff --git a/manifests/server.pp b/manifests/server.pp index 650cf5a..894cc05 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -37,7 +37,7 @@ class zaqar::server ( } if $service_name == $zaqar::params::service_name { - service { $zaqar::params::service_name: + service { 'zaqar-server': ensure => $ensure, name => $zaqar::params::service_name, enable => $enabled, @@ -45,7 +45,7 @@ class zaqar::server ( tag => 'zaqar-service', } } elsif $service_name == 'httpd' { - service { $zaqar::params::service_name: + service { 'zaqar-server': ensure => 'stopped', name => $zaqar::params::service_name, enable => false, @@ -53,7 +53,7 @@ class zaqar::server ( } # we need to make sure zaqar-server is stopped before trying to start apache - Service[$zaqar::params::service_name] -> Service[$service_name] + Service['zaqar-server'] -> Service[$service_name] Service <| title == 'httpd' |> { tag +> 'zaqar-service' } } else { fail("Invalid service_name. Either zaqar-server/openstack-zaqar for \ diff --git a/manifests/server_instance.pp b/manifests/server_instance.pp index 24676fe..fa3d3f9 100644 --- a/manifests/server_instance.pp +++ b/manifests/server_instance.pp @@ -34,10 +34,11 @@ define zaqar::server_instance ( content => template('zaqar/zaqar.conf.erb'), } - service { "${zaqar::params::service_name}@${name}": + service { "zaqar-server@${name}": ensure => $service_ensure, + name => "${zaqar::params::service_name}@${name}", enable => $enabled, - tag => 'zaqar-service', + tag => ['zaqar-service'], } Package['zaqar-common'] ~> File["/etc/zaqar/${name}.conf"] diff --git a/spec/classes/zaqar_server_spec.rb b/spec/classes/zaqar_server_spec.rb index d3642fa..f3b884f 100644 --- a/spec/classes/zaqar_server_spec.rb +++ b/spec/classes/zaqar_server_spec.rb @@ -2,23 +2,46 @@ require 'spec_helper' describe 'zaqar::server' do shared_examples_for 'zaqar::server' do - describe 'with a zaqar server enabled' do - let :pre_condition do - "class { 'zaqar::keystone::authtoken': - password => 'foo', - } - class { 'zaqar::keystone::trust': - password => 'foo', - } - class { 'zaqar': }" - end + let :pre_condition do + "class { 'zaqar::keystone::authtoken': + password => 'foo', + } + class { 'zaqar::keystone::trust': + password => 'foo', + } + class { 'zaqar': } + class { 'apache': }" + end - it { is_expected.to contain_service(platform_params[:zaqar_service_name]).with( - :ensure => 'running', - :enable => true + context 'with defaults' do + it { is_expected.to contain_service('zaqar-server').with( + :ensure => 'running', + :name => platform_params[:zaqar_service_name], + :enable => true, + :tag => ['zaqar-service'], )} it { is_expected.to contain_class('zaqar::policy') } + end + context 'when running zaqar-server in wsgi' do + let :params do + { :service_name => 'httpd' } + end + + it { is_expected.to contain_service('zaqar-server').with( + :ensure => 'stopped', + :name => platform_params[:zaqar_service_name], + :enable => false, + :tag => ['zaqar-service'], + )} + end + + context 'with service management disabled' do + let :params do + { :manage_service => false } + end + + it { is_expected.to_not contain_service('zaqar-server') } end end diff --git a/spec/defines/zaqar_server_instance_spec.rb b/spec/defines/zaqar_server_instance_spec.rb index f76a24f..47c75bf 100644 --- a/spec/defines/zaqar_server_instance_spec.rb +++ b/spec/defines/zaqar_server_instance_spec.rb @@ -24,9 +24,11 @@ describe 'zaqar::server_instance' do end context 'with a websocket server instance 1' do - it { is_expected.to contain_service("#{platform_params[:zaqar_service_name]}@1").with( - :ensure => 'running', - :enable => true + it { is_expected.to contain_service('zaqar-server@1').with( + :ensure => 'running', + :name => "#{platform_params[:zaqar_service_name]}@1", + :enable => true, + :tag => ['zaqar-service'], )} it { is_expected.to contain_file('/etc/zaqar/1.conf') } end