TAS cflinuxfs4 Migration Proposal
search cancel

TAS cflinuxfs4 Migration Proposal

book

Article ID: 298126

calendar_today

Updated On:

Products

VMware Tanzu Application Service for VMs

Issue/Introduction

Standard (non-Windows, non-Docker) apps for Tanzu Application Service (TAS) run in containers built with a root file system (rootFS). This rootFS provides the basic file structure and operating system packages that will be available to the application while it is staging and running. In TAS, we call these rootFSs "stacks".
 

The TAS Linux stacks are based on Ubuntu releases. The current Linux stack that ships with TAS, cflinuxfs3, is based on Ubuntu 18.04 "Bionic". This proposal explores the effort to introduce a cflinuxfs4 stack and eventually fully replace cflinuxfs3.
 


Environment

Product Version: 3.0

Resolution

Ubuntu Release Timeline

Version

Code Name

End of Standard Support

End of Life

22.04

Jammy Jellyfish

April 2027

April 2032

20.04

Focal Fossa

April 2025

April 2030

18.04

Bionic Beaver

April 2023

April 2028

16.04

Xenial Xerus

April 2021

April 2026


Source

 

Stack

The cflinuxfs4 stack will be based on Ubuntu 22.04 "Jammy".

Buildpacks

Buildpacks are associated with stacks, since they may have dependencies on operating system packages. Application developers will not be able to move their apps until they have the necessary buildpacks available on the new stack.

System Apps and Tiles

TAS ships with a number of system apps (for example: apps manager). In addition, some non-TAS tiles also include apps that are deployed to TAS (for example: service brokers).

Configuration

In TAS, we will expose multiple configuration options that affect how cflinuxfs4 is used.

 

Configuration

Description

Available

After cflinuxfs4 is added to TAS, app developers can opt into it via the --stack=cflinuxfs4 flag when pushing their app.

Default

cflinuxfs4 can be configured as the default stack at TAS deploy time. This will only affect new apps. Existing apps will continue to use their currently configured stack, unless they are pushed again with the --stack=cflinuxfs4 flag.

Deleted from API

cflinuxfs3 can be deleted via the API or using the delete-stack CLI command from the stack-auditor CLI plugin. Stacks can only be deleted if no apps are using that stack.

Turned Off

cflinuxfs3 can be excluded from the TAS deployment configuration. If cflinuxfs3 is deleted from the API but is NOT excluded, then TAS will reinstall cflinuxfs3 every time TAS is deployed.

Removed from Tile

cflinuxfs3 can be wholly removed from the TAS tile. This will make it impossible to use, regardless of what deployment configuration is used.

 

TAS Configuration

At deploy time, the TAS tile will expose two configuration options in Ops Manager:

  1. Enable cflinuxfs3 { true, false }
  2. Default stack { cflinuxfs3, cflinuxfs4 }

 

The "default stack" configuration will only be available if cflinuxfs3 is enabled.

Phases

The cflinuxfs4 roll out will go through a progression of multiple phases to help TAS customer ease into the new stack:

  1. cflinuxfs4 stack and buildpacks are available
  2. cflinuxfs4 can be configured as the default stack
  3. cflinuxfs4 is configured as the default stack
  4. cflinuxfs3 can be turned off
  5. cflinuxfs3 turned off by default
  6. cflinuxfs3 removed from TAS tile

Milestones

The guiding factors for these milestones are:

  • Ubuntu 18.04 "Bionic" leaves extended support in Spring 2028.
  • We should enable high-functioning TAS operators to migrate as quickly as possible.
  • TAS operators want as much time as possible to migrate.
  • Many TAS customers only consume LTS versions, so a stepped migration should account for this.
Note: Follow this KB to learn how to check EOGS ( End of General Support ) Dates for each version below
 

TAS Version

Release Date

Changes

TAS 3.0

Autumn 2022

  • Beta version of the cflinuxfs4 stack
  • Partial beta buildpack support

TAS 4.0 LTS-T

Spring 2023

  • GA cflinuxfs4
  • GA cflinuxfs4 buildpacks
  • Default stack can be configured
  • Default stack defaults to cflinuxfs4
  • All system apps that are packaged with TAS use cflinuxfs4
  • Operators can turn off cflinuxfs3
  • Updated stack auditor plugin is available

TAS 5.0

Autumn 2023

  • Turn off cflinuxfs3 by default
  • All system apps from other tiles use cflinuxfs4

TAS 6.0 LTS-T

Spring 2024

  • Customers on the LTS-only track encounter the TAS 5.0 changes

TPCF 10.0

TBA

  • Remove cflinuxfs3 from TAS tile
  • Remove cflinuxfs3 buildpacks from TAS
 

We expect the quality of Ubuntu 18.04 "Bionic", and thus cflinuxfs3, to degrade substantially over time. We need to drive customers to migrate applications to cflinuxfs4 as quickly as possible, even given the generous timeline.

Continued cflinuxfs3 Releases

New versions of cflinuxfs3 and cflinuxfs3-compatible buildpacks will be shipped to TAS customers as long as there is still a supported TAS version including cflinuxfs3. Under the current timeline, this means that the Buildpacks team will be responsible for shipping cflinuxfs3 and buildpack releases until at least Spring 2026.

Open-Source Cloud Foundry

Open-source Cloud Foundry users will not have access to VMware's extended Ubuntu support.

 
  1. A version of cflinuxfs4 will be available prior to Ubuntu 18.04 "Bionic" end of support in April 2023.
  2. Cflinuxfs4 will be the only stack in a cf-deployment version released prior to April 2023.

TAS Improvements

We have the opportunity to provide operators and app developers with additional tooling to help migrate apps from cflinuxfs3 to cflinuxfs4. This can include new features built into TAS and/or external tooling built on top of TAS, like stack-auditor

 

These improvements should be in place starting with TAS 4.0, with additional improvements in the following versions of TAS, as necessary.

Appendices

Stack vs Stemcell

Both TAS's Linux stacks and BOSH's stemcells are based on versions of Ubuntu, however they are not the same thing. Stemcells are the operating system that TAS components are run on, including the Diego cells which themselves run application containers using stacks. The Ubuntu version used for the stemcell and stack do not need to match. For instance, we currently use Ubuntu 16.04 "Xenial" for TAS's stemcell but Ubuntu 18.04 "Bionic" for containers' rootFS (via cflinuxfs3).