LATEST VERSION: 1.9 - CHANGELOG
Pivotal Cloud Foundry v1.9

Pivotal Elastic Runtime v1.9 Release Notes

Releases

1.9.8

  • Allows external databases to be configured with unique user accounts.
  • Bumps uaa-release to v13.10 to redact SAML & OAuth Keys from the ID Zone API.
  • Allows a “Max Inflight Container Starts” configuration to be set. This setting will limit the total number of containers that are allowed to be starting at any one time. The default setting is to limit the number of inflight starting containers to 200.
  • Bumps etcd-release to v92 to improve startup resilience on VM using IPSec.

Component Version
Stemcell3312.12
binary-buildpack1.0.5
capi1.11.*
cf246*
cf-autoscaling75.3
cf-mysql32
cflinuxfs2-rootfs1.46.0
consul137
diego0.1491.0*
dotnet-core-buildpack1.0.5
etcd92
garden-runc1.1.1
go-buildpack1.7.16
java-offline-buildpack3.10
loggregator65.0.6
mysql-backup1.28.0
mysql-monitoring6
nats14
nodejs-buildpack1.5.23
notifications34
notifications-ui26
php-buildpack4.3.22
pivotal-account1.1.10
postgres8
push-apps-manager-release659.10
python-buildpack1.5.12
routing0.143.0
ruby-buildpack1.6.28
service-backup17.2.0
staticfile-buildpack1.3.13
uaa24.1
* Components marked with an asterisk have been patched to resolve security vulnerabilities or fix component behavior.

1.9.7

  • Patches Pivotal Account to prevent an account authorization vulnerability. For more details, please see pivotal.io/security.

Component Version
Stemcell3312.12
binary-buildpack1.0.5
capi1.11.0*
cf246*
cf-autoscaling75.3
cf-mysql32
cflinuxfs2-rootfs1.46.0
consul137
diego0.1491.0*
dotnet-core-buildpack1.0.5
etcd91
garden-runc1.1.1
go-buildpack1.7.16
java-offline-buildpack3.10
loggregator65*
mysql-backup1.28.0
mysql-monitoring6
nats14
nodejs-buildpack1.5.23
notifications34
notifications-ui26
php-buildpack4.3.22
pivotal-account1.1.10
postgres8
push-apps-manager-release659.10
python-buildpack1.5.12
routing0.143.0
ruby-buildpack1.6.28
service-backup17.2.0
staticfile-buildpack1.3.13
uaa24
* Components marked with an asterisk have been patched to resolve security vulnerabilities or fix component behavior.

1.9.6

  • Adds configurable audit logging for the Internal MySQL database. Configuration options can be found on the Internal MySQL page.
  • Corrects the documentation for non-RFC-1918 Private Network configuration.
  • Bumps etcd-release to v91 for some stability improvements.
  • Patches the Diego TPS bridge component to prevent credential mangling.
  • Includes proper verification of database presence when configuring the ERT to work with an external database server.

Component Version
Stemcell3312.12
binary-buildpack1.0.5
capi1.11.0*
cf246*
cf-autoscaling75.3
cf-mysql32
cflinuxfs2-rootfs1.46.0
consul137
diego0.1491.0*
dotnet-core-buildpack1.0.5
etcd91
garden-runc1.1.1
go-buildpack1.7.16
java-offline-buildpack3.10
loggregator65*
mysql-backup1.28.0
mysql-monitoring6
nats14
nodejs-buildpack1.5.23
notifications34
notifications-ui26
php-buildpack4.3.22
pivotal-account1
postgres8
push-apps-manager-release659.10
python-buildpack1.5.12
routing0.143.0
ruby-buildpack1.6.28
service-backup17.2.0
staticfile-buildpack1.3.13
uaa24
* Components marked with an asterisk have been patched to resolve security vulnerabilities or fix component behavior.

