diff --git a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp index 2d74db5947..520cff3b2b 100644 --- a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp +++ b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp @@ -49,6 +49,7 @@ class openstack_tasks::roles::compute { $use_1g_huge_pages = $allocated_hugepages['1G'] $libvirt_type = hiera('libvirt_type', undef) $kombu_compression = hiera('kombu_compression', $::os_service_default) + $nova_cache = pick($nova_hash['use_cache'], true) $dpdk_config = hiera_hash('dpdk', {}) $enable_dpdk = pick($dpdk_config['enabled'], false) @@ -285,6 +286,12 @@ class openstack_tasks::roles::compute { block_device_allocate_retries_interval => $block_device_allocate_retries_interval, } + class { '::nova::cache': + enabled => $nova_cache, + backend => 'oslo_cache.memcache_pool', + memcache_servers => $memcached_addresses, + } + class { '::nova::availability_zone': default_availability_zone => $nova_hash_real['default_availability_zone'], default_schedule_zone => $nova_hash_real['default_schedule_zone'], diff --git a/tests/noop/spec/hosts/roles/compute_spec.rb b/tests/noop/spec/hosts/roles/compute_spec.rb index 42040a6d2c..664d8b8a0c 100644 --- a/tests/noop/spec/hosts/roles/compute_spec.rb +++ b/tests/noop/spec/hosts/roles/compute_spec.rb @@ -83,6 +83,8 @@ describe manifest do let(:config_drive_format) { Noop.puppet_function 'pick', compute_hash['config_drive_format'], 'vfat' } let(:log_facility) { Noop.hiera 'syslog_log_facility_nova', 'LOG_LOCAL6' } + let(:use_cache) { Noop.puppet_function 'pick', nova_hash['use_cache'], true } + # Legacy openstack-compute tests @@ -348,6 +350,14 @@ describe manifest do ) end + it 'should configure nova cache correctly' do + should contain_class('nova::cache').with( + :enabled => use_cache, + :backend => 'oslo_cache.memcache_pool', + :memcache_servers => memcache_servers.split(','), + ) + end + it 'should install fping for nova API extension' do should contain_package('fping').with('ensure' => 'present') end