Skip to content

Commit 81f06ef

Browse files
author
suhan.zcy
committed
refactor: refactor the e2e file server
Signed-off-by: suhan.zcy <suhan.zcy@antgroup.com>
1 parent 14cf937 commit 81f06ef

File tree

12 files changed

+1333
-493
lines changed

12 files changed

+1333
-493
lines changed

.github/workflows/compatibility-e2e-v2.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ env:
2020
DRAGONFLY_CHARTS_CONFIG_PATH: test/testdata/charts/config-v2.yaml
2121
DRAGONFLY_CHARTS_PATH: deploy/helm-charts/charts/dragonfly
2222
DRAGONFLY_FILE_SERVER_PATH: test/testdata/k8s/file-server.yaml
23+
DRAGONFLY_FILE_SERVER_V2_PATH: test/testdata/k8s/file-server-v2.yaml
2324

2425
jobs:
2526
compatibility_e2e_tests:
@@ -137,6 +138,7 @@ jobs:
137138
run: |
138139
helm install --wait --timeout 15m --dependency-update --create-namespace --namespace dragonfly-system --set ${{ matrix.chart-name }}.image.tag=${{ matrix.image-tag }} --set ${{ matrix.chart-name }}.image.repository=dragonflyoss/${{ matrix.image }} -f ${{ env.DRAGONFLY_CHARTS_CONFIG_PATH }} dragonfly ${{ env.DRAGONFLY_CHARTS_PATH }}
139140
kubectl apply -f ${{ env.DRAGONFLY_FILE_SERVER_PATH }}
141+
kubectl apply -f ${{ env.DRAGONFLY_FILE_SERVER_V2_PATH }}
140142
kubectl wait po file-server-0 --namespace dragonfly-e2e --for=condition=ready --timeout=10m
141143
142144
- name: Run E2E test

.github/workflows/e2e-v2.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ on:
1010
schedule:
1111
- cron: '0 4 * * *'
1212

13-
permissions:
13+
permissions:
1414
contents: read
1515

1616
env:
@@ -19,6 +19,7 @@ env:
1919
KIND_CONFIG_PATH: test/testdata/kind/config-v2.yaml
2020
DRAGONFLY_CHARTS_PATH: deploy/helm-charts/charts/dragonfly
2121
DRAGONFLY_FILE_SERVER_PATH: test/testdata/k8s/file-server.yaml
22+
DRAGONFLY_FILE_SERVER_V2_PATH: test/testdata/k8s/file-server-v2.yaml
2223

2324
jobs:
2425
e2e_tests:
@@ -59,7 +60,7 @@ jobs:
5960
- name: Get dependencies
6061
run: |
6162
go install github.com/onsi/ginkgo/v2/ginkgo@v2.12.0
62-
mkdir -p /tmp/artifact
63+
mkdir -p /tmp/artifact/e2e-file-server && chmod -R 777 /tmp/artifact/e2e-file-server
6364
6465
- name: Setup buildx
6566
uses: docker/setup-buildx-action@988b5a0280414f521da01fcc63a27aeeb4b104db
@@ -124,10 +125,12 @@ jobs:
124125
run: |
125126
helm install --wait --timeout 15m --dependency-update --create-namespace --namespace dragonfly-system -f ${{ matrix.charts-config }} dragonfly ${{ env.DRAGONFLY_CHARTS_PATH }}
126127
kubectl apply -f ${{ env.DRAGONFLY_FILE_SERVER_PATH }}
128+
kubectl apply -f ${{ env.DRAGONFLY_FILE_SERVER_V2_PATH }}
127129
kubectl wait po file-server-0 --namespace dragonfly-e2e --for=condition=ready --timeout=10m
128130
129131
- name: Run E2E test
130132
run: |
133+
ls -lah /tmp/artifact/
131134
ginkgo -v -r --race --fail-fast --cover --trace --show-node-events --skip=${{ matrix.skip }} test/e2e/v2
132135
cat coverprofile.out >> coverage.txt
133136

test/e2e/v2/concurrency_test.go

