The reconciliation process allows you to re-synchronize all API metadata (proxies, environments, etc.) for an existing Apigee Edge for Private Cloud organization into API Hub. You typically use this process if you suspect data inconsistencies or require a full resync of all API definitions.
The process involves two main actions:
- Temporarily opting out the specific organization by modifying the connector's configuration
- Immediately opting it back in
Reconciliation steps
To reconcile an organization, you modify the connector's configuration file twice and restart the connector service after each modification.
- Take a backup of the current configuration file.
- Remove only runtimeDataPubsub and metadataPubsub from the org you want to opt-out.
- Restart uapim connector service.
- Opt-In the current organization by restoring original uapim connector settings to backup taken in Step1.
- Restart uapim connector service.
Opt-out the organization (Remove Pub/Sub topics)
In this step, you will remove the organization from the Pub/Sub topics. To temporarily signal the connector to stop syncing metadata for the target organization.
- Edit the connector configuration: Open the configuration file on the connector VM:
/opt/apigee/customer/application/uapim-connector.properties - Modify conf_uapim_connector.uapim.settings.json: In the connectorConfig section, for the organization you intend to reconcile (e.g., organization1), remove the values for runtimeDataPubsub and metadataPubsub. Ensure you leave the serviceAccount and pluginInstanceId intact.
- Before modification (example):
{ "connectorConfig" : { "organization1" : { "runtimeDataPubsub" : "projects/p1/topics/rt-topic-org1", "metadataPubsub":"projects/p1/topics/md-topic-org1", "serviceAccount": "mysa1@in.myfirstProject", "pluginInstanceId":"aaaa" }, "organization2" : { "runtimeDataPubsub" : "projects/p2/topics/rt-topic-org2", "metadataPubsub":"projects/p2/topics/md-topic-org2", "serviceAccount": "mysa2@in.mySecondProject", "pluginInstanceId":"bbbbb" } }, "runtimeDataPath":"/the/nfs/mounted/path", "managementServer": "hostname" } After modification (Opt-out organization1):
{ "connectorConfig" : { "organization1" : { "runtimeDataPubsub" : "", "metadataPubsub":"", "serviceAccount": "mysa1@in.myfirstProject", "pluginInstanceId":"aaaa" }, "organization2" : { "runtimeDataPubsub" : "projects/p2/topics/rt-topic-org2", "metadataPubsub":"projects/p2/topics/md-topic-org2", "serviceAccount": "mysa2@in.mySecondProject", "pluginInstanceId":"bbbbb" } }, "runtimeDataPath":"/the/nfs/mounted/path", "managementServer": "hostname" }Restart the connector service (opt-out):
Apply the change by restarting the Apigee API Hub for Private Cloud connector:
apigee-service edge-uapim-connector restart
- Edit the connector configuration: Open the configuration file on the connector VM:
Opt-in the organization (Restore Pub/Sub topics)
In this step, you restore the organization to the Pub/Sub topics. To signal the connector to begin a fresh, full synchronization of metadata.
- Edit the connector configuration: Open the configuration file again:
/opt/apigee/customer/application/uapim-connector.properties - Modify conf_uapim_connector.uapim.settings.json: In the connectorConfig section, for the organization you intend to reconcile (e.g., organization1), restore the values for runtimeDataPubsub and metadataPubsub.
- After modification (Opt-in organization1):
{ "connectorConfig" : { "organization1" : { "runtimeDataPubsub" : "projects/p1/topics/rt-topic-org1", "metadataPubsub":"projects/p1/topics/md-topic-org1", "serviceAccount": "mysa1@in.myfirstProject", "pluginInstanceId":"aaaa" }, "organization2" : { "runtimeDataPubsub" : "projects/p2/topics/rt-topic-org2", "metadataPubsub":"projects/p2/topics/md-topic-org2", "serviceAccount": "mysa2@in.mySecondProject", "pluginInstanceId":"bbbbb" } }, "runtimeDataPath":"/the/nfs/mounted/path", "managementServer": "hostname" }
- Edit the connector configuration: Open the configuration file again:
Restored configuration
Restart the connector service (Opt-in):
Restart the connector service again to trigger the full metadata resync:
apigee-service edge-uapim-connector restart
The connector now performs a full opt-in of all API metadata for the target organization. You can monitor the progress using the status endpoint: curl localhost:8080/v1/uapim/status.