Skip to content

Commit b14ad5d

Browse files
committed
Add support for remote Firecracker snapshots
- When remote snapshots are enabled, after committing the snapshot, it is uploaded to a MinIO instance. When loading from a snapshot, if it is not available locally, it checks if it is available in MinIO and fetches it. - Remote Firecracker snapshots are currently only supported using the Stargz snapshotter (there are some container corruption issues when using devmapper). Signed-off-by: André Jesus <[email protected]>
1 parent 0f2eb82 commit b14ad5d

27 files changed

+1509
-301
lines changed

.github/workflows/unit_tests.yml

Lines changed: 53 additions & 136 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: vHive unit tests
22

33
on:
44
push:
5-
branches: [ main, legacy-firecracker-v0.24.0-with-upf-support ]
5+
branches: [ main, legacy-firecracker-v0.24.0-with-upf-support, remote-firecracker-snapshots ]
66
paths-ignore:
77
- 'docs/**'
88
- '**.md'
@@ -20,153 +20,70 @@ env:
2020
GO111MODULE: on
2121

2222
jobs:
23-
unit-test:
24-
name: Unit test
23+
remote-firecracker-snapshots-test:
24+
name: "Unit tests: Remote Firecracker snapshots"
2525
runs-on: ubuntu-24.04
2626
strategy:
2727
fail-fast: false
2828
matrix:
29-
module: [misc, networking, snapshotting]
29+
module: [ctriface] # storage, snapshotting,
30+
services:
31+
minio: # MinIO service for testing remote snapshots
32+
image: lazybit/minio # Can't use minio/minio because there's still no support for the jobs.<job_id>.services.<service_id>.command option in GH Actions
33+
ports:
34+
- 9000:9000
35+
options: >-
36+
--health-cmd "curl -f http://localhost:9000/minio/health/live || exit 1"
37+
--health-interval 5s
38+
--health-timeout 5s
39+
--health-retries 5
40+
volumes:
41+
- ${{ github.workspace }}/data:/data
42+
env:
43+
MINIO_ROOT_USER: minio
44+
MINIO_ROOT_PASSWORD: minio123
45+
# command: server /data
3046
steps:
31-
- name: Check out code into the Go module directory
32-
uses: actions/checkout@v4
33-
34-
- name: Set up Go version in go.mod file
35-
uses: actions/setup-go@v5
36-
with:
37-
go-version-file: ${{ github.workspace }}/go.mod
38-
cache-dependency-path: |
39-
**/go.sum
40-
**/go.mod
41-
42-
- name: Set up Python 3.x
43-
uses: actions/setup-python@v5
44-
with:
45-
python-version: '3.x'
46-
47-
- name: Build setup scripts
48-
run: pushd scripts && go build -o setup_tool && popd
47+
- name: Check out code into the Go module directory
48+
uses: actions/checkout@v4
49+
with:
50+
lfs: true
51+
path: vhive # Use a specific path to avoid conflicts with the MinIO volume
4952

50-
- name: Add rsync
51-
run: |
52-
sudo apt update
53-
sudo apt install rsync -y
53+
- name: Set up Go version in go.mod file
54+
uses: actions/setup-go@v5
55+
with:
56+
go-version-file: ${{ github.workspace }}/vhive/go.mod
57+
cache-dependency-path: |
58+
**/go.sum
59+
**/go.mod
5460
55-
- name: Setup System
56-
run: ./scripts/setup_tool setup_system
61+
- name: Add rsync
62+
run: |
63+
sudo apt update
64+
sudo apt install rsync -y
5765
58-
- name: Build
59-
run: go build -race -v -a ./...
66+
- name: Cleanup runner disk space
67+
run: ./vhive/scripts/github_runner/gh-actions-disk-cleanup.sh
6068

