Deploy is not going through (pending automatic promotion)

--> Pushing image done
Image: registry.fly.io/<APP-NAME>:deployment-<DEPLOY-NR>
Image size: 227 MB
==> Creating release
Release v98 created

You can detach the terminal anytime without stopping the deployment
Monitoring Deployment

v98 is being deployed

I’ve been seeing this in terminal for about 1 hour now.
fly status shows me Deployment is running pending automatic promotion

What should I do?

Taking a look at it. It’s likely that it has been deployed but our state is out of sync.

No that wasn’t it. I manually failed your deployment now.

Did you deploy with a specific strategy (the --strategy flag)?

No, I did not use a strategy

Deployment marked as failed - not rolling back to stable job version 99 as current job has same specification

What does that mean?

Shall I simply do a new deploy?

Yes, try a new deploy. There might be a problem with the max-per-region settings.

I asked about the strategy because I noticed the “job” (Nomad’s term) had a change in your latest deploy that used a “canary” strategy.

Can you try --strategy rolling? I’m pretty sure --strategy immediate would also work, but it will cause some downtime.

I’ve confirmed “canary” cannot be used as a strategy if you have a max per region setting. Unfortunately that’s the default for all deployments. We need to change some code to use “rolling” if you have max per region set.

Please use fly deploy --strategy rolling until then :slight_smile:. Let me know if it works out (I’ll be monitoring too).

1 Like

--> v100 deployed successfully

Thanks for your help!

1 Like

Checking in on this after 15 months …
Can “canary” now be used as a strategy if we have a max per region setting?

1 Like

FWIW we see the same behaviour today with bluegreen deploys. Usually if I repeat the fly scale —max-per-region command it’ll unstick the deployment.

We’d really like to see a solution here other than “use rolling” - with bluegreen, perhaps ignore the —max-per-region setting during the deploy and treat the setting as a target after the deploy has completed (since by definition, we want to exceed the limit during the deployment; that’s the whole point).