Sidekiq pod config check error messages do not have a newline between them
Summary
We have a per-pod check for Sidekiq that we haven't defined both queues
and negateQueues
, because you can only define one at a time. When this happens with multiple pods, the message is not formatted correctly: the second 'sidekiq: mixed queues' is on the last line of the first message.
This is a pretty minor bug in the scheme of things, though
Steps to reproduce
Use the configuration below (with -f
) and inspect the output.
Configuration used
gitlab:
sidekiq:
pods:
- name: invalid-1
queues: [merge]
negateQueues: [post_receive]
- name: invalid-2
queues: [merge]
negateQueues: [post_receive]
Current behavior
Error: UPGRADE FAILED: template: gitlab/templates/NOTES.txt:46:3: executing "gitlab/templates/NOTES.txt" at <include "gitlab.checkConfig" .>: error calling include: template: gitlab/templates/_checkConfig.tpl:40:54: executing "gitlab.checkConfig" at <fail>: error calling fail:
CONFIGURATION CHECKS:
sidekiq: mixed queues
It appears you've supplied both `queues` and `negateQueues` for the
pod definition of `invalid-1`. `negateQueues` is not usable if
`queues` is provided. Please use only one.sidekiq: mixed queues
It appears you've supplied both `queues` and `negateQueues` for the
pod definition of `invalid-2`. `negateQueues` is not usable if
`queues` is provided. Please use only one.
Expected behavior
Something like this:
Error: UPGRADE FAILED: template: gitlab/templates/NOTES.txt:46:3: executing "gitlab/templates/NOTES.txt" at <include "gitlab.checkConfig" .>: error calling include: template: gitlab/templates/_checkConfig.tpl:40:54: executing "gitlab.checkConfig" at <fail>: error calling fail:
CONFIGURATION CHECKS:
sidekiq: mixed queues
It appears you've supplied both `queues` and `negateQueues` for the
pod definition of `invalid-1`. `negateQueues` is not usable if
`queues` is provided. Please use only one.
sidekiq: mixed queues
It appears you've supplied both `queues` and `negateQueues` for the
pod definition of `invalid-2`. `negateQueues` is not usable if
`queues` is provided. Please use only one.
Versions
- Chart: master
- Platform:
- Cloud: GKE
- Kubernetes: (
kubectl version
)- Client:
version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.5", GitCommit:"20c265fef0741dd71a66480e35bd69f18351daea", GitTreeState:"clean", BuildDate:"2019-10-15T19:16:51Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"darwin/amd64"}
- Server:
version.Info{Major:"1", Minor:"14+", GitVersion:"v1.14.10-gke.27", GitCommit:"145f9e21a4515947d6fb10819e5a336aff1b6959", GitTreeState:"clean", BuildDate:"2020-02-21T18:01:40Z", GoVersion:"go1.12.12b4", Compiler:"gc", Platform:"linux/amd64"}
- Client:
- Helm: (
helm version
)- Client:
version.BuildInfo{Version:"v3.1.2", GitCommit:"d878d4d45863e42fd5cff6743294a11d28a9abce", GitTreeState:"clean", GoVersion:"go1.13.8"}
- Server: N/A
- Client:
Edited by Sean McGivern