Merge pull request #39481 from trociny/wip-luks-encryption-test-sudo

qa/workunits/rbd: make luks-encryption test work on vstart cluster

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
This commit is contained in:
Jason Dillaman 2021-02-20 10:54:24 -05:00 committed by GitHub
commit ea56b92c2f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -4,6 +4,23 @@ set -ex
CEPH_ID=${CEPH_ID:-admin}
TMP_FILES="/tmp/passphrase /tmp/testdata1 /tmp/testdata2"
_sudo()
{
local cmd
if [ `id -u` -eq 0 ]
then
"$@"
return $?
fi
# Look for the command in the user path. If it fails run it as is,
# supposing it is in sudo path.
cmd=`which $1 2>/dev/null` || cmd=$1
shift
sudo -nE "${cmd}" "$@"
}
function drop_caches {
echo 3 | sudo tee /proc/sys/vm/drop_caches
}
@ -20,7 +37,7 @@ function test_encryption_format() {
sudo cryptsetup open $RAW_DEV --type $format cryptsetupdev -d /tmp/passphrase
# open encryption with librbd
LIBRBD_DEV=$(sudo rbd -p rbd map testimg -t nbd -o encryption-format=$format,encryption-passphrase-file=/tmp/passphrase)
LIBRBD_DEV=$(_sudo rbd -p rbd map testimg -t nbd -o encryption-format=$format,encryption-passphrase-file=/tmp/passphrase)
# write via librbd && compare
sudo dd if=/tmp/testdata1 of=$LIBRBD_DEV conv=fdatasync
@ -45,7 +62,7 @@ function clean_up {
sudo rm -f $TMP_FILES
clean_up_cryptsetup
for device in $(get_nbd_device_paths); do
sudo rbd device unmap -t nbd $device
_sudo rbd device unmap -t nbd $device
done
rbd ls | grep testimg > /dev/null && rbd rm testimg || true
}
@ -76,7 +93,7 @@ echo -n "password" > /tmp/passphrase
rbd create testimg --size=32M
# map raw data to nbd device
RAW_DEV=$(sudo rbd -p rbd map testimg -t nbd)
RAW_DEV=$(_sudo rbd -p rbd map testimg -t nbd)
test_encryption_format luks1
test_encryption_format luks2