On-Demand Services SDK Release Notes

v0.15.0 Release Notes

Minimum Version Requirements

  • BOSH 257+ (261+ for lifecycle errands) / BOSH lite v9000.131.0
  • CF 238+

Known Issues

ODB errands can only delete/upgrade the first 50 instances created. Advice is to configure the `global-quota` to `50` instances.

The `delete-all-service-instances` errand has a default timeout of 60 minutes which causes issues when uninstalling tiles with a large number of instances. This feature will be removed in 0.15.1. Please set this value to `10000` to avoid uninstall issues.

On PCF for GCP deployments, Ops Manager service network VMs are not assigned the correct firewall rules. As a result, these VMs cannot communicate with the BOSH Director and service tiles that use the On-Demand Service Broker (ODB) fail to create service instances. As a workaround, if you are deploying a service network in GCP, modify your firewall to use subnet CIDR-based rules.

New Features

Application Developer Triggered Upgrades

  • Operator can turn on application developer triggered upgrades. Docs
    • To enable set ODB manifest flag features.cf_user_triggered_upgrades to true - default is to false.
    • Operators can make any change to the service plan (stemcell, releases, properties) and the ODB will detect a pending-change
    • ODB only detects manifest changes, not Cloud Config or Runtime Config changes.
    • Once a pending change has been detected the cf cli user will need to trigger the change by passing the apply-changes: true paramater.
    • When the feature is disabled, application developers will not be able to make changes to service instances with pending changes until the operator runs the upgrade-all-service-instances errand.
  • For create/update/delete operations that fail, the cf user will now be presented with a detailed error message that includes: odb-request-id, service-name, service-instance-guid, bosh-task-id, operator-type.
    • This should allow for quicker debugging interactions between the app developer and the operator

Service Instance Lifecycle Errands

  • Lifecycle errands (post-deploy & pre-delete) for service instances deployments. Docs
    • Service authors can now add errands to their service instance deployments manifests.
    • Post-Deploy: Operators can configure the ODB to run an errand that is present in a service instance after a deployment.
    • Pre-Delete: Operators can configure the ODB to run an errand that is present in a service instance before a deployment is deleted.
    • If operators configure service instance lifecycle errands and the BOSH director is not v261+ then the ODB will fail to start.

Other Enhancements

  • Operator can enable/disable service access for plans or opt to manually manage service access. Docs
    • To disable service access, set plan.cf_service_access to disable - default is to enable.
    • To manually manage service access, set plan.cf_service_access to manual. You must then enable access via the cf cli.
  • Operators can set a global quota to limit the total number of service instances that can be created across all plans. Docs
    • To set a global quota, set service_catalog.global_quotas.service_instance_limit to the total number of instances (recommended maximum is 500).

Breaking Changes

  • lastest no longer permitted as an accepted value for broker.service_deployment stemcell and release versions as exact versions are required for the new cf update-service ODB workflow.
  • generate-manifest is now called twice by the ODB as part of the update service instance lifecyle. This means generate-manifest should be a pure function, respecting any previously set arbitary parameters in the old-manifest field.
  • active flag for plans has been replaced with cf_service_access. Docs

Bug fixes

  • pre-start no longer changes ownership of co-located jobs packages.
  • Handle null for vm_extensions array. OpsManager can provide a null value for this field.
  • Reject requests to modify instances that have ongoing BOSH operations.
  • Report ODB metrics for quotas when there are 0 service instances.
  • Return 410 when an instance no longer exists to allow CF’s orphan mitigation to cleanup unused instances.
  • Do not report that a create failed while a task is still in a cancelling state in BOSH.
Create a pull request or raise an issue on the source for this page in GitHub