1.9.5

  • Bumps the autoscaling release to v75.3, removing the git dependency that was vulnerable, and patching a bug that caused CPU-based scaling to incorrectly scale down if CPU utilization was reported as 0%.
  • Bumps etcd-release to v88 to improve stability on environments with higher network latencies.
  • Bumps Apps Manager to v659.10 to resolve several outstanding bugs and issues.
  • Bumps Notifications to v34, removing logging that included UAA OAuth tokens, and allowing the service to handle validation of UAA tokens signed with different signing keys.
  • Bumps the rootfs to 1.97.0 to cover some low and medium vulnerabilities.
  • Patches loggregator to resolve an issue where application logs were not correctly displaying application instance indices.

Component Version
Stemcell3312.12
binary-buildpack1.0.5
capi1.11.0*
cf246*
cf-autoscaling75.3
cf-mysql32
cflinuxfs2-rootfs1.46.0
consul137
diego0.1491.0*
dotnet-core-buildpack1.0.5
etcd88
garden-runc1.1.1
go-buildpack1.7.16
java-offline-buildpack3.10
loggregator65*
mysql-backup1.28.0
mysql-monitoring6
nats14
nodejs-buildpack1.5.23
notifications34
notifications-ui26
php-buildpack4.3.22
pivotal-account1
postgres8
push-apps-manager-release659.10
python-buildpack1.5.12
routing0.143.0
ruby-buildpack1.6.28
service-backup17.2.0
staticfile-buildpack1.3.13
uaa24
* Components marked with an asterisk have been patched to resolve security vulnerabilities or fix component behavior.

1.9.4

  • Bumps the garden-runc release to version 1.1.1 to address CVE-2016-9962. For more details, please see pivotal.io/security.

Component Version
Stemcell3312.12
binary-buildpack1.0.5
capi1.11.0
cf246
cf-autoscaling75
cf-mysql32
cflinuxfs2-rootfs1.43.0
consul137
diego0.1491.0
dotnet-core-buildpack1.0.5
etcd87
garden-runc1.1.1
go-buildpack1.7.16
java-offline-buildpack3.10
loggregator65
mysql-backup1.28.0
mysql-monitoring6
nats14
nodejs-buildpack1.5.23
notifications32
notifications-ui26
php-buildpack4.3.22
pivotal-account1
postgres8
push-apps-manager-release659.8
python-buildpack1.5.12
routing0.143.0
ruby-buildpack1.6.28
service-backup17.2.0
staticfile-buildpack1.3.13
uaa24
* Components marked with an asterisk have been patched to resolve security vulnerabilities or fix component behavior.

1.9.3

  • Requires user input for the Internal MySQL Monitor Recipient Email Address field. This field previously defaulted to an invalid email address. Users that wish to use the internal MySQL cluster and deploy the monitor should remember to set a valid email recipient.
  • Bumps the routing-release to version 0.143.0 to update the component’s golang version to 1.7.
  • Moves credentials for the Cloud Controller Bridge components into configuration files to prevent them from being viewable in the process list.
  • Fixes race conditions around transactions in the Diego BBS.

Component Version
Stemcell3312.12
binary-buildpack1.0.5
capi1.11.0
cf246
cf-autoscaling75
cf-mysql32
cflinuxfs2-rootfs1.43.0
consul137
diego0.1491.0
dotnet-core-buildpack1.0.5
etcd87
garden-runc1.0.3
go-buildpack1.7.16
java-offline-buildpack3.10
loggregator65
mysql-backup1.28.0
mysql-monitoring6
nats14
nodejs-buildpack1.5.23
notifications32
notifications-ui26
php-buildpack4.3.22
pivotal-account1
postgres8
push-apps-manager-release659.8
python-buildpack1.5.12
routing0.143.0
ruby-buildpack1.6.28
service-backup17.2.0
staticfile-buildpack1.3.13
uaa24

