From 8d9ccd50b92c291da9348f3d260b7a1e51fceccf Mon Sep 17 00:00:00 2001 From: Takashi Kajinami Date: Tue, 21 Mar 2023 21:22:26 +0900 Subject: [PATCH] Test deployment with modular libvirt daemons This enables modular libvirt daemons in CentOS so that we can test both monolithic libvirt and modular libvirt in our CI jobs. Depends-On: https://review.opendev.org/c/openstack/puppet-nova/+/885748 Change-Id: I2588337c013068174f10e4d39092450debece07b (cherry picked from commit c966b231146d9ade2fd85a7715e6a93d12528253) --- fixtures/scenario005.pp | 7 +++++-- manifests/nova.pp | 24 +++++++++++++++--------- 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/fixtures/scenario005.pp b/fixtures/scenario005.pp index 4855ae327..0baba3d10 100644 --- a/fixtures/scenario005.pp +++ b/fixtures/scenario005.pp @@ -23,9 +23,11 @@ if $::os['name'] == 'Ubuntu' { case $::osfamily { 'Debian': { $ipv6 = false + $modular_libvirt = false } 'RedHat': { $ipv6 = true + $modular_libvirt = true } default: { fail("Unsupported osfamily (${::osfamily})") @@ -54,8 +56,9 @@ class { 'openstack_integration::neutron': driver => 'ovn', } include openstack_integration::placement -include openstack_integration::nova - +class { 'openstack_integration::nova': + modular_libvirt => $modular_libvirt, +} class { 'openstack_integration::octavia': provider_driver => 'ovn' } diff --git a/manifests/nova.pp b/manifests/nova.pp index cc57c7ef2..c4495ff86 100644 --- a/manifests/nova.pp +++ b/manifests/nova.pp @@ -14,6 +14,11 @@ # Possible values include custom, host-model, none, host-passthrough. # Defaults to 'none' # +# [*modular_libvirt*] +# (optional) Use modular libvirt daemons instead of the monolithic libvirtd +# deamon +# Defaults to false +# # [*volume_encryption*] # (optional) Boolean to configure or not volume encryption # Defaults to false. @@ -26,6 +31,7 @@ class openstack_integration::nova ( $libvirt_rbd = false, $libvirt_virt_type = 'qemu', $libvirt_cpu_mode = 'none', + $modular_libvirt = false, $volume_encryption = false, $notification_topics = $::os_service_default, ) { @@ -186,7 +192,8 @@ class openstack_integration::nova ( default => 'tcp' } class { 'nova::migration::libvirt': - transport => $migration_transport + transport => $migration_transport, + modular_libvirt => $modular_libvirt, } $images_type = $libvirt_rbd ? { @@ -194,14 +201,13 @@ class openstack_integration::nova ( false => $::os_service_default } class { 'nova::compute::libvirt': - virt_type => $libvirt_virt_type, - cpu_mode => $libvirt_cpu_mode, - # virtlock and virtlog services resources are not idempotent - # on Ubuntu, let's disable it for now. - # https://tickets.puppetlabs.com/browse/PUP-6370 - virtlock_service_name => false, - virtlog_service_name => false, - images_type => $images_type, + virt_type => $libvirt_virt_type, + cpu_mode => $libvirt_cpu_mode, + images_type => $images_type, + manage_libvirt_services => false, + } + class { 'nova::compute::libvirt::services': + modular_libvirt => $modular_libvirt, } class { 'nova::compute::libvirt::networks': } if $libvirt_rbd {