diff options
Diffstat (limited to 'resources/libraries')
-rw-r--r-- | resources/libraries/bash/function/device.sh | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/resources/libraries/bash/function/device.sh b/resources/libraries/bash/function/device.sh index 7a61bf7f71..8aeb221fd9 100644 --- a/resources/libraries/bash/function/device.sh +++ b/resources/libraries/bash/function/device.sh @@ -124,9 +124,16 @@ function clean_environment () { # Kill docker containers. docker rm --force "${DCR_UUIDS[@]}" || die "Cleanup containers failed!" - # Remove DUT1 /tmp volume - docker volume rm "${DCR_VOLUMES[dut1]}" || { - die "Failed to remove DUT1 /tmp volume!" + # Check if some container is using volume and remove all the hanged + # containers before removing volume. Command will not fail in case there + # are no containers to remove. + docker rm --force $(docker ps -q --filter volume=${DCR_VOLUMES[dut1]}) || { + warn "Failed to remove hanged containers or nothing to remove!" + } + + # Remove DUT1 volume. + docker volume rm --force "${DCR_VOLUMES[dut1]}" || { + die "Failed to remove DUT1 volume!" } # Rebind interfaces back to kernel drivers. |