1.9.2

  • Bumps the stemcell to 3312.12 to address a memory usage issue in rsyslog.
  • Adds support for application http health-check types. Specifying an http health-check can be done through the API. More details can be found in the Cloud Foundry API documentation.

Component Version
Stemcell3312.12
binary-buildpack1.0.5
capi1.11.0
cf246
cf-autoscaling75
cf-mysql32
cflinuxfs2-rootfs1.43.0
consul137
diego0.1491.0
dotnet-core-buildpack1.0.5
etcd87
garden-runc1.0.3
go-buildpack1.7.16
java-offline-buildpack3.10
loggregator65
mysql-backup1.28.0
mysql-monitoring6
nats14
nodejs-buildpack1.5.23
notifications32
notifications-ui26
php-buildpack4.3.22
pivotal-account1
postgres8
push-apps-manager-release659.8
python-buildpack1.5.12
routing0.142.0
ruby-buildpack1.6.28
service-backup17.2.0
staticfile-buildpack1.3.13
uaa24

1.9.1

  • Bumps the stemcell to 3312.9 and the rootfs to 1.94.0 in order to address a vulnerability in API (USN-3156-1).
  • Patches a vulnerability in the Notifications service that allowed unprivileged users to impersonate other users with unauthenticated tokens.
  • Resolves a bug in the authentication mechanism of the Autoscaling service that prevented some users from viewing the UI.
  • Patches Cloud Controller to reduce conditions under which a database deadlock could occur.
  • Patches Cloud Controller to remove logging of database credentials.
  • Bumps the Golang buildpack to 1.7.16 to bring in support for Golang 1.7.

Component Version
Stemcell3312.9
binary-buildpack1.0.5
capi1.11.0
cf246
cf-autoscaling75
cf-mysql32
cflinuxfs2-rootfs1.43.0
consul137
diego0.1491.0
dotnet-core-buildpack1.0.5
etcd87
garden-runc1.0.3
go-buildpack1.7.16
java-offline-buildpack3.10
loggregator65
mysql-backup1.28.0
mysql-monitoring6
nats14
nodejs-buildpack1.5.23
notifications32
notifications-ui26
php-buildpack4.3.22
pivotal-account1
postgres8
push-apps-manager-release659.7
python-buildpack1.5.12
routing0.142.0
ruby-buildpack1.6.28
service-backup17.2.0
staticfile-buildpack1.3.13
uaa24

Component Versions

Versions 1.9.0 and higher versions of Elastic Runtime consist of the following component versions:

Component Version
Stemcell3312.7
binary-buildpack1.0.5
capi1.11.0
cf246
cf-autoscaling67
cf-mysql32
cflinuxfs2-rootfs1.40.0
consul137
diego0.1491.0
dotnet-core-buildpack1.0.5
etcd87
garden-runc1.0.3
go-buildpack1.7.15
java-offline-buildpack3.10
loggregator65
mysql-backup1.28.0
mysql-monitoring6
nats14
nodejs-buildpack1.5.23
notifications31
notifications-ui26
php-buildpack4.3.22
pivotal-account1
postgres8
push-apps-manager-release659.7
python-buildpack1.5.12
routing0.141.0
ruby-buildpack1.6.28
service-backup17.2.0
staticfile-buildpack1.3.13
uaa24

How to Upgrade

The procedure for upgrading to Pivotal Cloud Foundry Elastic Runtime v1.9 is documented in the Upgrading Pivotal Cloud Foundry topic.