61-
- name: Run tests in submodules
62-
env:
63-
MODULE: ${{ matrix.module }}
64-
AWS_ACCESS_KEY: ${{ secrets.AWS_ACCESS_KEY }}
65-
AWS_SECRET_KEY: ${{ secrets.AWS_SECRET_KEY }}
66-
run: |
67-
make -C $MODULE test
68-
make -C $MODULE test-man
69-
70-
profile-unit-test:
71-
name: "Unit test: profile unit test"
72-
runs-on: [self-hosted, profile]
73-
strategy:
74-
fail-fast: false
75-
matrix:
76-
module: [profile]
77-
steps:
78-
- name: Check out code into the Go module directory
79-
uses: actions/checkout@v4
80-
81-
- name: Set up Go version in go.mod file
82-
uses: actions/setup-go@v5
83-
with:
84-
go-version-file: ${{ github.workspace }}/go.mod
85-
cache-dependency-path: |
86-
**/go.sum
87-
**/go.mod
88-
89-
- name: Set up Python 3.x
90-
uses: actions/setup-python@v5
91-
with:
92-
python-version: '3.x'
93-
94-
- name: Build setup scripts
95-
run: pushd scripts && go build -o setup_tool && popd
96-
97-
- name: Add rsync
98-
run: |
99-
sudo apt update
100-
sudo apt install rsync -y
69+
- name: Build setup scripts
70+
run: pushd ./vhive/scripts && go build -o setup_tool && popd
10171

102-
- name: Setup System
103-
run: ./scripts/setup_tool setup_system
72+
- name: Pull binaries
73+
run: ./vhive/scripts/setup_tool setup_firecracker_containerd
10474

105-
- name: Install PMU tools
106-
run: ./scripts/setup_tool install_pmutools
75+
- name: Setup Stargz
76+
run: ./vhive/scripts/setup_tool setup_stargz firecracker
10777

108-
- name: Build
109-
run: go build -race -v -a ./...
78+
- name: Build
79+
run: cd ./vhive && go build -race -v -a ./...
11080

111-
- name: Run tests in submodules
112-
env:
81+
- name: Run tests in submodules
82+
env:
11383
MODULE: ${{ matrix.module }}
114-
AWS_ACCESS_KEY: ${{ secrets.AWS_ACCESS_KEY }}
115-
AWS_SECRET_KEY: ${{ secrets.AWS_SECRET_KEY }}
116-
run: |
117-
make -C $MODULE test
118-
make -C $MODULE test-man
119-
120-
firecracker-containerd-interface-test:
121-
name: "Unit tests: Firecracker-containerd interface"
122-
runs-on: ubuntu-24.04
123-
strategy:
124-
fail-fast: false
125-
matrix:
126-
module: [ ctriface, ctriface/image, devmapper ]
127-
steps:
128-
- name: Check out code into the Go module directory
129-
uses: actions/checkout@v4
130-
with:
131-
lfs: true
132-
133-
- name: Set up Go version in go.mod file
134-
uses: actions/setup-go@v5
135-
with:
136-
go-version-file: ${{ github.workspace }}/go.mod
137-
cache-dependency-path: |
138-
**/go.sum
139-
**/go.mod
140-
141-
- name: Add rsync
142-
run: |
143-
sudo apt update
144-
sudo apt install rsync -y
145-
146-
- name: Cleanup runner disk space
147-
run: ./scripts/github_runner/gh-actions-disk-cleanup.sh
148-
149-
- name: Build setup scripts
150-
run: pushd scripts && go build -o setup_tool && popd
151-
152-
- name: Pull binaries
153-
run: ./scripts/setup_tool setup_firecracker_containerd
154-
155-
- name: Setup Stargz
156-
run: ./scripts/setup_tool setup_stargz firecracker
157-
158-
- name: Build
159-
run: go build -race -v -a ./...
160-
161-
- name: Run tests in submodules
162-
env:
163-
MODULE: ${{ matrix.module }}
164-
AWS_ACCESS_KEY: ${{ secrets.AWS_ACCESS_KEY }}
165-
AWS_SECRET_KEY: ${{ secrets.AWS_SECRET_KEY }}
166-
run: |
167-
make -C $MODULE test
168-
make -C $MODULE test-man
84+
run: |
85+
make -C vhive/$MODULE test-remote-snaps
16986
170-
- name: Cleaning
171-
if: ${{ always() }}
172-
run: ./scripts/setup_tool clean_fcctr
87+
- name: Cleaning
88+
if: ${{ always() }}
89+
run: ./vhive/scripts/setup_tool clean_fcctr

