Browse Source

Merge "Fix wrong notification between api service and httpd" into stable/victoria

changes/97/757897/2
Zuul 10 months ago
committed by Gerrit Code Review
parent
commit
ef76127bc5
  1. 5
      lib/puppet/type/nova_aggregate.rb
  2. 5
      lib/puppet/type/nova_service.rb
  3. 2
      manifests/api.pp
  4. 3
      manifests/keystone/auth.pp
  5. 15
      spec/classes/nova_keystone_auth_spec.rb

5
lib/puppet/type/nova_aggregate.rb

@ -53,6 +53,11 @@ Puppet::Type.newtype(:nova_aggregate) do
['auth_url', 'project_name', 'username', 'password']
end
# Require the nova-api service to be running
autorequire(:anchor) do
['nova::service::end']
end
newparam(:name, :namevar => true) do
desc 'Name for the new aggregate'
validate do |value|

5
lib/puppet/type/nova_service.rb

@ -40,6 +40,11 @@ Puppet::Type.newtype(:nova_service) do
ensurable
# Require the nova-api service to be running
autorequire(:anchor) do
['nova::service::end']
end
newparam(:name, :namevar => true) do
desc 'Name of host'
validate do |value|

2
manifests/api.pp

@ -276,7 +276,7 @@ class nova::api(
}
Service <| title == 'httpd' |> { tag +> 'nova-service' }
# 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 {
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")

3
manifests/keystone/auth.pp

@ -78,9 +78,8 @@ class nova::keystone::auth(
include nova::deps
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':

15
spec/classes/nova_keystone_auth_spec.rb

@ -166,7 +166,7 @@ describe 'nova::keystone::auth' do
}
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
@ -178,19 +178,6 @@ describe 'nova::keystone::auth' do
facts.merge!(OSDefaults.get_facts())
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'
end
end

Loading…
Cancel
Save