diff --git a/Makefile b/Makefile index e1d938fae..bacb628a3 100644 --- a/Makefile +++ b/Makefile @@ -30,9 +30,9 @@ CSI_IMAGE_TAG_LATEST = $(REGISTRY)/$(IMAGE_NAME):latest BUILD_DATE ?= $(shell date -u +"%Y-%m-%dT%H:%M:%SZ") LDFLAGS ?= "-X ${PKG}/pkg/blob.driverVersion=${IMAGE_VERSION} -X ${PKG}/pkg/blob.gitCommit=${GIT_COMMIT} -X ${PKG}/pkg/blob.buildDate=${BUILD_DATE} -s -w -extldflags '-static'" ifdef ENABLE_BLOBFUSE_PROXY -E2E_HELM_OPTIONS ?= --set image.blob.pullPolicy=Always --set image.blob.repository=$(REGISTRY)/$(IMAGE_NAME) --set image.blob.tag=$(IMAGE_VERSION) --set driver.userAgentSuffix="e2e-test" --set controller.logLevel=6 --set node.logLevel=6 --set node.enableBlobfuseProxy=true +E2E_HELM_OPTIONS ?= --set image.blob.pullPolicy=Always --set image.blob.repository=$(REGISTRY)/$(IMAGE_NAME) --set image.blob.tag=$(IMAGE_VERSION) --set driver.userAgentSuffix="e2e-test" --set controller.logLevel=6 --set node.logLevel=6 --set node.enableBlobfuseProxy=true --set node.blobfuseProxy.migrateK8sRepo=true else -E2E_HELM_OPTIONS ?= --set image.blob.pullPolicy=Always --set image.blob.repository=$(REGISTRY)/$(IMAGE_NAME) --set image.blob.tag=$(IMAGE_VERSION) --set driver.userAgentSuffix="e2e-test" +E2E_HELM_OPTIONS ?= --set image.blob.pullPolicy=Always --set image.blob.repository=$(REGISTRY)/$(IMAGE_NAME) --set image.blob.tag=$(IMAGE_VERSION) --set driver.userAgentSuffix="e2e-test" --set node.blobfuseProxy.migrateK8sRepo=true endif E2E_HELM_OPTIONS += ${EXTRA_HELM_OPTIONS} GO111MODULE = on diff --git a/charts/latest/blob-csi-driver-v1.22.9.tgz b/charts/latest/blob-csi-driver-v1.22.9.tgz index 6bccd36fe..7df5b6f49 100644 Binary files a/charts/latest/blob-csi-driver-v1.22.9.tgz and b/charts/latest/blob-csi-driver-v1.22.9.tgz differ diff --git a/charts/latest/blob-csi-driver/templates/csi-blob-node.yaml b/charts/latest/blob-csi-driver/templates/csi-blob-node.yaml index 00187ec95..ab4a46751 100644 --- a/charts/latest/blob-csi-driver/templates/csi-blob-node.yaml +++ b/charts/latest/blob-csi-driver/templates/csi-blob-node.yaml @@ -99,6 +99,8 @@ spec: value: "{{ .Values.node.blobfuseProxy.maxOpenFileNum }}" - name: DISABLE_UPDATEDB value: "{{ .Values.node.blobfuseProxy.disableUpdateDB }}" + - name: MIGRATE_K8S_REPO + value: "{{ .Values.node.blobfuseProxy.migrateK8sRepo }}" volumeMounts: - name: host-usr mountPath: /host/usr diff --git a/charts/latest/blob-csi-driver/values.yaml b/charts/latest/blob-csi-driver/values.yaml index b691ff59e..d84773286 100644 --- a/charts/latest/blob-csi-driver/values.yaml +++ b/charts/latest/blob-csi-driver/values.yaml @@ -123,6 +123,7 @@ node: setMaxOpenFileNum: true maxOpenFileNum: "9000000" disableUpdateDB: true + migrateK8sRepo: false blobfuseCachePath: /mnt appendTimeStampInCacheDir: false mountPermissions: 0777 diff --git a/deploy/csi-blob-node.yaml b/deploy/csi-blob-node.yaml index 10b62fe82..3814c2ab8 100644 --- a/deploy/csi-blob-node.yaml +++ b/deploy/csi-blob-node.yaml @@ -55,7 +55,7 @@ spec: - name: INSTALL_BLOBFUSE_PROXY value: "true" - name: INSTALL_BLOBFUSE - value: "true" + value: "false" - name: BLOBFUSE_VERSION value: "1.4.5" - name: INSTALL_BLOBFUSE2 diff --git a/pkg/blobfuse-proxy/init.sh b/pkg/blobfuse-proxy/init.sh index 380f2beca..00cf3d3a4 100755 --- a/pkg/blobfuse-proxy/init.sh +++ b/pkg/blobfuse-proxy/init.sh @@ -20,6 +20,7 @@ INSTALL_BLOBFUSE_PROXY=${INSTALL_BLOBFUSE_PROXY:-true} DISABLE_UPDATEDB=${DISABLE_UPDATEDB:-true} SET_MAX_OPEN_FILE_NUM=${SET_MAX_OPEN_FILE_NUM:-true} SET_READ_AHEAD_SIZE=${SET_READ_AHEAD_SIZE:-true} +MIGRATE_K8S_REPO=${MIGRATE_K8S_REPO:-false} READ_AHEAD_KB=${READ_AHEAD_KB:-15380} HOST_CMD="nsenter --mount=/proc/1/ns/mnt" @@ -41,6 +42,13 @@ then cp /blobfuse-proxy/packages-microsoft-prod-22.04.deb /host/etc/packages-microsoft-prod.deb fi + if [ "${MIGRATE_K8S_REPO}" = "true" ] + then + # https://kubernetes.io/blog/2023/08/15/pkgs-k8s-io-introduction/#how-to-migrate + echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.30/deb/ /" | tee /host/etc/apt/sources.list.d/kubernetes.list + $HOST_CMD curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.30/deb/Release.key | $HOST_CMD gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg + fi + # when running dpkg -i /etc/packages-microsoft-prod.deb, need to enter y to continue. # refer to https://stackoverflow.com/questions/45349571/how-to-install-deb-with-dpkg-non-interactively yes | $HOST_CMD dpkg -i /etc/packages-microsoft-prod.deb && $HOST_CMD apt update