Closed
Description
I'm trying to deploy on GKE with istio. The problem occurs specifically because of side-car injection, which isn't unique to istio and is part of Envoy. Because an extra container is injected for traffic proxying, the imageID that the operator gets from the imageID pod ends up being that of the side-car. So the image of the container named 'server' in the final deployment becomes istio/proxyv2@sha..., so the container fails to execute arango commands.
I think I've identified the problem as line 122 in pkg/deployment/images.go:
imageID := k8sutil.ConvertImageID2Image(pod.Status.ContainerStatuses[0].ImageID)
I believe changing this to something like:
rawImageID := pod.Status.ContainerStatuses[0].ImageID
if len(pod.Status.ContainerStatuses)>1 {
for _, containerStatus := range pod.Status.ContainerStatuses {
if strings.Contains(containerStatus.ImageID, "arango"){
rawImageID = containerStatus.ImageID
}
}
}
imageID := k8sutil.ConvertImageID2Image(rawImageID)
should fix this issue.