X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Flibraries%2Fbash%2Ffunction%2Fdevice.sh;h=8aeb221fd9ea6d873a22f119dcf3d0c995499528;hp=7a61bf7f71975b8592eb924a3079a06a1fbe64d3;hb=956989a5ad8966c06cf3300c2e5edf3f46466edb;hpb=ec88d060eee63d263e706fde464bc2c1a23f196a;ds=sidebyside 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.