Merge "Fix for pike nova placement interface pick."
diff --git a/README.rst b/README.rst
index b1fa824..9039cd0 100644
--- a/README.rst
+++ b/README.rst
@@ -53,6 +53,9 @@
           user: nova
           password: pwd
           tenant: service
+          interface: internal
+          valid_interfaces:
+          - internal
         message_queue:
           engine: rabbitmq
           host: 127.0.0.1
diff --git a/nova/files/pike/nova-controller.conf.Debian b/nova/files/pike/nova-controller.conf.Debian
index 6284bf5..94a4009 100644
--- a/nova/files/pike/nova-controller.conf.Debian
+++ b/nova/files/pike/nova-controller.conf.Debian
@@ -5794,6 +5794,15 @@
 #reauthenticate=true
 
 
+[keystone]
+interface = controller.identity.get('interface', 'internal')
+{%- if controller.identity.valid_interfaces is defined %}
+{%-   set valid_interfaces = controller.identity.valid_interfaces|join(',') %}
+{%- else %}
+{%-   set valid_interfaces = 'internal' %}
+{%- endif %}
+valid_interfaces = {{ valid_interfaces }}
+
 [keystone_authtoken]
 
 #
diff --git a/nova/files/queens/nova-controller.conf.Debian b/nova/files/queens/nova-controller.conf.Debian
index add5208..ddbd53e 100644
--- a/nova/files/queens/nova-controller.conf.Debian
+++ b/nova/files/queens/nova-controller.conf.Debian
@@ -6104,6 +6104,9 @@
 # List of interfaces, in order of preference, for endpoint URL. (list
 # value)
 #valid_interfaces = internal,public
+{%- if controller.identity.valid_interfaces is defined %}
+valid_interfaces = {{ controller.identity.valid_interfaces|join(',') }}
+{%- endif %}
 
 # The default region_name for endpoint URL discovery. (string value)
 #region_name = <None>