trident icon indicating copy to clipboard operation
trident copied to clipboard

Registry missing -> ImageInspectError

Open ledroide opened this issue 3 years ago • 1 comments

Describe the bug

Default images do not specify the registry (here docker.io) - leads to ImageInspectError in Kubernetes 1.23.x ; or when security rules deny unspecified registries.

NAME                           READY   STATUS              RESTARTS   AGE
trident-csi-6b47578865-h2n9h   0/6     ImageInspectError   0          1h
trident-csi-88q6s              0/2     ImageInspectError   0          1h
trident-csi-8bcsf              0/2     ImageInspectError   0          1h
trident-csi-dzhgb              0/2     ImageInspectError   0          1h

Environment

  • Kubernetes 1.23.3
  • CRI-o 1.23
  • netapp-trident 22.01.0 installed through the trident installer and tridentctl install <flags>

Expected behavior

Default images should always include the registry

  • docker.io/netapp/trident instead of netapp/trident
  • docker.io/netapp/trident-autosupport instead of netapp/trident-autosupport

Workaround

Note : flags --trident-image and --autosupport-image replace both image names and tags, so we need to specify the tag even when we keep the same tag as the original image. That's why we need to check and register the version before.

$ version=$(curl -s https://api.github.com/repos/NetApp/trident/releases/latest | jq -r '.tag_name' | tr -d '^v') ; echo ${version}
22.01.0
$ tridentctl install --trident-image docker.io/netapp/trident:${version} --autosupport-image docker.io/netapp/trident-autosupport:${version} -n trident

ledroide avatar Feb 04 '22 16:02 ledroide

Issue is half solved in netapp-trident 22..07.0.

Images used in this version are :

  • docker.io/netapp/trident-autosupport:22.07 -> this one had been fixed
  • netapp/trident:22.07.0 -> this one had not been fixed
  • registry.k8s.io/sig-storage/csi-provisioner:v3.2.1
  • registry.k8s.io/sig-storage/csi-attacher:v3.5.0
  • registry.k8s.io/sig-storage/csi-resizer:v1.5.0
  • registry.k8s.io/sig-storage/csi-snapshotter:v6.0.1
$ kubectl get deploy,daemonset,pod -o wide -n trident
NAME                          READY   UP-TO-DATE   AVAILABLE   AGE   CONTAINERS                                                                                  IMAGES                                                                                                                                                                                                                                                                   SELECTOR
deployment.apps/trident-csi   0/1     1            0           53s   trident-main,trident-autosupport,csi-provisioner,csi-attacher,csi-resizer,csi-snapshotter   netapp/trident:22.07.0,docker.io/netapp/trident-autosupport:22.07,registry.k8s.io/sig-storage/csi-provisioner:v3.2.1,registry.k8s.io/sig-storage/csi-attacher:v3.5.0,registry.k8s.io/sig-storage/csi-resizer:v1.5.0,registry.k8s.io/sig-storage/csi-snapshotter:v6.0.1   app=controller.csi.trident.netapp.io

NAME                         DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR                                     AGE   CONTAINERS                      IMAGES                                                                                SELECTOR
daemonset.apps/trident-csi   9         9         0       9            0           kubernetes.io/arch=amd64,kubernetes.io/os=linux   53s   trident-main,driver-registrar   netapp/trident:22.07.0,registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.5.1   app=node.csi.trident.netapp.io

NAME                               READY   STATUS              RESTARTS   AGE   IP               NODE                NOMINATED NODE   READINESS GATES
pod/trident-csi-44gf9              1/2     ImageInspectError   0          53s   10.150.233.54    kube-poc-compute4   <none>           <none>
pod/trident-csi-6b66b99f97-hx7k6   5/6     ImageInspectError   0          53s   10.233.114.134   iqdockerclust1      <none>           <none>
pod/trident-csi-9lkbw              1/2     ImageInspectError   0          53s   10.150.233.42    kube-poc-master2    <none>           <none>
pod/trident-csi-dj56l              1/2     ImageInspectError   0          53s   10.150.233.43    kube-poc-master3    <none>           <none>
pod/trident-csi-dv2kz              1/2     ImageInspectError   0          53s   10.150.233.51    kube-poc-compute1   <none>           <none>
pod/trident-csi-hjm42              1/2     ImageInspectError   0          53s   10.150.232.209   iqdockerclust1      <none>           <none>
pod/trident-csi-kj64j              1/2     ImageInspectError   0          53s   10.150.233.52    kube-poc-compute2   <none>           <none>
pod/trident-csi-mjsr2              1/2     ImageInspectError   0          53s   10.150.233.41    kube-poc-master1    <none>           <none>
pod/trident-csi-qm9sj              1/2     ImageInspectError   0          53s   172.16.64.150    itaodocker1         <none>           <none>
pod/trident-csi-x5m7l              1/2     ImageInspectError   0          53s   10.150.233.53    kube-poc-compute3   <none>           <none>

The workaround is now :

$ ./tridentctl install --trident-image docker.io/netapp/trident:22.07.0 -n trident

ledroide avatar Aug 22 '22 07:08 ledroide

This issue was fixed with commit 491901e and is available with the Trident v22.07 release.

gnarl avatar Feb 10 '23 21:02 gnarl