(The -new in the destination filename is key to match the regex in the spec file for the cflinuxfs2 package.)
Create a dev release and upload it to your BOSH deployment:
bosh create-release --force --tarball=cflinuxfs2-new.zip --name cflinuxfs2
bosh upload release <generated-dev-release-tar-file>
If your Diego deployment manifest has version: latest indicated for the cflinuxfs2 release, then redeploying your Diego will enable this new rootfs to be used in your app containers.
Testing the rootfs
To run the local tests, just run rspec. If the top level of this repo contains a file named cflinuxfs2.tar.gz, the tests will be run against this file. Otherwise, make will be run to create a new rootfs.
To test the rootfs BOSH release, see the instructions here
Release pipeline
The generation and release of a new rootfs happens on the cflinuxfs2 CI pipeline.
A new stack is generated with make.
A dev BOSH release of that new stack is generated and deployed to the BOSH Lite at cflinuxfs2.buildpacks.ci.cf-app.com and the rootfs smoke tests run.
CF and Diego are deployed to that BOSH Lite. The cf-acceptance-tests are then run against the deployment.
Once all tests pass and the product manager ships the release, the rootfs tarball can be found as a Github Release, Docker Image, and as a BOSH release. A commit is also made to update the blobs on cf-release develop.
Cloud Foundry cflinuxfs2
This repo contains scripts for creating warden root filesystems.
Dependencies
Adding a new package to the rootfs
cflinuxfs2/build/install-packages.shhas a list of packages passed toapt-get installas well.Creating a rootfs tarball
To create a rootfs for the cflinuxfs2 stack:
This will create the
cflinuxfs2.tar.gzfile, which is the artifact used as the rootfs in Cloud Foundry deployments.Creating a BOSH release from the rootfs tarball
To start, clone the repository containing the cflinuxfs2-rootfs BOSH release:
Replace the old cflinuxfs2 tarball with the new tarball created above:
(The
-newin the destination filename is key to match the regex in the spec file for the cflinuxfs2 package.)Create a dev release and upload it to your BOSH deployment:
If your Diego deployment manifest has
version: latestindicated for thecflinuxfs2release, then redeploying your Diego will enable this new rootfs to be used in your app containers.Testing the rootfs
To run the local tests, just run
rspec. If the top level of this repo contains a file namedcflinuxfs2.tar.gz, the tests will be run against this file. Otherwise,makewill be run to create a new rootfs.To test the rootfs BOSH release, see the instructions here
Release pipeline
The generation and release of a new rootfs happens on the cflinuxfs2 CI pipeline.
A new stack is generated with
make.A dev BOSH release of that new stack is generated and deployed to the BOSH Lite at cflinuxfs2.buildpacks.ci.cf-app.com and the rootfs smoke tests run.
CF and Diego are deployed to that BOSH Lite. The cf-acceptance-tests are then run against the deployment.
Once all tests pass and the product manager ships the release, the rootfs tarball can be found as a Github Release, Docker Image, and as a BOSH release. A commit is also made to update the blobs on cf-release develop.