Entering this information will route you directly to the right team and expedite traction.
Question, Bug, or Feature?
Type: Bug
Enter Task Name: HelmInstaller@1
https://github.com/Microsoft/azure-pipelines-tasks/tree/master/Tasks
Server - Azure Pipelines
- If using Azure Pipelines, provide the account name, team project name, build definition name/build number: https://dev.azure.com/cloud-technologies/geo/_build/results?buildId=2097&view=results
Agent - Hosted or Private:
If using Hosted agent, provide agent queue name:
If using private agent, provide the OS of the machine running the agent and the agent version: Private agent, running in a container, based on Ubuntu 18.04
My pipeline contains a HelmInstaller task:
- task: HelmInstaller@1
displayName: 'Install helm'
inputs:
helmVersion: 3.1.0 # supplied from variable group via a template param
During the pipeline execution, the task executes a request to https://api.github.com/repos/helm/helm/releases/latest and retrieves the latest version found in the response (v2.16.3), ignoring the provided parameter
2020-02-17T19:43:30.3384298Z ##[section]Starting: Install helm
2020-02-17T19:43:30.3388065Z ==============================================================================
2020-02-17T19:43:30.3388218Z Task : Helm tool installer
2020-02-17T19:43:30.3388308Z Description : Install Helm on an agent machine
2020-02-17T19:43:30.3388443Z Version : 1.164.0
2020-02-17T19:43:30.3388534Z Author : Microsoft Corporation
2020-02-17T19:43:30.3388668Z Help : https://docs.microsoft.com/azure/devops/pipelines/tasks/tool/helm-installer
2020-02-17T19:43:30.3388760Z ==============================================================================
2020-02-17T19:43:30.5490586Z Downloading: https://api.github.com/repos/helm/helm/releases/latest
2020-02-17T19:43:31.1226895Z Found tool in cache: helm 2.16.3 x64
2020-02-17T19:43:31.1302737Z Prepending PATH environment variable with directory: /azp/_work/_tool/helm/2.16.3/x64/linux-amd64
2020-02-17T19:43:31.1327930Z Verifying helm installation...
2020-02-17T19:43:31.1355158Z [command]/azp/_work/_tool/helm/2.16.3/x64/linux-amd64/helm init --client-only
2020-02-17T19:43:31.2149943Z $HELM_HOME has been configured at /root/.helm.
2020-02-17T19:43:31.2151193Z Not installing Tiller due to 'client-only' flag having been set
2020-02-17T19:43:31.2235368Z ##[section]Finishing: Install helm
I am experiencing this exact issue.
Started last week on Friday.
No matter what version is specified it downloads 2.16.3 anyway.
Get the same issue regardless of what kind of agent I use.
Because of this I can't upgrade our services in Kubernetes.
Get this error because we don't use Tiller:
"##[error]Error: UPGRADE FAILED: configmaps is forbidden: User "system:serviceaccount:kube-system:default" cannot list resource "configmaps" in API group "" in the namespace "kube-system""
This affects my release pipeline too. I set the version to 3.0.3 but that was ignored and it downloaded 2.16.3 anyway.
I did a bit of tracing of the task source and, if it doesn't understand the Helm version or if it's set to "latest" then it goes and asks the GitHub API at https://api.github.com/repos/helm/helm/releases/latest. That is currently 2.16.3 so it explains a little about why it's chosen that version (even though I'd argue it's wrong - 3.1.0 was just released and surely that what "latest" should mean).
Question remains why this task is ignoring the "Helm Version Spec" parameter.
If you guys want, you can use a workaround from @jldeen 's blog:
You'll be ending up with something like this:
- task: Bash@3
displayName: "Install helm (bash)"
inputs:
targetType: "inline"
script: |
helmVersion=helm-v$(HelmVersion)-linux-amd64.tar.gz
wget https://get.helm.sh/$helmVersion
tar xvzf $helmVersion
mv linux-amd64/helm /usr/bin/helm
It works, though I really really with the regular HelmInstaller would do it's job as expected
@mmisztal1980
If you guys want, you can use a workaround from @jldeen 's blog:
You'll be ending up with something like this:
- task: Bash@3 displayName: "Install helm (bash)" inputs: targetType: "inline" script: | helmVersion=helm-v$(HelmVersion)-linux-amd64.tar.gz wget https://get.helm.sh/$helmVersion tar xvzf $helmVersion mv linux-amd64/helm /usr/bin/helmIt works, though I really really with the regular
HelmInstallerwould do it's job as expected
Yes that's the workaround for now.
But I have about 50 release pipelines that will need to be changed and later on changed back, so I hope this will be fixed soon.
just add
checkLatestHelmVersion: false
the latest version is 2.16.3 and when checking will give you the last one
will be nice that check helmversion and then download last major version
if you setup
helmVersion: 3.0.0 => then will check v3 api
helmVersion: 2.0.0 => will check v2 api
@mmisztal1980 the parameter name is helmVersionToInstall not helmVersion
That worked. No idea why I assumed helmVersion in the 1st place
@vithati since this issue wasn't related to the underlying issue, could #12356 be re-opened to address the underlying problem with "latest" github feed?
Most helpful comment
@vithati since this issue wasn't related to the underlying issue, could #12356 be re-opened to address the underlying problem with "latest" github feed?