CLI or API Provision Fails With source.parameters or sourceConfig.parameters Error "Value must be a valid json object. Ensure all quotes are escaped (\")." (KBA7597)
KBA
KBA# 7597
Issue
CLI or API operations to provision a Dataset may encounter an error after Engine upgrade to 6.0.7.0. The following messages may be encountered:
source.parameters Value must be a valid json object. Ensure all quotes are escaped (\"). sourceConfig.parameters Value must be a valid json object. Ensure all quotes are escaped (\").
Prerequisites
- Engine version 6.0.7.0 or higher.
- The CLI or API operation does not explicitly set the API version, thereby defaulting to the latest API version for the Engine, or the version is set to 1.11.7.
Applicable Delphix Versions
- Click here to view the versions of the Delphix engine to which this article applies
-
Major Release All Sub Releases 6.0 6.0.7.0, 6.0.8.0, 6.0.8.1
Resolution
The behavior described is ultimately a result of a regression in the Engine API behavior, where the default source.parameters and sourceConfig.parameters are incorrectly posted in the API request, if not explicitly set.
There are two possible workaround options available:
- Explicitly defining the API version in the CLI or API script to a lower API version than the default for 6.0.7.0. (1.11.7). Setting the API version to 1.11.6 will revert the previous (expected) behavior.
In the CLI session script, the following version command can be added at the beginning of the operation:
version 1.11.6
In the API session POST, the major, minor, and micro version can be explicitly set:
{ "type": "APISession", "version": { "type": "APIVersion", "major": 1, "minor": 11, "micro": 6 } }
- Alternatively, the source.parameters and sourceConfig.parameters JSON can be explicitly defined with null values ({}).
CLI:
set source.parameters={};set sourceConfig.parameters={};
API:
{ "type": "AppDataProvisionParameters", "container": { "type": "AppDataContainer", "name": "VEmptyVDB_BSQAQBP2_RCpPNDVf", "group": "GROUP-1", "sourcingPolicy": { "type": "SourcingPolicy", "logsyncEnabled": false } }, "source": { "type": "AppDataVirtualSource", "name": "VsourceEmptyVDB_BSQAQBP2_UZelyfvj", "operations": { "type": "VirtualSourceOperations", "configureClone": [], "preRefresh": [], "postRefresh": [], "preRollback": [], "postRollback": [], "preSnapshot": [], "postSnapshot": [], "preStart": [], "postStart": [], "preStop": [], "postStop": [] }, "parameters": {}, "additionalMountPoints": [], "allowAutoVDBRestartOnHostReboot": false }, "sourceConfig": { "type": "AppDataDirectSourceConfig", "name": "VEmptyVDB_BSQAQBP2_RCpPNDVf", "linkingEnabled": false, "repository": "APPDATA_REPOSITORY-1", "parameters": {}, "path": "/mnt/provision/VEmptyVDB_BSQAQBP2_RCpPNDVf" }, "timeflowPointParameters": { "type": "TimeflowPointSemantic", "container": "APPDATA_CONTAINER-1" }, "masked": false }
This issue will be fixed in a future release, and this document updated when generally available.
Related Articles
The following articles may provide more information or related information to this article: