cfxDimensions v2.0.3

Release Date: June 3, 2020

cfxDimensions Platform Features - v2.0.3

v2.0.3 release is a backward-compatible release. The Platform side of the changes is limited.

The CLI portion of the platform (macawcli) on the other hand, has bug fixes and feature enhancements. In the current v2.0.3 release, macaw console is hidden from the main landing portals page.

To access macaw console UI, use https://<ip or FQDN>/console-ui/

Enhancements in CLI

  • macaw application --insecure show-config <app-id>

    • The show-config command will display the configuration details of all the service clusters that belong to an application.

    • app-id can be queried/taken from ‘macaw application --insecure status’ command (this command was released as part of earlier 2.0.2 macaw platform).

  • ‘macaw application status’ command now optionally takes an app-id, to display the status of the user-selected app (or specific user application in context )

    • macaw application --insecure status [--app-id APPID]

  • macaw application --insecure invoke --service SERVICE_NAME --api API_NAME [--params-file API_PARAMS_FILE | --params PARAMS] appid

    • Invoke command allows users to invoke service APIs from the command line. This command is the API browser invocation equivalent in the CLI.

    • --service is the service name and --api is the api to be executed

    • appid is the application id in which this service is present. appid can be queried/taken from ‘macaw application --insecure status’ command.

    • Parameters to this api can be passed in two ways

      • --params :- Parameters to the above api are passed as string, representing a JSON array. Some example invocations using --params.

1) macaw application --insecure invoke --service dataset-manager --api getDatasetsById --params '["345849ce-b052-47c4-9fa8-9e898ce351b5"]' 2c10c02-7ca7-41d1-9a74-ee74202a56cf

2) macaw application --insecure invoke --service cfxdimensions-app-resource-manager --api invokeAppApi --params '["getUserDetailsById","{\"userId\":\"\"}"]' a2c10c02-7ca7-41d1-9a74-ee74202a56cf

3) macaw application --insecure invoke --service dataset-manager --api getDatasetsByCriteria --params '[{"conditions": [{"condition-name":"first","type":"IN","attribute":"markers","values": ["replacementProjection"]}],"max-results":10,"results-offset":0}]' a2c10c02-7ca7-41d1-9a74-ee74202a56cf

  • --params-file :- Above parameters to the RPC can be passed through the JSON file too. This option gives the path to a file, containing a JSON array of

parameters that will be passed as parameters to the API invocation

1) Sample using params-file:-

macaw application --insecure invoke --service dataset-manager --api getDatasetsById --params-file p5.json a2c10c02-7ca7-41d1-9a74-ee74202a56cf

2) Sample parameter JSON file:-



"conditions": [


"condition-name": "first",

"type": "IN",

"attribute": "markers",

"values": [





"max-results": 10,

"results-offset": 0



  • The output of "macaw application status" has been enhanced to make it much more meaningful.

  • macaw application --insecure show-blueprint <bp-id>

    • Will show the contents of a blueprint on the CLI. It gives the blueprint json as output.

  • --exclude in ‘macaw application provision’ command

    • Support has been added to exclude certain components from the blueprint during "macaw application provision".In 2.0.2 platform, only include was functional.

    • We can exclude services, webapps, generic containers.

    • Sample command to exclude email-service.

macaw application --insecure provision --tag AIA-i-4.0.0 --blueprint 9597fbc9-34f2-4e88-a9f3-d799d7ae9ff0 --input config2_AIA.json --exclude email-service

Bug Fixes:

  • The macaw application stop now stops even generic containers that are part of the application.

  • The output of the macaw application start and stop is now consistent and will show the shorter version of the container ids being started/stopped.

  • Generic containers that are part of an application can now be successfully provisioned from the CLI and the containers come up without any errors.

  • cLambda service when provisioned from the CLI wasn't previously starting in 2.0.2 macaw. This has now been fixed.

  • macaw application provision command will now show a better error message if the input JSON file (containing the provisioning input) has invalid JSON content.

  • macaw application provision command will now show a better error message if the quantity selected for the blueprint component(s) doesn't fall in the range of allowed min/max quantity defined in the blueprint.

  • Identity service seed data has been fixed to not include some random phone number of seeded users. Note that this change can/will only be visible for new installations, when the DB is freshly seeded.

  • Minio directories are now cleaned up during macaw reset. Previously if the minio was installed on a separate VM, the cleanup of these directories was not happening. This has been fixed.

  • The macaw application stop will now stop the application containers in the reverse order of what's defined in the blueprint of the application. In previous verisons, it was wrongly stopping in the same order as the order defined in the blueprint.

  • macaw services delete command was previously deleting all containers (including infra containers), if Infra, Platform, Services are on Platform VM itself. This has now been fixed and the command will delete only service containers.

  • The --clean option of ‘macaw platform dbinit’ is fixed. After deleting services, platform containers, users can use dbinit --clean to clear all the service databases from MySQL. It also cleans previous service entries from registry tables.