Include nova::availability_zone in nova::api and nova::conductor
For some reason this was included in nova::compute and nova::scheduler
but never included in nova::api eventhough bug #1529065 specifically
calls out the fact that it is missing.
Looking at the code - nova-api definitely requires it.
E.g the server create request handler sets the target AZ to
CONF.default_schedule_zone if none
https://github.com/openstack/nova/blob/stable/queens/nova/api/openstack/compute/servers.py#L486
and the az request handler skips the internal_service_availabily_zone
when listing AZs
https://github.com/openstack/nova/blob/stable/queens/nova/api/openstack/compute/availability_zone.py#L38
nova-conductor also requires it as it calls
availability_zones.get_host_availability_zone which defaults to
CONF.default_availability_zone
Change-Id: If4d6a4a8f4cc1e7066cacb00da67d5433acd6ac5
Closes-bug: #1529065
(cherry picked from commit d7eb253e4d
)
This commit is contained in:
parent
6a0a609d57
commit
57ff2a154c
|
@ -229,6 +229,7 @@ class nova::api(
|
|||
include ::nova::db
|
||||
include ::nova::policy
|
||||
include ::nova::keystone::authtoken
|
||||
include ::nova::availability_zone
|
||||
|
||||
if !$nova_metadata_wsgi_enabled {
|
||||
warning('Running nova metadata api via evenlet is deprecated and will be removed in Stein release.')
|
||||
|
|
|
@ -39,6 +39,7 @@ class nova::conductor(
|
|||
include ::nova::db
|
||||
include ::nova::params
|
||||
include ::nova::workarounds
|
||||
include ::nova::availability_zone
|
||||
|
||||
nova::generic_service { 'conductor':
|
||||
enabled => $enabled,
|
||||
|
|
|
@ -44,6 +44,8 @@ describe 'nova::api' do
|
|||
|
||||
it { is_expected.to contain_nova_config('DEFAULT/instance_name_template').with_ensure('absent')}
|
||||
|
||||
it { is_expected.to contain_class('nova::availability_zone') }
|
||||
|
||||
it 'configures various stuff' do
|
||||
is_expected.to contain_nova_config('wsgi/api_paste_config').with('value' => 'api-paste.ini')
|
||||
is_expected.to contain_nova_config('DEFAULT/osapi_compute_listen').with('value' => '0.0.0.0')
|
||||
|
|
|
@ -50,11 +50,7 @@ describe 'nova::compute' do
|
|||
|
||||
it { is_expected.to contain_nova_config('DEFAULT/force_raw_images').with(:value => true) }
|
||||
|
||||
it 'configures availability zones' do
|
||||
is_expected.to contain_nova_config('DEFAULT/default_availability_zone').with_value('<SERVICE DEFAULT>')
|
||||
is_expected.to contain_nova_config('DEFAULT/default_schedule_zone').with_value('<SERVICE DEFAULT>')
|
||||
is_expected.to contain_nova_config('DEFAULT/internal_service_availability_zone').with_value('<SERVICE DEFAULT>')
|
||||
end
|
||||
it { is_expected.to contain_class('nova::availability_zone') }
|
||||
|
||||
it 'configures vendordata' do
|
||||
is_expected.to contain_nova_config('api/vendordata_jsonfile_path').with('value' => '<SERVICE DEFAULT>')
|
||||
|
|
|
@ -20,6 +20,8 @@ describe 'nova::conductor' do
|
|||
:ensure => 'running'
|
||||
)}
|
||||
|
||||
it { is_expected.to contain_class('nova::availability_zone') }
|
||||
|
||||
context 'with manage_service as false' do
|
||||
let :params do
|
||||
{ :enabled => true,
|
||||
|
|
|
@ -25,6 +25,8 @@ describe 'nova::scheduler' do
|
|||
it { is_expected.to contain_nova_config('scheduler/query_placement_for_image_type_support').with_value('<SERVICE DEFAULT>') }
|
||||
it { is_expected.to contain_nova_config('scheduler/limit_tenants_to_placement_aggregate').with_value('<SERVICE DEFAULT>')}
|
||||
|
||||
it { is_expected.to contain_class('nova::availability_zone') }
|
||||
|
||||
context 'with manage_service as false' do
|
||||
let :params do
|
||||
{ :enabled => true,
|
||||
|
|
Loading…
Reference in New Issue