Help installing spinnaker via helm chart


#1

I tried creating a helm values file, with a customized kubeconfig, minio access and secret, quay registry credentials and a few other tidbits. I was following the kube source to prod, and I’m stumped. I am able to create an nginx application, but when I click on load balancer and and then click ‘create load balancer’, I see an XHR request successfully receive an empty array… Within the JS console I see

TypeError: _this.cloudProviderRegistry.getProvider(...) is null
Stack trace:
selectVersion/<@http://127.0.0.1:9000/app.js:53624:28
u@http://127.0.0.1:9000/vendor.bundle.js:55:67746
l/<@http://127.0.0.1:9000/vendor.bundle.js:55:68168
On/this.$get</d.prototype.$digest@http://127.0.0.1:9000/vendor.bundle.js:55:73783
On/this.$get</d.prototype.$evalAsync/<@http://127.0.0.1:9000/vendor.bundle.js:55:75407
i@http://127.0.0.1:9000/vendor.bundle.js:55:21726
he/l.defer/n<@http://127.0.0.1:9000/vendor.bundle.js:55:23190
 Possibly unhandled rejection: {}

My helm values


storageBucket: org-spinnaker

minio:
  accessKey: key
  secretKey: secret

accounts:
- name: quay
  address: https://quay.io
  repositories:
    - org/image
  username: org+jenkins
  password: PW

kubeConfig:
  enabled: true
  secretName: my-kubeconfig
  secretKey: config
  contexts:
    - dev
    - prod
    - staging

images:
  clouddriver: gcr.io/spinnaker-marketplace/clouddriver:2.0.0-20180221152902
  echo: gcr.io/spinnaker-marketplace/echo:0.8.0-20180221133510
  deck: gcr.io/spinnaker-marketplace/deck:2.1.0-20180221143146
  igor: gcr.io/spinnaker-marketplace/igor:0.9.0-20180221133510
  orca: gcr.io/spinnaker-marketplace/orca:0.10.0-20180221133510
  gate: gcr.io/spinnaker-marketplace/gate:0.10.0-20180221133510
  front50: gcr.io/spinnaker-marketplace/front50:0.9.0-20180221133510
  rosco: gcr.io/spinnaker-marketplace/rosco:0.5.0-20180221133510

deck:
  host: localhost
  port: 9000
  protocol: http
  ingress:
    enabled: true
        tls:
      - secretName: my-tls
        hosts:
          - spinnaker.example.com
    annotations:
      ingress.kubernetes.io/whitelist-source-range: >
        1.2.3.4,
        5.6.7.8

#2

The Spinnaker team doesn’t maintain the helm chart so we won’t be of much help. Maybe someone else in the forumn has gotten past this?

FWIW I know the helm chart is being rewritten to take a more Spinnaker-pragmatic approach that relies on halyard under the hood to avoid some of these configuration nightmares.


#3

Fair enough, any thoughts on where I might start to debug this?

Also, is this a red herring?

2018-06-18 14:21:19.052 ERROR 1 --- [ecutionAction-1] .d.r.p.a.DockerRegistryImageCachingAgent : Could not load tags for adaptly/dockerfiles

