From a8126d14a28a3696fa207e91af50ef2d1a94a67d Mon Sep 17 00:00:00 2001 From: Ye Cao Date: Mon, 19 Feb 2024 18:06:12 +0800 Subject: [PATCH] Fix the sidecar e2e test. Signed-off-by: Ye Cao --- k8s/pkg/webhook/sidecar/sidecar_webhook.go | 7 ++++--- k8s/test/e2e/Makefile | 6 +++--- k8s/test/e2e/assembly/local-assembly-e2e.yaml | 10 +++++----- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/k8s/pkg/webhook/sidecar/sidecar_webhook.go b/k8s/pkg/webhook/sidecar/sidecar_webhook.go index 4e92ae2c0c..8ffcdd73a3 100644 --- a/k8s/pkg/webhook/sidecar/sidecar_webhook.go +++ b/k8s/pkg/webhook/sidecar/sidecar_webhook.go @@ -63,6 +63,7 @@ func (r *Injector) Handle(ctx context.Context, req admission.Request) admission. sidecar := &v1alpha1.Sidecar{} templatePod := &corev1.Pod{} pod := &corev1.Pod{} + namespace := req.Namespace if err := r.decoder.Decode(req, pod); err != nil { return admission.Errored(http.StatusBadRequest, err) } @@ -93,7 +94,7 @@ func (r *Injector) Handle(ctx context.Context, req admission.Request) admission. // replace the invalid characters in the name re := regexp.MustCompile(`[^a-zA-Z0-9.-]+`) sidecar.Name = re.ReplaceAllString(sidecar.Name, "-") - sidecar.Namespace = pod.Namespace + sidecar.Namespace = namespace sidecar.OwnerReferences = pod.OwnerReferences err := r.Get( ctx, @@ -107,9 +108,9 @@ func (r *Injector) Handle(ctx context.Context, req admission.Request) admission. // if the default sidecar cr doesn't exist, create it if apierrors.IsNotFound(err) { sidecar.Spec.Replicas = 1 + sidecar.Namespace = namespace // use default configurations sidecar.Spec.Selector = keys[0] + "=" + l[keys[0]] - if err := r.Create(ctx, sidecar); err != nil { logger.Error(err, "failed to create default sidecar cr") return admission.Errored(http.StatusInternalServerError, err) @@ -135,7 +136,7 @@ func (r *Injector) Handle(ctx context.Context, req admission.Request) admission. // get the sidecar cr if err := r.Get( ctx, - types.NamespacedName{Name: v, Namespace: pod.Namespace}, + types.NamespacedName{Name: v, Namespace: namespace}, sidecar, ); err != nil { logger.Error(err, "get custom sidecar cr failed") diff --git a/k8s/test/e2e/Makefile b/k8s/test/e2e/Makefile index b9fde5ad1e..ba79328ab2 100644 --- a/k8s/test/e2e/Makefile +++ b/k8s/test/e2e/Makefile @@ -255,21 +255,21 @@ publish-repartition-images: push-dask-repartition push-dask-repartition-job1 pus dask-repartition: docker build repartition-demo/ -f Dockerfile \ --build-arg APP=dask-repartition.py \ - --build-arg PYPI_DEPENDENCIES="msgpack==1.0.4 numpy==1.23.2 pandas==1.4.3 dask==2022.8.1 distributed==2022.8.1 lz4==4.0.0 cloudpickle==2.1.0 vineyard-dask" \ + --build-arg PYPI_DEPENDENCIES="msgpack==1.0.4 numpy==1.23.2 toolz==0.12.0 pandas==1.4.3 dask==2022.8.1 distributed==2022.8.1 lz4==4.0.0 cloudpickle==2.1.0 vineyard-dask" \ -t $(REGISTRY)/dask-repartition:$(TAG) .PHONY: dask-repartition dask-repartition-job1: docker build repartition-demo/ -f Dockerfile \ --build-arg APP=job1.py \ - --build-arg PYPI_DEPENDENCIES="msgpack==1.0.4 numpy==1.23.2 pandas==1.4.3 dask==2022.8.1 distributed==2022.8.1 lz4==4.0.0 cloudpickle==2.1.0 vineyard-dask" \ + --build-arg PYPI_DEPENDENCIES="msgpack==1.0.4 numpy==1.23.2 toolz==0.12.0 pandas==1.4.3 dask==2022.8.1 distributed==2022.8.1 lz4==4.0.0 cloudpickle==2.1.0 vineyard-dask" \ -t $(REGISTRY)/dask-repartition-job1:$(TAG) .PHONY: dask-repartition-job1 dask-repartition-job2: docker build repartition-demo/ -f Dockerfile \ --build-arg APP=job2.py \ - --build-arg PYPI_DEPENDENCIES="msgpack==1.0.4 numpy==1.23.2 pandas==1.4.3 dask==2022.8.1 distributed==2022.8.1 lz4==4.0.0 cloudpickle==2.1.0 vineyard-dask" \ + --build-arg PYPI_DEPENDENCIES="msgpack==1.0.4 numpy==1.23.2 toolz==0.12.0 pandas==1.4.3 dask==2022.8.1 distributed==2022.8.1 lz4==4.0.0 cloudpickle==2.1.0 vineyard-dask" \ -t $(REGISTRY)/dask-repartition-job2:$(TAG) .PHONY: dask-repartition-job2 diff --git a/k8s/test/e2e/assembly/local-assembly-e2e.yaml b/k8s/test/e2e/assembly/local-assembly-e2e.yaml index 11a0f54459..882eda61c2 100644 --- a/k8s/test/e2e/assembly/local-assembly-e2e.yaml +++ b/k8s/test/e2e/assembly/local-assembly-e2e.yaml @@ -28,10 +28,10 @@ setup: sed 's/$job/job1/' k8s/test/e2e/assembly-demo/assembly-job.yaml | \ gomplate -d config=k8s/test/e2e/assembly-demo/assembly-job-config.yaml | \ kubectl apply -f - - wait: - - namespace: vineyard-job - resource: deployment/assembly-job1 - for: condition=Available + while [[ -z $(kubectl logs -l app=assembly-job1 -n vineyard-job | grep "writer finished") ]]; \ + do \ + sleep 1; \ + done - name: install job2 command: | sed 's/$job/job2/' k8s/test/e2e/assembly-demo/assembly-job.yaml | \ @@ -45,7 +45,7 @@ setup: cleanup: # always never success failure - on: success + on: always verify: # verify with retry strategy