Broken parameters persisting in Deis deployments

52 views Asked by At

An invalid command parameter got into the deployment for a worker process in a Deis app. Now whenever I run a deis pull for a new image this broken parameter gets passed to the deployment so the worker doesn't start up successfully.

If I go into kubectl I can see the following parameter being set in the deployment for the worker (path /spec/template/spec/containers/0)

"command": [
  "/bin/bash",
  "-c"
],

Which results in the pod not starting up properly:

Error: failed to start container "worker": Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "exec: \"/bin/bash\": stat /bin/bash: no such file or directory"
Error syncing pod
Back-off restarting failed container

This means that for every release/pull I've been going in and manually removing that parameter from the worker deployment setup. I've run kubectl delete deployment and recreated it with valid json (kubectl create -f deployment.json). This fixes things until I run deis pull again, at which point the broken parameter is back.

My thinking is that that broken command parameter is persisted somewhere in the deis database or the like and that it's being reset when I run deis pull.

I've tried the troubleshooting guide and dug around in the deis-database but I can't find where the deployment for the worker process is being created or where the deployment parameters that get passed to kubernetes when you run a deis pull come from.

Running deis v2.10.0 on Google Cloud

0

There are 0 answers