Makefile

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,9 @@ EXTRATESTFILES:=vhive_test.go stats.go vhive.go functions.go
2929
# WITHLAZY:=-lazyTest
3030
WITHUPF:=
3131
WITHLAZY:=
32-
WITHSNAPSHOTS:=-snapshotsTest
32+
STARGZ:=-ss 'proxy' -img 'ghcr.io/vhive-serverless/helloworld:var_workload-esgz'
33+
DOCKER_CREDENTIALS:=-dockerCredentials '{"docker-credentials":{"ghcr.io":{"username":"","password":""}}}'
34+
WITH_LOCAL_SNAPSHOTS:=-snapshotsTest 'local'
3335
CTRDLOGDIR:=/tmp/ctrd-logs
3436

3537
vhive: proto
@@ -51,13 +53,13 @@ test:
5153
sudo env "PATH=$(PATH)" go test $(EXTRATESTFILES) -short $(EXTRAGOARGS)
5254
./scripts/clean_fcctr.sh
5355
sudo mkdir -m777 -p $(CTRDLOGDIR) && sudo env "PATH=$(PATH)" /usr/local/bin/firecracker-containerd --config /etc/firecracker-containerd/config.toml 1>$(CTRDLOGDIR)/fccd_orch_noupf_log.out 2>$(CTRDLOGDIR)/fccd_orch_noupf_log.err &
54-
sudo env "PATH=$(PATH)" go test $(EXTRATESTFILES) -short $(EXTRAGOARGS) -args $(WITHSNAPSHOTS)
56+
sudo env "PATH=$(PATH)" go test $(EXTRATESTFILES) -short $(EXTRAGOARGS) -args $(WITH_LOCAL_SNAPSHOTS)
5557
./scripts/clean_fcctr.sh
5658
sudo mkdir -m777 -p $(CTRDLOGDIR) && sudo env "PATH=$(PATH)" /usr/local/bin/firecracker-containerd --config /etc/firecracker-containerd/config.toml 1>$(CTRDLOGDIR)/fccd_orch_upf_log.out 2>$(CTRDLOGDIR)/fccd_orch_upf_log.err &
57-
sudo env "PATH=$(PATH)" go test $(EXTRATESTFILES) -short $(EXTRAGOARGS) -args $(WITHSNAPSHOTS) $(WITHUPF)
59+
sudo env "PATH=$(PATH)" go test $(EXTRATESTFILES) -short $(EXTRAGOARGS) -args $(WITH_LOCAL_SNAPSHOTS) $(WITHUPF)
5860
./scripts/clean_fcctr.sh
5961
sudo mkdir -m777 -p $(CTRDLOGDIR) && sudo env "PATH=$(PATH)" /usr/local/bin/firecracker-containerd --config /etc/firecracker-containerd/config.toml 1>$(CTRDLOGDIR)/fccd_orch_upf_lazy_log.out 2>$(CTRDLOGDIR)/fccd_orch_upf_lazy_log.err &
60-
sudo env "PATH=$(PATH)" go test $(EXTRATESTFILES) -short $(EXTRAGOARGS) -args $(WITHSNAPSHOTS) $(WITHUPF) $(WITHLAZY)
62+
sudo env "PATH=$(PATH)" go test $(EXTRATESTFILES) -short $(EXTRAGOARGS) -args $(WITH_LOCAL_SNAPSHOTS) $(WITHUPF) $(WITHLAZY)
6163
./scripts/clean_fcctr.sh
6264
sudo mkdir -m777 -p $(CTRDLOGDIR) && sudo env "PATH=$(PATH)" /usr/local/bin/firecracker-containerd --config /etc/firecracker-containerd/config.toml 1>$(CTRDLOGDIR)/fccd_orch_noupf_log_bench.out 2>$(CTRDLOGDIR)/fccd_orch_noupf_log_bench.err &
6365
sudo env "PATH=$(PATH)" go test -short $(EXTRAGOARGS) -run TestProfileSingleConfiguration -args -test -loadStep 100 && sudo rm -rf bench_results
@@ -70,46 +72,46 @@ test-man:
7072
sudo mkdir -m777 -p $(CTRDLOGDIR) && sudo env "PATH=$(PATH)" /usr/local/bin/firecracker-containerd --config /etc/firecracker-containerd/config.toml 1>$(CTRDLOGDIR)/fccd_orch_noupf_log_man_travis.out 2>$(CTRDLOGDIR)/fccd_orch_noupf_log_man_travis.err &
7173
sudo env "PATH=$(PATH)" go test $(EXTRAGOARGS_NORACE) -run TestParallelServe
7274
sudo env "PATH=$(PATH)" go test $(EXTRAGOARGS) -run TestServeThree
73-
sudo env "PATH=$(PATH)" go test $(EXTRAGOARGS) -run TestServeThree -args $(WITHSNAPSHOTS)
75+
sudo env "PATH=$(PATH)" go test $(EXTRAGOARGS) -run TestServeThree -args $(WITH_LOCAL_SNAPSHOTS)
7476
./scripts/clean_fcctr.sh
7577
sudo mkdir -m777 -p $(CTRDLOGDIR) && sudo env "PATH=$(PATH)" /usr/local/bin/firecracker-containerd --config /etc/firecracker-containerd/config.toml 1>$(CTRDLOGDIR)/fccd_orch_both_log_man_travis.out 2>$(CTRDLOGDIR)/fccd_orch_both_log_man_travis.err &
76-
sudo env "PATH=$(PATH)" go test $(EXTRAGOARGS) -run TestServeThree -args $(WITHSNAPSHOTS) $(WITHUPF)
78+
sudo env "PATH=$(PATH)" go test $(EXTRAGOARGS) -run TestServeThree -args $(WITH_LOCAL_SNAPSHOTS) $(WITHUPF)
7779
./scripts/clean_fcctr.sh
7880
sudo mkdir -m777 -p $(CTRDLOGDIR) && sudo env "PATH=$(PATH)" /usr/local/bin/firecracker-containerd --config /etc/firecracker-containerd/config.toml 1>$(CTRDLOGDIR)/fccd_orch_both_lazy_log_man_travis.out 2>$(CTRDLOGDIR)/fccd_orch_both_lazy_log_man_travis.err &
79-
sudo env "PATH=$(PATH)" go test $(EXTRAGOARGS) -run TestServeThree -args $(WITHSNAPSHOTS) $(WITHUPF) $(WITHLAZY)
81+
sudo env "PATH=$(PATH)" go test $(EXTRAGOARGS) -run TestServeThree -args $(WITH_LOCAL_SNAPSHOTS) $(WITHUPF) $(WITHLAZY)
8082
./scripts/clean_fcctr.sh
8183

