summaryrefslogtreecommitdiffstats
path: root/block-storage.yaml
blob: d7548c9c250df90bf8c938bd67cc0588deb7e899 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
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}