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