heat_template_version: ocata
description: 'Upgrade for via ansible by applying a step related tag'

parameters:
  UpgradeStepConfig:
     type: json
     description: Config (ansible yaml) that will be used to step through the deployment.
     default: ''

  step:
    type: string
    description: Step number of the upgrade

resources:

  AnsibleConfig:
    type: OS::Heat::Value
    properties:
      value:
        str_replace:
          template: CONFIG
          params:
            CONFIG:
              - hosts: localhost
                connection: local
                tasks: {get_param: UpgradeStepConfig}

  AnsibleUpgradeConfigImpl:
    type: OS::Heat::SoftwareConfig
    properties:
      group: ansible
      options:
        tags:
          str_replace:
            template: "stepSTEP"
            params:
              STEP: {get_param: step}
      inputs:
      - name: role
      config: {get_attr: [AnsibleConfig, value]}

outputs:
  OS::stack_id:
    description: The software config which runs ansible with tags
    value: {get_resource: AnsibleUpgradeConfigImpl}
  upgrade_config:
    description:  The configuration file used for upgrade
    value: {get_attr: [AnsibleConfig, value]}

heat_template_version: ocata
description: 'Upgrade for via ansible by applying a step related tag'

parameters:
  UpgradeStepConfig:
     type: json
     description: Config (ansible yaml) that will be used to step through the deployment.
     default: ''

  step:
    type: string
    description: Step number of the upgrade

resources:

  AnsibleConfig:
    type: OS::Heat::Value
    properties:
      value:
        str_replace:
          template: CONFIG
          params:
            CONFIG:
              - hosts: localhost
                connection: local
                tasks: {get_param: UpgradeStepConfig}

  AnsibleUpgradeConfigImpl:
    type: OS::Heat::SoftwareConfig
    properties:
      group: ansible
      options:
        tags:
          str_replace:
            template: "stepSTEP"
            params:
              STEP: {get_param: step}
        modulepath: /usr/share/ansible-modules
      inputs:
      - name: role
      config: {get_attr: [AnsibleConfig, value]}

outputs:
  OS::stack_id:
    description: The software config which runs ansible with tags
    value: {get_resource: AnsibleUpgradeConfigImpl}
  upgrade_config:
    description:  The configuration file used for upgrade
    value: {get_attr: [AnsibleConfig, value]}

Configure specific module path for ansible.
Configure specific module path for ansible.

Change-Id: Icd23553e94fd573a8032c52e18857e722eb2ea49