8284
test-skip:
8385
sudo mkdir -m777 -p $(CTRDLOGDIR) && sudo env "PATH=$(PATH)" /usr/local/bin/firecracker-containerd --config /etc/firecracker-containerd/config.toml 1>$(CTRDLOGDIR)/fccd_orch_noupf_log_man_skip.out 2>$(CTRDLOGDIR)/fccd_orch_noupf_log_man_skip.err &
84-
sudo env "PATH=$(PATH)" go test $(EXTRAGOARGS_NORACE) -run TestParallelServe -args $(WITHSNAPSHOTS)
86+
sudo env "PATH=$(PATH)" go test $(EXTRAGOARGS_NORACE) -run TestParallelServe -args $(WITH_LOCAL_SNAPSHOTS)
8587
./scripts/clean_fcctr.sh
8688
sudo mkdir -m777 -p $(CTRDLOGDIR) && sudo env "PATH=$(PATH)" /usr/local/bin/firecracker-containerd --config /etc/firecracker-containerd/config.toml 1>$(CTRDLOGDIR)/fccd_orch_both_log_man_skip.out 2>$(CTRDLOGDIR)/fccd_orch_both_log_man_skip.err &
87-
sudo env "PATH=$(PATH)" go test $(EXTRAGOARGS_NORACE) -run TestParallelServe -args $(WITHSNAPSHOTS) $(WITHUPF)
89+
sudo env "PATH=$(PATH)" go test $(EXTRAGOARGS_NORACE) -run TestParallelServe -args $(WITH_LOCAL_SNAPSHOTS) $(WITHUPF)
8890
./scripts/clean_fcctr.sh
8991
sudo mkdir -m777 -p $(CTRDLOGDIR) && sudo env "PATH=$(PATH)" /usr/local/bin/firecracker-containerd --config /etc/firecracker-containerd/config.toml 1>$(CTRDLOGDIR)/fccd_orch_both_lazy_log_man_skip.out 2>$(CTRDLOGDIR)/fccd_orch_both_lazy_log_man_skip.err &
90-
sudo env "PATH=$(PATH)" go test $(EXTRAGOARGS_NORACE) -run TestParallelServe -args $(WITHSNAPSHOTS) $(WITHUPF) $(WITHLAZY)
92+
sudo env "PATH=$(PATH)" go test $(EXTRAGOARGS_NORACE) -run TestParallelServe -args $(WITH_LOCAL_SNAPSHOTS) $(WITHUPF) $(WITHLAZY)
9193
./scripts/clean_fcctr.sh
9294