retrofit.RetrofitError: timeout
        at retrofit.RetrofitError.networkError(RetrofitError.java:27) ~[retrofit-1.9.0.jar:na]
        at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:395) ~[retrofit-1.9.0.jar:na]
        at retrofit.RestAdapter$RestHandler.invoke(RestAdapter.java:240) ~[retrofit-1.9.0.jar:na]
        at com.sun.proxy.$Proxy125.getTags(Unknown Source) ~[na:na]
        at com.netflix.spinnaker.clouddriver.docker.registry.api.v2.client.DockerRegistryClient$DockerRegistryService$getTags.call(Unknown Source) ~[na:na]
        at com.netflix.spinnaker.clouddriver.docker.registry.api.v2.client.DockerRegistryClient$_getTags_closure12.doCall(DockerRegistryClient.groovy:340) ~[clouddriver-docker-1.775.0-SNAPSHOT.jar:1.775.0-SNAPSHOT]
        at sun.reflect.GeneratedMethodAccessor123.invoke(Unknown Source) ~[na:na]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_151]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_151]
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) ~[groovy-all-2.4.12.jar:2.4.12]
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) ~[groovy-all-2.4.12.jar:2.4.12]
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294) ~[groovy-all-2.4.12.jar:2.4.12]
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1022) ~[groovy-all-2.4.12.jar:2.4.12]
        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:42) ~[groovy-all-2.4.12.jar:2.4.12]
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125) [groovy-all-2.4.12.jar:2.4.12]
        at com.netflix.spinnaker.clouddriver.docker.registry.api.v2.client.DockerRegistryClient.request(DockerRegistryClient.groovy:400) ~[clouddriver-docker-1.775.0-SNAPSHOT.jar:1.775.0-SNAPSHOT]
        at com.netflix.spinnaker.clouddriver.docker.registry.api.v2.client.DockerRegistryClient$request$0.callCurrent(Unknown Source) ~[na:na]
        at com.netflix.spinnaker.clouddriver.docker.registry.api.v2.client.DockerRegistryClient.getTags(DockerRegistryClient.groovy:335) ~[clouddriver-docker-1.775.0-SNAPSHOT.jar:1.775.0-SNAPSHOT]
        at com.netflix.spinnaker.clouddriver.docker.registry.api.v2.client.DockerRegistryClient.getTags(DockerRegistryClient.groovy) ~[clouddriver-docker-1.775.0-SNAPSHOT.jar:1.775.0-SNAPSHOT]
        at com.netflix.spinnaker.clouddriver.docker.registry.api.v2.client.DockerRegistryClient$getTags.call(Unknown Source) ~[na:na]
        at com.netflix.spinnaker.clouddriver.docker.registry.provider.agent.DockerRegistryImageCachingAgent$_loadTags_closure2.doCall(DockerRegistryImageCachingAgent.groovy:97) ~[clouddriver-docker-1.775.0-SNAPSHOT.jar:1.775.0-SNAPSHOT]
        at sun.reflect.GeneratedMethodAccessor104.invoke(Unknown Source) ~[na:na]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_151]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_151]
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) ~[groovy-all-2.4.12.jar:2.4.12]
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) ~[groovy-all-2.4.12.jar:2.4.12]
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294) ~[groovy-all-2.4.12.jar:2.4.12]
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1022) ~[groovy-all-2.4.12.jar:2.4.12]
        at groovy.lang.Closure.call(Closure.java:414) [groovy-all-2.4.12.jar:2.4.12]
        at groovy.lang.Closure.call(Closure.java:430) [groovy-all-2.4.12.jar:2.4.12]
        at org.codehaus.groovy.runtime.DefaultGroovyMethods.collectEntries(DefaultGroovyMethods.java:3664) [groovy-all-2.4.12.jar:2.4.12]
        at org.codehaus.groovy.runtime.DefaultGroovyMethods.collectEntries(DefaultGroovyMethods.java:3571) [groovy-all-2.4.12.jar:2.4.12]
        at org.codehaus.groovy.runtime.DefaultGroovyMethods.collectEntries(DefaultGroovyMethods.java:3596) [groovy-all-2.4.12.jar:2.4.12]
        at org.codehaus.groovy.runtime.dgm$74.invoke(Unknown Source) [groovy-all-2.4.12.jar:2.4.12]
        at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:274) [groovy-all-2.4.12.jar:2.4.12]
        at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:56) [groovy-all-2.4.12.jar:2.4.12]
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125) [groovy-all-2.4.12.jar:2.4.12]
        at com.netflix.spinnaker.clouddriver.docker.registry.provider.agent.DockerRegistryImageCachingAgent.loadTags(DockerRegistryImageCachingAgent.groovy:89) [clouddriver-docker-1.775.0-SNAPSHOT.jar:1.775.0-SNAPSHOT]
        at com.netflix.spinnaker.clouddriver.docker.registry.provider.agent.DockerRegistryImageCachingAgent.loadData(DockerRegistryImageCachingAgent.groovy:73) [clouddriver-docker-1.775.0-SNAPSHOT.jar:1.775.0-SNAPSHOT]
        at com.netflix.spinnaker.cats.agent.CachingAgent$CacheExecution.executeAgentWithoutStore(CachingAgent.java:79) [cats-core-1.775.0-SNAPSHOT.jar:1.775.0-SNAPSHOT]
        at com.netflix.spinnaker.cats.agent.CachingAgent$CacheExecution.executeAgent(CachingAgent.java:72) [cats-core-1.775.0-SNAPSHOT.jar:1.775.0-SNAPSHOT]
        at com.netflix.spinnaker.cats.redis.cluster.ClusteredAgentScheduler$AgentExecutionAction.execute(ClusteredAgentScheduler.java:272) [cats-redis-1.775.0-SNAPSHOT.jar:1.775.0-SNAPSHOT]
        at com.netflix.spinnaker.cats.redis.cluster.ClusteredAgentScheduler$AgentJob.run(ClusteredAgentScheduler.java:246) [cats-redis-1.775.0-SNAPSHOT.jar:1.775.0-SNAPSHOT]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_151]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_151]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_151]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_151]
        at java.lang.Thread.run(Thread.java:748) [na:1.8.0_151]
