Here we are again, only this time I do have restart_limit = 0 in my fly.toml.
Everything was working fine yesterday; I did multiple deploys to my beta and prod sites (which are now being served by Fly) and it all went smoothly even with restart_limit = 2 (coupled with large health_check timeouts). But today I went to test an update to my app on my internal sandbox server (sm-sandbox) and not only is it not deploying but I can’t get the server to deploy anything, which makes me nervous about updating the live sites…
Here are the logs from a single deploy attempt…
Expand logs
2021-01-29T19:22:29.490Z 868c742e sjc [info] Starting Meteor server on 868c742e 2021-01-29T19:22:30.734Z 868c742e sjc [info] Monti APM: completed instrumenting the app 2021-01-29T19:22:31.527Z 868c742e sjc [info] Strum Machine v333.0 now serving sandbox.strummachine.com on 868c742e 2021-01-29T19:22:32.125Z 868c742e sjc [info] Shutting down virtual machine 2021-01-29T19:22:32.203Z 868c742e sjc [info] Sending signal SIGTERM to main child process w/ PID 503 2021-01-29T19:22:33.122Z 75c6e89d sjc [info] Starting instance 2021-01-29T19:22:33.142Z 75c6e89d sjc [info] Configuring virtual machine 2021-01-29T19:22:33.143Z 75c6e89d sjc [info] Pulling container image 2021-01-29T19:22:33.205Z 868c742e sjc [info] Reaped child process with pid: 503 and signal: SIGTERM 2021-01-29T19:22:33.525Z 75c6e89d sjc [info] Unpacking image 2021-01-29T19:22:33.528Z 75c6e89d sjc [info] Preparing kernel init 2021-01-29T19:22:33.892Z 75c6e89d sjc [info] Configuring firecracker 2021-01-29T19:22:33.970Z 75c6e89d sjc [info] Starting virtual machine 2021-01-29T19:22:34.080Z 75c6e89d sjc [info] Starting init (commit: a91af2e)... 2021-01-29T19:22:34.093Z 75c6e89d sjc [info] Running: `docker-entrypoint.sh node main.js` as root 2021-01-29T19:22:36.837Z 75c6e89d sjc [info] Monti APM: Successfully connected 2021-01-29T19:22:43.388Z 75c6e89d sjc [info] Starting Meteor server on 75c6e89d 2021-01-29T19:22:44.595Z 75c6e89d sjc [info] Monti APM: completed instrumenting the app 2021-01-29T19:22:45.054Z 75c6e89d sjc [info] Health check status changed to 'warning' 2021-01-29T19:22:45.386Z 75c6e89d sjc [info] Strum Machine v333.0 now serving sandbox.strummachine.com on 75c6e89d 2021-01-29T19:23:29.553Z 75c6e89d sjc [info] Health check status changed to 'critical' 2021-01-29T19:24:35.762Z 75c6e89d sjc [info] Shutting down virtual machine 2021-01-29T19:24:35.840Z 75c6e89d sjc [info] Sending signal SIGTERM to main child process w/ PID 503 2021-01-29T19:24:36.841Z 75c6e89d sjc [info] Reaped child process with pid: 503 and signal: SIGTERM 2021-01-29T19:24:39.210Z 75c6e89d sjc [info] Starting instance 2021-01-29T19:24:39.229Z 75c6e89d sjc [info] Configuring virtual machine 2021-01-29T19:24:39.230Z 75c6e89d sjc [info] Pulling container image 2021-01-29T19:24:39.570Z 75c6e89d sjc [info] Health check status changed to 'passing' 2021-01-29T19:24:39.719Z 75c6e89d sjc [info] Unpacking image 2021-01-29T19:24:39.724Z 75c6e89d sjc [info] Preparing kernel init 2021-01-29T19:24:40.073Z 75c6e89d sjc [info] Configuring firecracker 2021-01-29T19:24:40.149Z 75c6e89d sjc [info] Starting virtual machine 2021-01-29T19:24:40.270Z 75c6e89d sjc [info] Starting init (commit: a91af2e)... 2021-01-29T19:24:40.283Z 75c6e89d sjc [info] Running: `docker-entrypoint.sh node main.js` as root 2021-01-29T19:24:43.002Z 75c6e89d sjc [info] Monti APM: Successfully connected 2021-01-29T19:24:46.155Z 75c6e89d sjc [info] Health check status changed to 'warning' 2021-01-29T19:24:49.849Z 75c6e89d sjc [info] Starting Meteor server on 75c6e89d 2021-01-29T19:24:51.080Z 75c6e89d sjc [info] Monti APM: completed instrumenting the app 2021-01-29T19:24:51.884Z 75c6e89d sjc [info] Strum Machine v333.0 now serving sandbox.strummachine.com on 75c6e89d 2021-01-29T19:24:59.345Z 75c6e89d sjc [info] Health check status changed to 'critical' 2021-01-29T19:26:38.047Z 75c6e89d sjc [info] Shutting down virtual machine 2021-01-29T19:26:38.126Z 75c6e89d sjc [info] Sending signal SIGTERM to main child process w/ PID 503 2021-01-29T19:26:39.085Z fada5313 sjc [info] Starting instance 2021-01-29T19:26:39.106Z fada5313 sjc [info] Configuring virtual machine 2021-01-29T19:26:39.107Z fada5313 sjc [info] Pulling container image 2021-01-29T19:26:39.127Z 75c6e89d sjc [info] Reaped child process with pid: 503 and signal: SIGTERM 2021-01-29T19:26:39.616Z fada5313 sjc [info] Unpacking image 2021-01-29T19:26:39.619Z fada5313 sjc [info] Preparing kernel init 2021-01-29T19:26:39.959Z fada5313 sjc [info] Configuring firecracker 2021-01-29T19:26:40.035Z fada5313 sjc [info] Starting virtual machine 2021-01-29T19:26:40.156Z fada5313 sjc [info] Starting init (commit: a91af2e)... 2021-01-29T19:26:40.169Z fada5313 sjc [info] Running: `docker-entrypoint.sh node main.js` as root 2021-01-29T19:26:42.354Z 75c6e89d sjc [info] Health check status changed to 'passing' 2021-01-29T19:26:42.967Z fada5313 sjc [info] Monti APM: Successfully connected 2021-01-29T19:26:49.909Z fada5313 sjc [info] Starting Meteor server on fada5313 2021-01-29T19:26:51.128Z fada5313 sjc [info] Monti APM: completed instrumenting the app 2021-01-29T19:26:51.930Z fada5313 sjc [info] Strum Machine v333.0 now serving sandbox.strummachine.com on fada5313 2021-01-29T19:27:25.551Z fada5313 sjc [info] Health check status changed to 'critical' 2021-01-29T19:28:41.483Z fada5313 sjc [info] Shutting down virtual machine 2021-01-29T19:28:41.563Z fada5313 sjc [info] Sending signal SIGTERM to main child process w/ PID 503 2021-01-29T19:28:42.565Z fada5313 sjc [info] Reaped child process with pid: 503 and signal: SIGTERM 2021-01-29T19:28:45.392Z fada5313 sjc [info] Starting instance 2021-01-29T19:28:45.410Z fada5313 sjc [info] Pulling container image 2021-01-29T19:28:45.410Z fada5313 sjc [info] Configuring virtual machine 2021-01-29T19:28:45.462Z fada5313 sjc [info] Health check status changed to 'passing' 2021-01-29T19:28:45.959Z fada5313 sjc [info] Unpacking image 2021-01-29T19:28:45.964Z fada5313 sjc [info] Preparing kernel init 2021-01-29T19:28:46.281Z fada5313 sjc [info] Configuring firecracker 2021-01-29T19:28:46.392Z fada5313 sjc [info] Starting virtual machine 2021-01-29T19:28:46.493Z fada5313 sjc [info] Starting init (commit: a91af2e)... 2021-01-29T19:28:46.505Z fada5313 sjc [info] Running: `docker-entrypoint.sh node main.js` as root 2021-01-29T19:28:49.179Z fada5313 sjc [info] Monti APM: Successfully connected 2021-01-29T19:28:51.869Z fada5313 sjc [info] Health check status changed to 'warning' 2021-01-29T19:28:56.583Z fada5313 sjc [info] Starting Meteor server on fada5313 2021-01-29T19:28:57.795Z fada5313 sjc [info] Monti APM: completed instrumenting the app 2021-01-29T19:28:58.690Z fada5313 sjc [info] Strum Machine v333.0 now serving sandbox.strummachine.com on fada5313 2021-01-29T19:29:47.852Z fada5313 sjc [info] Health check status changed to 'critical' 2021-01-29T19:30:47.493Z fada5313 sjc [info] Shutting down virtual machine 2021-01-29T19:30:47.576Z fada5313 sjc [info] Sending signal SIGTERM to main child process w/ PID 503 2021-01-29T19:30:48.577Z fada5313 sjc [info] Reaped child process with pid: 503 and signal: SIGTERM 2021-01-29T19:30:51.630Z fada5313 sjc [info] Starting instance 2021-01-29T19:30:51.650Z fada5313 sjc [info] Configuring virtual machine 2021-01-29T19:30:51.651Z fada5313 sjc [info] Pulling container image 2021-01-29T19:30:52.209Z fada5313 sjc [info] Unpacking image 2021-01-29T19:30:52.212Z fada5313 sjc [info] Preparing kernel init 2021-01-29T19:30:52.460Z fada5313 sjc [info] Health check status changed to 'passing' 2021-01-29T19:30:52.512Z fada5313 sjc [info] Configuring firecracker 2021-01-29T19:30:52.591Z fada5313 sjc [info] Starting virtual machine 2021-01-29T19:30:52.687Z fada5313 sjc [info] Starting init (commit: a91af2e)... 2021-01-29T19:30:52.695Z fada5313 sjc [info] Running: `docker-entrypoint.sh node main.js` as root 2021-01-29T19:30:54.931Z fada5313 sjc [info] Monti APM: Successfully connected 2021-01-29T19:30:59.043Z fada5313 sjc [info] Health check status changed to 'warning' 2021-01-29T19:31:03.065Z fada5313 sjc [info] Starting Meteor server on fada5313 2021-01-29T19:31:04.279Z fada5313 sjc [info] Monti APM: completed instrumenting the app 2021-01-29T19:31:05.089Z fada5313 sjc [info] Strum Machine v333.0 now serving sandbox.strummachine.com on fada5313 2021-01-29T19:31:38.371Z fada5313 sjc [info] Shutting down virtual machine 2021-01-29T19:31:38.449Z fada5313 sjc [info] Sending signal SIGTERM to main child process w/ PID 503 2021-01-29T19:31:39.450Z fada5313 sjc [info] Reaped child process with pid: 503 and signal: SIGTERM 2021-01-29T19:31:41.262Z fada5313 sjc [info] Health check status changed to 'critical'
Since the last line was Health check status changed to 'critical', you’d think flyctl status would show that the deployment failed, but no, it says all is peachy:
Expand output of flyctl status
App Name = sm-sandbox Owner = strum-machine Version = 23 Status = running Hostname = sm-sandbox.fly.devDeployment Status
ID = ee97ee0b-01e3-2e73-42ee-db4775576569
Version = v23
Status = running
Description = Deployment is running
Instances = 1 desired, 1 placed, 0 healthy, 0 unhealthyInstances
ID VERSION REGION DESIRED STATUS HEALTH CHECKS RESTARTS CREATED
c7cacca6 23 sjc run running 1 total, 1 passing 0 2021-01-28T19:39:23Z
Also, when I retry flyctl deploy, even half an hour after my last attempt, it says that the previous deployment is being cancelled due to a newer version of the job; in other words, the deployment isn’t being completed…
Any ideas?

