Windows Server 2019 images are no longer available as of 9 January 2024. The details below are provided for historical reference.
Our Windows Server 2019 Dynamic Workers are being upgraded to use Windows Server 2022, this may result in breaking changes for users of community steps or custom scripts.
What is changing?
Due to LTSC Windows Server 2019 ending on 9 January 2024 , we are upgrading our dynamic workers to use Windows Server 2022.
Who will be impacted?
Users of Octopus Cloud utilizing Windows Dynamic Workers (Windows (default)
and Windows Server Core 2019
images) and running custom scripts or community steps may be impacted as there are breaking changes between Windows 2019 and Windows 2022. Should any additional components be identified as having breaking changes we will endeavour to inform you via email and Octopus community Slack.
Steps running execution containers on Windows Dynamic Workers may also be impacted as Windows containers can generally only run when the container base image OS version matches the host OS version. This means the Windows 2019 container image you are currently using will likely fail to run on a Windows 2022 Dynamic Worker.
Note: All Octopus Deploy steps will work under Windows 2022 but some community and custom steps may be impacted.
What do I need to do?
To mitigate the risk in this process we will be releasing Windows 2022 Dynamic Workers before the deprecation date so users can test against the new workers prior to deprecation. Please see the timeline below for the details.
If you are running custom scripts, using community steps, or using execution containers on Windows workers, we recommend following the migration guide below to test your deployments on Windows 2022 Dynamic Workers.
Alternate (recommended) course of action
Unless you have a specific need for a Windows Dynamic Worker we recommend considering a change to an Ubuntu 22.04 based Dynamic Worker as Ubuntu 22.04 Dynamic Workers are more performant.
Built in steps work on both Ubuntu and Windows Dynamic Workers with the exception of Windows specific steps. Community steps and custom step templates would also need testing.
Timeline
Octopus preparation
Date | Details |
---|---|
Oct 2023 | Octopus will produce and test a Windows 2022 Dynamic Worker image. |
Customer action required
Date | Details |
---|---|
30 Oct 2023 | Windows 2022 Dynamic Worker will be made available for customers.
|
4 Dec 2023 | Octopus will update the Windows (default) image to resolve to Windows Server Core 2022.
|
9 Jan 2024 | Windows 2019 Dynamic Workers will no longer be available on Octopus Cloud. |
Migration Guide
- For each Space on your Cloud instance, find the Windows Dynamic Worker Pool. The Worker Pool name is usually either
Hosted Windows
orDefault Worker Pool
. Make a note of the Worker Pool name. - For each deployment step, check whether it runs on the Windows Dynamic Worker Pool you noted in Step 1.
- Create a temporary Dynamic Worker Pool targeting the
Windows Server Core 2022
image. - Open the deployment process for your project as well as any Runbooks. Make note of any steps using execution containers (these will display a
Runs in a container
chip) as these will need additional updates. - For each step that runs on a Windows Dynamic Worker Pool
- Change its Worker Pool to the new Windows 2022 Worker Pool you created in Step 3.
- If the step runs in an execution container, change the container image to the Windows 2022 image that corresponds to your current Windows 2019 image. If your image is multi-platform, it’s still prudent to check that the image still works as expected under Windows 2022.
- Your step should look something like this:
- Test your deployment by deploying a new Release of your project (Snapshot for a Runbook)
Optional cleanup after 9 January 2024
To avoid having two Worker Pools that both yield the same Workers, you can restore the steps back to using the original Windows Dynamic Worker Pool:
- For each step that you migrated, change the Worker Pool back to the original Windows Dynamic Worker Pool, which should be now running Windows 2022 Dynamic Workers.
- Once no steps are using the temporary Windows 2022 Worker Pool, you can delete the temporary Worker Pool.
FAQ
Why the deadline of 9 January 2024?
Windows 2019 exits LTSC support and will not be patched including any security vulnerability. Consequently, Octopus will not provide an unsupported Dynamic Worker image.
What are the breaking changes between Windows 2019 and Windows 2022 releases?
It is not possible to give a complete and definitive answer as this depends on your use cases. Therefore, please refer to the following documents:
- Comparison of Standard, Datacenter, and Datacenter: Azure Edition editions of Windows Server 2022
- What’s new in Windows Server 2019
- What’s new in Windows Server 2022
- Features removed or no longer developed starting with Windows Server 2022
What if I experience a breaking change but I can’t remediate it in time?
There is the option to provision your own worker with Windows Server 2019 and selecting its worker pool for your deployment processes that experience the breaking change.
How does this affect Execution Containers?
Windows containers can generally only run when the container base image OS version matches the host OS version. Please follow the migration guide to make the transition as smooth as possible.
Are the Ubuntu 22.04 Dynamic Workers affected in any way?
This change does not impact the Ubuntu 22.04 Dynamic Workers.
Help us continuously improve
Please let us know if you have any feedback about this page.
Page updated on Tuesday, January 9, 2024