From time to time, Engine Yard releases a new stack version. When a new stack is released, you have the option to upgrade your environment and take advantage of the latest features and fixes. Some reasons Engine Yard releases a new stack are:
- Upgrading a stack component to a newer version
- Addressing vulnerabilities
- Bug fixes
When Engine Yard releases a new stack, an ! Upgrade… button appears on the environment.
Before you upgrade, you can review the changes that will be applied to your current environment.
Tip: If you are interested in learning about upcoming releases, you should subscribe to this forum.
This is the process for upgrading a production environment:
Cloned environments vs. new environments
When you clone an environment, the cloned stack is the same version as the original stack. However, if you create a new environment, it is always the latest stack version.
About adding instances to an existing environment
When you add a new instance to an existing environment, the added instance is the same stack version as the other instances in that environment. You do not have to upgrade before adding an instance.
Test an upgrade
Best practice is to test in a non-production environment before upgrading a production environment. Don’t upgrade your production environment until you have validated the upgrade in a test environment.
To test an upgrade
- Clone the environment. (See Clone an environment.)
- Upgrade the cloned environment, following the procedure below.
- Test the application on the cloned environment.
- Upgrade the production environment, following the procedure below.
- Decommission the cloned environment. (See Delete an environment.)
Upgrade an environment
When a new stack is available, a “Please Upgrade” message appears on your Dashboard and the ! Upgrade button appears on the environment pages.
Important! If your stack is very out-of-date, you see this message: “Upgrading will enable Stack Change Management.” Remember, when updating a very out-of-date stack for a production environment, always test in a cloned environment first.
To upgrade an environment
- In your Dashboard, click the environment name.
- Click ! Upgrade…
The Upgrades Available page appears.
- Review the Changes list.
- Click Upgrade Environment.
If you have feedback or questions about this page, add a comment below. If you need help, submit a ticket with Engine Yard Support.
If you are using resque or any other background worker tied to a persistence layer note that the workers will be started in the cloned environment because the monit configs are stored in EBS that gets copied. This means the workers will start processing the jobs again on the clone. If the jobs are for example sending emails you must not use the instructions offered here!
In the case that some one is worried about the cloned environment performing repeat actions, the simplest solution would be to temporarily configure your original environment to stop sending messages (alter chef recipes to not write out the configuration, re-upload/apply, verify that workers aren't being started), perform the clone, and then revert the changes on the original environment. Then you can upload and/or apply a different set of recipes on your newly cloned environment as needed.
Please sign in to leave a comment.