Skip to content

Commit f4e9d0b

Browse files
committed
init firecracker containerd instance for each testcase
Signed-off-by: joshjms <[email protected]>
1 parent 3de16e7 commit f4e9d0b

File tree

5 files changed

+258
-46
lines changed

5 files changed

+258
-46
lines changed

Makefile

Lines changed: 104 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ WITHUPF:=
3131
WITHLAZY:=
3232
WITHSNAPSHOTS:=-snapshotsTest
3333
CTRDLOGDIR:=/tmp/ctrd-logs
34+
FIRECRACKER_BIN?=/usr/local/bin/firecracker-containerd
35+
FIRECRACKER_CONFIG_PATH?=/etc/firecracker-containerd/config.toml
3436

3537
vhive: proto
3638
go install github.com/vhive-serverless/vhive
@@ -47,37 +49,112 @@ test-orch: test test-man
4749

4850
test:
4951
./scripts/clean_fcctr.sh
50-
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 &
51-
sudo env "PATH=$(PATH)" go test $(EXTRATESTFILES) -short $(EXTRAGOARGS)
52-
./scripts/clean_fcctr.sh
53-
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)
55-
./scripts/clean_fcctr.sh
56-
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)
58-
./scripts/clean_fcctr.sh
59-
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)
61-
./scripts/clean_fcctr.sh
62-
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 &
63-
sudo env "PATH=$(PATH)" go test -short $(EXTRAGOARGS) -run TestProfileSingleConfiguration -args -test -loadStep 100 && sudo rm -rf bench_results
64-
sudo env "PATH=$(PATH)" go test -short $(EXTRAGOARGS) -run TestProfileIncrementConfiguration -args -test -vmIncrStep 4 -maxVMNum 4 -loadStep 100 && sudo rm -rf bench_results
65-
sudo env "PATH=$(PATH)" go test -short $(EXTRAGOARGS) -run TestBindSocket
66-
./scripts/clean_fcctr.sh
52+
sudo mkdir -m777 -p $(CTRDLOGDIR)
53+
54+
sudo env \
55+
"PATH=$(PATH)" \
56+
"FIRECRACKER_BIN=$(FIRECRACKER_BIN)" \
57+
"FIRECRACKER_CONFIG_PATH=$(FIRECRACKER_CONFIG_PATH)" \
58+
"LOG_OUT=$(CTRDLOGDIR)/fccd_orch_noupf_log.out" \
59+
"LOG_ERR=$(CTRDLOGDIR)/fccd_orch_noupf_log.err" \
60+
go test $(EXTRATESTFILES) -short $(EXTRAGOARGS)
61+
62+
sudo env \
63+
"PATH=$(PATH)" \
64+
"FIRECRACKER_BIN=$(FIRECRACKER_BIN)" \
65+
"FIRECRACKER_CONFIG_PATH=$(FIRECRACKER_CONFIG_PATH)" \
66+
"LOG_OUT=$(CTRDLOGDIR)/fccd_orch_noupf_log.out" \
67+
"LOG_ERR=$(CTRDLOGDIR)/fccd_orch_noupf_log.err" \
68+
go test $(EXTRATESTFILES) -short $(EXTRAGOARGS) -args $(WITHSNAPSHOTS)
69+
70+
sudo env \
71+
"PATH=$(PATH)" \
72+
"FIRECRACKER_BIN=$(FIRECRACKER_BIN)" \
73+
"FIRECRACKER_CONFIG_PATH=$(FIRECRACKER_CONFIG_PATH)" \
74+
"LOG_OUT=$(CTRDLOGDIR)/fccd_orch_upf_log.out" \
75+
"LOG_ERR=$(CTRDLOGDIR)/fccd_orch_upf_log.err" \
76+
go test $(EXTRATESTFILES) -short $(EXTRAGOARGS) -args $(WITHSNAPSHOTS) $(WITHUPF)
77+
78+
sudo env \
79+
"PATH=$(PATH)" \
80+
"FIRECRACKER_BIN=/usr/local/bin/firecracker-containerd" \
81+
"FIRECRACKER_CONFIG_PATH=/etc/firecracker-containerd/config.toml" \
82+
"LOG_OUT=$(CTRDLOGDIR)/fccd_orch_upf_lazy_log.out" \
83+
"LOG_ERR=$(CTRDLOGDIR)/fccd_orch_upf_lazy_log.err" \
84+
go test $(EXTRATESTFILES) -short $(EXTRAGOARGS) -args $(WITHSNAPSHOTS) $(WITHUPF) $(WITHLAZY)
85+
86+
sudo env \
87+
"PATH=$(PATH)" \
88+
"FIRECRACKER_BIN=$(FIRECRACKER_BIN)" \
89+
"FIRECRACKER_CONFIG_PATH=$(FIRECRACKER_CONFIG_PATH)" \
90+
"LOG_OUT=$(CTRDLOGDIR)/fccd_orch_noupf_log_bench.out" \
91+
"LOG_ERR=$(CTRDLOGDIR)/fccd_orch_noupf_log_bench.err" \
92+
go test -short $(EXTRAGOARGS) -run TestProfileSingleConfiguration \
93+
-args -test -loadStep 100 && sudo rm -rf bench_results
94+
95+
sudo env \
96+
"PATH=$(PATH)" \
97+
"FIRECRACKER_BIN=$(FIRECRACKER_BIN)" \
98+
"FIRECRACKER_CONFIG_PATH=$(FIRECRACKER_CONFIG_PATH)" \
99+
"LOG_OUT=$(CTRDLOGDIR)/fccd_orch_noupf_log_bench.out" \
100+
"LOG_ERR=$(CTRDLOGDIR)/fccd_orch_noupf_log_bench.err" \
101+
go test -short $(EXTRAGOARGS) -run TestProfileIncrementConfiguration \
102+
-args -test -vmIncrStep 4 -maxVMNum 4 -loadStep 100 && sudo rm -rf bench_results
103+
104+
sudo env \
105+
"PATH=$(PATH)" \
106+
"FIRECRACKER_BIN=$(FIRECRACKER_BIN)" \
107+
"FIRECRACKER_CONFIG_PATH=$(FIRECRACKER_CONFIG_PATH)" \
108+
"LOG_OUT=$(CTRDLOGDIR)/fccd_orch_noupf_log_bench.out" \
109+
"LOG_ERR=$(CTRDLOGDIR)/fccd_orch_noupf_log_bench.err" \
110+
go test -short $(EXTRAGOARGS) -run TestBindSocket
67111

