Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

--wait is not waiting for readiness while doing a helm install or helm upgrade #11193

Closed
Byh0ki opened this issue Aug 1, 2022 · 1 comment
Closed
Labels
bug Categorizes issue or PR as related to a bug. Stale unconfirmed

Comments

@Byh0ki
Copy link

Byh0ki commented Aug 1, 2022

Hello,

Since a few weeks, I've discovered an issue with the --wait feature. I've
checked with the existing issues but there all seem to be closed or not exactly
what I encountered.

For some reasons, even with the --wait (or --atomic) arg, helm will not wait
until the resources are ready (not even created sometimes). The issue happens
most of the time but not always :/ I happens with the install and upgrade
command. Also an interesting fact, the issue seems to only appear with large
docker images (> 400 MB).

I've tested with multiple helm versions, listed here:
- 3.2.4
- 3.4.2
- 3.5.4
- 3.7.2
- 3.9.1
- build from source from #10920

K8S version: v1.21.9 deployed using RKE1 (from Rancher)

Helm command:

helm upgrade --install --atomic -n "helm-wait-tester" --version "0.2.7" "helm-wait-tester" api -f "values/common.yaml"

Here are the manifests I got using helm template:

Manifests
---
# Source: api/templates/secrets.yaml
apiVersion: v1
kind: Secret
metadata:
  name: helm-wait-tester
  labels:
    helm.sh/chart: api-0.2.7
    app.kubernetes.io/name: helm-wait-tester
    app.kubernetes.io/fullname: helm-wait-tester
    app.kubernetes.io/instance: helm-wait-tester
    app.kubernetes.io/managed-by: Helm
type: Opaque
data:
---
# Source: api/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
  name: helm-wait-tester
  labels:
    helm.sh/chart: api-0.2.7
    app.kubernetes.io/name: helm-wait-tester
    app.kubernetes.io/fullname: helm-wait-tester
    app.kubernetes.io/instance: helm-wait-tester
    app.kubernetes.io/managed-by: Helm
spec:
  type: ClusterIP
  ports:
    - port: 80
      nodePort: null
      targetPort: 80
      name: web
  selector:
    app.kubernetes.io/name: helm-wait-tester
---
# Source: api/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: helm-wait-tester
  labels:
    helm.sh/chart: api-0.2.7
    app.kubernetes.io/name: helm-wait-tester
    app.kubernetes.io/fullname: helm-wait-tester
    app.kubernetes.io/instance: helm-wait-tester
    app.kubernetes.io/managed-by: Helm
spec:
  replicas: 10
  strategy:
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 1
    type: RollingUpdate
  selector:
    matchLabels:
      app.kubernetes.io/name: helm-wait-tester
      app.kubernetes.io/fullname: helm-wait-tester
      app.kubernetes.io/instance: helm-wait-tester
  template:
    metadata:
      labels:
        app.kubernetes.io/name: helm-wait-tester
        app.kubernetes.io/fullname: helm-wait-tester
        app.kubernetes.io/instance: helm-wait-tester
    spec:
      containers:
        - name: api
          image: "gitlab.xxx.com/nginx-helm-wait-tester:819b5970"
          imagePullPolicy: IfNotPresent
          ports:
          - name: web
            containerPort: 80
          env:
          - name: START_SLEEP_TIME
            value: "25"
          livenessProbe:
            httpGet:
              path: /
              port: web
          readinessProbe:
            httpGet:
              path: /
              port: web
          resources:
            limits:
              memory: 1024Mi
            requests:
              cpu: 200m
              memory: 512Mi
---
# Source: api/templates/ingresses.yaml
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: helm-wait-tester-web
  labels:
    helm.sh/chart: api-0.2.7
    app.kubernetes.io/name: helm-wait-tester
    app.kubernetes.io/fullname: helm-wait-tester
    app.kubernetes.io/instance: helm-wait-tester
    app.kubernetes.io/managed-by: Helm
  annotations:
spec:
  rules:
    - host: "helm-wait-tester.internal.READCTED.com"
      http:
        paths:
          - path: "/"
            backend:
              serviceName: helm-wait-tester
              servicePort: web
---
# Source: api/templates/tests/test.yaml
apiVersion: v1
kind: Pod
metadata:
  name: helm-wait-tester-test
  annotations:
    "helm.sh/hook": test
spec:
  containers:
    - name: helm-wait-tester-test
      image: "curlimages/curl:latest"
      imagePullPolicy: Always
      command:
        - curl
        - -L
        - http://helm-wait-tester:80/
  restartPolicy: Never

Let me know if you need anything else :)

@joejulian joejulian added bug Categorizes issue or PR as related to a bug. unconfirmed labels Sep 2, 2022
@github-actions
Copy link

github-actions bot commented Dec 2, 2022

This issue has been marked as stale because it has been open for 90 days with no activity. This thread will be automatically closed in 30 days if no further activity occurs.

@github-actions github-actions bot added the Stale label Dec 2, 2022
@github-actions github-actions bot closed this as completed Jan 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Categorizes issue or PR as related to a bug. Stale unconfirmed
Projects
None yet
Development

No branches or pull requests

2 participants