From 4653e8e0275072fa22a10aad213005f603add2e6 Mon Sep 17 00:00:00 2001
From: ZhongShengping <chdzsp@163.com>
Date: Wed, 26 Aug 2020 11:53:17 +0800
Subject: [PATCH] Add mysql_enable_ndb option

Add mysql_enable_ndb parameter to select mysql storage engine.

Change-Id: Id2e3858bbdc04dbad3e6157a5e1f67dfcdea12e8
Depends-On: https://review.opendev.org/#/c/748067
Closes-Bug: #1892952
---
 manifests/db.pp                                            | 7 +++++++
 .../add_mysql_enable_ndb-option-aacec8e7376a8098.yaml      | 4 ++++
 spec/classes/neutron_db_spec.rb                            | 3 +++
 3 files changed, 14 insertions(+)
 create mode 100644 releasenotes/notes/add_mysql_enable_ndb-option-aacec8e7376a8098.yaml

diff --git a/manifests/db.pp b/manifests/db.pp
index b1a9e0b28..1309de164 100644
--- a/manifests/db.pp
+++ b/manifests/db.pp
@@ -33,6 +33,11 @@
 #   (Optional) If set, use this value for pool_timeout with SQLAlchemy.
 #   Defaults to $::os_service_default
 #
+# [*mysql_enable_ndb*]
+#   (Optional) If True, transparently enables support for handling MySQL
+#   Cluster (NDB).
+#   Defaults to $::os_service_default
+#
 # [*database_db_max_retries*]
 #   (Optional) Maximum retries in case of connection error or deadlock error
 #   before error is raised. Set to -1 to specify an infinite retry count.
@@ -46,6 +51,7 @@ class neutron::db (
   $database_retry_interval          = $::os_service_default,
   $database_max_overflow            = $::os_service_default,
   $database_pool_timeout            = $::os_service_default,
+  $mysql_enable_ndb                 = $::os_service_default,
   $database_db_max_retries          = $::os_service_default,
 ) {
 
@@ -64,6 +70,7 @@ class neutron::db (
       max_pool_size           => $database_max_pool_size,
       max_overflow            => $database_max_overflow,
       pool_timeout            => $database_pool_timeout,
+      mysql_enable_ndb        => $mysql_enable_ndb,
       db_max_retries          => $database_db_max_retries,
     }
 
diff --git a/releasenotes/notes/add_mysql_enable_ndb-option-aacec8e7376a8098.yaml b/releasenotes/notes/add_mysql_enable_ndb-option-aacec8e7376a8098.yaml
new file mode 100644
index 000000000..2e28c5c66
--- /dev/null
+++ b/releasenotes/notes/add_mysql_enable_ndb-option-aacec8e7376a8098.yaml
@@ -0,0 +1,4 @@
+---
+features:
+  - |
+    Add mysql_enable_ndb parameter to select mysql storage engine.
diff --git a/spec/classes/neutron_db_spec.rb b/spec/classes/neutron_db_spec.rb
index 85a2e63f5..0b12d80c8 100644
--- a/spec/classes/neutron_db_spec.rb
+++ b/spec/classes/neutron_db_spec.rb
@@ -12,6 +12,7 @@ describe 'neutron::db' do
         :retry_interval          => '<SERVICE DEFAULT>',
         :max_overflow            => '<SERVICE DEFAULT>',
         :pool_timeout            => '<SERVICE DEFAULT>',
+        :mysql_enable_ndb        => '<SERVICE DEFAULT>',
       )}
     end
 
@@ -26,6 +27,7 @@ describe 'neutron::db' do
           :database_db_max_retries          => '-1',
           :database_max_overflow            => '21',
           :database_pool_timeout            => '21',
+          :mysql_enable_ndb                 => true,
         }
       end
 
@@ -38,6 +40,7 @@ describe 'neutron::db' do
         :retry_interval          => '11',
         :max_overflow            => '21',
         :pool_timeout            => '21',
+        :mysql_enable_ndb        => true,
       )}
     end
   end