When upgrading to v1.9, be aware of the following upgrade considerations:

  • You must upgrade to a version of Elastic Runtime v1.8.9 or higher in order to successfully upgrade to v1.9.
  • If you are upgrading from a PCF deployment that at one point included Elastic Runtime v1.7.16 or earlier, make sure that you have performed the remedial steps outlined in App Usage Data and Events Data Become Corrupted After Upgrade or Install before proceeding with the upgrade. If you fail to perform the remedial steps, the upgrade process may corrupt your existing usage data.
  • Before upgrading to PCF v1.9, remove any product tiles that are no longer supported in PCF. See Review and Remove Unsupported Products.

    Some partner service tiles may currently be incompatible with PCF v1.9. Pivotal is working with partners to ensure their tiles are being updated to work with the latest versions of PCF.

    For information about which partner service releases are currently compatible with PCF v1.9, review the appropriate partners services release documentation at http://docs.pivotal.io, or contact the partner organization that produces the tile.
  • Before upgrading to PCF v1.9, ensure that you have adequate space available on your database server. See Diego and Routing API Migrate to a Relational Datastore and Cloud Foundry API Availability During Upgrade.
  • Due to the Cloud Foundry API database migration, the CF API will return 500 status codes while the Cloud Controller VMs are being upgraded. In addition, V3 service bindings are removed without notifying the related broker. Pivotal recommends deleting any V3 service bindings before upgrading. Although existing v2 applications still run normally during the upgrade, some developer interactions with PCF such as pushing apps to PCF may fail. You may want to warn users about potential availability issues during the upgrade window.

New Features in Elastic Runtime v1.9.0

This section describes new features of the release.

Advanced Features

The Advanced Features section of the Elastic Runtime tile includes new functionality that may have certain constraints. Although these features are fully supported, Pivotal recommends caution when using them in production.

Security Improvements for Intercomponent Communication

The etcd cluster now uses TLS for all communication between servers and clients.

To support the migration from unencrypted to encrypted communication, existing etcd servers are converted into proxies. These proxies allow connections from clients that still communicate unencrypted.

Important: The etcd proxy needs to remain deployed until such time as all clients in your deployment have switched to encrypted communications.

Additionally, the Diego Cell VMs now provide a secured API endpoint to communicate with the Diego Brain VM. The Cells provide both encrypted and unencrypted channels of communication in this release.

A complete switch-over to TLS for this communication channel will follow in a subsequent release.

Containers Default to Running Unprivileged

In PCF v1.9, all newly staged containers run as unprivileged containers.

Unprivileged containers are a security technique of mapping the root user inside the container to a regular user who has no privileges at the Linux operating system level. This prevents apps from inheriting root access on the host if an app breaks out of the container.

By using the full set of user-namespacing features in Linux, PCF isolates containers sharing the same host.

Diego and Routing API Migrate to a Relational Datastore

Both Diego and the Routing API datastores have switched over to using a relational database as their backing store. Both Diego and Routing API use the same database, either internal MySQL or external database, that you configure during a new deployment of Elastic Runtime.

Diego Relational Store

Diego no longer uses etcd as a backend datastore. It will now use the database specified in the “Databases” form in the Elastic Runtime Tile configuration. During the initial upgrade deployment, existing data in the etcd cluster will be migrated to its new location in the relational database.

Routing API Relational Store

In terms of upgrade, only deployments with the TCP routing feature enabled in PCF v1.8 are impacted. When those deployments are upgraded from PCF v1.8 to PCF v1.9, the upgrade process migrates existing routing API data automatically.

Cloud Foundry API Availability During Upgrade

The database backing the CF API performs a backwards-incompatible migration when upgrading from v1.8.x. The purpose of this large database migration is to prepare for the release of the Cloud Controller V3 API.

During the migration, you should expect to see 500 status codes from the API while the Cloud Controller VMs are being deployed.

Here are a couple things to note before performing the upgrade:

  • Ensure there is adequate space available on the database server. This depends on the type of database you use and the amount of data you are migrating. For example, Postgres creates copy tables that can temporarily consume double the size of the apps table.

  • V3 service bindings are removed without notifying the related broker. Pivotal recommends deleting any V3 service bindings before upgrading.

Support for Running Tasks

In addition to managing long-running processes, PCF now has first-class support for running one-off tasks.

