When you get the error aborted: could not reserve resource for machine: insufficient memory available to fulfill requestmy understanding is that this is a shared host and there is nothing available to deploy to.
If your preferred region is oversubscribed, what are you supposed to do?
% fly platform regions
NAME CODE CAPACITY
Africa
Johannesburg, South Africa jnb 314
Asia Pacific
Mumbai, India bom 156
Singapore, Singapore sin 853
Sydney, Australia syd 478
Tokyo, Japan nrt -236
Europe
Amsterdam, Netherlands ams 1421
Frankfurt, Germany fra 1267
London, United Kingdom lhr 965
Paris, France cdg 2080
Stockholm, Sweden arn 992
North America
Ashburn, Virginia (US) iad -1440
Chicago, Illinois (US) ord -67
Dallas, Texas (US) dfw 1091
Los Angeles, California (US) lax 723
San Jose, California (US) sjc 554
Secaucus, NJ (US) ewr -76
Toronto, Canada yyz 781
South America
Sao Paulo, Brazil gru 1709
Does upgrading your account magically fix this or might you still have to wait for availability?
Hi… This is probably congestion on a single physical host machine, rather than across the region as a whole. (Keep in mind that each Machine is tied to a single host, which is why the Fly.io platform generally assumes that you have ≥2 Machines.)
The output of fly platform regions hasn’t been accurate lately, unfortunately. For example, iad is presently showing -1444 (very negative) capacity, but I was nevertheless able to create a new, running Machine there just now.
If you’re still seeing congestion, then the solution is probably to move to a different physical host machine. The following official doc covers a more catastrophic situation, , but it should give an idea of what’s involved overall:
Somewhere in the docs it answers this; work out several fall-back regions that are close to your preferred region. For example, my preferred region is London, so Paris and Frankfurt would be my fall-backs. Then, wherever I get a machine creation failure, I should go through my region list in preference order.
Are you creating machines via the API, or just via a launch or a scaling up? I believe the API does not have a fall-back feature; you have to implement it yourself in code. I vaguely recall that scaling tries a region list in order, but I have not done that in ages.
I encountered the same error in my environment in the NRT region as well.
I’m not sure how accurate the results of fly platform regions are, but it seems likely that regions showing negative values are experiencing some kind of issue.
I have a GitHub action that is failing deploys constantly. I don’t get how this can be production-ready… I’m not going to ask my team to chase down deployment failures with manual workflows…
That covers the situation of creating new Machines, whereas I think OP and @kurehajime instead have existing ones that won’t start. That would be more in the line of the following:
Deploys that fail due to existing instances on congested physical host machines are maybe a bit of blind spot in flyctl deploy. I think a custom orchestrator, like you were referring to, is the only non-manual way at the moment. Whether that makes it a non-serious platform overall is in the eye of the beholder, …
(Fly.io is certainly niche, though, really not for everyone.)
I was able to create and run a new Machine in nrt just now (and it is still showing negative capacity there), so I think these are only bookkeeping/reporting glitches.
Also, fly platform regions has been showing negative values in general since at least Dec 19th (probably longer), …