ci: tolerate optional ingress RBAC
This commit is contained in:
@@ -44,11 +44,29 @@ jobs:
|
|||||||
CLUSTER_ROUTE_RETRY_BACKOFF_MS=25
|
CLUSTER_ROUTE_RETRY_BACKOFF_MS=25
|
||||||
kubectl patch statefulset/im-server -n im-server-system --type=strategic -p \
|
kubectl patch statefulset/im-server -n im-server-system --type=strategic -p \
|
||||||
'{"spec":{"template":{"spec":{"containers":[{"name":"im-server","readinessProbe":{"httpGet":{"path":"/healthz","port":6060},"timeoutSeconds":3,"periodSeconds":10,"failureThreshold":3},"livenessProbe":{"httpGet":{"path":"/livez","port":6060},"timeoutSeconds":3,"periodSeconds":20,"failureThreshold":3}}]}}}}'
|
'{"spec":{"template":{"spec":{"containers":[{"name":"im-server","readinessProbe":{"httpGet":{"path":"/healthz","port":6060},"timeoutSeconds":3,"periodSeconds":10,"failureThreshold":3},"livenessProbe":{"httpGet":{"path":"/livez","port":6060},"timeoutSeconds":3,"periodSeconds":20,"failureThreshold":3}}]}}}}'
|
||||||
kubectl patch service/im-server -n im-server-system --type=merge -p \
|
if kubectl auth can-i get services -n im-server-system >/dev/null 2>&1 && \
|
||||||
'{"spec":{"sessionAffinity":"None"}}'
|
kubectl auth can-i patch services -n im-server-system >/dev/null 2>&1; then
|
||||||
if kubectl get ingress/im-server -n im-server-system >/dev/null 2>&1; then
|
kubectl patch service/im-server -n im-server-system --type=merge -p \
|
||||||
|
'{"spec":{"sessionAffinity":"None"}}'
|
||||||
|
else
|
||||||
|
echo "::warning::ci-deployer cannot get/patch Service; skipped sessionAffinity update"
|
||||||
|
fi
|
||||||
|
if kubectl auth can-i get ingresses.networking.k8s.io -n im-server-system >/dev/null 2>&1 && \
|
||||||
|
kubectl auth can-i patch ingresses.networking.k8s.io -n im-server-system >/dev/null 2>&1 && \
|
||||||
|
kubectl get ingress/im-server -n im-server-system >/dev/null 2>&1; then
|
||||||
kubectl annotate ingress/im-server -n im-server-system --overwrite \
|
kubectl annotate ingress/im-server -n im-server-system --overwrite \
|
||||||
nginx.ingress.kubernetes.io/load-balance=least_conn
|
nginx.ingress.kubernetes.io/load-balance=least_conn
|
||||||
|
else
|
||||||
|
echo "::warning::ci-deployer cannot manage Ingress/im-server or it does not exist; skipped least_conn update"
|
||||||
fi
|
fi
|
||||||
kubectl rollout restart statefulset/im-server -n im-server-system
|
kubectl rollout restart statefulset/im-server -n im-server-system
|
||||||
kubectl rollout status statefulset/im-server -n im-server-system --timeout=300s
|
kubectl rollout status statefulset/im-server -n im-server-system --timeout=300s
|
||||||
|
|
||||||
|
resources="$(kubectl get statefulset/im-server -n im-server-system -o \
|
||||||
|
jsonpath='{.spec.template.spec.containers[?(@.name=="im-server")].resources}')"
|
||||||
|
liveness="$(kubectl get statefulset/im-server -n im-server-system -o \
|
||||||
|
jsonpath='{.spec.template.spec.containers[?(@.name=="im-server")].livenessProbe.httpGet.path}')"
|
||||||
|
echo "effective resources=${resources} liveness=${liveness}"
|
||||||
|
if [ "${liveness}" != "/livez" ] || ! echo "${resources}" | grep -q '"cpu":"2"'; then
|
||||||
|
echo "::warning::StatefulSet resources/probes were reconciled away; update the ArgoCD source kustomization"
|
||||||
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user