Tasks are useful to application developers looking to perform defined operations with finite lifetimes such as database migrations, batch jobs, or seeding blobstores.

The task itself is guaranteed by the platform to run at most once and results in either a success or failure status.

When a task is executed, it inherits the environment of its associated application, including environment variables and filesystem.

For more information, see the Running Tasks topic.

.NET Core Buildpack

The .NET Core Buildpack is now included as a core buildpack for application developers. This buildpack is used by applications running .NET Core on Linux.

The buildpack is only new for operators who have not already upgraded to Elastic Runtime v1.8.13 or higher.

For more information, see the documentation for the .NET Core Buildpack.

Support for Spring Boot Actuators in Apps Manager

Apps Manager now securely integrates the /info, /health, and /logger Spring Boot actuators for apps that use Spring Boot v1.5 or later.

If an app is configured with these actuators, users will see the following in Apps Manager:

  • Info: Git commit information will be available in the app page header, and on the app settings tab. Raw output of the info actuator is also available on the app settings tab.
  • Health: The output of the health actuator for each instance will be displayed in the instances table on the summary tab of an app. The instance rows can be expanded to show the full details of the health endpoint for any instance.
  • Logger: On the logs tab, the Configure Logging button will appear, allowing the user to temporarily configure log levels for the application’s loggers without a push or restart.

For more information, see the documentation for Spring Boot Actuators and Using Actuators.

New Autoscaling Features

The autoscaling service provides new scaling metrics for application developers.

In addition to CPU Utilization, the service now supports HTTP Throughput and HTTP Latency as metrics to decide application scaling events.

  • HTTP Throughput measures the number of incoming HTTP requests per second per application instance.
  • HTTP Latency measures application response latency at the 99th and 95th percentiles.

For all metrics, application developers can set upper and lower thresholds to decide whether the service should scale the application.

All metrics are computed as a 30-second rolling average. With the new Standard plan, rules are evaluated every 5 seconds.

The autoscaling service now also allows for multiple metrics to be combined for a single application.

Finally, to facilitate the automation of the interactions with the autoscaling service, the service now supports a REST-based API to manage your application scaling configuration.

For more information, see the Scaling an Application Using Autoscaler topic.

Zipkin Tracing Headers

With the Zipkin tracing option enabled, the router attaches tracing headers to incoming requests.

Enabling this option allows application developers who have Zipkin-compatible instrumentation in their application to trace requests as they traverse the platform.

For more information, see Enabling Zipkin Tracing.

Known Issues

This section lists new and existing known issues for Elastic Runtime.

New Issues

  • When BOSH is restarted, LogSearch may fail to reconnect to BOSH when it restarts. As a result, after an upgrade to PCF v1.9, not all expected logs may appear in LogSearch. See Upgrading Pivotal Cloud Foundry for the post-upgrade workaround step.
  • There is a naming discrepancy in the .Net Core buildpack between v1.8 and v1.9. The buildpack is referred to as “dotnet-core-buildpack” in v1.8 and “dotnet_core_buildpack” in v1.9. This will result in 2 versions of the buildpack being created after an upgrade to v1.9. Operators should remove the older buildpack after completing the upgrade process, making sure to migrate all applications onto the newer buildpack.

Existing Issues

  • If you choose to enable TCP routing, you must also add the TCP routing domain via the cf CLI after deploying Elastic Runtime. The TCP routing domain is not configurable in the Elastic Runtime tile.
  • Consul server cluster can fail to recover from quorum loss. See the Consul fails to start during upgrade in PCF knowledge base article for how to recover from this issue.
  • etcd and Consul clusters do not self-heal in cases where they happen to enter split-brain.
  • Disaster recovery for etcd or Consul clusters still requires manual intervention.
  • The cf CLI command for viewing application files, cf files, does not work with apps on Diego.
Was this helpful?
What can we do to improve?
View the source for this page in GitHub