Skip to content

Commit 45d6665

Browse files
committed
e2e: improve resilience of dbops-secutiry-upgrade-olm
1 parent 6c83023 commit 45d6665

1 file changed

Lines changed: 11 additions & 117 deletions

File tree

stackgres-k8s/e2e/spec/dbops-security-upgrade-olm

Lines changed: 11 additions & 117 deletions
Original file line numberDiff line numberDiff line change
@@ -209,105 +209,10 @@ EOF
209209

210210
PREVIOUS_RELEASE_NAME="$(kubectl get sgconfig -n "$OPERATOR_NAMESPACE" -o name | grep "^sgconfig.stackgres.io/")"
211211
PREVIOUS_RELEASE_NAME="${PREVIOUS_RELEASE_NAME#*/}"
212-
kubectl patch -n "$OPERATOR_NAMESPACE" sgconfig "$PREVIOUS_RELEASE_NAME" --type merge \
213-
-p '{"spec":{"grafana":{"autoEmbed": true, "webHost":"'"prometheus-grafana.$(prometheus_namespace)"'"}}}'
214-
215-
if [ "$STACKGRES_PREVIOUS_VERSION" = 1.6.0 ]
212+
if [ "$STACKGRES_PREVIOUS_VERSION" != 1.11.0 ] && [ "$STACKGRES_PREVIOUS_VERSION" != 1.12.0 ]
216213
then
217-
kubectl create -f "$PROJECT_PATH"/stackgres-k8s/src/common/src/main/resources/crds/SGBackupConfig.yaml
218-
219-
cat << EOF | kubectl apply -f -
220-
apiVersion: rbac.authorization.k8s.io/v1
221-
kind: ClusterRoleBinding
222-
metadata:
223-
name: stackgres-statefulset-controller-extra
224-
roleRef:
225-
apiGroup: rbac.authorization.k8s.io
226-
kind: ClusterRole
227-
name: stackgres-statefulset-controller-extra
228-
subjects:
229-
- kind: ServiceAccount
230-
name: statefulset-controller
231-
namespace: kube-system
232-
---
233-
apiVersion: rbac.authorization.k8s.io/v1
234-
kind: ClusterRole
235-
metadata:
236-
name: stackgres-statefulset-controller-extra
237-
rules:
238-
- apiGroups:
239-
- stackgres.io
240-
resources:
241-
- sgclusters/finalizers
242-
- sgdistributedlogs/finalizers
243-
verbs:
244-
- update
245-
EOF
246-
247-
cat << EOF | kubectl apply -f -
248-
---
249-
apiVersion: rbac.authorization.k8s.io/v1
250-
kind: ClusterRole
251-
metadata:
252-
name: stackgres-operator-extra
253-
rules:
254-
- apiGroups: ["stackgres.io"]
255-
resources:
256-
- sgclusters/finalizers
257-
- sgpgconfigs/finalizers
258-
- sginstanceprofiles/finalizers
259-
- sgpoolconfigs/finalizers
260-
- sgbackupconfigs/finalizers
261-
- sgbackups/finalizers
262-
- sgdistributedlogs/finalizers
263-
- sgdbops/finalizers
264-
- sgobjectstorages/finalizers
265-
- sgscripts/finalizers
266-
- sgshardedclusters/finalizers
267-
- sgshardedbackups/finalizers
268-
- sgshardeddbops/finalizers
269-
- sgconfigs/finalizers
270-
verbs:
271-
- update
272-
- apiGroups: ["", "apps", "batch"]
273-
resources:
274-
- statefulsets/finalizers
275-
- persistentvolumeclaims/finalizers
276-
- deployments/finalizers
277-
- services/finalizers
278-
- endpoints/finalizers
279-
- cronjobs/finalizers
280-
- jobs/finalizers
281-
verbs:
282-
- update
283-
---
284-
apiVersion: rbac.authorization.k8s.io/v1
285-
kind: ClusterRoleBinding
286-
metadata:
287-
name: stackgres-operator-extra
288-
subjects:
289-
- kind: ServiceAccount
290-
name: stackgres-operator
291-
namespace: $OPERATOR_NAMESPACE
292-
roleRef:
293-
kind: ClusterRole
294-
name: stackgres-operator-extra
295-
apiGroup: rbac.authorization.k8s.io
296-
EOF
297-
298-
kubectl patch -n "$OPERATOR_NAMESPACE" subscription stackgres --type merge -p '
299-
{
300-
"spec": {
301-
"config": {
302-
"env":[
303-
{
304-
"name": "USE_ARBITRARY_USER",
305-
"value": "true"
306-
}
307-
]
308-
}
309-
}
310-
}'
214+
kubectl patch -n "$OPERATOR_NAMESPACE" sgconfig "$PREVIOUS_RELEASE_NAME" --type merge \
215+
-p '{"spec":{"grafana":{"autoEmbed": true, "webHost":"'"prometheus-grafana.$(prometheus_namespace)"'"}}}'
311216
fi
312217

