blog single gear
Community | Engineering

Q1 2019: Cloud Foundry Release Notes Report

Cloud Foundry Release Notes Report: January – March 2019

Hello Cloud Foundry community! In case you didn’t know, there are a lot of different project teams working on Cloud Foundry, who are constantly pushing out a ton of new technical features and fixes in myriad releases. This can be a lot to keep track of, so we thought it might be valuable to compile a semi-comprehensive list of these features on a quarterly basis.

We’ve pored over the release notes of the major CF projects and attempted to highlight some important features that came out in the first quarter of 2019.

As this is the first time we’ve done this, we’d love your feedback! Please let us know if you find this valuable, if there are ways we can improve, or if you see any glaring omissions. Note these are releases from January, February and March of this year only.

Read on!

Cloud Foundry Application Runtime

Bits Service

Developer Experience:

  • Consistent download experience similar to init containers as opposed to tar files from docker image.
  • Continued interoperability efforts; support for containerd clients.

Bits-service-release:

Cloud Foundry API

Operator Experience:

  • Cloud Foundry users that are evaluating or considering a service mesh approach for networking can now use cloud controller API to define and deploy sidecars to their Cloud Foundry environment.
  • Perform selective backups to reduce the size of backup artifacts.
  • Added ability to roll back to a previous app revision.

Developer Experience:

  • Service brokers can now set polling intervals and maximum polling durations for how often and for how long the platform will poll the broker during an operation.
  • Logcache requests for container metrics should have retry logic. This mitigates push downtime during logcache upgrades.
  • Ability to create a revision for an app when a new droplet is deployed and/or environment variables are applied and deployed.
  • App Metrics can now be correlated for multiple processes into a single app.

CAPI releases:

Cloud Foundry CLI

Operator Experience:

  • Multi-Service Registration allows users from multiple spaces within one Cloud Foundry org to use services with the same name. The two primary benefits of multi-service registration are:
    • Development teams can try out different Service Brokers for development (databases are commonly used) and register these as space-scoped.
    • Different lines of business in company can register the same service broker (but using different credentials for billing purposes) into their Cloud Foundry orgs or spaces.
  • Container to Container feature for cf add-network-policy to enable adding network policies between spaces.

Developer Experience:

  • cf curl supports –fail flag to help developers easily identify server errors.
  • cf delete-orphaned-routes ensures that when two users are simultaneously deleting orphaned route, it uses a different endpoint to eliminate race condition, thereby ensuring they do not associate currently orphaned routes with applications.
  • cf-services now faster as it hits a single endpoint, instead of making individual API calls.
  • Revised “minimum version policy” means CF CLI now supports C API 2.100 /3.35.

CLI releases:

Networking

  • The Routing and CF Networking projects have merged into one, Networking. Read about this here.
  • The Routing component logs have been changed to have a more human readable timestamp. Read about that here.
  • Supports Go 1.11.5.

Operator Experience Enhancements:

  • cf-tcp-router now supports seamless reloads, ensuring that none of the tcp routes receive a connection reset error during reload.
  • URL parsing enhancement ignores any characters such as # or % when a request reaches the go router the second time. Instead of the users receiving Failed to validate Route Service Signature error message, the parsed url is delivered correctly.
  • cf-tcp-router, route-registrar, and routing-api components format the timestamps in their logs in human-readable format rather than the machine-friendly Unix epoch timestamp.
  • Cloud providers do not always include a valid hostname in their database server certification, which makes it challenging for operators managing a multi-cloud environment. Operator can now ensure that components validate that they are not or can be configured to skip checking hostname of the server certificate when connecting via TLS to external database.

Developer Experience:

  • Request timeouts are now aligned with Istio default setting of 15 seconds without having to wait for longer time period for a request to be processed. The timeout default might be made editable in the future releases.

Operator Experience (and Performance benefit):

  • Envoy sidecar memory restrictions prevent operators from running many apps simultaneously. Cloud Foundry operators can now disable stats logging (as these metrics are not used anywhere by Cloud Foundry) to scale to 1000s of applications.

Performance and Security benefit:

  • Operators can also scale the number of applications deployed without having to worry about running out of resources as only internal routes are published to sidecar envoys and external routes are published to the envoy gateway.  

Community Experience:

Routing-releases:

Istio-release:

Diego

Operator Experience:

  • On Azure, operators can use Azure availability zone (AZ) fault domains to point BOSH AZs to point to Azure AZs to prevent application downtime when the AZ goes down.
  • (related to the networking-istio update) Temporarily disabled stats logging to ensure scale and performance.
  • Access to more metrics (per-request-type request rate and API endpoint latency, number of cells flagged by BBS as present/missing, etc.) to operators to identify anomaly in cell behavior or to understand control plane instability in the Cloud Foundry environment.
  • BBS will now always generate suspect actual LRPs (long running processes) when the cell for the actual LRP temporarily loses its presence for increased routing stability.

