heat_template_version: pike

description: >
  OpenStack Ceilometer Expirer service, disabled since pike

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

outputs:
  role_data:
    description: Role data for the disabling Ceilometer Expirer role.
    value:
      service_name: ceilometer_expirer_disabled
      upgrade_tasks:
        - name: Remove ceilometer expirer cron tab on upgrade
          tags: step1
          shell: '/usr/bin/crontab -u ceilometer -r'

heat_template_version: pike

description: >
  OpenStack Ceilometer Expirer service, disabled since pike

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

outputs:
  role_data:
    description: Role data for the disabling Ceilometer Expirer role.
    value:
      service_name: ceilometer_expirer_disabled
      upgrade_tasks:
        - name: Remove ceilometer expirer cron tab on upgrade
          tags: step1
          shell: '/usr/bin/crontab -u ceilometer -r'
          register: remove_ceilometer_expirer_crontab
          failed_when: remove_ceilometer_expirer_crontab.rc != 0 and remove_ceilometer_expirer_crontab.stderr != "no crontab for ceilometer"
          changed_when: remove_ceilometer_expirer_crontab.stderr != "no crontab for ceilometer"

Make ceilometer crontab removal idempotent
Make ceilometer crontab removal idempotent

When we re-execute an upgrade and the crontab has already been
removed, the crontab removal returns 1, saying "no crontab for
ceilometer", and the upgrade fails. This change makes the removal
idempotent.

Change-Id: Ic955fb67bb2f7afde44291f7db3293c88f167566
Closes-Bug: #1701250
