Skip to content

Can't upgrade Linkerd from edge 20.5.3 to 20.5.4 due to render error #4471

@scottcarol

Description

@scottcarol

Bug Report

What is the issue?

When upgrading from 20.5.3 to 20.5.4, I am getting the following error after running linkerd upgrade:

× Could not render upgrade configuration: render error in "grafana/templates/grafana.yaml": template: grafana/templates/grafana.yaml:124:24: executing "grafana/templates/grafana.yaml" at <.Values.image.name>: can't evaluate field name in type interface {}
For troubleshooting help, visit: https://linkerd.io/upgrade/#troubleshooting

How can it be reproduced?

curl https://run.linkerd.io/install-edge | sh -
linkerd upgrade --context $CLUSTER --ha | kubectl --context $CLUSTER apply -f -

Logs, error output, etc

See above

linkerd check output

$ linkerd check
kubernetes-api
--------------
√ can initialize the client
√ can query the Kubernetes API

kubernetes-version
------------------
√ is running the minimum Kubernetes API version
√ is running the minimum kubectl version

linkerd-existence
-----------------
√ 'linkerd-config' config map exists
√ heartbeat ServiceAccount exist
√ control plane replica sets are ready
√ no unschedulable pods
√ controller pod is running
√ can initialize the client
√ can query the control plane API

linkerd-config
--------------
√ control plane Namespace exists
√ control plane ClusterRoles exist
√ control plane ClusterRoleBindings exist
√ control plane ServiceAccounts exist
√ control plane CustomResourceDefinitions exist
√ control plane MutatingWebhookConfigurations exist
√ control plane ValidatingWebhookConfigurations exist
√ control plane PodSecurityPolicies exist

linkerd-identity
----------------
√ certificate config is valid
√ trust anchors are using supported crypto algorithm
√ trust anchors are within their validity period
√ trust anchors are valid for at least 60 days
√ issuer cert is using supported crypto algorithm
√ issuer cert is within its validity period
√ issuer cert is valid for at least 60 days
√ issuer cert is issued by the trust anchor

linkerd-api
-----------
√ control plane pods are ready
√ control plane self-check
√ [kubernetes] control plane can talk to Kubernetes
√ [prometheus] control plane can talk to Prometheus
√ tap api service is running

linkerd-version
---------------
√ can determine the latest version
√ cli is up-to-date

control-plane-version
---------------------
‼ control plane is up-to-date
    is running version 20.5.3 but the latest edge version is 20.5.4
    see https://linkerd.io/checks/#l5d-version-control for hints
‼ control plane and cli versions match
    control plane running edge-20.5.3 but cli running edge-20.5.4
    see https://linkerd.io/checks/#l5d-version-control for hints

linkerd-ha-checks
-----------------
√ pod injection disabled on kube-system
√ multiple replicas of control plane pods

linkerd-addons
--------------
√ linkerd-config-addons config map exists

linkerd-grafana
---------------
√ grafana add-on service account exists
√ grafana add-on config map exists
√ grafana pod is running

Status check results are √

Environment

  • Kubernetes Version: v1.17.0
  • Cluster Environment: (GKE, AKS, kops, ...) AKS
  • Host OS: Mac
  • Linkerd version: 20.5.3

Possible solution

Looks like it targets this line in grafana.yaml: image: {{.Values.grafanaImage}}:{{default .Values.global.linkerdVersion .Values.controllerImageVersion}}

Additional context

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions