Convox Community

Question about rack version upgrade


TL;DR I’m hoping somebody can give me some general anecdotal guidance on how safe an upgrade from a 2 year old version of rack in production would be.

I’m a mostly-frontend dev who inherited a freelance project that was configured to run on convox ~2 years ago.

The project runs 4 apps on a convox rack that is currently at version 20181029123133. I have mostly spent time in 2 of these containers/apps, and have had no problem building and deploying changes over the past year+.

While I have a reasonable conceptual understanding of convox (enough to create a new gen-1 app last year, basic deploys/rollbacks/etc), I don’t have enough aws/infra expertise to confidently troubleshoot anything beyond the basics.

While trying to update and deploy one of the apps that hasn’t been touched in ~2 years, the build failed and rolled back with The runtime parameter of nodejs8.10 is no longer supported for creating or updating AWS Lambda functions.

I came across a community post [20191211175055] Lambda Node.js Upgrade which points to an AWS deprecation, and suggests to upgrade the rack version to address the underlying issue.

I’m intimidated to update my rack version since it’s currently quite far out of date from the current version. I honestly have very little idea how risky an upgrade like that would be.

I’m in a tricky position, because I’m looking to end my business commitment to this project. I need to update the app in question to finish off the work I committed to, but I’m concerned about a scenario in which upgrading the rack version takes down all the apps that are running on this rack (which are currently running in production without any issue).

From reading a bit, I know that all of my gen1 apps should safely be able to run on the latest version of rack, but I’m not sure if there are any significant breaking changes that have happened in rack between when this was project was initially built and now. It also looks like there aren’t supported ways to roll back rack versions.

In an ideal world, I could just update to the most recent version of rack in order to get unblocked on the last deploy I need to do, wrap up my project commitment, and be done with it.

I’m concerned about a scenario in which upgrading the rack version creates all kinds of infrastructure issues that take down the other 3 running containers, which I’m not equipped to troubleshoot.

I’m hoping someone could give some general guidance on how much I should be worried about stuff breaking if I upgrade my rack version. If something like that seems safe enough to somebody with more context, I’d probably take on the risk of upgrading it to get my updates out the door.