We’re currently migrating everyone off of the Nomad-based Apps platform onto Apps V2, built on Fly Machines. Read more about this effort at: We’re Getting Off Nomad.
Migrations have been going well! We’re more than halfway done, and while there have been some bumps along the way, it’s quite amazing how smoothly this has gone all things considered.
Still, there have been issues. There have been some esoteric issues (like legacy settings that haven’t existed for literal years not translating well) but upwards of 90% of the issues are the same thing.
Apps are either:
- Successfully migrated, but Nomad got stuck in the wrong state and tried to queue the old job again.
- This manifests as an app with a platform version of “machines,” but with running nomad allocs. A.k.a. “why is there an old version of my app running that doesn’t show up in fly status that I can’t deploy to???”
- Failed mid-migration, left in the “detached” state
- This usually means that there was a crash or API error mid-migration. This is rarer, but much more annoying to fix.
For the previous issue, because the platform version was set to “machines,” we know that it finished migrating entirely. For this error, though, it could be fully migrated or not migrated at all! Fixing this one depends on the app, and how far the migration got.
- This usually means that there was a crash or API error mid-migration. This is rarer, but much more annoying to fix.
For those cases, we now have fly migrate-to-v2 troubleshoot
. If your app is in an incorrect state post-migration, this should root out the most common issues. If there’s a trivial and “correct” solution, it will automatically repair your app. If there is any ambiguity as to what to do (such as an app in the detached state), it will drop you into an interactive repair wizard that helps you make the right decisions!
Of course, this doesn’t replace traditional support! If this command doesn’t solve your problem, or if you’re unsure of what action to take, feel free to post about it on this forum still, or if you have one, you can contact your support email. This is just an attempt to make recovery less reliant on other people, because asynchronous communication can be (understandably) very frustrating when your app is malfunctioning.
This will be available in flyctl 0.1.31
, which is being released as this post is typed
I hope this helps ease the transition, and if you have any questions or feedback we’d love to hear them!