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?