Merge "Fixup network configuration for ext-net"
[apex-tripleo-heat-templates.git] / swift-storage-source.yaml
index 16f2f36..3dbdda9 100644 (file)
-HeatTemplateFormatVersion: '2012-12-12'
-Description: 'Common Swift Storage Configuration'
-Parameters:
+heat_template_version: 2013-05-23
+description: 'Common Swift Storage Configuration'
+parameters:
   SwiftStorageImage:
-    Type: String
-    Default: overcloud-swift-storage
+    type: string
+    default: overcloud-swift-storage
   OvercloudSwiftStorageFlavor:
-    Default: baremetal
-    Description: Flavor for Swift storage nodes to request when deploying.
-    Type: String
+    default: baremetal
+    description: Flavor for Swift storage nodes to request when deploying.
+    type: string
   NeutronNetworkType:
-    Type: String
-    Default: 'gre'
+    type: string
+    default: 'gre'
   NeutronEnableTunnelling:
-    Type: String
-    Default: True
-Resources:
-  SwiftStorageAccessPolicy:
-    Type: OS::Heat::AccessPolicy
-    Properties:
-      AllowedResources:
-      - SwiftStorage0
-      - SwiftStorage0Config
-  SwiftStorageUser:
-    Type: AWS::IAM::User
-    Properties:
-      Policies: [ { Ref: SwiftStorageAccessPolicy } ]
-  SwiftStorage0Key:
-    Type: AWS::IAM::AccessKey
-    Properties:
-      UserName:
-        Ref: SwiftStorageUser
-  SwiftStorage0CompletionCondition:
-    Type: AWS::CloudFormation::WaitCondition
-    DependsOn: notCompute0Config
-    Properties:
-      Handle: {Ref: SwiftStorage0CompletionHandle}
-      Count: '1'
-      Timeout: '1800'
-  SwiftStorage0CompletionHandle:
-    Type: AWS::CloudFormation::WaitConditionHandle
+    type: string
+    default: True
+resources:
   SwiftStorage0:
-    Type: OS::Nova::Server
-    Properties:
-      image:
-        {Ref: SwiftStorageImage}
-      flavor: {Ref: OvercloudSwiftStorageFlavor}
-      key_name: {Ref: KeyName}
-    Metadata:
-      os-collect-config:
-        cfn:
-          access_key_id:
-            Ref: SwiftStorage0Key
-          secret_access_key:
-            Fn::GetAtt: [ SwiftStorage0Key, SecretAccessKey ]
-          stack_name: {Ref: 'AWS::StackName'}
-          path: SwiftStorage0Config.Metadata
-      OpenStack::ImageBuilder::Elements: [ swift ]
-  SwiftStorage0Config:
-    Type: AWS::AutoScaling::LaunchConfiguration
-    Properties:
-      InstanceType: '0'
-      ImageId: '0'
-    Metadata:
-      completion-handle:
-        Ref: SwiftStorage0CompletionHandle
-      os-collect-config:
-        cfn:
-          access_key_id:
-            Ref: SwiftStorage0Key
-          secret_access_key:
-            Fn::GetAtt: [ SwiftStorage0Key, SecretAccessKey ]
-          stack_name: {Ref: 'AWS::StackName'}
-          path: SwiftStorage0Config.Metadata
-      admin-password: {Ref: AdminPassword}
-      neutron:
-        ovs:
-          local_ip:
-            Fn::Select:
-              - 0
-              - Fn::Select:
-                - ctlplane
-                - Fn::GetAtt:
-                  - SwiftStorage0
-                  - networks
-          tenant_network_type: {Ref: NeutronNetworkType}
-          enable_tunneling: {Ref: NeutronEnableTunnelling}
-        service-password:
-          Ref: NeutronPassword
-      swift:
-        devices:
+    type: OS::Nova::Server
+    properties:
+      image: {get_param: SwiftStorageImage}
+      flavor: {get_param: OvercloudSwiftStorageFlavor}
+      key_name: {get_param: KeyName}
+      user_data_format: SOFTWARE_CONFIG
+  SwiftKeystoneConfig:
+    type: OS::Heat::StructuredConfig
+    properties:
+      config:
+        keystone:
+          host: {get_input: keystone_host}
+  SwiftStorage0Keystone:
+    type: OS::Heat::StructuredDeployment
+    properties:
+      server: {get_resource: SwiftStorage0}
+      config: {get_resource: SwiftKeystoneConfig}
+      signal_transport: NO_SIGNAL
+      input_values:
+        keystone_host: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
+  SwiftStorage0Deploy:
+    type: OS::Heat::StructuredDeployment
+    properties:
+      server: {get_resource: SwiftStorage0}
+      config: {get_resource: SwiftConfig}
+      signal_transport: NO_SIGNAL
+      input_values:
+        neutron_local_ip: {get_attr: [SwiftStorage0, networks, ctlplane, 0]}
+        neutron_tenant_network_type: {get_param: NeutronNetworkType}
+        neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
+        swift_hash_suffix: {get_param: SwiftHashSuffix}
+        swift_password: {get_param: SwiftPassword}
+        swift_devices:
           Fn::Join:
           - ', '
-          - - Fn::Join:
-              - ''
-              - - 'r1z1-'
-                - Fn::Select:
-                  - 0
-                  - Fn::Select:
-                    - 'ctlplane'
-                    - Fn::GetAtt:
-                      - notCompute0
-                      - networks
-                - ':%PORT%/d1'
-            - Fn::Join:
-              - ', '
-              - Merge::Map:
-                  SwiftStorage0:
-                    Fn::Join:
-                    - ''
-                    - - 'r1z1-'
-                      - Fn::Select:
-                        - 0
-                        - Fn::Select:
-                          - 'ctlplane'
-                          - Fn::GetAtt:
-                            - SwiftStorage0
-                            - networks
-                      - ':%PORT%/d1'
-        hash:
-          Ref: SwiftHashSuffix
-        part-power: 10
-        replicas: 1
-        service-password:
-          Ref: SwiftPassword
+          - Merge::Map:
+              controller0:
+                Fn::Join:
+                - ''
+                - - 'r1z1-'
+                  - {get_attr: [controller0, networks, ctlplane, 0]}
+                  - ':%PORT%/d1'
+              SwiftStorage0:
+                Fn::Join:
+                - ''
+                - - 'r1z1-'
+                  - {get_attr: [SwiftStorage0, networks, ctlplane, 0]}
+                  - ':%PORT%/d1'
+        swift_proxy_memcache:
+          Fn::Join:
+            - ','
+            - Merge::Map:
+                controller0:
+                  Fn::Join:
+                    - ', '
+                    - - Fn::Join:
+                        - ''
+                        - - {get_attr: [controller0, networks, ctlplane, 0]}
+                          - ':11211'