Handle the hardcoded configuration values
This patch allows to customize the hardcoded configuration values,
as well as introduce new configuration options for ironic services
by configmap template with the specified sections:
ironic:
api:
configmap:
DEFAULT:
enabled_drivers: pxe_ipmitool
enabled_hardware_types: ipmi
enabled_boot_interfaces: pxe
api:
host_ip: 0.0.0.0
port: 6385
max_limit: 1000
conductor:
configmap:
DEFAULT:
enabled_drivers: pxe_ipmitool
enabled_hardware_types: ipmi
enabled_boot_interfaces: pxe
disk_partitioner:
check_device_interval: 1
check_device_max_retries: 20
disk_utils:
efi_system_partition_size: 200
bios_boot_partition_size: 1
Change-Id: I0876284d7dcf9b4dd40478c6ef5fd66878b1c0bd
Related-Prod: PROD-29627
(cherry picked from commit c2db7140545de5506ef726b0ffe7da671428e8b6)
diff --git a/README.rst b/README.rst
index 44c8b67..d37b93f 100644
--- a/README.rst
+++ b/README.rst
@@ -193,3 +193,32 @@
enabled: true
strategy: ENCRYPT
secret_key: secret
+
+Change default options using configmap template settings
+========================================================
+
+.. code-block:: yaml
+
+ ironic:
+ api:
+ configmap:
+ DEFAULT:
+ enabled_drivers: pxe_ipmitool
+ enabled_hardware_types: ipmi
+ enabled_boot_interfaces: pxe
+ api:
+ host_ip: 0.0.0.0
+ port: 6385
+ max_limit: 1000
+ conductor:
+ configmap:
+ DEFAULT:
+ enabled_drivers: pxe_ipmitool
+ enabled_hardware_types: ipmi
+ enabled_boot_interfaces: pxe
+ disk_partitioner:
+ check_device_interval: 1
+ check_device_max_retries: 20
+ disk_utils:
+ efi_system_partition_size: 200
+ bios_boot_partition_size: 1
diff --git a/ironic/files/ocata/ironic.conf b/ironic/files/ocata/ironic.conf
index 0c030bd..55a6c2d 100644
--- a/ironic/files/ocata/ironic.conf
+++ b/ironic/files/ocata/ironic.conf
@@ -4064,3 +4064,8 @@
# Username (string value)
# Deprecated group/name - [swift]/user-name
#username = <None>
+
+{%- if ironic.configmap is defined %}
+{%- set _data = ironic.configmap %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/ironic/files/pike/ironic.conf b/ironic/files/pike/ironic.conf
index 5350c1a..7f168bd 100644
--- a/ironic/files/pike/ironic.conf
+++ b/ironic/files/pike/ironic.conf
@@ -4243,3 +4243,8 @@
# Username (string value)
# Deprecated group/name - [swift]/user-name
#username = <None>
+
+{%- if ironic.configmap is defined %}
+{%- set _data = ironic.configmap %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/ironic/files/queens/ironic.conf b/ironic/files/queens/ironic.conf
index 668e9c1..384ae83 100644
--- a/ironic/files/queens/ironic.conf
+++ b/ironic/files/queens/ironic.conf
@@ -2542,3 +2542,8 @@
# Maximum number of times to retry a Swift request, before
# failing. (integer value)
#swift_max_retries = 2
+
+{%- if ironic.configmap is defined %}
+{%- set _data = ironic.configmap %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/tests/pillar/api_single.sls b/tests/pillar/api_single.sls
index 72800fe..365a526 100644
--- a/tests/pillar/api_single.sls
+++ b/tests/pillar/api_single.sls
@@ -32,3 +32,12 @@
enabled: true
strategy: ENCRYPT
secret_key: secret
+ configmap:
+ DEFAULT:
+ enabled_drivers: pxe_ipmitool
+ enabled_hardware_types: ipmi
+ enabled_boot_interfaces: pxe
+ api:
+ host_ip: 0.0.0.0
+ port: 6385
+ max_limit: 1000
diff --git a/tests/pillar/conductor_single.sls b/tests/pillar/conductor_single.sls
index 616e456..155695a 100644
--- a/tests/pillar/conductor_single.sls
+++ b/tests/pillar/conductor_single.sls
@@ -20,6 +20,17 @@
identity:
engine: 'noauth'
http_root: '/var/www/httproot'
+ configmap:
+ DEFAULT:
+ enabled_drivers: pxe_ipmitool
+ enabled_hardware_types: ipmi
+ enabled_boot_interfaces: pxe
+ disk_partitioner:
+ check_device_interval: 1
+ check_device_max_retries: 20
+ disk_utils:
+ efi_system_partition_size: 200
+ bios_boot_partition_size: 1
tftpd_hpa:
server:
bind: