pusher / k8s-spot-rescheduler

Tries to move K8s Pods from on-demand to spot instances
Apache License 2.0
311 stars 42 forks source link

Issue while upgrading from 0.2 to 0.3 #71

Closed cshivashankar closed 4 years ago

cshivashankar commented 4 years ago

I was trying to upgrade spot rescheduler from 0.2 to 0.3 and observed that pods were going CrashLoopBackOff state. Following was the error observed Error: failed to start container "k8s-spot-rescheduler": Error response from daemon: OCI runtime create failed: container_linux.go:349: starting container process caused "exec: \"rescheduler\": executable file not found in $PATH": unknown

When I checked the deployment manifest it was not updated. Container is trying to invoke rescheduler binary at https://github.com/pusher/k8s-spot-rescheduler/blob/25822228c7bd37cd2d42839159b5fc426e5a93d9/deploy/deployment.yaml#L32

However the entrypoint is k8s-spot-rescheduler. https://github.com/pusher/k8s-spot-rescheduler/blob/v0.3.0/Dockerfile

Earlier version of 0.2.0 had entry point of https://github.com/pusher/k8s-spot-rescheduler/blob/8829160c119d9321e16bee2c4b891faa7a947b41/Dockerfile#L11

If binary name was intentionally moved from rescheduled to k8s-spot-rescheduler, updating deploy manifest would be easier for users. I have created a PR for the same https://github.com/pusher/k8s-spot-rescheduler/pull/70 @theobarberbany @JoelSpeed

mthssdrbrg commented 4 years ago

It was indeed intentionally changed (in #57), but the Deployment file was never updated.

Thanks for the fix.