Caused by: java.net.SocketTimeoutException: timeout
        at okio.Okio$4.newTimeoutException(Okio.java:230) ~[okio-1.13.0.jar:na]
        at okio.AsyncTimeout.exit(AsyncTimeout.java:285) ~[okio-1.13.0.jar:na]
        at okio.AsyncTimeout$2.read(AsyncTimeout.java:241) ~[okio-1.13.0.jar:na]
        at okio.RealBufferedSource.indexOf(RealBufferedSource.java:345) ~[okio-1.13.0.jar:na]
        at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:217) ~[okio-1.13.0.jar:na]
        at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:211) ~[okio-1.13.0.jar:na]
        at com.squareup.okhttp.internal.http.Http1xStream.readResponse(Http1xStream.java:186) ~[okhttp-2.7.5.jar:na]
        at com.squareup.okhttp.internal.http.Http1xStream.readResponseHeaders(Http1xStream.java:127) ~[okhttp-2.7.5.jar:na]
        at com.squareup.okhttp.internal.http.HttpEngine.readNetworkResponse(HttpEngine.java:737) ~[okhttp-2.7.5.jar:na]
        at com.squareup.okhttp.internal.http.HttpEngine.access$200(HttpEngine.java:87) ~[okhttp-2.7.5.jar:na]
        at com.squareup.okhttp.internal.http.HttpEngine$NetworkInterceptorChain.proceed(HttpEngine.java:722) ~[okhttp-2.7.5.jar:na]
        at com.squareup.okhttp.internal.http.HttpEngine.readResponse(HttpEngine.java:576) ~[okhttp-2.7.5.jar:na]
        at com.squareup.okhttp.Call.getResponse(Call.java:287) ~[okhttp-2.7.5.jar:na]
        at com.squareup.okhttp.Call$ApplicationInterceptorChain.proceed(Call.java:243) ~[okhttp-2.7.5.jar:na]
        at com.squareup.okhttp.Call.getResponseWithInterceptorChain(Call.java:205) ~[okhttp-2.7.5.jar:na]
        at com.squareup.okhttp.Call.execute(Call.java:80) ~[okhttp-2.7.5.jar:na]
        at retrofit.client.OkClient.execute(OkClient.java:53) ~[retrofit-1.9.0.jar:na]
        at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:326) ~[retrofit-1.9.0.jar:na]
        ... 46 common frames omitted
Caused by: java.net.SocketException: Socket closed
        at java.net.SocketInputStream.read(SocketInputStream.java:204) ~[na:1.8.0_151]
        at java.net.SocketInputStream.read(SocketInputStream.java:141) ~[na:1.8.0_151]
        at sun.security.ssl.InputRecord.readFully(InputRecord.java:465) ~[na:1.8.0_151]
        at sun.security.ssl.InputRecord.read(InputRecord.java:503) ~[na:1.8.0_151]
        at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:983) ~[na:1.8.0_151]
        at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:940) ~[na:1.8.0_151]
        at sun.security.ssl.AppInputStream.read(AppInputStream.java:105) ~[na:1.8.0_151]
        at okio.Okio$2.read(Okio.java:139) ~[okio-1.13.0.jar:na]
        at okio.AsyncTimeout$2.read(AsyncTimeout.java:237) ~[okio-1.13.0.jar:na]
        ... 61 common frames omitted


#4

That’s definitely a problem – but probably not what’s causing this.

I would (to be sure) remove the docker account, and upgrade the k8s account to use the “providerVersion: v2” flag and redeploy to see if it goes away. The reason for using “v2” is remove the dependency on docker accounts.


#5

Moved the issue and a hacky solution on to github