You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
What version of operator are you using?
commit 561cf47d783c368fd8795acb82a5a39099a35984 (HEAD -> master)
What operating system and processor architecture are you using (kubectl version)?
Ubuntu. 20.04
kubectl version Output
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"24", GitVersion:"v1.24.0", GitCommit:"4ce5a8954017644c5420bae81d72b09b735c21f0", GitTreeState:"clean", BuildDate:"2022-05-03T13:46:05Z", GoVersion:"go1.18.1", Compiler:"gc", Platform:"darwin/amd64"}
Kustomize Version: v4.5.4
Server Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.9", GitCommit:"6df4433e288edc9c40c2e344eb336f63fad45cd2", GitTreeState:"clean", BuildDate:"2022-05-19T19:53:08Z", GoVersion:"go1.16.15", Compiler:"gc", Platform:"linux/amd64"}
WARNING: version difference between client (1.24) and server (1.22) exceeds the supported minor version skew of +/-1
What did you do?
We found that crdb-operator will crash if we do not supply version for cockroachdb image. We supplied cockroachdb/cockroach for the spec.image field, and the operator crashes at this line
Reproduce
We first applied the operator yaml file and crd yaml file to deploy the operator.
Then we applied the following cr.yaml file to deploy the cockroachdb cluster:
by using kubectl apply -f cr.yaml -n cockroach-operator-system
Possible root cause
It seems that the cockroach operator has assumed that there will always be a colon in the image name, as this line suggests. There is no code preventing the program from crashing if an image name without a colon is provided. And if the image name does not have a colon, there will be an "index going out of range" error.
This is a bug, since crashing behavior is considered as bad behavior. There should be a sanity check to examine the validation of the image name, at least not let the program crash.
The text was updated successfully, but these errors were encountered:
tylergu
changed the title
[cockroach operator] The program crashes if the image name is invalid
[cockroach operator] The program crashes if the image name does not contain colon
Jun 16, 2022
@unw9527 , the developers seem to be happy with the PR, but they are asking for a test case for the PR. Could you write a unittest for this? Let me know if you need help on this
What version of operator are you using?
commit 561cf47d783c368fd8795acb82a5a39099a35984 (HEAD -> master)
What operating system and processor architecture are you using (
kubectl version
)?Ubuntu. 20.04
kubectl version
OutputWhat did you do?
We found that crdb-operator will crash if we do not supply version for cockroachdb image. We supplied
cockroachdb/cockroach
for thespec.image
field, and the operator crashes at this lineReproduce
We first applied the operator yaml file and crd yaml file to deploy the operator.
Then we applied the following cr.yaml file to deploy the cockroachdb cluster:
by using
kubectl apply -f cr.yaml -n cockroach-operator-system
cr.yaml:
What did you see?
The operator crashes.
Possible root cause
It seems that the cockroach operator has assumed that there will always be a colon in the image name, as this line suggests. There is no code preventing the program from crashing if an image name without a colon is provided. And if the image name does not have a colon, there will be an "index going out of range" error.
This is a bug, since crashing behavior is considered as bad behavior. There should be a sanity check to examine the validation of the image name, at least not let the program crash.
The text was updated successfully, but these errors were encountered: