summaryrefslogtreecommitdiffstats
path: root/block-storage-nfs.yaml
blob: b87ef4e5728e62616c373abfd8b72c4b80fb6bfc (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
67
68
69
heat_template_version: 2013-05-23
description: 'Common Block Storage Configuration'
parameters:
  BlockStorageImage:
    type: string
    default: overcloud-cinder-volume
  OvercloudBlockStorageFlavor:
    description: Flavor for block storage nodes to request when deploying.
    type: string
    constraints:
      - custom_constraint: nova.flavor
resources:
  BlockStorageAccessPolicy:
    type: OS::Heat::AccessPolicy
    properties:
      AllowedResources:
      - BlockStorage0
  BlockStorageUser:
    type: AWS::IAM::User
    properties:
      Policies: [ { get_resource: BlockStorageAccessPolicy } ]
  BlockStorageKey:
    type: AWS::IAM::AccessKey
    properties:
      UserName:
        get_resource: BlockStorageUser
  BlockStorage0CompletionCondition:
    type: AWS::CloudFormation::WaitCondition
    depends_on: controller0Config
    properties:
      Handle: {get_resource: BlockStorage0CompletionHandle}
      Count: '1'
      Timeout: '1800'
  BlockStorage0CompletionHandle:
    type: AWS::CloudFormation::WaitConditionHandle
  BlockStorage0:
    type: OS::Nova::Server
    properties:
      image:
        {get_param: BlockStorageImage}
      flavor: {get_param: OvercloudBlockStorageFlavor}
      key_name: {get_param: KeyName}
    metadata:
      completion-handle:
        get_resource: BlockStorage0CompletionHandle
      os-collect-config:
        cfn:
          access_key_id:
            get_resource: BlockStorageKey
          secret_access_key:
            get_attr: [ BlockStorageKey, SecretAccessKey ]
          stack_name: {get_param: 'AWS::StackName'}
      keystone:
        host: {get_attr: [controller0, networks, ctlplane, 0]}
      cinder:
        db: {"Fn::Join": ['', ['mysql://cinder:unset@', {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} , '/cinder']]}
        volume_size_mb: '5000'
        service-password:
          get_param: CinderPassword
        include_nfs_backend: 'true'
        nfs_shares:
          - {"Fn::Join": ['', [{get_attr: [controller0, networks, ctlplane, 0]} , ':/mnt/state/var/lib/nfs_share']]}
      admin-password: {get_param: AdminPassword}
      rabbit:
        host: {get_attr: [controller0, networks, ctlplane, 0]}
        username: {get_param: RabbitUserName}
        password: {get_param: RabbitPassword}
      interfaces:
        control: {get_param: NeutronPublicInterface}