heat_template_version: wallaby description: > Template for placement's logging to files parameters: RoleParameters: default: {} description: Parameters specific to the role type: json ContainerPlacementImage: description: image type: string tags: - role_specific resources: RoleParametersValue: type: OS::Heat::Value properties: type: json value: map_replace: - map_replace: - ContainerPlacementImage: ContainerPlacementImage - values: {get_param: [RoleParameters]} - values: ContainerPlacementImage: {get_param: ContainerPlacementImage} 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: &placement_volumes - /var/log/containers/placement:/var/log/placement:z - /var/log/containers/httpd/placement:/var/log/httpd:z docker_config: description: Extra containers needed for logging to files in the host. value: step_2: placement_init_log: start_order: 1 image: {get_attr: [RoleParametersValue, value, ContainerPlacementImage]} net: none user: root command: ['/bin/bash', '-c', 'chown -R placement:placement /var/log/placement'] volumes: *placement_volumes 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 }}" mode: "{{ item.mode }}" with_items: - { 'path': /var/log/containers/placement, 'setype': container_file_t, 'mode': '0750' } - { 'path': /var/log/containers/httpd/placement, 'setype': container_file_t, 'mode': '0750' }