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 c966b23114)
This commit is contained in:
Takashi Kajinami
2023-03-21 21:22:26 +09:00
committed by Tobias Urdin
parent eda5657133
commit 8d9ccd50b9
2 changed files with 20 additions and 11 deletions

View File

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

View File

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