-
Notifications
You must be signed in to change notification settings - Fork 361
Introducing a New Required Property to Cloud Controller's Bosh Spec without Breaking Deployments
When adding a new required property to one of the Bosh specs in Cloud Controller (or any of the jobs in capi-release
for matter), you will need to submit a pull request to both cf-deployment
and cf-release
. Make sure you communicate that the property is required (Rel-Int will need to mention this in the release notes for cf-release
) and note which version of capi-release
will use the new property.
If the new property is committed and pushed to master
prior to when those pull requests are merged, deployments of the latest Cloud Controller code will fail with errors like the following:
Task 195560 | 23:03:11 | Error: Unable to render instance groups for deployment. Errors are:
- Unable to render jobs for instance group 'api'. Errors are:
- Unable to render templates for job 'cloud_controller_ng'. Errors are:
- Error filling in template 'cloud_controller_ng.yml.erb' (line 299: Can't find property '["uaa.clients.cc_service_key_client.secret"]')
There's several ways around this, but after discussing it with the Release Integration team, the preferred approaches are:
- If the work is not time sensitive, wait for the pull requests to be merged prior to committing and pushing the spec file and job template changes.
or
- Create a temporary ops-file in the
capi-ci
repo that adds the new required properties tocf-deployment
for use within CAPI's pipelines. Just be sure to block the Tracker story on the two PRs and wait for them to be merged before accepting the story.
-
Pipelines
-
Contributing
- Tips and Tricks
- Cloud Controller API v3 Style Guide
- Playbooks
- Development configuration
- Testing
-
Architectural Details
-
CC Resources
- Apps
- Audit Events
- Deployments
- Labels
- Services
- Sidecars
-
Dependencies
-
Troubleshooting
- Ruby Console Script to Find Fields that Cannot Be Decrypted
- Logging database queries in unit tests
- Inspecting blobstore cc resources and cc packages(webdav)
- How to Use USR1 Trap for Diagnostics
- How to Perf: Finding and Fixing Bottlenecks
- How to get access to mysql database
- How To Get a Ruby Heap Dumps & GC Stats from CC
- How to curl v4 internal endpoints with mtls
- How to access Bosh Director console and restore an outdated Cloud Config
- Analyzing Cloud Controller's NGINX logs using the toplogs script
-
k8s
-
Archive