313218
if ! wait_services_available "$OPERATOR_NAMESPACE" 1 "^$PREVIOUS_RELEASE_NAME$"
@@ -348,25 +253,6 @@ e2e_upgrade_operator() {
348253

349254
echo "Upgrading operator bundle ($STACKGRES_VERSION)"
350255

351-
if [ "$STACKGRES_PREVIOUS_VERSION" = 1.6.0 ]
352-
then
353-
kubectl delete -f "$PROJECT_PATH"/stackgres-k8s/src/common/src/main/resources/crds/SGBackupConfig.yaml
354-
355-
kubectl delete clusterrolebinding stackgres-statefulset-controller-extra
356-
kubectl delete clusterrole stackgres-statefulset-controller-extra
357-
kubectl delete clusterrolebinding stackgres-operator-extra
358-
kubectl delete clusterrole stackgres-operator-extra
359-
360-
kubectl patch -n "$OPERATOR_NAMESPACE" subscription stackgres --type merge -p '
361-
{
362-
"spec": {
363-
"config": {
364-
"env":[]
365-
}
366-
}
367-
}'
368-
fi
369-
370256
# The operator-sdk does not allow to load a bundle with IfNotPresent so we have to pull it from the remote repository
371257
BUNDLE_IMAGE_NAME="$E2E_OPERATOR_REGISTRY${E2E_OPERATOR_REGISTRY_PATH%/}/stackgres/${OPERATOR_BUNDLE_IMAGE_NAME##*/}"
372258
kubectl create secret docker-registry -n "$OPERATOR_NAMESPACE" operator-bundle \
@@ -562,6 +448,14 @@ EOF
562448

563449
wait_until eval 'kubectl get pod -n "$SGCONFIG_NAMESPACE" -l app=StackGresConfig,stackgres.io/restapi=true -o name | wc -l | grep -xF 1'
564450

451+
if [ "$STACKGRES_PREVIOUS_VERSION" = 1.11.0 ] || [ "$STACKGRES_PREVIOUS_VERSION" = 1.12.0 ]
452+
then
453+
RELEASE_NAME="$(kubectl get sgconfig -n "$OPERATOR_NAMESPACE" -o name | grep "^sgconfig.stackgres.io/")"
454+
RELEASE_NAME="${RELEASE_NAME#*/}"
455+
kubectl patch -n "$OPERATOR_NAMESPACE" sgconfig "$RELEASE_NAME" --type merge \
456+
-p '{"spec":{"grafana":{"autoEmbed": true, "webHost":"'"prometheus-grafana.$(prometheus_namespace)"'"}}}'
457+
fi
458+
565459
if ! wait_services_available "$OPERATOR_NAMESPACE" 1 "^stackgres-operator$"
566460
then
567461
echo "FAILED. The StackGres operator service was not available."

0 commit comments

Comments
 (0)