diff --git a/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults/main.yaml b/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults/main.yaml index 9fdad71fb2..ec8bde2d59 100644 --- a/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults/main.yaml +++ b/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults/main.yaml @@ -1 +1,3 @@ tmp_rootfs_mount: /tmp/rootfs +umount_retry_count: 5 +umount_retry_delay: 3 diff --git a/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/grub.yaml b/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/grub.yaml index 2c40e81647..c237aa3711 100644 --- a/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/grub.yaml +++ b/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/grub.yaml @@ -48,9 +48,12 @@ command: mount -o bind /{{ item }} {{ tmp_rootfs_mount }}/{{ item }} with_items: - dev - - sys - proc +- name: mount /sys for chroot + become: yes + command: mount -t sysfs sysfs {{ tmp_rootfs_mount }}/sys + - block: - name: get grub version string become: yes @@ -70,10 +73,14 @@ become: yes command: chroot {{ tmp_rootfs_mount }} /bin/sh -c '{{ grub_config_cmd }} -o {{ grub_config_file }}' always: - - name: unmount dirs for chroot + - name: unmount /{{ item }} for chroot become: yes command: umount {{ tmp_rootfs_mount }}/{{ item }} + register: task_result + retries: '{{ umount_retry_count }}' + delay: '{{ umount_retry_delay }}' + until: task_result.rc == 0 with_items: - - dev - sys - proc + - dev