diff --git a/playbooks/roles/bifrost-ironic-install/defaults/main.yml b/playbooks/roles/bifrost-ironic-install/defaults/main.yml index 3905900ab..01f690774 100644 --- a/playbooks/roles/bifrost-ironic-install/defaults/main.yml +++ b/playbooks/roles/bifrost-ironic-install/defaults/main.yml @@ -143,6 +143,10 @@ cors_allowed_origin: "http://localhost:8000" # not need to be modified by the user. enable_cors_credential_support: false +# The path to the directory where the deployment logs should be stored when using +# local storage. +ironic_agent_deploy_logs_local_path: "{{ '/'.join([ironic_log_dir, 'deploy']) }}" + # Set this to true to configure dnsmasq to respond to requests from the # hosts in your dynamic inventory. inventory_dhcp: False diff --git a/playbooks/roles/bifrost-ironic-install/tasks/bootstrap.yml b/playbooks/roles/bifrost-ironic-install/tasks/bootstrap.yml index b11f8ecf9..2be3f22f0 100644 --- a/playbooks/roles/bifrost-ironic-install/tasks/bootstrap.yml +++ b/playbooks/roles/bifrost-ironic-install/tasks/bootstrap.yml @@ -128,7 +128,7 @@ - name: "Generate ironic Configuration" include: ironic_config.yml -- name: "Set permissions for {{ ironic_log_dir }} for the ironic user" +- name: "Set permissions on directory for the ironic user" file: path: "{{ item }}" state: directory @@ -137,6 +137,7 @@ group: "ironic" with_items: - "{{ ironic_log_dir }}" + - "{{ ironic_agent_deploy_logs_local_path }}" - name: "Create ironic DB Schema" command: ironic-dbsync --config-file /etc/ironic/ironic.conf create_schema diff --git a/playbooks/roles/bifrost-ironic-install/templates/ironic.conf.j2 b/playbooks/roles/bifrost-ironic-install/templates/ironic.conf.j2 index 96b7a1958..f860175ab 100644 --- a/playbooks/roles/bifrost-ironic-install/templates/ironic.conf.j2 +++ b/playbooks/roles/bifrost-ironic-install/templates/ironic.conf.j2 @@ -35,6 +35,11 @@ auth_strategy = noauth log_dir = {{ ironic_log_dir }} {% endif %} +{% if ironic_agent_deploy_logs_local_path | default("") != "/var/log/ironic/deploy" %} +[agent] +deploy_logs_local_path = {{ ironic_agent_deploy_logs_local_path }} +{% endif %} + [pxe] {% if testing | bool %} pxe_append_params = console=/dev/ttyS0 diff --git a/releasenotes/notes/fix-deploy-logs-175fb352c5730b58.yaml b/releasenotes/notes/fix-deploy-logs-175fb352c5730b58.yaml new file mode 100644 index 000000000..1e0a39383 --- /dev/null +++ b/releasenotes/notes/fix-deploy-logs-175fb352c5730b58.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - | + Fixes an issue where the deployment logs would not be saved if using a + non-default value of ironic_log_dir. See `Story 2006150 `_.