Skip to content

Commit 205639d

Browse files
committed
Revert to kube-system, graceful uninstall
1 parent b8e5d7c commit 205639d

4 files changed

Lines changed: 29 additions & 22 deletions

File tree

.github/workflows/e2e-rosa-tests.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ jobs:
139139
ACTION: "install_driver"
140140
TAG: "untested_${{ inputs.ref }}"
141141
CSI_DRIVER_IRSA_ROLE_ARN: "arn:aws:iam::${{ steps.aws-creds.outputs.aws-account-id }}:role/s3-csi-${{ inputs.environment }}-driver-irsa"
142-
CSI_DRIVER_NAMESPACE: "openshift-cluster-csi-drivers"
142+
IS_OPENSHIFT: "true"
143143
run: |
144144
tests/e2e-kubernetes/scripts/run.sh
145145
- name: Run E2E Tests
@@ -155,14 +155,14 @@ jobs:
155155
run: |
156156
tests/e2e-kubernetes/scripts/run.sh
157157
- name: Uninstall the driver
158-
# if: always()
158+
if: always()
159159
env:
160160
ACTION: "uninstall_driver"
161-
CSI_DRIVER_NAMESPACE: "openshift-cluster-csi-drivers"
161+
IS_OPENSHIFT: "true"
162162
run: |
163163
tests/e2e-kubernetes/scripts/run.sh
164164
- name: Delete ROSA cluster
165-
# if: always()
165+
if: always()
166166
env:
167167
TF_VAR_aws_region: "${{ vars.AWS_REGION }}"
168168
TF_VAR_cluster_name: "s3-csi-${{ inputs.environment }}"

tests/e2e-kubernetes/rosa/main.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ resource "aws_iam_role" "csi_driver_irsa" {
8787
Action = "sts:AssumeRoleWithWebIdentity"
8888
Condition = {
8989
StringEquals = {
90-
"${replace(module.hcp.oidc_endpoint_url, "https://", "")}:sub" = "system:serviceaccount:openshift-cluster-csi-drivers:s3-csi-driver-sa"
90+
"${replace(module.hcp.oidc_endpoint_url, "https://", "")}:sub" = "system:serviceaccount:kube-system:s3-csi-driver-sa"
9191
}
9292
}
9393
}

