Map Cinder services to isolated networks
authorDan Sneddon <dsneddon@redhat.com>
Tue, 26 May 2015 22:03:34 +0000 (15:03 -0700)
committerDan Sneddon <dsneddon@redhat.com>
Tue, 26 May 2015 22:03:34 +0000 (15:03 -0700)
This change adds parameters to specify which networks the Cinder API and
Cinder iSCSI services will listen on. If the internal_api network exists,
Cinder API will be bound to the IP on that network, otherwise it will
default to the Undercloud 'ctlplane' network. The Cinder iSCSI service will
bind to the storage network if it exists, otherwise will also default to
using the Undercloud 'ctlplane' network.

Change-Id: I98149f108baf28d46eb199b69a72d0f6914486fd

overcloud-resource-registry-puppet.yaml
puppet/controller-puppet.yaml

index 9c5ed1b..b4c3b5a 100644 (file)
@@ -68,3 +68,5 @@ parameter_defaults:
     NeutronLocalIp: tenant
     CeilometerApiNetwork: internal_api
     MongoDbNetwork: internal_api
+    CinderApiNetwork: internal_api
+    CinderIscsiNetwork: storage
index 0e5ab11..b012b4f 100644 (file)
@@ -731,12 +731,12 @@ resources:
                 cinder_enable_rbd_backend: {get_input: cinder_enable_rbd_backend}
                 cinder_lvm_loop_device_size: {get_input: cinder_lvm_loop_device_size}
                 cinder_iscsi_helper: {get_input: cinder_iscsi_helper}
-                cinder_iscsi_ip_address: {get_input: controller_host}
+                cinder_iscsi_ip_address: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CinderIscsiNetwork]}]}
                 cinder::database_connection: {get_input: cinder_dsn}
                 cinder::api::keystone_password: {get_input: cinder_password}
                 cinder::api::auth_uri: {get_input: keystone_auth_uri}
                 cinder::api::identity_uri: {get_input: keystone_identity_uri}
-                cinder::api::bind_host: {get_input: controller_host}
+                cinder::api::bind_host: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
                 cinder::rabbit_userid: {get_input: rabbit_username}
                 cinder::rabbit_password: {get_input: rabbit_password}
                 cinder::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}