From 6be8573e2987b88857e040f7cccef9e7502153e4 Mon Sep 17 00:00:00 2001
From: Takashi Kajinami <kajinamit@oss.nttdata.com>
Date: Mon, 18 Dec 2023 01:36:22 +0900
Subject: [PATCH] ironic-inspector: Enable store backend for inspection data

... to test the set up more suitable for production use.

Change-Id: I5e1dbdcaadb2ee92ad4f5c71690c0186a1b0d76b
---
 fixtures/scenario002.pp |  4 +++-
 manifests/ironic.pp     | 10 ++++++++++
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/fixtures/scenario002.pp b/fixtures/scenario002.pp
index eaa02571f..1745aaf77 100644
--- a/fixtures/scenario002.pp
+++ b/fixtures/scenario002.pp
@@ -62,7 +62,9 @@ class { 'openstack_integration::neutron':
   metering_enabled  => true,
 }
 include openstack_integration::swift
-include openstack_integration::ironic
+class { 'openstack_integration::ironic':
+  inspector_backend => 'swift'
+}
 include openstack_integration::zaqar
 include openstack_integration::provision
 
diff --git a/manifests/ironic.pp b/manifests/ironic.pp
index 589936015..db7a8dbc2 100644
--- a/manifests/ironic.pp
+++ b/manifests/ironic.pp
@@ -4,8 +4,13 @@
 #   (optional) AMQP topic used for OpenStack notifications
 #   Defaults to $facts['os_service_default'].
 #
+# [*inspector_backend*]
+#   (optional) The storage backend for storing introspection data.
+#   Defaults to 'database'.
+#
 class openstack_integration::ironic (
   $notification_topics = $facts['os_service_default'],
+  $inspector_backend   = 'database',
 ) {
 
   include openstack_integration::config
@@ -151,6 +156,10 @@ class openstack_integration::ironic (
     password => 'a_big_secret',
     auth_url => "${::openstack_integration::config::keystone_auth_uri}/v3",
   }
+  class { 'ironic::inspector::swift':
+    password => 'a_big_secret',
+    auth_url => "${::openstack_integration::config::keystone_auth_uri}/v3",
+  }
 
   if $facts['os']['family'] == 'RedHat' {
     class { 'ironic::inspector::wsgi::apache':
@@ -176,6 +185,7 @@ class openstack_integration::ironic (
     rabbit_use_ssl        => $::openstack_integration::config::ssl,
     standalone            => $standalone,
     dnsmasq_interface     => 'eth0',
+    store_data            => $inspector_backend,
   }
   class { 'ironic::inspector::coordination':
     backend_url => "memcached://${::openstack_integration::config::ip_for_url}:11211",