9395
bench:
9496
./scripts/clean_fcctr.sh
9597
sudo mkdir -m777 -p $(CTRDLOGDIR) && sudo env "PATH=$(PATH)" /usr/local/bin/firecracker-containerd --config /etc/firecracker-containerd/config.toml 1>$(CTRDLOGDIR)/fccd_orch_noupf_log_bench.out 2>$(CTRDLOGDIR)/fccd_orch_noupf_log_bench.err &
96-
sudo env "PATH=$(PATH)" go test $(EXTRAGOARGS) -run TestBenchServe -args -iter 1 $(WITHSNAPSHOTS) -benchDirTest configBase -metricsTest -funcName helloworld && sudo rm -rf configBase
98+
sudo env "PATH=$(PATH)" go test $(EXTRAGOARGS) -run TestBenchServe -args -iter 1 $(WITH_LOCAL_SNAPSHOTS) -benchDirTest configBase -metricsTest -funcName helloworld && sudo rm -rf configBase
9799
./scripts/clean_fcctr.sh
98100
sudo mkdir -m777 -p $(CTRDLOGDIR) && sudo env "PATH=$(PATH)" /usr/local/bin/firecracker-containerd --config /etc/firecracker-containerd/config.toml 1>$(CTRDLOGDIR)/fccd_orch_noupf_log_bench.out 2>$(CTRDLOGDIR)/fccd_orch_noupf_log_bench.err &
99-
sudo env "PATH=$(PATH)" go test $(EXTRAGOARGS) -run TestBenchServe -args -iter 1 $(WITHSNAPSHOTS) $(WITHUPF) -benchDirTest configREAP -metricsTest -funcName helloworld && sudo rm -rf configREAP
101+
sudo env "PATH=$(PATH)" go test $(EXTRAGOARGS) -run TestBenchServe -args -iter 1 $(WITH_LOCAL_SNAPSHOTS) $(WITHUPF) -benchDirTest configREAP -metricsTest -funcName helloworld && sudo rm -rf configREAP
100102
./scripts/clean_fcctr.sh
101103
sudo mkdir -m777 -p $(CTRDLOGDIR) && sudo env "PATH=$(PATH)" /usr/local/bin/firecracker-containerd --config /etc/firecracker-containerd/config.toml 1>$(CTRDLOGDIR)/fccd_orch_noupf_log_bench.out 2>$(CTRDLOGDIR)/fccd_orch_noupf_log_bench.err &
102-
sudo env "PATH=$(PATH)" go test $(EXTRAGOARGS) -run TestBenchServe -args -iter 1 $(WITHSNAPSHOTS) $(WITHLAZY) -benchDirTest configLazy -metricsTest -funcName helloworld && sudo rm -rf configLazy
104+
sudo env "PATH=$(PATH)" go test $(EXTRAGOARGS) -run TestBenchServe -args -iter 1 $(WITH_LOCAL_SNAPSHOTS) $(WITHLAZY) -benchDirTest configLazy -metricsTest -funcName helloworld && sudo rm -rf configLazy
103105
./scripts/clean_fcctr.sh
104106

