Deprecation Notice for cflinuxfs3 Buildpacks
Scheduled Maintenance Report for cloud.gov
Completed
The removal of cflinuxfs3 buildpacks is complete.
Posted Jun 29, 2023 - 12:36 EDT
In progress
Scheduled maintenance is currently in progress. We will provide updates as necessary.
Posted Jun 29, 2023 - 09:00 EDT
Scheduled
The base OS image used by your cloud.gov applications is called a “stack”. The stack cloud.gov provided to date is called cflinuxfs3, and it’s based on Ubuntu 18.04 LTS, released originally in mid 2018 with continuous security updates since then. cflinuxfs4 is a new OS image based on Ubuntu 22.04 LTS, and is now the default stack in cloud.gov.

Important Dates

Ubuntu 18.04 will likely no longer receive security updates in May, so cloud.gov will stop supporting the cflinuxfs3 stack and buildpacks in cloud.gov.

On June 29th, 2023 the platform will no longer provide cflinuxfs3 buildpacks. Applications will need to reference an external buildpack to continue to push updated versions of cflinuxfs3 applications. Existing cflinuxfs3 applications will continue to restart without intervention.

Who is impacted?

If you push your Cloud Foundry applications as Docker containers with the command "cf push --docker-image" , these changes do not impact you.

However, most cloud.gov customers deploy their applications using buildpacks, and their apps don’t have any dependency on the particular OS version that runs them. If that describes you and you have existing applications running on cloud.gov, this upgrade will impact you and you’ll need to update the stack on your applications.

What should you do now for existing apps?

For existing applications which were created under cflinuxfs3 you will need to update the stack declaration to cflinuxfs4, there are two common ways of doing this detailed below. The options below only have to be run once for each application on cflinuxfs3, once the stack is set for an application, it is persistent until changed with any of these two steps:

Step 1:

Push the app manually and specify the stack with the cf cli command: "cf push MY-APP -s cflinuxfs4"

Step 2:

Use the stack-auditor cf cli plugin to change the stack without having to push the application.

Documentation for using this plugin is at https://docs.cloudfoundry.org/adminguide/stack-auditor.html#change-stacks

The basic workflow is:

* Install the plugin
* Use the cf cli to target the org and space for your existing application
* Run command: "cf change-stack APP-NAME cflinuxfs4" to change the app to the cflinuxfs4 stack

Each application will take about a minute or so to run the cf change-stack command depending on the size of the droplet. Please note if this change over is successful, the update to your running application instances would be the same to your application availability as if you have done a CF PUSH of your application.

If this change over fails, the process will automatically rollback to the best of the tools ability but it might fail and any rollback process will cause an outage to your application. It is in your best interest to validate the stack change in a lower environment like dev, stage, or QA.

What should you do now for new apps?

For any new applications, simply run a cf push to pick up the new cflinuxfs4 stack:

Command: "cf push MY-APP"

How do you push a cflinuxfs3 app with an external buildpack?

Until September 28th, 2023, you can use an external buildpack to push apps to the cflinuxfs3 stack by referencing a URL in a `cf push` command.

As an example, to push a Ruby app using 2.7.6 on cflinuxfs3:

Command: "cf push MY-APP -b https://github.com/cloudfoundry/ruby-buildpack/releases/download/v1.9.4/ruby-buildpack-cflinuxfs3-v1.9.4.zip -s cflinuxfs3"

Many of the external buildpacks can be found on Github at https://github.com/cloudfoundry?q=buildpacks&type=all&language=&sort=


If you have any questions or concerns, please contact us at support@cloud.gov.
Posted May 16, 2023 - 15:18 EDT
This scheduled maintenance affected: cloud.gov customer applications (Applications) and cloud.gov compliance notification.