68112
test-man:
69113
./scripts/clean_fcctr.sh
70-
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 &
71-
sudo env "PATH=$(PATH)" go test $(EXTRAGOARGS_NORACE) -run TestParallelServe
72-
sudo env "PATH=$(PATH)" go test $(EXTRAGOARGS) -run TestServeThree
73-
sudo env "PATH=$(PATH)" go test $(EXTRAGOARGS) -run TestServeThree -args $(WITHSNAPSHOTS)
74-
./scripts/clean_fcctr.sh
75-
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)
77-
./scripts/clean_fcctr.sh
114+
sudo mkdir -m777 -p $(CTRDLOGDIR)
115+
116+
sudo env \
117+
"PATH=$(PATH)" \
118+
"FIRECRACKER_BIN=$(FIRECRACKER_BIN)" \
119+
"FIRECRACKER_CONFIG_PATH=$(FIRECRACKER_CONFIG_PATH)" \
120+
"LOG_OUT=$(CTRDLOGDIR)/fccd_orch_noupf_log_man_travis.out" \
121+
"LOG_ERR=$(CTRDLOGDIR)/fccd_orch_noupf_log_man_travis.err" \
122+
go test $(EXTRAGOARGS_NORACE) -run TestParallelServe
123+
124+
sudo env \
125+
"PATH=$(PATH)" \
126+
"FIRECRACKER_BIN=$(FIRECRACKER_BIN)" \
127+
"FIRECRACKER_CONFIG_PATH=$(FIRECRACKER_CONFIG_PATH)" \
128+
"LOG_OUT=$(CTRDLOGDIR)/fccd_orch_noupf_log_man_travis.out" \
129+
"LOG_ERR=$(CTRDLOGDIR)/fccd_orch_noupf_log_man_travis.err" \
130+
go test $(EXTRAGOARGS) -run TestServeThree
131+
132+
sudo env \
133+
"PATH=$(PATH)" \
134+
"FIRECRACKER_BIN=$(FIRECRACKER_BIN)" \
135+
"FIRECRACKER_CONFIG_PATH=$(FIRECRACKER_CONFIG_PATH)" \
136+
"LOG_OUT=$(CTRDLOGDIR)/fccd_orch_noupf_log_man_travis.out" \
137+
"LOG_ERR=$(CTRDLOGDIR)/fccd_orch_noupf_log_man_travis.err" \
138+
go test $(EXTRAGOARGS) -run TestServeThree -args $(WITHSNAPSHOTS)
139+
140+
sudo env \
141+
"PATH=$(PATH)" \
142+
"FIRECRACKER_BIN=$(FIRECRACKER_BIN)" \
143+
"FIRECRACKER_CONFIG_PATH=$(FIRECRACKER_CONFIG_PATH)" \
144+
"LOG_OUT=$(CTRDLOGDIR)/fccd_orch_both_log_man_travis.out" \
145+
"LOG_ERR=$(CTRDLOGDIR)/fccd_orch_both_log_man_travis.err" \
146+
go test $(EXTRAGOARGS) -run TestServeThree -args $(WITHSNAPSHOTS) $(WITHUPF)
147+
148+
149+
78150
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)
80-
./scripts/clean_fcctr.sh
151+
sudo env \
152+
"PATH=$(PATH)" \
153+
"FIRECRACKER_BIN=$(FIRECRACKER_BIN)" \
154+
"FIRECRACKER_CONFIG_PATH=$(FIRECRACKER_CONFIG_PATH)" \
155+
"LOG_OUT=$(CTRDLOGDIR)/fccd_orch_both_lazy_log_man_travis.out" \
156+
"LOG_ERR=$(CTRDLOGDIR)/fccd_orch_both_lazy_log_man_travis.err" \
157+
go test $(EXTRAGOARGS) -run TestServeThree -args $(WITHSNAPSHOTS) $(WITHUPF) $(WITHLAZY)
81158

