Customize metadata bind host/port
This patch allows to customize metadata bind address/port
settings.
Change-Id: Ib238352e421d40f7fcbb969aceffa9f07b48ac2e
Related-Prod: PROD-17576
diff --git a/README.rst b/README.rst
index 828dd01..81c539d 100644
--- a/README.rst
+++ b/README.rst
@@ -424,6 +424,19 @@
barbican:
enabled: true
+Nova metadata custom bindings
+
+.. code-block:: yaml
+
+ nova:
+ controller:
+ enabled: true
+ ...
+ metadata:
+ bind:
+ address: 1.2.3.4
+ port: 8776
+
Client role
-----------
diff --git a/nova/files/ocata/nova-controller.conf.Debian b/nova/files/ocata/nova-controller.conf.Debian
index ed21920..a53c256 100644
--- a/nova/files/ocata/nova-controller.conf.Debian
+++ b/nova/files/ocata/nova-controller.conf.Debian
@@ -2690,7 +2690,7 @@
# requests.
# (string value)
#metadata_listen=0.0.0.0
-metadata_listen={{ controller.bind.private_address }}
+metadata_listen={{ controller.get('metadata', {}).get('bind', {}).get('address', controller.bind.private_address) }}
osapi_volume_listen={{ controller.bind.private_address }}
#
@@ -2701,7 +2701,11 @@
# (port value)
# Minimum value: 0
# Maximum value: 65535
+{%- if controller.get('metadata', {}).get('bind', {}).port is defined %}
+metadata_listen_port={{ controller.metadata.bind.port }}
+{%- else %}
#metadata_listen_port=8775
+{%- endif %}
#
# Number of workers for metadata service. If not specified the number of
diff --git a/nova/files/pike/nova-controller.conf.Debian b/nova/files/pike/nova-controller.conf.Debian
index f6bc29c..50cd7fc 100644
--- a/nova/files/pike/nova-controller.conf.Debian
+++ b/nova/files/pike/nova-controller.conf.Debian
@@ -2690,7 +2690,7 @@
# requests.
# (string value)
#metadata_listen=0.0.0.0
-metadata_listen={{ controller.bind.private_address }}
+metadata_listen={{ controller.get('metadata', {}).get('bind', {}).get('address', controller.bind.private_address) }}
osapi_volume_listen={{ controller.bind.private_address }}
#
@@ -2701,7 +2701,11 @@
# (port value)
# Minimum value: 0
# Maximum value: 65535
+{%- if controller.get('metadata', {}).get('bind', {}).port is defined %}
+metadata_listen_port={{ controller.metadata.bind.port }}
+{%- else %}
#metadata_listen_port=8775
+{%- endif %}
#
# Number of workers for metadata service. If not specified the number of