Default: ''
     Description: A port to add to the NeutronPhysicalBridge.
     Type: String
-  RabbitHost:
-    Type: String
   RabbitUserName:
     Type: String
   RabbitPassword:
     Type: String
   NeutronEnableTunnelling:
     Type: String
-  HostsConfig:
+  AllNodesConfig:
     Type: String
-    Description: OS::Heat::Config to use for hosts file deployment
+    Description: OS::Heat::Config to use for all nodes deployment
   LiveUpdateUserName:
     Type: String
     Description: The live-update username for the undercloud Glance API.
         neutron_public_interface: {Ref: NeutronPublicInterface}
         neutron_password: {Ref: NeutronPassword}
         admin_password: {Ref: AdminPassword}
-        rabbit_host: {Ref: RabbitHost}
         rabbit_username: {Ref: RabbitUserName}
         rabbit_password: {Ref: RabbitPassword}
         live_update_host: {Ref: LiveUpdateHost}
         nova_image: {Ref: NovaImage}
         live_update_image_id: {Ref: LiveUpdateComputeImage}
         ntp_server: {Ref: NtpServer}
-  NovaCompute0HostsDeploy:
+  NovaCompute0AllNodesDeploy:
     Type: OS::Heat::StructuredDeployment
     Properties:
-      config: {Ref: HostsConfig}
+      config: {Ref: AllNodesConfig}
       server: {Ref: NovaCompute0}
       signal_transport: NO_SIGNAL
   NovaCompute0Passthrough:
 
     Parameters:
         NovaApiHost: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
         KeystoneHost: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
-        RabbitHost: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
         NeutronHost: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
         GlanceHost: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
         NovaDSN: {"Fn::Join": ['', ['mysql://nova:unset@', {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}, '/nova']]}
             Ref: HypervisorNeutronPublicInterface
         NeutronBridgeMappings:
             Ref: NeutronBridgeMappings
-  NovaCompute0Hosts:
+  NovaCompute0AllNodes:
     Type: FileInclude
     Path: nova-compute-instance.yaml
-    SubKey: Resources.NovaCompute0HostsDeploy
+    SubKey: Resources.NovaCompute0AllNodesDeploy
     Parameters:
-        HostsConfig: {Ref: allHostsConfig}
+        AllNodesConfig: {Ref: allNodesConfig}
   NovaCompute0Passthrough:
     Type: OS::Heat::StructuredDeployment
     Properties:
           service-password:
             Ref: NovaPassword
         rabbit:
-          host:
-            get_input: controller_host
           username:
             Ref: RabbitUserName
           password:
       key_name:
         Ref: KeyName
       user_data_format: SOFTWARE_CONFIG
-  controller0Hosts:
+  controller0AllNodesConfig:
     Type: OS::Heat::StructuredDeployment
     Properties:
-      config: {Ref: allHostsConfig}
+      config: {Ref: allNodesConfig}
       server: {Ref: controller0}
       signal_transport: NO_SIGNAL
   controller0Deployment:
             - - 'http://'
               - {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
               - ':8000/v1/waitcondition'
-  allHostsConfig:
+  allNodesConfig:
     Type: OS::Heat::StructuredConfig
     Properties:
       config:
                               - show
                           - 'novalocal'
                       - {Ref: CloudName}
+        rabbit:
+          nodes:
+            Fn::Join:
+              - ','
+              - Merge::Map:
+                  controller0:
+                    {"Fn::Select": [ name, {"Fn::GetAtt": [controller0, show]} ] }
   controller0SSLDeployment:
     Type: OS::Heat::StructuredDeployment
     Properties: