Skip to main content
Version: Develop

Block Automatic Updates

Default Behavior

The a9s Service Broker allows the Platform Operator to allow or forbid the Application Developer to block automatic updates of their Service Instances.

By default the automatic updates property for the Service Instance is set to false. This results in all Service Instances being updated automatically when the Platform Operator starts the update process for all Service Instances.

Forbidding Automatic Updates

Description

By enabling the Application Developer to block automatic updates, the Application Developers will be able to manually decide which of their Service Instance will get updated and which Service Instance will not.

However, when manually updating Service Instances with the CLI, Application Developers will have to add the force_update parameter to their command.

cf update-service MY_SERVICE -c '{ "force_update": true }'

The Application Developer will have to manually update their Service Instances when:

  • A new BOSH release is installed
  • A new stemcell is available
note
  1. If there is no new BOSH release or stemcell, it is not required to add the force_update parameter when manually updating your Service Instance.
  2. The Platform Operator can also ignore the configuration by running the force_deployment_updater errand: bosh run-errand force_deployment_updater. This command will update these Service Instances regardless if the Application Developer allowed the update or not. The force_deployment_updater must be installed to be usable by the Platform Operator following the Installation chapter.

Installation

The Platform Operator can allow the Application Developer to block the automatic update by using the ops/forbid-automatic-update-of-service-instance.yml ops file.

The force_deployment_updater is by default not part of the a9s Data Service deployment manifests. The Platform Operator can apply the Ops file add-force-deployment-updater.yml which can be found under the specific a9s Data Service folder:

  • a9s KeyValue: keyvalue-service/ops/add-force-deployment-updater.yml
  • a9s LogMe2: logme2-service/ops/add-force-deployment-updater.yml
  • a9s MariaDB: mariadb-service/ops/add-force-deployment-updater.yml
  • a9s Messaging: rabbitmq-service/ops/add-force-deployment-updater.yml
  • a9s MongoDB: mongodb-service/ops/add-force-deployment-updater.yml
  • a9s MySQL: mysql-service/ops/add-force-deployment-updater.yml
  • a9s PostgreSQL: postgresql-service/ops/add-force-deployment-updater.yml
  • a9s Prometheus: prometheus-service/ops/add-force-deployment-updater.yml
  • a9s Redis®*: redis-service/ops/add-force-deployment-updater.yml
  • a9s Search: search-service/ops/add-force-deployment-updater.yml

*Redis is a registered trademark of Redis Ltd. Any rights therein are reserved to Redis Ltd. Any use by anynines GmbH is for referential purposes only and does not indicate any sponsorship, endorsement or affiliation between Redis and anynines GmbH.