Map Horizon, Redis, Rabbit, memcached to isolated nets
authorDan Sneddon <dsneddon@redhat.com>
Wed, 27 May 2015 08:42:49 +0000 (01:42 -0700)
committerDan Sneddon <dsneddon@redhat.com>
Wed, 27 May 2015 08:42:49 +0000 (01:42 -0700)
This change adds parameters to select the networks for Horizon,
Redis, Rabbit MQ, and memcached services. Horizon is often used for
administration from outside the cloud, so if the external network
exists, Horizon will bind to that IP, otherwise it will default to
the Undercloud 'ctlplane' network. Redis, Rabbit MQ, and memcached
will bind to IPs on the internal_api network if it exists, else
they will default to the 'ctlplane' network as well. Any of these
network assignments can be overridden with an environment file.

Change-Id: Ie0aa46b4a3c00d3826866796b4ec3b14f71f987c

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

index 928ae3c..9fd6453 100644 (file)
@@ -82,3 +82,7 @@ parameter_defaults:
     NovaMetadataNetwork: internal_api
     SwiftMgmtNetwork: storage_mgmt
     SwiftProxyNetwork: storage
+    HorizonNetwork: external
+    MemcachedNetwork: internal_api
+    RabbitMqNetwork: internal_api
+    RedisNetwork: internal_api
index cc570b2..c45fdce 100644 (file)
@@ -882,16 +882,16 @@ resources:
                 # Horizon
                 horizon::django_debug: {get_input: debug}
                 horizon::secret_key: {get_input: horizon_secret}
-                horizon::bind_address: {get_input: controller_host}
+                horizon::bind_address: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
                 horizon::keystone_url: {get_input: keystone_auth_uri}
 
                 # Rabbit
-                rabbitmq::node_ip_address: {get_input: controller_host}
+                rabbitmq::node_ip_address: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
                 rabbitmq::erlang_cookie: {get_input: rabbit_cookie}
                 # Redis
-                redis::bind: {get_input: controller_host}
+                redis::bind: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, RedisNetwork]}]}
                 # Misc
-                memcached::listen_ip: {get_input: controller_host}
+                memcached::listen_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
                 neutron_public_interface_ip: {get_input: neutron_public_interface_ip}
                 ntp::servers: {get_input: ntp_servers}
                 control_virtual_interface: {get_input: control_virtual_interface}