parametrize endpoints

Change-Id: Iffeb7de45c4f4f232f0e8f72c55f9b6e2c5d67c7
diff --git a/cinder/files/newton/cinder.conf.controller.Debian b/cinder/files/newton/cinder.conf.controller.Debian
index faf22e9..a0c4c53 100644
--- a/cinder/files/newton/cinder.conf.controller.Debian
+++ b/cinder/files/newton/cinder.conf.controller.Debian
@@ -78,7 +78,7 @@
 lock_path=/var/lock/cinder
 
 nova_catalog_admin_info = compute:nova:adminURL
-nova_catalog_info = compute:nova:publicURL
+nova_catalog_info = compute:nova:{{ server.identity.get('endpoint_type', 'publicURL') }}
 
 osapi_volume_extension = cinder.api.contrib.standard_extensions
 
diff --git a/cinder/files/newton/cinder.conf.volume.Debian b/cinder/files/newton/cinder.conf.volume.Debian
index 4c70f1c..a8d4f7b 100644
--- a/cinder/files/newton/cinder.conf.volume.Debian
+++ b/cinder/files/newton/cinder.conf.volume.Debian
@@ -76,7 +76,7 @@
 verbose=True
 
 nova_catalog_admin_info = compute:nova:adminURL
-nova_catalog_info = compute:nova:publicURL
+nova_catalog_info = compute:nova:{{ server.identity.get('endpoint_type', 'publicURL') }}
 
 [oslo_messaging_notifications]
 {%- if volume.notification is mapping %}
diff --git a/metadata/service/control/cluster.yml b/metadata/service/control/cluster.yml
index c0c9682..ffd2aac 100644
--- a/metadata/service/control/cluster.yml
+++ b/metadata/service/control/cluster.yml
@@ -3,6 +3,8 @@
 classes:
 - service.cinder.support
 parameters:
+  _param:
+    keystone_cinder_endpoint_type: internalURL
   cinder:
     controller:
       enabled: true
@@ -24,6 +26,7 @@
         tenant: service
         user: cinder
         password: ${_param:keystone_cinder_password}
+        endpoint_type: ${_param:keystone_cinder_endpoint_type}
       glance:
         host: ${_param:cluster_vip_address}
         port: 9292
diff --git a/metadata/service/control/cluster_control.yml b/metadata/service/control/cluster_control.yml
index c0c9682..ffd2aac 100644
--- a/metadata/service/control/cluster_control.yml
+++ b/metadata/service/control/cluster_control.yml
@@ -3,6 +3,8 @@
 classes:
 - service.cinder.support
 parameters:
+  _param:
+    keystone_cinder_endpoint_type: internalURL
   cinder:
     controller:
       enabled: true
@@ -24,6 +26,7 @@
         tenant: service
         user: cinder
         password: ${_param:keystone_cinder_password}
+        endpoint_type: ${_param:keystone_cinder_endpoint_type}
       glance:
         host: ${_param:cluster_vip_address}
         port: 9292
diff --git a/metadata/service/control/container.yml b/metadata/service/control/container.yml
index 951ded8..4c82662 100644
--- a/metadata/service/control/container.yml
+++ b/metadata/service/control/container.yml
@@ -1,4 +1,6 @@
 parameters:
+  _param:
+    keystone_cinder_endpoint_type: internalURL
   kubernetes:
     control:
       configmap:
@@ -29,6 +31,7 @@
                   tenant: service
                   user: cinder
                   password: ${_param:keystone_cinder_password}
+                  endpoint_type: ${_param:keystone_cinder_endpoint_type}
                 glance:
                   host: ${_param:glance_service_host}
                   port: 9292
diff --git a/metadata/service/control/single.yml b/metadata/service/control/single.yml
index 5b5c9aa..1bf8378 100644
--- a/metadata/service/control/single.yml
+++ b/metadata/service/control/single.yml
@@ -3,6 +3,8 @@
 classes:
 - service.cinder.support
 parameters:
+  _param:
+    keystone_cinder_endpoint_type: internalURL
   cinder:
     controller:
       enabled: true
@@ -24,6 +26,7 @@
         tenant: service
         user: cinder
         password: ${_param:keystone_cinder_password}
+        endpoint_type: ${_param:keystone_cinder_endpoint_type}
       glance:
         host: ${_param:single_address}
         port: 9292
diff --git a/metadata/service/volume/single.yml b/metadata/service/volume/single.yml
index a452086..65a5640 100644
--- a/metadata/service/volume/single.yml
+++ b/metadata/service/volume/single.yml
@@ -3,6 +3,8 @@
 classes:
 - service.cinder.support
 parameters:
+  _param:
+    keystone_cinder_endpoint_type: internalURL
   cinder:
     volume:
       enabled: true
@@ -24,6 +26,7 @@
         tenant: service
         user: cinder
         password: ${_param:keystone_cinder_password}
+        endpoint_type: ${_param:keystone_cinder_endpoint_type}
       glance:
         host: ${_param:cluster_vip_address}
         port: 9292
diff --git a/tests/pillar/control_cluster.sls b/tests/pillar/control_cluster.sls
index ddb9e38..9fcafb4 100644
--- a/tests/pillar/control_cluster.sls
+++ b/tests/pillar/control_cluster.sls
@@ -19,6 +19,7 @@
       tenant: service
       user: cinder
       password: password
+      endpoint_type: internalURL
     glance:
       host: 127.0.0.1
       port: 9292
diff --git a/tests/pillar/control_single.sls b/tests/pillar/control_single.sls
index 4c3b3bf..73a7a2e 100644
--- a/tests/pillar/control_single.sls
+++ b/tests/pillar/control_single.sls
@@ -19,6 +19,7 @@
       tenant: service
       user: cinder
       password: password
+      endpoint_type: internalURL
     glance:
       host: 127.0.0.1
       port: 9292
diff --git a/tests/pillar/volume_single.sls b/tests/pillar/volume_single.sls
index 1b66ae2..d8f7071 100644
--- a/tests/pillar/volume_single.sls
+++ b/tests/pillar/volume_single.sls
@@ -18,6 +18,7 @@
       tenant: service
       user: cinder
       password: password
+      endpoint_type: internalURL
     glance:
       host: 127.0.0.1
       port: 9292