forked from rook/rook
Merge pull request #16994 from cybozu-go/ci-create-fake-disk-if-github-runner-does-not-have-extra-disk
test: create iscsi disk if extra disk does not exist
This commit is contained in:
@@ -38,6 +38,21 @@ fi
|
||||
# FUNCTIONS #
|
||||
#############
|
||||
|
||||
function create_extra_disk() {
|
||||
sudo apt install -y targetcli-fb open-iscsi
|
||||
truncate -s 75G ~/iscsi-disk.img
|
||||
sudo targetcli /backstores/fileio create disk1 ~/iscsi-disk.img 75G
|
||||
local target_iqn=iqn.2026-02.target.local:disk1
|
||||
sudo targetcli /iscsi create ${target_iqn}
|
||||
sudo targetcli /iscsi/${target_iqn}/tpg1/luns create /backstores/fileio/disk1
|
||||
local init_iqn=iqn.2026-02.initiator.local
|
||||
echo "InitiatorName=${init_iqn}" | sudo tee /etc/iscsi/initiatorname.iscsi >/dev/null
|
||||
sudo targetcli /iscsi/${target_iqn}/tpg1/acls create ${init_iqn}
|
||||
sudo targetcli /iscsi/${target_iqn}/tpg1/acls/${init_iqn} create tpg_lun_or_backstore=lun0 mapped_lun=0
|
||||
sudo iscsiadm -m discovery -t sendtargets -p 127.0.0.1
|
||||
sudo iscsiadm -m node --login
|
||||
}
|
||||
|
||||
function find_extra_block_dev() {
|
||||
# shellcheck disable=SC2005 # redirect doesn't work with sudo, so use echo
|
||||
echo "$(sudo lsblk)" >/dev/stderr # print lsblk output to stderr for debugging in case of future errors
|
||||
@@ -49,6 +64,10 @@ function find_extra_block_dev() {
|
||||
echo " == find_extra_block_dev(): boot_dev='$boot_dev'" >/dev/stderr # debug in case of future errors
|
||||
# --nodeps ignores partitions
|
||||
extra_dev="$(sudo lsblk --noheading --list --nodeps --output KNAME | egrep -v "($boot_dev|loop|nbd)" | head -1)"
|
||||
if [ -z "$extra_dev" ]; then
|
||||
create_extra_disk >/dev/stderr
|
||||
extra_dev="$(sudo lsblk --noheading --list --nodeps --output KNAME | egrep -v "($boot_dev|loop|nbd)" | head -1)"
|
||||
fi
|
||||
echo " == find_extra_block_dev(): extra_dev='$extra_dev'" >/dev/stderr # debug in case of future errors
|
||||
echo "$extra_dev" # output of function
|
||||
}
|
||||
@@ -116,6 +135,14 @@ function use_local_disk_for_integration_test() {
|
||||
sudo apt purge snapd -y
|
||||
sudo udevadm control --log-priority=debug
|
||||
sudo swapoff --all --verbose
|
||||
|
||||
# Create an extra disk if doesn't exist.
|
||||
: "$(block_dev)"
|
||||
sudo lsblk
|
||||
|
||||
unset pipefail
|
||||
mountpoint -q /mnt || return 0
|
||||
set pipefail
|
||||
sudo umount /mnt
|
||||
sudo sed -i.bak '/\/mnt/d' /etc/fstab
|
||||
# search for the device since it keeps changing between sda and sdb
|
||||
|
||||
Reference in New Issue
Block a user