105107
sudo mkdir -m777 -p $(CTRDLOGDIR) && sudo env "PATH=$(PATH)" /usr/local/bin/firecracker-containerd --config /etc/firecracker-containerd/config.toml 1>$(CTRDLOGDIR)/fccd_orch_noupf_log_bench.out 2>$(CTRDLOGDIR)/fccd_orch_noupf_log_bench.err &
106-
sudo env "PATH=$(PATH)" go test $(EXTRAGOARGS) -run TestBenchParallelServe -args $(WITHSNAPSHOTS) -benchDirTest configBase -metricsTest -funcName helloworld && sudo rm -rf configBase
108+
sudo env "PATH=$(PATH)" go test $(EXTRAGOARGS) -run TestBenchParallelServe -args $(WITH_LOCAL_SNAPSHOTS) -benchDirTest configBase -metricsTest -funcName helloworld && sudo rm -rf configBase
107109
./scripts/clean_fcctr.sh
108110
sudo mkdir -m777 -p $(CTRDLOGDIR) && sudo env "PATH=$(PATH)" /usr/local/bin/firecracker-containerd --config /etc/firecracker-containerd/config.toml 1>$(CTRDLOGDIR)/fccd_orch_noupf_log_bench.out 2>$(CTRDLOGDIR)/fccd_orch_noupf_log_bench.err &
109-
sudo env "PATH=$(PATH)" go test $(EXTRAGOARGS) -run TestBenchParallelServe -args $(WITHSNAPSHOTS) $(WITHUPF) -benchDirTest configREAP -metricsTest -funcName helloworld && sudo rm -rf configREAP
111+
sudo env "PATH=$(PATH)" go test $(EXTRAGOARGS) -run TestBenchParallelServe -args $(WITH_LOCAL_SNAPSHOTS) $(WITHUPF) -benchDirTest configREAP -metricsTest -funcName helloworld && sudo rm -rf configREAP
110112
./scripts/clean_fcctr.sh
111113
sudo mkdir -m777 -p $(CTRDLOGDIR) && sudo env "PATH=$(PATH)" /usr/local/bin/firecracker-containerd --config /etc/firecracker-containerd/config.toml 1>$(CTRDLOGDIR)/fccd_orch_noupf_log_bench.out 2>$(CTRDLOGDIR)/fccd_orch_noupf_log_bench.err &
112-
sudo env "PATH=$(PATH)" go test $(EXTRAGOARGS) -run TestBenchParallelServe -args $(WITHSNAPSHOTS) $(WITHLAZY) -benchDirTest configLazy -metricsTest -funcName helloworld && sudo rm -rf configLazy
114+
sudo env "PATH=$(PATH)" go test $(EXTRAGOARGS) -run TestBenchParallelServe -args $(WITH_LOCAL_SNAPSHOTS) $(WITHLAZY) -benchDirTest configLazy -metricsTest -funcName helloworld && sudo rm -rf configLazy
113115
./scripts/clean_fcctr.sh
114116

