Merge "Refactor api service management"
This commit is contained in:
@@ -79,7 +79,7 @@ class manila::api (
|
|||||||
Boolean $enabled = true,
|
Boolean $enabled = true,
|
||||||
Boolean $sync_db = true,
|
Boolean $sync_db = true,
|
||||||
Boolean $manage_service = true,
|
Boolean $manage_service = true,
|
||||||
$service_name = $manila::params::api_service,
|
String[1] $service_name = $manila::params::api_service,
|
||||||
$ratelimits = undef,
|
$ratelimits = undef,
|
||||||
$ratelimits_factory = 'manila.api.v1.limits:RateLimitingMiddleware.factory',
|
$ratelimits_factory = 'manila.api.v1.limits:RateLimitingMiddleware.factory',
|
||||||
$enable_proxy_headers_parsing = $facts['os_service_default'],
|
$enable_proxy_headers_parsing = $facts['os_service_default'],
|
||||||
@@ -105,44 +105,43 @@ class manila::api (
|
|||||||
}
|
}
|
||||||
|
|
||||||
if $manage_service {
|
if $manage_service {
|
||||||
if $enabled {
|
case $service_name {
|
||||||
$ensure = 'running'
|
'httpd': {
|
||||||
} else {
|
Service <| title == 'httpd' |> { tag +> 'manila-service' }
|
||||||
$ensure = 'stopped'
|
|
||||||
}
|
|
||||||
|
|
||||||
if $service_name == $manila::params::api_service {
|
# We need to make sure manila-api/eventlet is stopped before trying to
|
||||||
service { 'manila-api':
|
# start apache
|
||||||
ensure => $ensure,
|
service { 'manila-api':
|
||||||
name => $manila::params::api_service,
|
ensure => 'stopped',
|
||||||
enable => $enabled,
|
name => $manila::params::api_service,
|
||||||
hasstatus => true,
|
enable => false,
|
||||||
tag => 'manila-service',
|
tag => ['manila-service'],
|
||||||
|
}
|
||||||
|
|
||||||
|
Service['manila-api'] -> Service['httpd']
|
||||||
|
|
||||||
|
# On any api-paste.ini config change, we must restart Manila API.
|
||||||
|
Manila_api_paste_ini<||> ~> Service['httpd']
|
||||||
}
|
}
|
||||||
|
default: {
|
||||||
|
$service_ensure = $enabled ? {
|
||||||
|
true => 'running',
|
||||||
|
default => 'stopped',
|
||||||
|
}
|
||||||
|
|
||||||
# On any api-paste.ini config change, we must restart Manila API.
|
service { 'manila-api':
|
||||||
Manila_api_paste_ini<||> ~> Service['manila-api']
|
ensure => $service_ensure,
|
||||||
# On any uwsgi config change, we must restart Manila API.
|
name => $service_name,
|
||||||
Manila_api_uwsgi_config<||> ~> Service['manila-api']
|
enable => $enabled,
|
||||||
} elsif $service_name == 'httpd' {
|
hasstatus => true,
|
||||||
# We need to make sure manila-api/eventlet is stopped before trying to
|
tag => 'manila-service',
|
||||||
# start apache
|
}
|
||||||
service { 'manila-api':
|
|
||||||
ensure => 'stopped',
|
# On any api-paste.ini config change, we must restart Manila API.
|
||||||
name => $manila::params::api_service,
|
Manila_api_paste_ini<||> ~> Service['manila-api']
|
||||||
enable => false,
|
# On any uwsgi config change, we must restart Manila API.
|
||||||
tag => ['manila-service'],
|
Manila_api_uwsgi_config<||> ~> Service['manila-api']
|
||||||
}
|
}
|
||||||
Service <| title == 'httpd' |> { tag +> 'manila-service' }
|
|
||||||
|
|
||||||
Service['manila-api'] -> Service[$service_name]
|
|
||||||
|
|
||||||
# On any api-paste.ini config change, we must restart Manila API.
|
|
||||||
Manila_api_paste_ini<||> ~> Service[$service_name]
|
|
||||||
} else {
|
|
||||||
fail("Invalid service_name. Either use manila-api/openstack-manila-api \
|
|
||||||
for running as a standalone service, or httpd for being run by a httpd \
|
|
||||||
server.")
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -167,22 +167,6 @@ describe 'manila::api' do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when service_name is not valid' do
|
|
||||||
let :params do
|
|
||||||
req_params.merge!({ :service_name => 'foobar' })
|
|
||||||
end
|
|
||||||
|
|
||||||
let :pre_condition do
|
|
||||||
"include apache
|
|
||||||
class { 'manila': }
|
|
||||||
class { 'manila::keystone::authtoken':
|
|
||||||
password => 'foo',
|
|
||||||
}"
|
|
||||||
end
|
|
||||||
|
|
||||||
it_raises 'a Puppet::Error', /Invalid service_name/
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'enabled_share_protocols is set' do
|
context 'enabled_share_protocols is set' do
|
||||||
let :params do
|
let :params do
|
||||||
req_params.merge!({
|
req_params.merge!({
|
||||||
|
|||||||
Reference in New Issue
Block a user