...
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.
Ex. : use "kubectl -n onap expose deployment onap-so-so-bpmn-infra --type=NodePort --name=onap-so-bpmn-infra-svc-expose" to get a new port for camunda applications pod. |
---|
Using Camunda Modeler deploy option
- Open the workflow using the Camunda modeler application.
- Click "deploy" button.
- Enter the deployment name (can be any name you like to use).
- Enter ONAP-SO camunda REST engine URI :
- Use your ONAP IP address & "so-bpmn-infra" deployment exposed port number.
Note that for ONAP-SO casablanca release, the URI path is
http://{{onap_LB@}}:{{camunda_Pod_Port}}/sobpmnengine/deployment/create instead of the original Camunda URI "engine-rest/deployment/create".
- Select "None" for authentication.
- Click Deploy.
- For successful deployment you should receive " Deployment Successful" message.
- Use the Camunda cockpit application to view your custom workflow.
...
- 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.
...
You can run the workflow directly using below URI
http://{{onap_LB@}}:{{camunda_Pod_Port}}/sobpmnengine/process-definition/key/{{BPMN_NAME}}/start |
---|
The above link will bypass the API handler and run the required workflow directly.
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 id 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.
...