Nova: Configure [cinder] options

Nova requires [cinder] options, especially keystoneauth options, to
use some features like volume snapshot in NFS driver. This ensures
the nova::cinder class works as expected and put the required options.

Change-Id: Id100f0c189db1b7010713c8a97714588516fbb54
This commit is contained in:
Takashi Kajinami 2023-03-15 11:01:31 +09:00
parent 89bf3c1377
commit 05dbe5fc18
5 changed files with 20 additions and 3 deletions

View File

@ -70,6 +70,7 @@ include openstack_integration::placement
class { 'openstack_integration::nova':
libvirt_rbd => true,
notification_topics => ['notifications', 'vitrage_notifications'],
cinder_enabled => true,
}
class { 'openstack_integration::cinder':
backend => 'rbd',

View File

@ -69,6 +69,7 @@ include openstack_integration::provision
include openstack_integration::placement
class { 'openstack_integration::nova':
volume_encryption => true,
cinder_enabled => true,
}
class { 'openstack_integration::cinder':

View File

@ -70,7 +70,9 @@ class { 'openstack_integration::neutron':
driver => 'ovn',
}
include openstack_integration::placement
include openstack_integration::nova
class { 'openstack_integration::nova':
cinder_enabled => true,
}
if $trove_enabled {
include openstack_integration::trove
}

View File

@ -54,8 +54,9 @@ class { 'openstack_integration::neutron':
driver => 'ovn',
}
include openstack_integration::placement
include openstack_integration::nova
class { 'openstack_integration::nova':
cinder_enabled => true,
}
class { 'openstack_integration::octavia':
provider_driver => 'ovn'
}

View File

@ -22,12 +22,17 @@
# (optional) AMQP topic used for OpenStack notifications
# Defaults to $facts['os_service_default'].
#
# [*cinder_enabled*]
# (optional) Boolean to configure or not cinder options.
# Defaults to false.
#
class openstack_integration::nova (
$libvirt_rbd = false,
$libvirt_virt_type = 'qemu',
$libvirt_cpu_mode = 'none',
$volume_encryption = false,
$notification_topics = $facts['os_service_default'],
$cinder_enabled = false,
) {
include openstack_integration::config
@ -239,6 +244,13 @@ class openstack_integration::nova (
password => 'a_big_secret',
default_floating_pool => 'public',
}
if $cinder_enabled {
class { 'nova::cinder':
auth_url => $::openstack_integration::config::keystone_admin_uri,
password => 'a_big_secret',
auth_type => 'password',
}
}
Keystone_endpoint <||> -> Service['nova-compute']
Keystone_service <||> -> Service['nova-compute']