Spinnaker is not able to download helm charts from Artifactory

12/17/2020

Description: Spinnaker is unable to download helm-charts from a configured Artifactory source.

Here's the stack trace log from the clouddriver pod -

WARN 1 --- [0.0-7002-exec-5] c.n.s.k.w.e.GenericExceptionHandlers : Handled error in generic exception handler\n\ncom.netflix.spinnaker.kork.web.exceptions.NotFoundException: Failed to download chart names for 'helm-virtual' account\n\tat

Stack trace

com.netflix.spinnaker.kork.web.exceptions.NotFoundException: Failed to download chart names for 'helm-virtual' account at com.netflix.spinnaker.clouddriver.artifacts.helm.HelmArtifactCredentials.getArtifactNames(HelmArtifactCredentials.java:75) ~clouddriver-artifacts.jar:na at com.netflix.spinnaker.clouddriver.controllers.ArtifactController.getNames(ArtifactController.java:73) ~clouddriver-web.jar:na at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~na:na at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~na:na at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~na:na at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~na:na at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) ~spring-web-5.2.4.RELEASE.jar:5.2.4.RELEASE

This works on another Spinnaker deployment with the same version and Artifactory source.

Steps to Reproduce:

https://spinnaker-gate-url/artifacts/account/gd-helm-virtual/names?type=helm%2Fchart returns

{"timestamp":1608171853207,"status":404,"error":"Not Found","message":"404 ","body":"{"error":"Not Found","message":"Failed to download chart names for 'gd-helm-virtual' account","status":404,"timestamp":"2020-12-17T02:24:13.202+00:00"}","url":"http://spin-clouddriver.spinnaker:7002/artifacts/account/helm-virtual/names?type=helm%2Fchart"}

Additional Details: hal config artifact helm enable was configured and the Artifactory URL doesn't require Basic Auth.

Spinnaker version 1.22.1 halyard 1.40.0

-- A Null Pointer
kubernetes
spinnaker
spinnaker-halyard

1 Answer

12/17/2020

Figured out the problem. The Spinnaker clouddriver pods needed to be patched with the right dnsConfig

kubectl -n spinnaker patch deployment spin-clouddriver --patch '{"spec":{"template":{"spec":{"dnsConfig":{"options":[{"name":"ndots","value":"2"}]}}}}}'
-- A Null Pointer
Source: StackOverflow