diff --git a/.github/workflows/deploy-rook-ceph-on-two-k8s-clusters.yaml b/.github/workflows/deploy-rook-ceph-on-two-k8s-clusters.yaml index 82f6cd14..b3bff59c 100644 --- a/.github/workflows/deploy-rook-ceph-on-two-k8s-clusters.yaml +++ b/.github/workflows/deploy-rook-ceph-on-two-k8s-clusters.yaml @@ -65,9 +65,9 @@ jobs: run: |- ./test/e2e/bin/kubectl config use-context profile1 make -C test/e2e launch-single-rook-ceph PROFILE=profile1 - make -C test/e2e setup-single-components + make -C test/e2e setup-single-components PROFILE=profile1 - name: "Deploy secondary Rook/Ceph cluster" run: |- ./test/e2e/bin/kubectl config use-context profile2 - make -C test/e2e launch-single-rook-ceph PROFILE=profile1 - make -C test/e2e setup-single-components + make -C test/e2e launch-single-rook-ceph PROFILE=profile2 + make -C test/e2e setup-single-components PROFILE=profile2 diff --git a/test/e2e/Makefile b/test/e2e/Makefile index 12a14c4d..cb73953c 100644 --- a/test/e2e/Makefile +++ b/test/e2e/Makefile @@ -91,6 +91,8 @@ launch-minikube: --extra-config=kubeadm.node-name=$(NODE_NAME) \ --extra-config=kubelet.hostname-override=$(NODE_NAME) \ -p $(PROFILE) +# To prevent rook installation timeout, pull the image in advance. + $(MINIKUBE) -p $(PROFILE) ssh -- docker pull quay.io/ceph/ceph:v17.2.6 # $(SUDO) chown -R $$USER $$HOME/.kube $(MINIKUBE_HOME)/.minikube # $(SUDO) chmod -R a+r $$HOME/.kube $(MINIKUBE_HOME)/.minikube # $(SUDO) find $(MINIKUBE_HOME)/.minikube -name id_rsa -exec chmod 600 {} ';' @@ -168,7 +170,7 @@ launch-rook-ceph: create-loop-dev .PHONY: launch-single-rook-ceph launch-single-rook-ceph: create-loop-dev - $(HELM) upgrade --install --version $(ROOK_CHART_VERSION) --repo https://charts.rook.io/release \ + $(HELM) upgrade --install --timeout 10m --version $(ROOK_CHART_VERSION) --repo https://charts.rook.io/release \ --create-namespace --namespace $(CEPH_CLUSTER1_NAMESPACE) -f testdata/values.yaml --wait \ rook-ceph rook-ceph sed \ @@ -178,7 +180,7 @@ launch-single-rook-ceph: create-loop-dev testdata/persistentvolumes-template.yaml \ > testdata/persistentvolumes.yaml $(KUBECTL) apply -f testdata/persistentvolumes.yaml - $(HELM) upgrade --install --version $(ROOK_CHART_VERSION) --repo https://charts.rook.io/release \ + $(HELM) upgrade --install --timeout 10m --version $(ROOK_CHART_VERSION) --repo https://charts.rook.io/release \ --namespace $(CEPH_CLUSTER1_NAMESPACE) -f testdata/values-cluster.yaml --wait rook-ceph-cluster rook-ceph-cluster free -h df -h @@ -207,23 +209,18 @@ image-build: .PHONY: setup-components setup-components: - # We can't use `minikube image load` due to a minikube's problem. - # ref. https://github.com/kubernetes/minikube/issues/17785 - docker save controller:latest | $(SUDO) ctr -n k8s.io images import - + $(MINIKUBE) -p $(PROFILE) image load controller:latest - $(HELM) upgrade --install mantle-cluster-wide ../../charts/mantle-cluster-wide/ --wait - $(HELM) upgrade --install --namespace=$(CEPH_CLUSTER1_NAMESPACE) mantle ../../charts/mantle/ --wait - $(HELM) upgrade --install --namespace=$(CEPH_CLUSTER2_NAMESPACE) mantle2 ../../charts/mantle/ --wait + $(HELM) upgrade --install --timeout 10m mantle-cluster-wide ../../charts/mantle-cluster-wide/ --wait + $(HELM) upgrade --install --timeout 10m --namespace=$(CEPH_CLUSTER1_NAMESPACE) mantle ../../charts/mantle/ --wait + $(HELM) upgrade --install --timeout 10m --namespace=$(CEPH_CLUSTER2_NAMESPACE) mantle2 ../../charts/mantle/ --wait .PHONY: setup-single-components setup-single-components: - $(MAKE) -C ../.. docker-build - # We can't use `minikube image load` due to a minikube's problem. - # ref. https://github.com/kubernetes/minikube/issues/17785 - docker save controller:latest | $(SUDO) ctr -n k8s.io images import - + $(MINIKUBE) -p $(PROFILE) image load controller:latest - $(HELM) upgrade --install mantle-cluster-wide ../../charts/mantle-cluster-wide/ --wait - $(HELM) upgrade --install --namespace=$(CEPH_CLUSTER1_NAMESPACE) mantle ../../charts/mantle/ --wait + $(HELM) upgrade --install --timeout 10m mantle-cluster-wide ../../charts/mantle-cluster-wide/ --wait + $(HELM) upgrade --install --timeout 10m --namespace=$(CEPH_CLUSTER1_NAMESPACE) mantle ../../charts/mantle/ --wait .PHONY: delete-components delete-components: diff --git a/test/e2e/testdata/persistentvolumes.yaml b/test/e2e/testdata/persistentvolumes.yaml new file mode 100644 index 00000000..0cd41f1d --- /dev/null +++ b/test/e2e/testdata/persistentvolumes.yaml @@ -0,0 +1,56 @@ +kind: StorageClass +apiVersion: storage.k8s.io/v1 +metadata: + name: manual +provisioner: kubernetes.io/no-provisioner +volumeBindingMode: WaitForFirstConsumer +--- +kind: PersistentVolume +apiVersion: v1 +metadata: + name: local-osd2 + labels: + type: local-osd2 +spec: + storageClassName: manual + capacity: + storage: 5Gi + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + volumeMode: Block + local: + path: /dev/loop1 + nodeAffinity: + required: + nodeSelectorTerms: + - matchExpressions: + - key: kubernetes.io/hostname + operator: In + values: + - minikube-worker +--- +kind: PersistentVolume +apiVersion: v1 +metadata: + name: local-osd + labels: + type: local-osd +spec: + storageClassName: manual + capacity: + storage: 5Gi + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + volumeMode: Block + local: + path: /dev/loop0 + nodeAffinity: + required: + nodeSelectorTerms: + - matchExpressions: + - key: kubernetes.io/hostname + operator: In + values: + - minikube-worker