82159
test-skip:
83160
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 &

bench_test.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,11 @@ func TestBenchWarmServe(t *testing.T) {
189189
}
190190

191191
func TestBenchServe(t *testing.T) {
192+
if err := initFirecrackerContainerd(); err != nil {
193+
t.Fatalf("Failed to initialize firecracker containerd: %v", err)
194+
}
195+
defer cleanup()
196+
192197
var (
193198
servedTh uint64
194199
pinnedFuncNum int

manual_cleanup_test.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,11 @@ import (
3333
)
3434

3535
func TestParallelServe(t *testing.T) {
36+
if err := initFirecrackerContainerd(); err != nil {
37+
t.Fatalf("Failed to initialize firecracker containerd: %v", err)
38+
}
39+
defer cleanup()
40+
3641
var (
3742
servedTh uint64 = 1
3843
pinnedFuncNum int
@@ -67,6 +72,11 @@ func TestParallelServe(t *testing.T) {
6772
}
6873

6974
func TestServeThree(t *testing.T) {
75+
if err := initFirecrackerContainerd(); err != nil {
76+
t.Fatalf("Failed to initialize firecracker containerd: %v", err)
77+
}
78+
defer cleanup()
79+
7080
fID := "200"
7181
var (
7282
servedTh uint64 = 1

perf_bench_test.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,11 @@ func TestProfileIncrementConfiguration(t *testing.T) {
8888

8989
t.Skip("Skipping TestProfileIncrementConfiguration")
9090

91+
if err := initFirecrackerContainerd(); err != nil {
92+
t.Fatalf("Failed to initialize firecracker containerd: %v", err)
93+
}
94+
defer cleanup()
95+
9196
var (
9297
idx, rps int
9398
pinnedFuncNum int
@@ -136,6 +141,11 @@ func TestProfileSingleConfiguration(t *testing.T) {
136141

137142
t.Skip("Skipping TestProfileSingleConfiguration")
138143

144+
if err := initFirecrackerContainerd(); err != nil {
145+
t.Fatalf("Failed to initialize firecracker containerd: %v", err)
146+
}
147+
defer cleanup()
148+
139149
var (
140150
servedTh uint64
141151
pinnedFuncNum int
@@ -211,6 +221,11 @@ func TestColocateVMsOnSameCPU(t *testing.T) {
211221
}
212222

213223
func TestBindSocket(t *testing.T) {
224+
if err := initFirecrackerContainerd(); err != nil {
225+
t.Fatalf("Failed to initialize firecracker containerd: %v", err)
226+
}
227+
defer cleanup()
228+
214229
var (
215230
procStr, sep string
216231
servedTh uint64

0 commit comments

Comments
 (0)