Maintenance_Info Does Not Match The Catalog
search cancel

Maintenance_Info Does Not Match The Catalog

book

Article ID: 298389

calendar_today

Updated On:

Products

VMware Tanzu Application Service for VMs

Issue/Introduction

  • You encounter issues when creating service instances (RabbitMQ, Mysql, Redis, etc) from service broker tiles due to the below error message which can be found in the respective broker logs. The below example is from a failed creation of a Redis instance.

    broker.stout.log

    {"timestamp":"1678121803.305308104","source":"on-demand-service-broker","message":"on-demand-service-broker.provision.maintenance-info-conflict","log_level":2,"data":{"correlation-id":"deb30095-afb5-4824-5077-95930059d989","error":"passed maintenance_info does not match the catalog maintenance_info","instance-details":{"service_id":"########-####-####-####-FDADF89CCB93","plan_id":"########-####-####-####-3E8E2B02F905","organization_guid":"########-####-####-####-015717d5adf9","space_guid":"########-####-####-####-657ce2ff8aff","context":{"platform":"cloudfoundry","organization_guid":"########-####-####-####-015717d5adf9","space_guid":"########-####-####-####-657ce2ff8aff","organization_name":"puma-test","space_name":"puma-data-service","organization_annotations":{},"space_annotations":{},"instance_name":"pas_test","instance_annotations":{}},"maintenance_info":{"version":"2.4.5-build.1"}},"instance-id":"########-####-####-####-17b135b68594","requestIdentity":"########-####-####-####-54cb1f42c0e8","session":"1326"}}


  • The "maintenance_info" is the current semantic version of the service plan which is used to determine whether or not the service instance is up to date with the service plan. In the error message above, you can see the version is 2.4.5-build.1

  • The correct version can be found in the broker manifest or by curling the /catalog endpoint. View the broker manifest for the problem tile with bosh manifest commands:

    bosh -d <SERVICE_ID_FROM_ERROR> manifest

  • Below is an example of the correct version which is defined in the service_catalog section of the broker manifest:

    global_quotas:
      service_instance_limit: 85
    id: ########-####-####-####-FDADF89CCB93
    maintenance_info:
      version: 3.1.3-build.2 metadata:
      display_name: Redis On-Demand


  • See the Creating an On-Demand Service Tile for details on broker manifest configuration. 
  • On Demand Service Broker code location for catalog configurations.

Environment

Elastic Application Runtime Broker Tiles:

Seen on Product Versions: 2.12 and 6.0.20

Cause

This problem occurs when the broker tile manifest has been changed, either during an upgrade or a configuration change. When the Apply Changes operation is performed on Opsmanager, if the Register-broker errand is not run, this may lead to a mismatch between the cf marketplace configuration and the configuration reported on the tile. A mismatch may lead to the Broker returning errors like:

CF-MaintenanceInfoConflict(10001): Service broker error: passed maintenance_info does not match the catalog maintenance_info

 

You may encounter this failure when using tiles like p-dataflow, which utilize other service brokers to run RabbitMQ or MySQL instances. Dataflow will return errors presented by the MySQL or RabbitMQ brokers. If you encounter failures of this nature, check all brokers in the chain to ensure  the issue is addressed on all brokers.

Resolution

In order to update the maintenance_info configuration on the marketplace, there are 3 options:

  1. Run an Apply Change on the problem broker tile with the 'register-broker' errand selected. This enables access to plans in the service catalog and updates Cloud Foundry with the new metadata.

  2. Run the 'register-broker' errand manually via bosh:

    bosh -d DEPLOYMENT-NAME run-errand register-broker

  3. Update the broker using CF CLI"

    cf update-service-broker SERVICE_BROKER USERNAME PASSWORD URL

    NOTE: The username, password, and URL in the above command can be gathered from the broker manifest ENV configuration. Use bosh manifest commands to gather the required details, or cf env commands to view the environment details:

    bosh -d <SERVICE_BROKER_DEPLOYMENT> manifest | grep -i user

    cf env <SERVICE_BROKER> | grep -i user



    Use the Security User returned.