summaryrefslogtreecommitdiffstats
path: root/puppet/config.role.j2.yaml
blob: cdbc76f0ec2f37195e074f970fd5f23b0a19c885 (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
heat_template_version: ocata

description: >
  A software config which runs puppet on the {{role}} role

parameters:
  ConfigDebug:
    default: false
    description: Whether to run config management (e.g. Puppet) in debug mode.
    type: boolean
  StepConfig:
     type: string
     description: Config manifests that will be used to step through the deployment.
     default: ''
  PuppetTags:
     type: string
     description: List of comma-separated tags to limit puppet catalog to.
     default: ''

conditions:

  puppet_tags_empty: {equals : [{get_param: PuppetTags}, '']}

resources:

  {{role}}PuppetConfigImpl:
    type: OS::Heat::SoftwareConfig
    properties:
      group: puppet
      options:
        enable_debug: {get_param: ConfigDebug}
        enable_hiera: True
        enable_facter: False
        modulepath: /etc/puppet/modules:/opt/stack/puppet-modules:/usr/share/openstack-puppet/modules
        tags:
          if:
          - puppet_tags_empty
          - ''
          - list_join:
            - ','
            - ['file,concat,file_line,augeas', {get_param: PuppetTags}]
      outputs:
      - name: result
      inputs:
      - name: step
        type: Number
      config:
        list_join:
        - ''
        - - str_replace:
              template: {get_file: manifests/overcloud_role.pp}
              params:
                __ROLE__: {{role.lower()}}
          - {get_param: StepConfig}

outputs:
  OS::stack_id:
    description: The software config which runs puppet on the {{role}} role
    value: {get_resource: {{role}}PuppetConfigImpl}