Skip to content

Cloud Foundry do not parse SB response and do not include custom metadata#4618

Closed
atanas-attodorov-wq wants to merge 1 commit intocloudfoundry:mainfrom
atanas-attodorov-wq:parse_metadata_from_sb
Closed

Cloud Foundry do not parse SB response and do not include custom metadata#4618
atanas-attodorov-wq wants to merge 1 commit intocloudfoundry:mainfrom
atanas-attodorov-wq:parse_metadata_from_sb

Conversation

@atanas-attodorov-wq
Copy link
Copy Markdown
Contributor

@atanas-attodorov-wq atanas-attodorov-wq commented Oct 24, 2025

  • A short explanation of the proposed change:

Tanzu Data service tiles (like Postgres) bundle a specific engine version (e.g., Postgres 16.6), but this version is not visible on the ServiceInstance object in Cloud Foundry. This makes it hard for users to know which version they are consuming.

The Open Service Broker API (OSBI) already has a ServiceInstanceMetadata field to store this type of information, Even if the on-demand-service-broker (ODB) propagate the metadata it is not consumed during parsing in CAPI.

  • An explanation of the use cases your change solves

This change makes the service version visible in Cloud Foundry by using the existing OSBI metadata field. This is a three-part process:

Service Adapter: The service-adapter (e.g., the Postgres tile's adapter) will be updated to add the engine version as a key-value pair in the tags section of the BOSH manifest it generates (e.g., postgres_version: "16.6").

On-Demand Service Broker (ODB): The ODB will be modified to read this new version tag from the manifest. The ODB will then take this value and populate the Metadata field in its ProvisionedServiceSpec and UpdateServiceSpec responses to Cloud Foundry.

Cloud Controller will parse that metadata and merge with labels that comes from the Service Broker. The labels which comes from Service Broker will be shown only if the SI is managed.

  • Links to any other associated PRs
  1. postgres-tile https://github.gwd.broadcom.net/TNZ/postgres-tile/pull/394
  2. on-demand-service-broker Propagate tags from generated by service adapter Bosh Manifest into Metadata part of ProvisionedServiceSpec pivotal-cf/on-demand-service-broker#439
  • [Yes ] I have reviewed the contributing guide

  • [Yes] I have viewed, signed, and submitted the Contributor License Agreement

  • [ Yes] I have made this pull request to the main branch

  • [Yes ] I have run all the unit tests using bundle exec rake

  • [ No] I have run CF Acceptance Tests

@linux-foundation-easycla
Copy link
Copy Markdown

linux-foundation-easycla Bot commented Oct 24, 2025

CLA Signed
The committers listed above are authorized under a signed CLA.

  • ✅ login: atanas-attodorov-wq / name: Atanas Todorov (a7cefed)

@atanas-attodorov-wq atanas-attodorov-wq changed the title Cloud Foundry do not parse SB resonse and do not include custom metadata Cloud Foundry do not parse SB response and do not include custom metadata Oct 24, 2025
end

# Merge broker labels into CF labels (broker labels take precedence for conflicts)
cf_labels.merge(broker_labels)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure merging the broker labels in with the user defined labels is the correct solution here.

While, I think, without passing the broker attributes to the user it remains terribly useful, i think conflating the osabi labels with user labels because they are specified with the same word might be the wrong choice.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree . Can you have a look at this discussion?
#4633
In the project i am working ,this will not be needed anymore. I am closing this PR. If someone say it is feasible , i can re-open the PR and contribute.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants