OctopusDeploy / Issues

| Public | Bug reports and known issues for Octopus Deploy and all related tools
https://octopus.com
162 stars 20 forks source link

Octostache variables no longer evaluated during Deploy a HELM chart #9223

Open garrettdass opened 2 weeks ago

garrettdass commented 2 weeks ago

Severity

Blocking

Version

2025.1.7128

Latest Version

None

What happened?

When using variables in Template values on step Deploy a HELM chart, they are not evaluated as expected and print as the unevaluated string:

Image

Image

Unable to find file values/#{Octopus.Environment.Name}.yaml for package nginx v18.2.2 Unable to find file #{Project.HelmYamlFile} for package nginx v18.2.2

Previous versions evaluate correctly and allow the deployment to continue:

Unable to find file values/dev.yaml for package nginx v18.2.2

Reproduction

Internal instance link to repro.

Error and Stacktrace

22:42:32   Verbose  |       Unable to find values files at path `values/#{Octopus.Environment.Name | ToLower}.yaml`. Chart package contains root directory with chart name, so looking for values in there.
22:42:32   Verbose  |       Calamari.Common.Commands.CommandException: Unable to find file `values/#{Octopus.Environment.Name | ToLower}.yaml` for package nginx v18.2.2
22:42:32   Verbose  |       at Calamari.Kubernetes.Helm.PackageValuesFileWriter.FindPackageValuesFiles(RunningDeployment deployment, ICalamariFileSystem fileSystem, ILog log, String valuesFilePaths, String packageId, String packageName, Boolean logIncludedFiles) in C:\BuildAgent\work\e61a42f6adc5dcb6\source\Calamari\Kubernetes\Helm\PackageValuesFileWriter.cs:line 99
22:42:32   Verbose  |       at Calamari.Kubernetes.Helm.HelmTemplateValueSourcesParser.ParseFilenamesFromTemplateValuesArray(RunningDeployment deployment, IEnumerable`1 parsedJsonArray, Boolean logIncludedFiles) in C:\BuildAgent\work\e61a42f6adc5dcb6\source\Calamari\Kubernetes\Helm\HelmTemplateValueSourcesParser.cs:line 73
22:42:32   Verbose  |       at Calamari.Kubernetes.Helm.HelmTemplateValueSourcesParser.ParseTemplateValuesFilesFromDependencies(RunningDeployment deployment, Boolean logIncludedFiles) in C:\BuildAgent\work\e61a42f6adc5dcb6\source\Calamari\Kubernetes\Helm\HelmTemplateValueSourcesParser.cs:line 52
22:42:32   Verbose  |       at Calamari.Kubernetes.Commands.HelmUpgradeCommand.TemplateValuesFiles(RunningDeployment deployment) in C:\BuildAgent\work\e61a42f6adc5dcb6\source\Calamari\Kubernetes\Commands\HelmUpgradeCommand.cs:line 202
22:42:32   Verbose  |       at Calamari.Kubernetes.Commands.HelmUpgradeCommand.<Execute>b__14_2(RunningDeployment d) in C:\BuildAgent\work\e61a42f6adc5dcb6\source\Calamari\Kubernetes\Commands\HelmUpgradeCommand.cs:line 113
22:42:32   Verbose  |       at Calamari.Commands.DelegateInstallConvention.Install(RunningDeployment deployment) in C:\BuildAgent\work\e61a42f6adc5dcb6\source\Calamari.Shared\Commands\DelegateInstallConvention.cs:line 18
22:42:32   Verbose  |       at Calamari.Deployment.ConventionProcessor.RunInstallConventions(IEnumerable`1 installConventions) in C:\BuildAgent\work\e61a42f6adc5dcb6\source\Calamari.Shared\Deployment\ConventionProcessor.cs:line 80
22:42:32   Verbose  |       at Calamari.Deployment.ConventionProcessor.RunConventions(Boolean logExceptions) in C:\BuildAgent\work\e61a42f6adc5dcb6\source\Calamari.Shared\Deployment\ConventionProcessor.cs:line 31
22:42:32   Error    |       Unable to find file `values/#{Octopus.Environment.Name | ToLower}.yaml` for package nginx v18.2.2

More Information

Likely related to: https://github.com/OctopusDeploy/Calamari/pull/1426 Internal ticket

No response

Workaround

Hardcode the variable instead.

kevjt commented 2 weeks ago

Duplicate of #9224