HeatTemplateFormatVersion: '2012-12-12' Description: 'Common Block Storage Configuration' Parameters: BlockStorageImage: Type: String Default: overcloud-cinder-volume KeystoneHost: Type: String Default: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notcompute, networks]} ]} ] } MySQLHost: Type: String Default: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notcompute, networks]} ]} ] } RabbitHost: Type: String Default: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notcompute, networks]} ]} ] } RabbitPassword: Type: String Default: "guest" NoEcho: true Resources: BlockStorageAccessPolicy: Type: OS::Heat::AccessPolicy Properties: AllowedResources: - BlockStorage0 BlockStorageUser: Type: AWS::IAM::User Properties: Policies: [ { Ref: BlockStorageAccessPolicy } ] BlockStorageKey: Type: AWS::IAM::AccessKey Properties: UserName: Ref: BlockStorageUser BlockStorage0: Type: OS::Nova::Server Properties: image: {Ref: BlockStorageImage} flavor: {Ref: Flavor} key_name: {Ref: KeyName} InstanceType: '0' ImageId: '0' Metadata: os-collect-config: cfn: access_key_id: Ref: BlockStorageKey secret_access_key: Fn::GetAtt: [ BlockStorageKey, SecretAccessKey ] stack_name: {Ref: 'AWS::StackName'} OpenStack::ImageBuilder::Elements: [ cinder ] keystone: host: {Ref: KeystoneHost} cinder: db: {"Fn::Join": ['', ['mysql://cinder:unset@', {Ref: MySQLHost}, '/cinder']]} volume_size_mb: '5000' service-password: Ref: CinderPassword volume: 'true' admin-password: {Ref: AdminPassword} rabbit: host: {Ref: RabbitHost} password: {Ref: RabbitPassword} interfaces: control: {Ref: NeutronPublicInterface}