heat_template_version: rocky description: > OpenStack containerized Neutron API service parameters: DockerNeutronApiImage: description: image type: string NeutronServiceName: description: service name type: string outputs: cmd_extra_args: description: Extra command line arguments for running the service in the container. value: str_replace: template: "--log-file=/var/log/neutron/SERVICE.log" params: SERVICE: {get_param: NeutronServiceName} config_settings: description: Extra hieradata needed to log to files in the host. value: null volumes: description: extra volumes value: &neutron_api_volumes - /var/log/containers/neutron:/var/log/neutron:z - /var/log/containers/httpd/neutron-api:/var/log/httpd:z docker_config: description: Extra containers needed for logging to files in the host. value: # db sync runs before permissions set by kolla_config step_2: neutron_init_logs: image: {get_param: DockerNeutronApiImage} net: none privileged: false user: root volumes: *neutron_api_volumes command: ['/bin/bash', '-c', 'chown -R neutron:neutron /var/log/neutron'] 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/neutron, 'setype': svirt_sandbox_file_t } - { 'path': /var/log/containers/httpd/neutron-api, 'setype': svirt_sandbox_file_t } - { 'path': /var/log/neutron, 'setype': svirt_sandbox_file_t } - name: neutron logs readme copy: dest: /var/log/neutron/readme.txt content: | Log files from neutron containers can be found under /var/log/containers/neutron and /var/log/containers/httpd/neutron-api. ignore_errors: true