heat_template_version: rocky

description: >
  OpenStack containerized Glance API service

parameters:
  DockerGlanceApiImage:
    description: image
    type: string

outputs:
  config_settings:
    description: Extra hieradata needed to log to files in the host.
    value: null
  volumes:
    description: The volumes needed to log to files in the host.
    value: &glance_api_volumes
      - /var/log/containers/glance:/var/log/glance:z
  docker_config:
    description: Extra containers needed for logging to files in the host.
    value:
      # Kolla_bootstrap/db_sync runs before permissions set by kolla_config
      step_2:
        glance_init_logs:
          image: {get_param: DockerGlanceApiImage}
          privileged: false
          user: root
          volumes: *glance_api_volumes
          command: ['/bin/bash', '-c', 'chown -R glance:glance /var/log/glance']
  host_prep_tasks:
    description: Extra ansible tasks needed for logging to files in the host.
    value:
      - name: create persistent logs directory
        file:
          path: "{{ item.path }}"
          state: directory
          setype: "{{ item.setype }}"
        with_items:
          - { 'path': /var/log/containers/glance, 'setype': svirt_sandbox_file_t }
      - name: glance logs readme
        copy:
          dest: /var/log/glance/readme.txt
          content: |
            Log files from glance containers can be found under
            /var/log/containers/glance.
        ignore_errors: true