From a5413281e08b7cf9dd4648d4f31b7593d7dd4c0a Mon Sep 17 00:00:00 2001
From: Tomas Sedovic <tomas@sedovic.cz>
Date: Thu, 7 Aug 2014 11:39:16 +0200
Subject: [PATCH] Fix overcloud controller scaling

Controller scaling was broken by the commit
02772ba2877b9f6d427c6fd760bf19d6334c68a8. Merge.py raises an exception
when it tries to scale the default value "controller0" of the
`BootstrapNodeResource` parameter.

This reverts back to using Fn::Select for specifying the bootstrap host,
the rest of the Fn::Select -> get_attr changes are kept.

Change-Id: I0cdebf75d4752a35f547d4fbb81545ece3172405
---
 overcloud-source.yaml  | 17 ++++++++++++-----
 undercloud-source.yaml | 13 ++++++++++++-
 2 files changed, 24 insertions(+), 6 deletions(-)

diff --git a/overcloud-source.yaml b/overcloud-source.yaml
index d6f7eb34a0..fcfb821fe8 100644
--- a/overcloud-source.yaml
+++ b/overcloud-source.yaml
@@ -283,10 +283,6 @@ parameters:
     description: Keystone key for signing tokens.
     type: string
     hidden: true
-  BootstrapNodeResource:
-    default: controller0
-    description: Name of the bootstrap controller resource
-    type: string
 resources:
   ControlVirtualIP:
     type: OS::Neutron::Port
@@ -364,7 +360,18 @@ resources:
           public_interface_ip:
             get_param: NeutronPublicInterfaceIP
         bootstrap_host:
-          bootstrap_nodeid: {get_attr: [{get_param: BootstrapNodeResource}, show, name]}
+          bootstrap_nodeid:
+            Fn::Select:
+            - 0
+            - Fn::Select:
+              - 0
+              - Merge::Map:
+                  controller0:
+                  - Fn::Select:
+                    - name
+                    - get_attr:
+                      - controller0
+                      - show
           nodeid: {get_input: bootstack_nodeid}
         cinder:
           db: mysql://cinder:unset@localhost/cinder
diff --git a/undercloud-source.yaml b/undercloud-source.yaml
index be743ce391..d1854a104d 100644
--- a/undercloud-source.yaml
+++ b/undercloud-source.yaml
@@ -198,7 +198,18 @@ resources:
         admin-token:
           get_param: AdminToken
         bootstrap_host:
-          bootstrap_nodeid: {get_attr: [undercloud, show, name]}
+          bootstrap_nodeid:
+            Fn::Select:
+            - 0
+            - Fn::Select:
+              - 0
+              - Merge::Map:
+                  undercloud:
+                  - Fn::Select:
+                    - name
+                    - get_attr:
+                      - undercloud
+                      - show
           nodeid: {get_input: bootstack_nodeid}
         bootstack:
           public_interface_ip: