Add BlockStorage0Config Resource
authorJames Slagle <jslagle@redhat.com>
Thu, 27 Mar 2014 15:00:28 +0000 (11:00 -0400)
committerJames Slagle <jslagle@redhat.com>
Thu, 27 Mar 2014 15:00:28 +0000 (11:00 -0400)
Add a BlockStorage0Config resource in the block-storage.yaml template.
This was missing previously and was causing the behavior of having all
block storage nodes only being created after all other nodes were up in
a deployment (I presume b/c of the wait conditions).

Also, we need the BlockStorage0Config resource so that we can get the
configuration of neutron-openvswitch-agent from the metadata, previously
the values in the file were unset, causing the service to fail to start.

Change-Id: I297de24079d1ece66d35213b4ef1f2c8c50e73f0

block-storage.yaml

index 453a0ac..e651b4f 100644 (file)
@@ -8,17 +8,24 @@ Parameters:
     Default: baremetal
     Description: Flavor for block storage nodes to request when deploying.
     Type: String
+  NeutronNetworkType:
+    Type: String
+    Default: 'gre'
+  NeutronEnableTunnelling:
+    Type: String
+    Default: True
 Resources:
   BlockStorageAccessPolicy:
     Type: OS::Heat::AccessPolicy
     Properties:
       AllowedResources:
       - BlockStorage0
+      - BlockStorage0Config
   BlockStorageUser:
     Type: AWS::IAM::User
     Properties:
       Policies: [ { Ref: BlockStorageAccessPolicy } ]
-  BlockStorageKey:
+  BlockStorage0Key:
     Type: AWS::IAM::AccessKey
     Properties:
       UserName:
@@ -39,17 +46,33 @@ Resources:
         {Ref: BlockStorageImage}
       flavor: {Ref: OvercloudBlockStorageFlavor}
       key_name: {Ref: KeyName}
+    Metadata:
+      os-collect-config:
+        cfn:
+          access_key_id:
+            Ref: BlockStorage0Key
+          secret_access_key:
+            Fn::GetAtt: [ BlockStorage0Key, SecretAccessKey ]
+          stack_name: {Ref: 'AWS::StackName'}
+          path: BlockStorage0Config.Metadata
+      OpenStack::ImageBuilder::Elements: [ cinder ]
+  BlockStorage0Config:
+    Type: AWS::AutoScaling::LaunchConfiguration
+    Properties:
+      InstanceType: '0'
+      ImageId: '0'
     Metadata:
       completion-handle:
         Ref: BlockStorage0CompletionHandle
       os-collect-config:
         cfn:
           access_key_id:
-            Ref: BlockStorageKey
+            Ref: BlockStorage0Key
           secret_access_key:
-            Fn::GetAtt: [ BlockStorageKey, SecretAccessKey ]
+            Fn::GetAtt: [ BlockStorage0Key, SecretAccessKey ]
           stack_name: {Ref: 'AWS::StackName'}
-      OpenStack::ImageBuilder::Elements: [ cinder ]
+          path: BlockStorage0Config.Metadata
+      admin-password: {Ref: AdminPassword}
       keystone:
         host: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notCompute0, networks]} ]} ] }
       cinder:
@@ -64,3 +87,17 @@ Resources:
         password: {Ref: RabbitPassword}
       interfaces:
         control: {Ref: NeutronPublicInterface}
+      neutron:
+        ovs:
+          local_ip:
+            Fn::Select:
+              - 0
+              - Fn::Select:
+                - ctlplane
+                - Fn::GetAtt:
+                  - BlockStorage0
+                  - networks
+          tenant_network_type: {Ref: NeutronNetworkType}
+          enable_tunneling: {Ref: NeutronEnableTunnelling}
+        service-password:
+          Ref: NeutronPassword