In order to support service instance updates from K8S svcat
I need osb-cmdb to support K8S-flavored PATCH /v2/service_instances/:instance_id requests with missing plan_id without errors
Request Field
Type
Description
plan_id
string
If present, MUST be the ID of a Service Plan from the Service Offering that has been requested. If this field is not present in the request message, then the Service Broker MUST NOT change the Service Plan of the Service Instance as a result of this request.
Observed behavior
Osb-cmdb rejects the request with Invalid plan received with unknown id: null
CloudFoundry seems to systematically provide plan_id while k8S svcat only provides it when it changes.
Osb-cmdb does not really need the plan_id to update a brokered service instance:
backend service instance is identified by:
org-name (derived from osb-cmdb tenant)
space-name (i.e. brokered service definition name)
service-instance-name (i.e. brokered service instance guid)
Currently, the plan_id is abusively required by osb-cmdb due to:
Expected behavior
PATCH /v2/service_instances/:instance_id
requests with missing plan_id without errorsObserved behavior
Osb-cmdb rejects the request with
Invalid plan received with unknown id: null
CloudFoundry seems to systematically provide
plan_id
while k8S svcat only provides it when it changes.Osb-cmdb does not really need the
plan_id
to update a brokered service instance:Currently, the
plan_id
is abusively required by osb-cmdb due to:backingServicePlanId
in the case of a plan upgrade: should support missing brokeredPlan Id|Name and return null update-requested backend plan id https://github.com/orange-cloudfoundry/osb-cmdb/blob/1c62877fc1b63de3f34934422d83a2756f439085/osb-cmdb/src/main/java/com/orange/oss/osbcmdb/serviceinstance/OsbCmdbServiceInstance.java#L500Affected release
Reproduced on version v1.4.0 and earlier