From 05dbe5fc1886f41b28a787cde8670d179f4cc7a0 Mon Sep 17 00:00:00 2001 From: Takashi Kajinami Date: Wed, 15 Mar 2023 11:01:31 +0900 Subject: [PATCH] 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 --- fixtures/scenario001.pp | 1 + fixtures/scenario002.pp | 1 + fixtures/scenario003.pp | 4 +++- fixtures/scenario005.pp | 5 +++-- manifests/nova.pp | 12 ++++++++++++ 5 files changed, 20 insertions(+), 3 deletions(-) diff --git a/fixtures/scenario001.pp b/fixtures/scenario001.pp index 362e9fec3..fbdbbc3d5 100644 --- a/fixtures/scenario001.pp +++ b/fixtures/scenario001.pp @@ -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', diff --git a/fixtures/scenario002.pp b/fixtures/scenario002.pp index 55e11c195..b08dbbe11 100644 --- a/fixtures/scenario002.pp +++ b/fixtures/scenario002.pp @@ -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': diff --git a/fixtures/scenario003.pp b/fixtures/scenario003.pp index fbbe92718..6a0417330 100644 --- a/fixtures/scenario003.pp +++ b/fixtures/scenario003.pp @@ -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 } diff --git a/fixtures/scenario005.pp b/fixtures/scenario005.pp index 7b76f2fa0..1c3c986b2 100644 --- a/fixtures/scenario005.pp +++ b/fixtures/scenario005.pp @@ -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' } diff --git a/manifests/nova.pp b/manifests/nova.pp index 579a93d07..06ad98520 100644 --- a/manifests/nova.pp +++ b/manifests/nova.pp @@ -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']