115117
test-man-bench:
@@ -119,13 +121,13 @@ test-man-bench:
119121
nightly-test:
120122
sudo mkdir -m777 -p $(CTRDLOGDIR) && sudo env "PATH=$(PATH)" /usr/local/bin/firecracker-containerd --config /etc/firecracker-containerd/config.toml 1>$(CTRDLOGDIR)/fccd_orch_noupf_log.out 2>$(CTRDLOGDIR)/fccd_orch_noupf_log.err &
121123
sudo env "PATH=$(PATH)" go test $(EXTRATESTFILES) -run TestAllFunctions $(EXTRAGOARGS)
122-
sudo env "PATH=$(PATH)" go test $(EXTRATESTFILES) -run TestAllFunctions $(EXTRAGOARGS) -args $(WITHSNAPSHOTS)
124+
sudo env "PATH=$(PATH)" go test $(EXTRATESTFILES) -run TestAllFunctions $(EXTRAGOARGS) -args $(WITH_LOCAL_SNAPSHOTS)
123125
./scripts/clean_fcctr.sh
124126
sudo mkdir -m777 -p $(CTRDLOGDIR) && sudo env "PATH=$(PATH)" /usr/local/bin/firecracker-containerd --config /etc/firecracker-containerd/config.toml 1>$(CTRDLOGDIR)/fccd_orch_upf_log.out 2>$(CTRDLOGDIR)/fccd_orch_upf_log.err &
125-
sudo env "PATH=$(PATH)" go test $(EXTRATESTFILES) -run TestAllFunctions $(EXTRAGOARGS) -args $(WITHSNAPSHOTS) $(WITHUPF)
127+
sudo env "PATH=$(PATH)" go test $(EXTRATESTFILES) -run TestAllFunctions $(EXTRAGOARGS) -args $(WITH_LOCAL_SNAPSHOTS) $(WITHUPF)
126128
./scripts/clean_fcctr.sh
127129
sudo mkdir -m777 -p $(CTRDLOGDIR) && sudo env "PATH=$(PATH)" /usr/local/bin/firecracker-containerd --config /etc/firecracker-containerd/config.toml 1>$(CTRDLOGDIR)/fccd_orch_upf_lazy_log.out 2>$(CTRDLOGDIR)/fccd_orch_upf_lazy_log.err &
128-
sudo env "PATH=$(PATH)" go test $(EXTRATESTFILES) -run TestAllFunctions $(EXTRAGOARGS) -args $(WITHSNAPSHOTS) $(WITHUPF) $(WITHLAZY)
130+
sudo env "PATH=$(PATH)" go test $(EXTRATESTFILES) -run TestAllFunctions $(EXTRAGOARGS) -args $(WITH_LOCAL_SNAPSHOTS) $(WITHUPF) $(WITHLAZY)
129131
./scripts/clean_fcctr.sh
130132

131133
test-skip-all:

bench_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ func TestBenchParallelServe(t *testing.T) {
6363
imageName, isPresent := images[*funcName]
6464
require.True(t, isPresent, "Function is not supported")
6565

66-
funcPool = NewFuncPool(!isSaveMemoryConst, servedTh, pinnedFuncNum, isTestModeConst)
66+
funcPool = NewFuncPool(!isSaveMemoryConst, servedTh, pinnedFuncNum, isTestModeConst, *snapshotTestMode, *minioAddr, *minioAccessKey, *minioSecretKey)
6767

6868
createResultsDir()
6969

@@ -136,7 +136,7 @@ func TestBenchWarmServe(t *testing.T) {
136136
imageName, isPresent := images[*funcName]
137137
require.True(t, isPresent, "Function is not supported")
138138

139-
funcPool = NewFuncPool(!isSaveMemoryConst, servedTh, pinnedFuncNum, isTestModeConst)
139+
funcPool = NewFuncPool(!isSaveMemoryConst, servedTh, pinnedFuncNum, isTestModeConst, *snapshotTestMode, *minioAddr, *minioAccessKey, *minioSecretKey)
140140

141141
createResultsDir()
142142

@@ -201,7 +201,7 @@ func TestBenchServe(t *testing.T) {
201201
imageName, isPresent := images[*funcName]
202202
require.True(t, isPresent, "Function is not supported")
203203

204-
funcPool = NewFuncPool(!isSaveMemoryConst, servedTh, pinnedFuncNum, isTestModeConst)
204+
funcPool = NewFuncPool(!isSaveMemoryConst, servedTh, pinnedFuncNum, isTestModeConst, *snapshotTestMode, *minioAddr, *minioAccessKey, *minioSecretKey)
205205

206206
createResultsDir()
207207

configs/.wordlist.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -465,6 +465,7 @@ SMI
465465
sms
466466
SMT
467467
snapshotted
468+
snapshotters
468469
snapshotting
469470
SoC
470471
SOCACHE

0 commit comments

Comments
 (0)