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.

Conflicts:
    - fixtures/scenario005.pp

Backport note: We don't backport the entire scenario005 instead we
use modular libvirt on scenario003 for this branch.

Depends-On: https://review.opendev.org/c/openstack/puppet-nova/+/886608
Change-Id: I2588337c013068174f10e4d39092450debece07b
(cherry picked from commit c966b23114)
(cherry picked from commit 8d9ccd50b9)
This commit is contained in:
Takashi Kajinami
2023-03-21 21:22:26 +09:00
committed by Tobias Urdin
parent 399eaa134d
commit 9b332d0203
2 changed files with 20 additions and 10 deletions

View File

@@ -23,6 +23,7 @@ if $::os['name'] == 'Ubuntu' {
case $::osfamily {
'Debian': {
$ipv6 = false
$modular_libvirt = false
# mistral is not packaged on Ubuntu Trusty
$mistral_enabled = false
# murano package should be fixed on Ubuntu Xenial
@@ -40,6 +41,7 @@ case $::osfamily {
}
'RedHat': {
$ipv6 = true
$modular_libvirt = true
$mistral_enabled = true
# NOTE(mnaser): We need to figure out why Murano won't accept credentials
# and how to get it to work with Keystone V3.
@@ -71,7 +73,9 @@ class { 'openstack_integration::neutron':
driver => 'linuxbridge',
}
include openstack_integration::placement
include openstack_integration::nova
class { 'openstack_integration::nova':
modular_libvirt => $modular_libvirt,
}
if $trove_enabled {
include openstack_integration::trove
}

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,
}
if $libvirt_rbd {
class { 'nova::compute::rbd':