tests/e2e-kubernetes/scripts/helm.sh

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,19 @@ function helm_uninstall_driver() {
1919
KUBECTL_BIN=${2}
2020
RELEASE_NAME=${3}
2121
KUBECONFIG=${4}
22-
NAMESPACE=${5}
22+
IS_OPENSHIFT=${5}
23+
2324
if driver_installed ${HELM_BIN} ${RELEASE_NAME} ${KUBECONFIG}; then
24-
$HELM_BIN uninstall $RELEASE_NAME --namespace $NAMESPACE --kubeconfig $KUBECONFIG
25-
$KUBECTL_BIN wait --for=delete pod --selector="app=s3-csi-node" -n $NAMESPACE --timeout=60s --kubeconfig $KUBECONFIG
25+
if [[ "${IS_OPENSHIFT}" == "true" ]]; then
26+
echo "OpenShift cluster detected - using graceful Helm uninstall as ClusterRoleBindings cannot be deleted due to admission webhooks."
27+
set +e
28+
$HELM_BIN uninstall $RELEASE_NAME --namespace kube-system --kubeconfig $KUBECONFIG
29+
set -e
30+
else
31+
$HELM_BIN uninstall $RELEASE_NAME --namespace kube-system --kubeconfig $KUBECONFIG
32+
fi
33+
34+
$KUBECTL_BIN wait --for=delete pod --selector="app=s3-csi-node" -n kube-system --timeout=60s --kubeconfig $KUBECONFIG
2635
else
2736
echo "driver does not seem to be installed"
2837
fi
@@ -38,14 +47,14 @@ function helm_install_driver() {
3847
TAG=${5}
3948
KUBECONFIG=${6}
4049
CSI_DRIVER_IRSA_ROLE_ARN=${7}
41-
NAMESPACE=${8}
50+
IS_OPENSHIFT=${8}
4251

4352
helm_uninstall_driver \
4453
"$HELM_BIN" \
4554
"$KUBECTL_BIN" \
4655
"$RELEASE_NAME" \
4756
"$KUBECONFIG" \
48-
"$NAMESPACE"
57+
"$IS_OPENSHIFT"
4958

5059
if [[ -n "${CSI_DRIVER_IRSA_ROLE_ARN}" ]]; then
5160
echo "Configuring IRSA for CSI driver with role: ${CSI_DRIVER_IRSA_ROLE_ARN}"
@@ -55,7 +64,7 @@ function helm_install_driver() {
5564
IRSA_FLAG=""
5665
fi
5766

58-
$HELM_BIN upgrade --install $RELEASE_NAME --namespace $NAMESPACE ./charts/aws-mountpoint-s3-csi-driver --values \
67+
$HELM_BIN upgrade --install $RELEASE_NAME --namespace kube-system ./charts/aws-mountpoint-s3-csi-driver --values \
5968
./charts/aws-mountpoint-s3-csi-driver/values.yaml \
6069
--set image.repository=${REPOSITORY} \
6170
--set image.tag=${TAG} \
@@ -64,24 +73,22 @@ function helm_install_driver() {
6473
--set experimental.reserveHeadroomForMountpointPods=true \
6574
${IRSA_FLAG} \
6675
--kubeconfig ${KUBECONFIG}
67-
$KUBECTL_BIN rollout status daemonset s3-csi-node -n $NAMESPACE --timeout=60s --kubeconfig $KUBECONFIG
76+
$KUBECTL_BIN rollout status daemonset s3-csi-node -n kube-system --timeout=60s --kubeconfig $KUBECONFIG
6877
$KUBECTL_BIN get pods -A --kubeconfig $KUBECONFIG
69-
echo "s3-csi-node-image: $($KUBECTL_BIN get daemonset s3-csi-node -n $NAMESPACE -o jsonpath="{$.spec.template.spec.containers[:1].image}" --kubeconfig $KUBECONFIG)"
78+
echo "s3-csi-node-image: $($KUBECTL_BIN get daemonset s3-csi-node -n kube-system -o jsonpath="{$.spec.template.spec.containers[:1].image}" --kubeconfig $KUBECONFIG)"
7079

7180
helm_validate_driver \
7281
"$HELM_BIN" \
7382
"$KUBECTL_BIN" \
7483
"$RELEASE_NAME" \
75-
"$KUBECONFIG" \
76-
"$NAMESPACE"
84+
"$KUBECONFIG"
7785
}
7886

7987
function helm_validate_driver() {
8088
HELM_BIN=${1}
8189
KUBECTL_BIN=${2}
8290
RELEASE_NAME=${3}
8391
KUBECONFIG=${4}
84-
NAMESPACE=${5}
8592

8693
if ! driver_installed ${HELM_BIN} ${RELEASE_NAME} ${KUBECONFIG}; then
8794
echo "Driver $RELEASE_NAME must be installed"
@@ -91,7 +98,7 @@ function helm_validate_driver() {
9198
echo "Validating $RELEASE_NAME on the server side..."
9299

93100
# Get all installed manifests and validate them on the server side
94-
$HELM_BIN get manifest --namespace $NAMESPACE --kubeconfig ${KUBECONFIG} $RELEASE_NAME | \
101+
$HELM_BIN get manifest --namespace kube-system --kubeconfig ${KUBECONFIG} $RELEASE_NAME | \
95102
$KUBECTL_BIN replace --kubeconfig $KUBECONFIG --dry-run=server --validate=strict --warnings-as-errors -f -
96103
}
97104

tests/e2e-kubernetes/scripts/run.sh

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ IMDS_AVAILABLE=${IMDS_AVAILABLE:-true}
3232
ARCH=${ARCH:-x86}
3333
AMI_FAMILY=${AMI_FAMILY:-AmazonLinux2}
3434
SELINUX_MODE=${SELINUX_MODE:-}
35+
IS_OPENSHIFT=${IS_OPENSHIFT:-false}
3536

3637
# eksctl: mustn't include patch version (e.g. 1.19)
3738
# 'K8S_VERSION' variable must be a full version (e.g. 1.19.1)
@@ -64,7 +65,6 @@ CLUSTER_FILE=${TEST_DIR}/${CLUSTER_NAME}.${CLUSTER_TYPE}.yaml
6465

6566
SSH_KEY=${SSH_KEY:-""}
6667
HELM_RELEASE_NAME=mountpoint-s3-csi-driver
67-
CSI_DRIVER_NAMESPACE=${CSI_DRIVER_NAMESPACE:-kube-system}
6868

6969
EKSCTL_PATCH_FILE=${EKSCTL_PATCH_FILE:-${BASE_DIR}/eksctl-patch.json}
7070
EKSCTL_PATCH_SELINUX_ENFORCING_FILE=${EKSCTL_PATCH_SELINUX_ENFORCING_FILE:-${BASE_DIR}/eksctl-patch-selinux-enforcing.json}
@@ -87,7 +87,7 @@ function kubectl_install() {
8787
}
8888

8989
function print_cluster_info() {
90-
$KUBECTL_BIN logs -l app=s3-csi-node -n ${CSI_DRIVER_NAMESPACE} --kubeconfig ${KUBECONFIG}
90+
$KUBECTL_BIN logs -l app=s3-csi-node -n kube-system --kubeconfig ${KUBECONFIG}
9191
$KUBECTL_BIN version --kubeconfig ${KUBECONFIG}
9292
$KUBECTL_BIN get nodes -o wide --kubeconfig ${KUBECONFIG}
9393
}
@@ -153,7 +153,7 @@ function e2e_cleanup() {
153153
}
154154

155155
function print_cluster_info() {
156-
$KUBECTL_BIN logs -l app=s3-csi-node -n ${CSI_DRIVER_NAMESPACE} --kubeconfig ${KUBECONFIG}
156+
$KUBECTL_BIN logs -l app=s3-csi-node -n kube-system --kubeconfig ${KUBECONFIG}
157157
$KUBECTL_BIN version --kubeconfig ${KUBECONFIG}
158158
$KUBECTL_BIN get nodes -o wide --kubeconfig ${KUBECONFIG}
159159
}
@@ -173,7 +173,7 @@ elif [[ "${ACTION}" == "install_driver" ]]; then
173173
"${TAG}" \
174174
"${KUBECONFIG}" \
175175
"${CSI_DRIVER_IRSA_ROLE_ARN}" \
176-
"${CSI_DRIVER_NAMESPACE}"
176+
"${IS_OPENSHIFT}"
177177
elif [[ "${ACTION}" == "run_tests" ]]; then
178178
set +e
179179
pushd tests/e2e-kubernetes
@@ -203,7 +203,7 @@ elif [[ "${ACTION}" == "uninstall_driver" ]]; then
203203
"$KUBECTL_BIN" \
204204
"$HELM_RELEASE_NAME" \
205205
"${KUBECONFIG}" \
206-
"${CSI_DRIVER_NAMESPACE}"
206+
"${IS_OPENSHIFT}"
207207
elif [[ "${ACTION}" == "delete_cluster" ]]; then
208208
delete_cluster
209209
elif [[ "${ACTION}" == "e2e_cleanup" ]]; then

0 commit comments

Comments
 (0)