kubernetes-retired / external-storage

[EOL] External storage plugins, provisioners, and helper libraries
Apache License 2.0
2.7k stars 1.6k forks source link

Outdated nfs-provisioner image on quay.io #1262

Closed stek29 closed 4 years ago

stek29 commented 4 years ago

New ports have been added in f974aba435b44e812fca0b4687e57879de03f3f7, and if you try to create nfs-provisioner deployment by following instructions you'll end up with this error like this:

failed to provision volume with StorageClass "...": error getting NFS server IP for volume: service SERVICE_NAME=... is not valid; check that it has for ports map[{111 TCP}:true {111 UDP}:true {2049 TCP}:true {20048 TCP}:true] exactly one endpoint, this pod's IP POD_IP=...

That's because port endpoint validation uses reflect.DeepEqual for validation, and thus fails if there are all required ports AND MORE.

I've ended up manually building latest tag from master to my private registry and using that as image.

I think that docs should at least reference that ports were changed and older versions of container (including latest on quay) need older versions of service.

dove-young commented 4 years ago

I hit this error

E1209 05:03:07.714538       1 controller.go:908] error syncing claim "097a8603-c93d-438d-9688-e4936637a11a": failed to provision volume with StorageClass "example-nfs": error getting NFS server IP for volume: service SERVICE_NAME=nfs-provisioner is not valid; check that it has for ports map[{111 TCP}:true {111 UDP}:true {2049 TCP}:true {20048 TCP}:true] exactly one endpoint, this pod's IP POD_IP=192.168.2.74
E1209 05:03:07.913967       1 controller.go:908] error syncing claim "7a82df75-f3e7-4cfc-b282-fead7f87517e": failed to provision volume with StorageClass "example-nfs": error getting NFS server IP for volume: service SERVICE_NAME=nfs-provisioner is not valid; check that it has for ports map[{111 TCP}:true {111 UDP}:true {2049 TCP}:true {20048 TCP}:true] exactly one endpoint, this pod's IP POD_IP=192.168.2.74
zgfh commented 4 years ago

same error,but i delete the svc ports except ({111 TCP}:true {111 UDP}:true {2049 TCP}:true {20048 TCP}:true),it work for me @dove-young look like we should use: https://github.com/kubernetes-incubator/external-storage/tree/nfs-provisioner-v2.3.0/nfs/deploy/kubernetes

cedricve commented 4 years ago

@stek29 same issue here. Any docs how to build the image? https://github.com/kubernetes-incubator/external-storage/issues/1273

Update

Ok found out there is a Makefile, and you can simply adapt the Makefile to point to your own registry. Start the build with following command.

make push push-x86_64
lurraca commented 4 years ago

@stek29 This issue can be closed.

xrow commented 4 years ago

I am using v2.3.0 but I have still this error. Maybe this is for a different issue. I am still investigating. I installed the helm chart.

failed to provision volume with StorageClass "standard": error getting NFS server IP for volume: service SERVICE_NAME=nfs-nfs-server-provisioner is not valid; check that it has for ports map[{111 TCP}:true {111 UDP}:true {662 TCP}:true {662 UDP}:true {875 TCP}:true {875 UDP}:true {2049 TCP}:true {2049 UDP}:true {20048 TCP}:true {20048 UDP}:true {32803 TCP}:true {32803 UDP}:true] exactly one endpoint, this pod's IP POD_IP=10.128.0.91

cedricve commented 4 years ago

you have to map all the ports listed there, not sure if the docs is up to date.

radtriste commented 4 years ago

Hello, Yesterday we got the same problem. Image has been updated on Quay to v2.3.0 but deployment.yaml on nfs-provisioner-v2.3.0 tag does not include the latest port(s).