diff --git a/ansible/roles/bifrost/tasks/bootstrap.yml b/ansible/roles/bifrost/tasks/bootstrap.yml
index 8f841d98ee436b0ba9204b4c57b77571cd18b96e..3b051df14398ef1eb92e64511434a1092965b279 100644
--- a/ansible/roles/bifrost/tasks/bootstrap.yml
+++ b/ansible/roles/bifrost/tasks/bootstrap.yml
@@ -37,3 +37,17 @@
      chown ironic:ironic /home/ironic/.ssh/id_rsa &&
      chown ironic:ironic /home/ironic/.ssh/id_rsa.pub &&
      chown ironic:ironic /home/ironic/.ssh/config'
+
+# Ironic creates hardlinks between the TFTP master image store and the
+# HTTP root path when iPXE is enabled. With Docker volumes used for these
+# locations we run into https://bugs.launchpad.net/ironic/+bug/1507894
+# during deployment. If we use a directory under /httpboot to store the
+# master images this issue is avoided.
+- name: Configuring TFTP master image path
+  command: |
+    docker exec bifrost_deploy
+    bash -c 'cat >> /etc/ironic/ironic.conf << EOF
+    [pxe]
+    tftp_master_path = /httpboot/master_images
+    EOF
+    systemctl restart ironic-conductor'
diff --git a/ansible/roles/bifrost/tasks/start.yml b/ansible/roles/bifrost/tasks/start.yml
index 717f41928454099c1c69200cddddc6df989a41b0..537a6def2e6ac13b026ecf88d432e91a4149ac1f 100644
--- a/ansible/roles/bifrost/tasks/start.yml
+++ b/ansible/roles/bifrost/tasks/start.yml
@@ -11,3 +11,8 @@
       - "/etc/localtime:/etc/localtime:ro"
       - "/dev:/dev"
       - "kolla_logs:/var/log/kolla/"
+      - "bifrost_httpboot:/httpboot/"
+      - "bifrost_ironic:/var/lib/ironic/"
+      - "bifrost_mariadb:/var/lib/mysql/"
+      - "bifrost_rabbitmq:/var/lib/rabbitmq/"
+      - "bifrost_tftpboot:/tftpboot/"
diff --git a/releasenotes/notes/bifrost-persistent-data-019294fe3326cf82.yaml b/releasenotes/notes/bifrost-persistent-data-019294fe3326cf82.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..0b0aa50c300ac4ee433b5c2c5316efd4095694fe
--- /dev/null
+++ b/releasenotes/notes/bifrost-persistent-data-019294fe3326cf82.yaml
@@ -0,0 +1,5 @@
+---
+features:
+  - |
+    Adds Docker volumes for storing persistent data in the ``bifrost_deploy``
+    container on the deployment host.