heat_template_version: pike

description: >
  TripleO Package installation settings

parameters:
  ServiceNetMap:
    default: {}
    description: Mapping of service_name -> network name. Typically set
                 via parameter_defaults in the resource registry.  This
                 mapping overrides those in ServiceNetMapDefaults.
    type: json
  DefaultPasswords:
    default: {}
    type: json
  RoleName:
    default: ''
    description: Role name on which the service is applied
    type: string
  RoleParameters:
    default: {}
    description: Parameters specific to the role
    type: json
  EndpointMap:
    default: {}
    description: Mapping of service endpoint -> protocol. Typically set
                 via parameter_defaults in the resource registry.
    type: json
  EnablePackageInstall:
    default: 'false'
    description: Set to true to enable package installation via Puppet
    type: boolean

outputs:
  role_data:
    description: Role data for the TripleO package settings
    value:
      service_name: tripleo_packages
      config_settings:
        tripleo::packages::enable_install: {get_param: EnablePackageInstall}
      step_config: |
        include ::tripleo::packages
      upgrade_tasks:
        - name: Check yum for rpm-python present
          tags: step0
          yum: "name=rpm-python state=present"
          register: rpm_python_check
        - name: Fail when rpm-python wasn't present
          fail: msg="rpm-python package was not present before this run! Check environment before re-running"
          when: rpm_python_check.changed != false
          tags: step0
        - name: Update all packages
          tags: step3
          yum: name=* state=latest