Uploaded image for project: 'OpenShift GitOps'
  1. OpenShift GitOps
  2. GITOPS-3285

Helm charts fail to render with kustomize due to "incompatible" kubernetes version

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Normal
    • None
    • 1.9.1
    • None
    • False
    • None
    • False

    Description

      Description of problem:

      When trying to render a helm chart using kustomize that includes a "kubeVersion" specification in the Chart.yaml, argocd throws an error that the Kubernetes version is incompatible. It is saying that the Kubernetes version is v1.20.0 even though it is running on an OCP 4.10 cluster which uses a much newer Kubernetes version.

      Prerequisites (if any, like setup, operators/versions):

      **

      Gitops v1.9.1

      Steps to Reproduce

      Try to use this kustomization.yml file in an argocd project:

      helmCharts:
        - name: linkerd2-cni
          releaseName: linkerd2-cni
          repo: https://helm.linkerd.io/stable
          version: 30.3.5
          namespace: linkerd-cni 

      Was also able to reproduce this in a podman container using these commands:

      podman run --rm -it registry.redhat.io/openshift-gitops-1/argocd-rhel8@sha256:cf44b39d1aae7ea2bbb3f7b10b3df98d29e8a1efbde3b002beaa2a00e638316c /bin/bash
      cat > kustomization.yml << EOF
      
      helmCharts:
        - name: linkerd2-cni
          releaseName: linkerd2-cni
          repo: https://helm.linkerd.io/stable
          version: 30.3.5
          namespace: linkerd-cni
      
      EOF
      
      kustomize build --enable-helm /tmp/ 

      Appears to be a bug with the version of helm included in the container. Using other versions of helm downloaded from https://mirror.openshift.com/pub/openshift-v4/clients/helm/ do not seem to throw this same error when used with `oc kustomize`[ |https://mirror.openshift.com/pub/openshift-v4/clients/helm/]

       

      Actual results:

      **

      Error: Error: chart requires kubeVersion: >=1.21.0-0 which is incompatible with Kubernetes v1.20.0
      
      Use --debug flag to render out invalid YAML
      : unable to run: 'helm template linkerd2-cni /tmp/charts/linkerd2-cni --namespace linkerd-cni -f /tmp/kustomize-helm-1688488041/linkerd2-cni-kustomize-values.yaml' with env=[HELM_CONFIG_HOME=/tmp/kustomize-helm-1688488041/helm HELM_CACHE_HOME=/tmp/kustomize-helm-1688488041/helm/.cache HELM_DATA_HOME=/tmp/kustomize-helm-1688488041/helm/.data] (is 'helm' installed?)

      Expected results:

      Helm chart renders correctly in argo

      Reproducibility (Always/Intermittent/Only Once):

      Always

      Acceptance criteria: 

       

      Definition of Done:

      Build Details:

      Additional info (Such as Logs, Screenshots, etc):

       

       *

      Attachments

        Activity

          People

            jrao@redhat.com Jaideep Rao
            jadolph@redhat.com Jack Adolph
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated: