heat_template_version: rocky

description: >
  Template for nova-metadata's logging to files

parameters:
  ContainerNovaMetadataImage:
    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: &nova_metadata_volumes
      - /var/log/containers/nova:/var/log/nova:z
      - /var/log/containers/httpd/nova-metadata:/var/log/httpd:z
  docker_config:
    description: Extra containers needed for logging to files in the host.
    value:
      step_2:
        nova_metadata_init_logs:
          image: {get_param: ContainerNovaMetadataImage}
          net: none
          privileged: false
          user: root
          volumes: *nova_metadata_volumes
          command: ['/bin/bash', '-c', 'chown -R nova:nova /var/log/nova']
  host_prep_tasks:
    description: Extra ansible tasks needed for logging to files in the host.
    value:
      - name: create persistent directories
        file:
          path: "{{ item.path }}"
          state: directory
          setype: "{{ item.setype }}"
        with_items:
          - { 'path': /var/log/containers/nova, 'setype': svirt_sandbox_file_t, 'mode': '0750' }
          - { 'path': /var/log/containers/httpd/nova-metadata, 'setype': svirt_sandbox_file_t, 'mode': '0750' }