Lines changed: 36 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -27,23 +27,34 @@ import (
2727

2828
var _ = Describe("Download Concurrency", func() {
2929
Context("ab", func() {
30+
var (
31+
testFile *util.File
32+
err error
33+
)
34+
35+
BeforeEach(func() {
36+
testFile, err = fs.PrepareFile(util.FileSize1MiB)
37+
Expect(err).NotTo(HaveOccurred())
38+
Expect(testFile).NotTo(BeNil())
39+
})
40+
41+
AfterEach(func() {
42+
err = fs.CleanFile(testFile.GetInfo())
43+
Expect(err).NotTo(HaveOccurred())
44+
})
45+
3046
It("concurrent 100 should be ok", Label("concurrent", "100"), func() {
3147
clientPod, err := util.ClientExec()
3248
fmt.Println(err)
3349
Expect(err).NotTo(HaveOccurred())
3450

35-
out, err := clientPod.Command("sh", "-c", fmt.Sprintf("ab -c 100 -n 200 -X 127.0.0.1:4001 %s", util.GetFileURL("/bin/unshare"))).CombinedOutput()
51+
out, err := clientPod.Command("sh", "-c", fmt.Sprintf("ab -c 100 -n 200 -X 127.0.0.1:4001 %s", testFile.GetDownloadURL())).CombinedOutput()
3652
fmt.Println(string(out))
3753
Expect(err).NotTo(HaveOccurred())
3854

39-
fileMetadata := util.FileMetadata{
40-
ID: "14b31801ea6990788057b965fbc51e44bf73800462915fdfa0fda8182acca4d6",
41-
Sha256: "fc44bbbba20490450c73530db3d1b935f893f38d7d8084ca132952a765ff5ff6",
42-
}
43-
44-
sha256sum, err := util.CalculateSha256ByTaskID([]*util.PodExec{clientPod}, fileMetadata.ID)
55+
sha256sum, err := util.CalculateSha256ByTaskID([]*util.PodExec{clientPod}, testFile.GetTaskID())
4556
Expect(err).NotTo(HaveOccurred())
46-
Expect(fileMetadata.Sha256).To(Equal(sha256sum))
57+
Expect(testFile.GetSha256()).To(Equal(sha256sum))
4758

4859
seedClientPods := make([]*util.PodExec, 3)
4960
for i := 0; i < 3; i++ {
@@ -52,28 +63,23 @@ var _ = Describe("Download Concurrency", func() {
5263
Expect(err).NotTo(HaveOccurred())
5364
}
5465

55-
sha256sum, err = util.CalculateSha256ByTaskID(seedClientPods, fileMetadata.ID)
66+
sha256sum, err = util.CalculateSha256ByTaskID(seedClientPods, testFile.GetTaskID())
5667
Expect(err).NotTo(HaveOccurred())
57-
Expect(fileMetadata.Sha256).To(Equal(sha256sum))
68+
Expect(testFile.GetSha256()).To(Equal(sha256sum))
5869
})
5970

6071
It("concurrent 200 should be ok", Label("concurrent", "200"), func() {
6172
clientPod, err := util.ClientExec()
6273
fmt.Println(err)
6374
Expect(err).NotTo(HaveOccurred())
6475

65-
out, err := clientPod.Command("sh", "-c", fmt.Sprintf("ab -c 200 -n 400 -X 127.0.0.1:4001 %s", util.GetFileURL("/bin/loginctl"))).CombinedOutput()
76+
out, err := clientPod.Command("sh", "-c", fmt.Sprintf("ab -c 200 -n 400 -X 127.0.0.1:4001 %s", testFile.GetDownloadURL())).CombinedOutput()
6677
fmt.Println(string(out))
6778
Expect(err).NotTo(HaveOccurred())
6879

69-
fileMetadata := util.FileMetadata{
70-
ID: "958e177b56be708c9d7ec193ae8cef399b39faff8234af33efa4cbe097d1fc5f",
71-
Sha256: "dc102987a36be20846821ac74648534863ff0fe8897d4250273a6ffc80481d91",
72-
}
73-
74-
sha256sum, err := util.CalculateSha256ByTaskID([]*util.PodExec{clientPod}, fileMetadata.ID)
80+
sha256sum, err := util.CalculateSha256ByTaskID([]*util.PodExec{clientPod}, testFile.GetTaskID())
7581
Expect(err).NotTo(HaveOccurred())
76-
Expect(fileMetadata.Sha256).To(Equal(sha256sum))
82+
Expect(testFile.GetSha256()).To(Equal(sha256sum))
7783

7884
seedClientPods := make([]*util.PodExec, 3)
7985
for i := 0; i < 3; i++ {
@@ -82,28 +88,23 @@ var _ = Describe("Download Concurrency", func() {
8288
Expect(err).NotTo(HaveOccurred())
8389
}
8490

85-
sha256sum, err = util.CalculateSha256ByTaskID(seedClientPods, fileMetadata.ID)
91+
sha256sum, err = util.CalculateSha256ByTaskID(seedClientPods, testFile.GetTaskID())
8692
Expect(err).NotTo(HaveOccurred())
87-
Expect(fileMetadata.Sha256).To(Equal(sha256sum))
93+
Expect(testFile.GetSha256()).To(Equal(sha256sum))
8894
})
8995

9096
It("concurrent 500 should be ok", Label("concurrent", "500"), func() {
9197
clientPod, err := util.ClientExec()
9298
fmt.Println(err)
9399
Expect(err).NotTo(HaveOccurred())
94100

95-
out, err := clientPod.Command("sh", "-c", fmt.Sprintf("ab -c 500 -n 1000 -X 127.0.0.1:4001 %s", util.GetFileURL("/bin/realpath"))).CombinedOutput()
101+
out, err := clientPod.Command("sh", "-c", fmt.Sprintf("ab -c 500 -n 1000 -X 127.0.0.1:4001 %s", testFile.GetDownloadURL())).CombinedOutput()
96102
fmt.Println(string(out))
97103
Expect(err).NotTo(HaveOccurred())
98104

99-
fileMetadata := util.FileMetadata{
100-
ID: "dd573cf9c3e1a79402b8423abcd1ba987c1b1ee9c49069d139d71106a260b055",
101-
Sha256: "54e54b7ff54ef70d4db2adcd24a27e3b9af3cd99fc0213983bac1e8035429be6",
102-
}
103-
104-
sha256sum, err := util.CalculateSha256ByTaskID([]*util.PodExec{clientPod}, fileMetadata.ID)
105+
sha256sum, err := util.CalculateSha256ByTaskID([]*util.PodExec{clientPod}, testFile.GetTaskID())
105106
Expect(err).NotTo(HaveOccurred())
106-
Expect(fileMetadata.Sha256).To(Equal(sha256sum))
107+
Expect(testFile.GetSha256()).To(Equal(sha256sum))
107108

108109
seedClientPods := make([]*util.PodExec, 3)
109110
for i := 0; i < 3; i++ {
@@ -112,28 +113,23 @@ var _ = Describe("Download Concurrency", func() {
112113
Expect(err).NotTo(HaveOccurred())
113114
}
114115

115-
sha256sum, err = util.CalculateSha256ByTaskID(seedClientPods, fileMetadata.ID)
116+
sha256sum, err = util.CalculateSha256ByTaskID(seedClientPods, testFile.GetTaskID())
116117
Expect(err).NotTo(HaveOccurred())
117-
Expect(fileMetadata.Sha256).To(Equal(sha256sum))
118+
Expect(testFile.GetSha256()).To(Equal(sha256sum))
118119
})
119120

120121
It("concurrent 1000 should be ok", Label("concurrent", "1000"), func() {
121122
clientPod, err := util.ClientExec()
122123
fmt.Println(err)
123124
Expect(err).NotTo(HaveOccurred())
124125

125-
out, err := clientPod.Command("sh", "-c", fmt.Sprintf("ab -c 1000 -n 2000 -X 127.0.0.1:4001 %s", util.GetFileURL("/bin/lnstat"))).CombinedOutput()
126+
out, err := clientPod.Command("sh", "-c", fmt.Sprintf("ab -c 1000 -n 2000 -X 127.0.0.1:4001 %s", testFile.GetDownloadURL())).CombinedOutput()
126127
fmt.Println(string(out))
127128
Expect(err).NotTo(HaveOccurred())
128129

129-
fileMetadata := util.FileMetadata{
130-
ID: "f1957adc26ec326800ced850d72e583a03be0999ba80d9aa2e3ba57ef4ddaf17",
131-
Sha256: "87c09b7c338f258809ca2d436bbe06ac94a3166b3f3e1125a86f35d9a9aa1d2f",
132-
}
133-
134-
sha256sum, err := util.CalculateSha256ByTaskID([]*util.PodExec{clientPod}, fileMetadata.ID)
130+
sha256sum, err := util.CalculateSha256ByTaskID([]*util.PodExec{clientPod}, testFile.GetTaskID())
135131
Expect(err).NotTo(HaveOccurred())
136-
Expect(fileMetadata.Sha256).To(Equal(sha256sum))
132+
Expect(testFile.GetSha256()).To(Equal(sha256sum))
137133

138134
seedClientPods := make([]*util.PodExec, 3)
139135
for i := 0; i < 3; i++ {
@@ -142,9 +138,9 @@ var _ = Describe("Download Concurrency", func() {
142138
Expect(err).NotTo(HaveOccurred())
143139
}
144140

145-
sha256sum, err = util.CalculateSha256ByTaskID(seedClientPods, fileMetadata.ID)
141+
sha256sum, err = util.CalculateSha256ByTaskID(seedClientPods, testFile.GetTaskID())
146142
Expect(err).NotTo(HaveOccurred())
147-
Expect(fileMetadata.Sha256).To(Equal(sha256sum))
143+
Expect(testFile.GetSha256()).To(Equal(sha256sum))
148144
})
149145
})
150146
})

0 commit comments

Comments
 (0)