Developer Experience:

  • Diego now supports schema version 1 and 2 so that app developers using Docker image registries can ensure Docker image staging to request schema version 2 image manifests along with schema 1 manifests. This helps the app developers to stage images from Docker registries that support only this version of manifests.

Diego-release:

Eirini

Operator Experience:

  • Eirini is now available as tech preview with IBM Cloud.
  • Project team is working on fully native staging.
  • Support BOSH workflows for operators to reduce development burden.
  • Added support for containerd logs.

Eirini-releases:

Garden

Developer Experience:

  • Creates garden directory on start, if it doesn’t exist.
  • Merged containerd job into a garden job.
  • The new experimental CPU entitlement plugin exposes an actionable cpu metric that users can understand and auto-scale on.

Garden-releases:

HAProxy BOSH Release

Developer Experience:

  • HAProxy uses BPM
  • Default value for the haproxy keep-alive timeout is now 6 seconds to improve compatibility with various HTTP clients.

HAProxy releases:

Infrastructure

bosh-bootloader:

Operator Experience:

  • For AWS deployments, bbl switches from classic load balancers (CLBs) to network load balancers.
  • Improved support to openstack deployment

bosh-bootloader releases:

Loggregator

Operator Experience:

  • The loggregator team announced the removal of the /containermetrics endpoint on the loggregator_trafficcontroller. Same for the /firehose endpoint.

Loggregator releases:

MySQL Release

Developer Experience:

  • Compatibility with the latest Ruby buildpack

MySQL releases:

Postgres Release

Developer Experience:

  • upgrades PostgreSQL version to 11.2

Postgres releases:

Release Integration

Operator Experience:

  • Foundations currently backed by cf-mysql must migrate to PXC. New foundations or existing foundations that use an external database or postgres can skip the migration.
  • cflinuxfs3 replaces cflinuxfs2 as default stack.
  • Use 10 reservable ports instead of 100 to reduce the spending on public IaaS resources.
  • nginx-buildpack and R-Buildpack releases for cflinuxfs3 available.
  • SMB volume service is now generally available.

CF-Deployment

User Account & Authentication

Developer Experience:

  • Unit tests can now run in parallel. The updates also address test pollution. This reduced the test execution time by 400+%.

UAA releases:

BOSH PMC

The BOSH PMC is now holding monthly meetings! 8am PST on the third Thursday of each month. Read about that here, and the PMC Notes repository (hot tip: this is also a great resource for keeping up with changes in other PMC projects). The BOSH team has announced the removal of support for v1 manifests, and has asked for feedback on this.

BOSH

Operator Experience:

  • BOSH Backup and Restore is the recommended way to orchestrate the backup and restore of BOSH directors and deployments. Accordingly, we removed the deprecated backup and restore feature of the director, and the /backup and /restore API endpoints (#163435459)
  • Add exported_from to releases array for specifying exact stemcell used in compilation (#163832588)
  • Enable operators to see all configs, not just active configs (#161907105)
  • enable_post_deploy now defaults to true (#161970878)
  • When draining director, allow urgent tasks to run until all other tasks are idle (#163869051)
  • Improve visibility into the time spent during a deploy (#161975698)

BOSH:

Extensions PMC

Stratos

Developer Experience:

  • Stratos cut one release with dozens of improvements and bug fixes. Check out the release notes for V2.3 for a full rundown.
  • Some highlights include:
    • Stratos can now be deployed as a CF App using docker image #3294
    • Scalability Improvements: Handle large number of apps in cf dashboards #3212
    • Add a routes list to the CF tabs, Routes Refactor & Route Bug Fixes #3292

Buildpacks

Developer Experience:

CF-Dev

Developer Experience:

  • Performance improvements and reduced memory footprint: CF Dev can now install and start in under 30 minutes and with 5 GB RAM. Start with no services -s none in 15 minutes. Reduced storage: now requires 50G disk space.
  • Add cf dev deploy-service command which allows the ad hoc deployment of services.

releases:

CF-Local

Developer Experience:

  • v0.19.0 includes a complete refactoring of CF Local and forge to use packs. Packs are buildpack builder images that provide a simple, generic, image-based interface for using buildpacks with a variety of tools that support Docker images.

BBR

Operator Experience:

  • Log files created when using BBR to do a multi-deployment backup can now be read while BBR is running
  • Release authors can now tell BBR to backup from one instance of a job (bootstrap node) and restore to all instances by using the BOSH property bbr.backup_one_restore_all.
  • Release authors can now specify job dependencies for BOSH director jobs using the metadata hook.

bosh-backup-and-restore:

 

This post was co-authored by the Foundation technical team: Chris Clark and Swarna Podila.
Chris Clark Profile Image

Chris Clark, AUTHOR

Chris is the Technical Operations Manager at Cloud Foundry Foundation with a background in software engineering and project management.
SEE ALL ARTICLES