heat_template_version: 2014-10-16
description: 'OpenStack swift storage node post deployment for Puppet'

parameters:
  servers:
    type: json

resources:

  StoragePuppetConfig:
    type: OS::Heat::SoftwareConfig
    properties:
      group: puppet
      outputs:
      - name: result
      config:
        get_file: manifests/overcloud_object.pp

  StorageDeployment_Step1:
    type: OS::Heat::StructuredDeployments
    properties:
      servers:  {get_param: servers}
      config: {get_resource: StoragePuppetConfig}

  StorageRingbuilderPuppetConfig:
    type: OS::Heat::SoftwareConfig
    properties:
      group: puppet
      outputs:
      - name: result
      config:
        get_file: manifests/ringbuilder.pp

  StorageRingbuilderDeployment_Step2:
    type: OS::Heat::StructuredDeployments
    depends_on: StorageDeployment_Step1
    properties:
      servers:  {get_param: servers}
      config: {get_resource: StorageRingbuilderPuppetConfig}

  # Note, this should come last, so use depends_on to ensure
  # this is created after any other resources.
  ExtraConfig:
    depends_on: StorageRingbuilderDeployment_Step2
    type: OS::TripleO::NodeExtraConfigPost
    properties:
        servers: {get_param: servers}