...
Case you need to add a custom workflow to a running ONAP instance, you can use on one of the below methods :
Prerequisite : For ONAP casablanca release, Camunda apps are not exposed by default, so in order to be able to access Camunda applications (rest-engine, cockpit, tasklist,..), you need to expose the so-bpmn-infra deployment in your running ONAP instance.
...
- This method is useful in case you need to include some script files in your deployment.
- Specify Script format (JavaScript, groovy,..).
- Specify Script type as "External Script" in your script task.
- Refer to the script name using URI "deployment://{{script_file_name}}".
Use below cURL command to deploy the BPMN file and its associated scripts to your running ONAP instance
curl -w \
-H "Accept: application/json" \
-F "deployment-name=rest-test" \
-F "enable-duplicate-filtering=false" \
-F "deploy-changed-only=falses" \
-F "ExternalScript.bpmn=@/PATH_TO_BPMN_File/ExternalScript.bpmn" \
-F "externalScript.js=@/PATH_TO_SCRIPT_File/externalScript.js" \
http://{{onap_LB@}}:{{camunda_Pod_Port}}/sobpmnengine/deployment/create
- Use the Camunda cockpit application to view your custom workflow.
Running the custom workflows
You can run the workflow directly using below URI
...
The above link will bypass the API handler and run the required workflow directly.
How SO links a Service or VNF to a workflow ?
To be able to run the workflows via the APIhandler, you first need to manually create a link between the service UUID and the associated workflow in the service, service_recipe and vnf_recipe tables in SO db (catalogdb) , in order to have SO trigger the custom workflow when the createinstance action is triggered to so API handler.SO API handler.
For example below, you can see in the screenshot how a custom workflow is added and linked to a specific service model in the SO service_recipe table.
You can find the SERVICE_MODEL_UUID from the services table, when a new service model is distributed from SDC to SO, a new row with the service model UUID will be created there.
Where are the BPMN workflows in SO ?
If you check the camunda database schema here https://docs.camunda.org/manual/latest/user-guide/process-engine/database/
The process definitions are in the act_re_procdef table in camunda db:
Inside so-bpmn-infra /app/app.jar, if we follow the path from the table above, we can find all the bpmn, e.g. BOOT-INF/classes/process/CreateVfModuleInfra.bpmn, as shown in the screenshot below.