Fix wrong notification between api service and httpd
nova-api service should be stopped before httpd service is started, thus nova-api should notify httpd. Change-Id: Ibffb65269daaeca62554cfbecb536361ab70611a
This commit is contained in:
parent
9a29c21175
commit
1f1428e01b
|
@ -53,6 +53,11 @@ Puppet::Type.newtype(:nova_aggregate) do
|
||||||
['auth_url', 'project_name', 'username', 'password']
|
['auth_url', 'project_name', 'username', 'password']
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Require the nova-api service to be running
|
||||||
|
autorequire(:anchor) do
|
||||||
|
['nova::service::end']
|
||||||
|
end
|
||||||
|
|
||||||
newparam(:name, :namevar => true) do
|
newparam(:name, :namevar => true) do
|
||||||
desc 'Name for the new aggregate'
|
desc 'Name for the new aggregate'
|
||||||
validate do |value|
|
validate do |value|
|
||||||
|
|
|
@ -40,6 +40,11 @@ Puppet::Type.newtype(:nova_service) do
|
||||||
|
|
||||||
ensurable
|
ensurable
|
||||||
|
|
||||||
|
# Require the nova-api service to be running
|
||||||
|
autorequire(:anchor) do
|
||||||
|
['nova::service::end']
|
||||||
|
end
|
||||||
|
|
||||||
newparam(:name, :namevar => true) do
|
newparam(:name, :namevar => true) do
|
||||||
desc 'Name of host'
|
desc 'Name of host'
|
||||||
validate do |value|
|
validate do |value|
|
||||||
|
|
|
@ -276,7 +276,7 @@ class nova::api(
|
||||||
}
|
}
|
||||||
Service <| title == 'httpd' |> { tag +> 'nova-service' }
|
Service <| title == 'httpd' |> { tag +> 'nova-service' }
|
||||||
# make sure we start apache before nova-api to avoid binding issues
|
# make sure we start apache before nova-api to avoid binding issues
|
||||||
Service[$service_name] -> Service['nova-api']
|
Service['nova-api'] -> Service[$service_name]
|
||||||
} else {
|
} else {
|
||||||
fail("Invalid service_name. Either nova-api/openstack-nova-api for running \
|
fail("Invalid service_name. Either nova-api/openstack-nova-api for running \
|
||||||
as a standalone service, or httpd for being run by a httpd server")
|
as a standalone service, or httpd for being run by a httpd server")
|
||||||
|
|
|
@ -78,9 +78,8 @@ class nova::keystone::auth(
|
||||||
|
|
||||||
include nova::deps
|
include nova::deps
|
||||||
|
|
||||||
|
|
||||||
if $configure_endpoint {
|
if $configure_endpoint {
|
||||||
Keystone_endpoint["${region}/${service_name}::compute"] ~> Service <| name == 'nova-api' |>
|
Keystone_endpoint["${region}/${service_name}::compute"] -> Anchor['nova::service::end']
|
||||||
}
|
}
|
||||||
|
|
||||||
keystone::resource::service_identity { 'nova':
|
keystone::resource::service_identity { 'nova':
|
||||||
|
|
|
@ -166,7 +166,7 @@ describe 'nova::keystone::auth' do
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
it { should contain_keystone_endpoint('RegionOne/nova::compute').with_notify(platform_params[:nova_api_notify]) }
|
it { should contain_keystone_endpoint('RegionOne/nova::compute').with_before(['Anchor[nova::service::end]']) }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -178,19 +178,6 @@ describe 'nova::keystone::auth' do
|
||||||
facts.merge!(OSDefaults.get_facts())
|
facts.merge!(OSDefaults.get_facts())
|
||||||
end
|
end
|
||||||
|
|
||||||
let (:platform_params) do
|
|
||||||
case facts[:osfamily]
|
|
||||||
when 'Debian'
|
|
||||||
{
|
|
||||||
:nova_api_notify => ['Service[nova-api]'],
|
|
||||||
}
|
|
||||||
when 'RedHat'
|
|
||||||
{
|
|
||||||
:nova_api_notify => [],
|
|
||||||
}
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
it_behaves_like 'nova::keystone::auth'
|
it_behaves_like 'nova::keystone::auth'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue