b87ef4e5728e62616c373abfd8b72c4b80fb6bfc
[apex-tripleo-heat-templates.git] / block-storage-nfs.yaml
1 heat_template_version: 2013-05-23
2 description: 'Common Block Storage Configuration'
3 parameters:
4   BlockStorageImage:
5     type: string
6     default: overcloud-cinder-volume
7   OvercloudBlockStorageFlavor:
8     description: Flavor for block storage nodes to request when deploying.
9     type: string
10     constraints:
11       - custom_constraint: nova.flavor
12 resources:
13   BlockStorageAccessPolicy:
14     type: OS::Heat::AccessPolicy
15     properties:
16       AllowedResources:
17       - BlockStorage0
18   BlockStorageUser:
19     type: AWS::IAM::User
20     properties:
21       Policies: [ { get_resource: BlockStorageAccessPolicy } ]
22   BlockStorageKey:
23     type: AWS::IAM::AccessKey
24     properties:
25       UserName:
26         get_resource: BlockStorageUser
27   BlockStorage0CompletionCondition:
28     type: AWS::CloudFormation::WaitCondition
29     depends_on: controller0Config
30     properties:
31       Handle: {get_resource: BlockStorage0CompletionHandle}
32       Count: '1'
33       Timeout: '1800'
34   BlockStorage0CompletionHandle:
35     type: AWS::CloudFormation::WaitConditionHandle
36   BlockStorage0:
37     type: OS::Nova::Server
38     properties:
39       image:
40         {get_param: BlockStorageImage}
41       flavor: {get_param: OvercloudBlockStorageFlavor}
42       key_name: {get_param: KeyName}
43     metadata:
44       completion-handle:
45         get_resource: BlockStorage0CompletionHandle
46       os-collect-config:
47         cfn:
48           access_key_id:
49             get_resource: BlockStorageKey
50           secret_access_key:
51             get_attr: [ BlockStorageKey, SecretAccessKey ]
52           stack_name: {get_param: 'AWS::StackName'}
53       keystone:
54         host: {get_attr: [controller0, networks, ctlplane, 0]}
55       cinder:
56         db: {"Fn::Join": ['', ['mysql://cinder:unset@', {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} , '/cinder']]}
57         volume_size_mb: '5000'
58         service-password:
59           get_param: CinderPassword
60         include_nfs_backend: 'true'
61         nfs_shares:
62           - {"Fn::Join": ['', [{get_attr: [controller0, networks, ctlplane, 0]} , ':/mnt/state/var/lib/nfs_share']]}
63       admin-password: {get_param: AdminPassword}
64       rabbit:
65         host: {get_attr: [controller0, networks, ctlplane, 0]}
66         username: {get_param: RabbitUserName}
67         password: {get_param: RabbitPassword}
68       interfaces:
69         control: {get_param: NeutronPublicInterface}