Browse Source

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)
(cherry picked from commit 57ff2a154c)
(cherry picked from commit 75d67bd6c8)
(cherry picked from commit effda25202)
changes/31/691831/1
Oliver Walsh Martin Schuppert 5 months ago
parent
commit
a47853c485
6 changed files with 9 additions and 5 deletions
  1. +1
    -0
      manifests/api.pp
  2. +1
    -0
      manifests/conductor.pp
  3. +2
    -0
      spec/classes/nova_api_spec.rb
  4. +1
    -5
      spec/classes/nova_compute_spec.rb
  5. +2
    -0
      spec/classes/nova_conductor_spec.rb
  6. +2
    -0
      spec/classes/nova_scheduler_spec.rb

+ 1
- 0
manifests/api.pp View File

@@ -341,6 +341,7 @@ class nova::api(
include ::nova::db
include ::nova::policy
include ::nova::keystone::authtoken
include ::nova::availability_zone

if $install_cinder_client {
include ::cinder::client


+ 1
- 0
manifests/conductor.pp View File

@@ -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,


+ 2
- 0
spec/classes/nova_api_spec.rb View File

@@ -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')


+ 1
- 5
spec/classes/nova_compute_spec.rb View File

@@ -46,11 +46,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 { is_expected.to contain_nova_config('DEFAULT/heal_instance_info_cache_interval').with_value('60') }



+ 2
- 0
spec/classes/nova_conductor_spec.rb View File

@@ -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,


+ 2
- 0
spec/classes/nova_scheduler_spec.rb View File

@@ -23,6 +23,8 @@ describe 'nova::scheduler' do
it { is_expected.to contain_nova_config('scheduler/driver').with_value('filter_scheduler') }
it { is_expected.to contain_nova_config('scheduler/discover_hosts_in_cells_interval').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…
Cancel
Save