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

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

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

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

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

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