File tree Expand file tree Collapse file tree 5 files changed +50
-10
lines changed Expand file tree Collapse file tree 5 files changed +50
-10
lines changed Original file line number Diff line number Diff line change 2
2
source .buildkite/al2env.sh
3
3
4
4
sudo rm -rf $dir
5
- ./tools/thinpool.sh remove $unique_id
5
+ FICD_DM_VOLUME_GROUP=fcci-vg ./tools/thinpool.sh remove $unique_id
Original file line number Diff line number Diff line change 1
1
tools /image-builder /rootfs /
2
+ tmp /
Original file line number Diff line number Diff line change @@ -21,6 +21,7 @@ GOSUM := $(GOMOD:.mod=.sum)
21
21
DOCKER_IMAGE_TAG? =latest
22
22
GO_CACHE_VOLUME_NAME? =gocache
23
23
FIRECRACKER_CONTAINERD_TEST_IMAGE? =localhost/firecracker-containerd-test
24
+ FICD_DM_POOL? =fc-test-thinpool
24
25
25
26
REVISION =$(shell git rev-parse HEAD)
26
27
Original file line number Diff line number Diff line change @@ -253,10 +253,10 @@ func TestMultipleVMs_Isolated(t *testing.T) {
253
253
require .NoError (t , err , "failed to get a namespace" )
254
254
255
255
// numberOfVmsEnvName = NUMBER_OF_VMS ENV and is configurable from buildkite
256
- numberOfVms , err := strconv . Atoi ( os . Getenv ( numberOfVmsEnvName ))
257
- require . NoError ( t , err , "failed to get NUMBER_OF_VMS env" )
258
- if numberOfVms == 0 {
259
- numberOfVms = defaultNumberOfVms
256
+ numberOfVms := defaultNumberOfVms
257
+ if str := os . Getenv ( numberOfVmsEnvName ); str != "" {
258
+ numberOfVms , err = strconv . Atoi ( str )
259
+ require . NoError ( t , err , "failed to get NUMBER_OF_VMS env" )
260
260
}
261
261
t .Logf ("TestMultipleVMs_Isolated: will run %d vm's" , numberOfVms )
262
262
Original file line number Diff line number Diff line change 15
15
16
16
FICD_DM_VOLUME_GROUP=" $FICD_DM_VOLUME_GROUP "
17
17
18
- set -eu
18
+ # The tmp/devmapper/ directory will be created on this project's
19
+ # root directory.
20
+ DIR=$( dirname $BASH_SOURCE ) /../tmp/devmapper
21
+
22
+ set -euo pipefail
19
23
20
24
subcommand=" $1 "
21
25
name=" $2 "
@@ -24,21 +28,55 @@ if [ -z "$name" ]; then
24
28
exit 0
25
29
fi
26
30
31
+ create_loopback_device () {
32
+ local path=$1
33
+ local size=$2
34
+
35
+ if [[ ! -f " $path " ]]; then
36
+ touch " $path "
37
+ truncate -s " $size " " $path "
38
+ fi
39
+
40
+ local dev=$( sudo losetup --output NAME --noheadings --associated " $path " )
41
+ if [[ -z " $dev " ]]; then
42
+ dev=$( sudo losetup --find --show $path )
43
+ fi
44
+ echo $dev
45
+ }
46
+
27
47
if [[ -z " $FICD_DM_VOLUME_GROUP " ]]; then
28
48
pool_create () {
29
- echo
49
+ mkdir -p $DIR
50
+
51
+ local datadev=$( create_loopback_device " $DIR /data" ' 10G' )
52
+ local metadev=$( create_loopback_device " $DIR /metadata" ' 1G' )
53
+
54
+ local sectorsize=512
55
+ local datasize=" $( sudo blockdev --getsize64 -q ${datadev} ) "
56
+ local length_sectors=$( bc <<< " ${datasize}/${sectorsize}" )
57
+ local thinp_table=" 0 ${length_sectors} thin-pool ${metadev} ${datadev} 128 32768 1 skip_block_zeroing"
58
+ sudo dmsetup create " $name " --table " ${thinp_table} "
30
59
}
31
60
32
61
pool_remove () {
33
- echo
34
- }
62
+ for snapshot in $( sudo dmsetup ls | awk " /^$name -snap-/ { print \$ 1 }" ) ; do
63
+ sudo dmsetup remove $snapshot
64
+ done
35
65
36
- pool_reset () {
37
66
local dev_no=1
38
67
while true ; do
39
68
sudo dmsetup message " $name " 0 " delete $dev_no " || break
40
69
dev_no=$(( $dev_no + 1 ))
41
70
done
71
+
72
+ sudo dmsetup remove " $name "
73
+ }
74
+
75
+ pool_reset () {
76
+ if sudo dmsetup info " $name " ; then
77
+ pool_remove
78
+ fi
79
+ pool_create
42
80
}
43
81
else
44
82
dm_device=" /dev/mapper/$( echo ${FICD_DM_VOLUME_GROUP} | sed -e s/-/--/g) -$name "
You can’t perform that action at this time.
0 commit comments