Skip to content

Commit 32f7963

Browse files
committed
Fixing imageID retrieval issue when sidecars are injected (w/ Istio in mind).
1 parent 097f44e commit 32f7963

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

pkg/deployment/images.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ func (ib *imagesBuilder) fetchArangoDBImageIDAndVersion(ctx context.Context, ima
119119
log.Warn().Msg("Empty list of ContainerStatuses")
120120
return true, nil
121121
}
122-
imageID := k8sutil.ConvertImageID2Image(pod.Status.ContainerStatuses[0].ImageID)
122+
imageID := k8sutil.GetArangoDBImageIDFromPod(pod)
123123
if imageID == "" {
124124
// Fall back to specified image
125125
imageID = image

pkg/util/k8sutil/images.go

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,11 @@
2222

2323
package k8sutil
2424

25-
import "strings"
25+
import (
26+
"strings"
27+
28+
corev1 "k8s.io/api/core/v1"
29+
)
2630

2731
const (
2832
dockerPullableImageIDPrefix = "docker-pullable://"
@@ -36,3 +40,16 @@ func ConvertImageID2Image(imageID string) string {
3640
}
3741
return imageID
3842
}
43+
44+
// GetArangoDBImageIDFromPod returns the ArangoDB specific image from a pod
45+
func GetArangoDBImageIDFromPod(pod *corev1.Pod) string {
46+
rawImageID := pod.Status.ContainerStatuses[0].ImageID
47+
if len(pod.Status.ContainerStatuses) > 1 {
48+
for _, containerStatus := range pod.Status.ContainerStatuses {
49+
if strings.Contains(containerStatus.ImageID, "arango") {
50+
rawImageID = containerStatus.ImageID
51+
}
52+
}
53+
}
54+
return ConvertImageID2Image(rawImageID)
55+
}

0 commit comments

Comments
 (0)