Skip to content

Commit fff7cb5

Browse files
authored
Extend Cache runtime framework Phase 2: support curvine poc (#5762)
* init poc, add prepare ufs Signed-off-by: xliuqq <xlzq1992@gmail.com> support app pod cv mount succeed fix mount todo: use bin/cv mount to filter already mount path master worker pod starts succeed set envs service name should be exposed Signed-off-by: liuzhiqiang <923463801@qq.com> * update crds Signed-off-by: xliuqq <xlzq1992@gmail.com> * fix lint error Signed-off-by: xliuqq <xlzq1992@gmail.com> * add e2e test Signed-off-by: xliuqq <xlzq1992@gmail.com> * finish e2e test Signed-off-by: xliuqq <xlzq1992@gmail.com> * remove self image prefix Signed-off-by: xliuqq <xlzq1992@gmail.com> * make gen-openapi Signed-off-by: xliuqq <xlzq1992@gmail.com> * make fmt Signed-off-by: xliuqq <xlzq1992@gmail.com> * fix Copilot Signed-off-by: xliuqq <xlzq1992@gmail.com> * add curvine e2e test Signed-off-by: xliuqq <xlzq1992@gmail.com> * fix curvine mount with check-path-consist instead of mnt-type Signed-off-by: xliuqq <xlzq1992@gmail.com> --------- Signed-off-by: liuzhiqiang <923463801@qq.com> Signed-off-by: xliuqq <xlzq1992@gmail.com>
1 parent 523d703 commit fff7cb5

46 files changed

Lines changed: 2803 additions & 50 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/scripts/build-all-images.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ function build_images() {
2020
${IMG_REPO}/thinruntime-controller:${IMAGE_TAG}
2121
${IMG_REPO}/efcruntime-controller:${IMAGE_TAG}
2222
${IMG_REPO}/vineyardruntime-controller:${IMAGE_TAG}
23+
${IMG_REPO}/cacheruntime-controller:${IMAGE_TAG}
2324
${IMG_REPO}/fluid-csi:${IMAGE_TAG}
2425
${IMG_REPO}/fluid-webhook:${IMAGE_TAG}
2526
${IMG_REPO}/fluid-crd-upgrader:${IMAGE_TAG}

.github/scripts/gha-e2e.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,13 @@ function juicefs_e2e() {
100100
bash test/gha-e2e/juicefs/test.sh
101101
}
102102

103+
function curvine_e2e() {
104+
set -e
105+
bash test/gha-e2e/curvine/test.sh
106+
}
107+
103108
check_control_plane_status
104109
alluxio_e2e
105110
jindo_e2e
106111
juicefs_e2e
112+
curvine_e2e

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ DOCKER_PUSH += docker-push-webhook
125125
DOCKER_PUSH += docker-push-goosefsruntime-controller
126126
DOCKER_PUSH += docker-push-juicefsruntime-controller
127127
DOCKER_PUSH += docker-push-thinruntime-controller
128-
#DOCKER_PUSH += docker-push-cacheruntime-controller
128+
DOCKER_PUSH += docker-push-cacheruntime-controller
129129
DOCKER_PUSH += docker-push-efcruntime-controller
130130
DOCKER_PUSH += docker-push-vineyardruntime-controller
131131
# Not need to push init-users image by default
@@ -143,7 +143,7 @@ DOCKER_BUILDX_PUSH += docker-buildx-push-csi
143143
DOCKER_BUILDX_PUSH += docker-buildx-push-webhook
144144
DOCKER_BUILDX_PUSH += docker-buildx-push-juicefsruntime-controller
145145
DOCKER_BUILDX_PUSH += docker-buildx-push-thinruntime-controller
146-
#DOCKER_BUILDX_PUSH += docker-buildx-push-cacheruntime-controller
146+
DOCKER_BUILDX_PUSH += docker-buildx-push-cacheruntime-controller
147147
DOCKER_BUILDX_PUSH += docker-buildx-push-efcruntime-controller
148148
DOCKER_BUILDX_PUSH += docker-buildx-push-vineyardruntime-controller
149149
# Not need to push init-users image by default

api/v1alpha1/cacheruntimeclass_types.go

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,25 @@ type RuntimeComponentDefinition struct {
6060
// Dependencies specifies the dependencies required by the component
6161
// +optional
6262
Dependencies RuntimeComponentDependencies `json:"dependencies,omitempty"`
63+
64+
// ExecutionEntries entries to support out-of-tree integration.
65+
// +optional
66+
ExecutionEntries *ExecutionEntries `json:"executionEntries,omitempty"`
67+
}
68+
69+
type ExecutionEntries struct {
70+
// MountUFS defines the operations for mounting UFS
71+
MountUFS *ExecutionCommonEntry `json:"mountUFS,omitempty"`
72+
73+
// ReportSummary it defines the operation how to get cache status like capacity, hit ratio etc.
74+
ReportSummary *ExecutionCommonEntry `json:"reportSummary,omitempty"`
75+
}
76+
77+
type ExecutionCommonEntry struct {
78+
Command []string `json:"command"`
79+
80+
// TimeoutSeconds is the timeout(seconds) for the execution entry, at least(default) 20 seconds.
81+
TimeoutSeconds int32 `json:"timeout,omitempty"`
6382
}
6483

6584
// EncryptOptionComponentDependency defines the configuration for encrypt option dependency

api/v1alpha1/openapi_generated.go

Lines changed: 69 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api/v1alpha1/zz_generated.deepcopy.go

Lines changed: 50 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

charts/fluid/fluid/crds/data.fluid.io_cacheruntimeclasses.yaml

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,33 @@ spec:
6363
type: array
6464
type: object
6565
type: object
66+
executionEntries:
67+
properties:
68+
mountUFS:
69+
properties:
70+
command:
71+
items:
72+
type: string
73+
type: array
74+
timeout:
75+
format: int32
76+
type: integer
77+
required:
78+
- command
79+
type: object
80+
reportSummary:
81+
properties:
82+
command:
83+
items:
84+
type: string
85+
type: array
86+
timeout:
87+
format: int32
88+
type: integer
89+
required:
90+
- command
91+
type: object
92+
type: object
6693
options:
6794
additionalProperties:
6895
type: string
@@ -3453,6 +3480,33 @@ spec:
34533480
type: array
34543481
type: object
34553482
type: object
3483+
executionEntries:
3484+
properties:
3485+
mountUFS:
3486+
properties:
3487+
command:
3488+
items:
3489+
type: string
3490+
type: array
3491+
timeout:
3492+
format: int32
3493+
type: integer
3494+
required:
3495+
- command
3496+
type: object
3497+
reportSummary:
3498+
properties:
3499+
command:
3500+
items:
3501+
type: string
3502+
type: array
3503+
timeout:
3504+
format: int32
3505+
type: integer
3506+
required:
3507+
- command
3508+
type: object
3509+
type: object
34563510
options:
34573511
additionalProperties:
34583512
type: string
@@ -6843,6 +6897,33 @@ spec:
68436897
type: array
68446898
type: object
68456899
type: object
6900+
executionEntries:
6901+
properties:
6902+
mountUFS:
6903+
properties:
6904+
command:
6905+
items:
6906+
type: string
6907+
type: array
6908+
timeout:
6909+
format: int32
6910+
type: integer
6911+
required:
6912+
- command
6913+
type: object
6914+
reportSummary:
6915+
properties:
6916+
command:
6917+
items:
6918+
type: string
6919+
type: array
6920+
timeout:
6921+
format: int32
6922+
type: integer
6923+
required:
6924+
- command
6925+
type: object
6926+
type: object
68466927
options:
68476928
additionalProperties:
68486929
type: string

0 commit comments

Comments
 (0)