-
Notifications
You must be signed in to change notification settings - Fork 42
panic: runtime error: index out of range #37
Comments
Hi Chris, I think the issue is that the registry url that is passed in is not being used by Docker when it tags the image. You can try the '--skip-registry-push' option and see if that gets you farther. I believe you will get all the images generated and the manifests as well. You can then do a manual push to get the images into the registry and then update the manifests to have the correct image location. In this case, there should only be three image locations to update. Cheers! Jon |
Hi Jon, thanks for your help.
With this call, it built image "sas-viya-httpproxy"... didn't push it to the docker registry, so I did that manually with no problems. Ran the command above a second time and it built the image "sas-viya-sas-casserver-primary". Successfully built 2 of 3 images by now. Ran the command above a third time then and expected the third image "sas-viya-programming" to be built.... didn't happen though, it built "sas-viya-sas-casserver-primary" a second time in spite of the fact that I followed the same steps as with the first image. Now I'm stuck with multiple "sas-viya-sas-casserver-primary" images and it won't progress with the build of the last image. Any ideas? Thanks and best regards, Chris |
I just checked the created manifests:
and found an inconsistency. httpproxy.yml:
programming.yml:
cas.yml:
Don't know if that's for any use, but I expected "app:" and "name" being "sas-viya-sas-casserver-primary", not only "sas-viya-cas". Thanks again! Chris |
Hi Chris, I am a little confused by what you have provided. You should not have had to run the build three times. A one time run should have created the three images. I am glad that you got the three images though! In regards to the unexpected name of the "app" for CAS, this was done on purpose. The Docker image created is sas-casserver-primary and it is used as a controller and worker. The name of the pods is sas-viya-cas because there was an issue in the "full" deployment when sas-viya-sas-casserver-primary was used. We shortened it for the full deployment and to keep things in sync, we did the same for the multiple deployment. If you run a MPP mode you will see "sas_viya"cas" and "sas-viya-cas-worker" as the pod names. Apologies for the confusion. Cheers, Jon |
We did some serious go debugging today and we found something, which helps us to workaround the error. As mentioned in the log, the error occurs in order.go line 688.
In our case, What we did next was to remove the filter in First run: all three images were created. Than I removed all the images and did the build without the skipping.
Went through without any error, also pushed the three images to docker hub. But why does the filter not work / why is When checking the images with a grep, all images were displayed:
When doing this with the filter, it does only show one image:
Even with a completely wildcarded filter, it doesn't show all containers:
The images
are not listed. We think, that might be a bug in dockers cli... What I really can't tell is, why nobody else is facing that problem... Best regards, Chris |
Hi Chris, Thanks for the feedback. We can take a look and see about adjusting the code to what you found. The issue I think is using DockerHub as the registry. It looks like the Docker API drops the registry when Docker Hub is used which is what messes up the code. The image created does not contain the registry and we are expecting the registry to be a part of the image name. We have kept out of pushing to DockerHub as the image is publicly available at that point, unless you have you have a private account. All of our testing is with private Docker registries. Thank you again for the code and we will look and see if we can add some logic in to help with interacting with DockerHub. You may want to check your manifests as I suspect that the image they will try to pull down is not correct. Cheers, Jon |
Hi Jon, I was not aware of the API problems when using DockerHub, although I did set my registry to "private" already...
the build process completes without an error. I'm very happy about finally being able to build the images :-) Thanks for your help! Chris |
Hi guys,
sas support sent me here and asked if I could submit a new issue.
Building a --type single image and running it works fine.
When trying to build a --type multiple or --type full, I always get the following error:
Not sure, what information to add... sas support told me, he would link this newly created issue to the internal support ticket.
I tried this with CentOS 7.5 in a VirtualBox on my laptop, with CentOS 7.6 in Azure and with RHEL 7.5 in Azure.
I added the following to line 679 in file order.go:
Output was
The image is there, yet not pushed to the docker registry.
A simple
works fine
Tried this with docker hub (--docker-registry-url https://index.docker.io/v1/, also tried index.docker.io and https://index.docker.io) as well as a local registry running in a container.
I'm no go expert so debugging is kinda hard for me... besides, I don't really have a clue what I should check.
This is my build last command:
Tried it with yum repo mirrored by SimpleHTTPServer as well as httpd with disabled selinux.
Tried it without mirror leading to a overflowing sas download counter, because - how sas support explained it - every image being build increments the counter... hence the mirror.
Any thoughts?
Thanks!
Chris
The text was updated successfully, but these errors were encountered: