Add REST API for invoking workflow.
Currently, there is no way to invoking using REST API.
I've added REST API.
json data example:
{
"op": "workflow.invoke",
"params": {
"workplace": "Nova-000",
"id": "of-overlay.workflow-nova",
"data": {
"mgmtIp": "192.168.10.8",
"ovsdbPort": 6641,
"sshAccessInfo": {
"remoteIp": "192.168.10.8",
"port": 22,
"user": "root",
"password": "iloveyou",
"keyfile": "~/.ssh/id_rsa"
},
"ovsDatapathType": "system",
"physicalPorts": [
"nova0_1"
],
"vtepIp": "120.0.0.200/24",
"annotations": {
"rackId": 1,
"rackPosition": 3
}
}
}
}
Change-Id: I2ce3bc5a59ce1cbe91c8c6f83bd1f25e81933ce3
diff --git a/apps/workflow/app/src/main/java/org/onosproject/workflow/impl/WorkflowNetConfigListener.java b/apps/workflow/app/src/main/java/org/onosproject/workflow/impl/WorkflowNetConfigListener.java
index bb7f875..86eccfa 100644
--- a/apps/workflow/app/src/main/java/org/onosproject/workflow/impl/WorkflowNetConfigListener.java
+++ b/apps/workflow/app/src/main/java/org/onosproject/workflow/impl/WorkflowNetConfigListener.java
@@ -44,6 +44,11 @@
public static final String EXECUTOR_GROUPNAME = "onos/workflow-netcfg";
public static final String EXECUTOR_PATTERN = "netcfg-event-handler";
+ public static final String WORKPLACE_CREATE = "workplace.create";
+ public static final String WORKPLACE_REMOVE = "workplace.remove";
+ public static final String WORKFLOW_INVOKE = "workflow.invoke";
+ public static final String WORKFLOW_TERMINATE = " workflow.terminate";
+
private final ConfigFactory<ApplicationId, WorkflowNetConfig> configFactory =
new ConfigFactory<ApplicationId, WorkflowNetConfig>(
SubjectFactories.APP_SUBJECT_FACTORY, WorkflowNetConfig.class, CONFIG_KEY) {
@@ -128,13 +133,13 @@
private static Map<String, RpcCall> rpcMap = new HashMap<>();
static {
- rpcMap.put("workplace.create",
+ rpcMap.put(WORKPLACE_CREATE,
(service, desc) -> service.createWorkplace(DefaultWorkplaceDescription.valueOf(desc.params())));
- rpcMap.put("workplace.remove",
+ rpcMap.put(WORKPLACE_REMOVE,
(service, desc) -> service.removeWorkplace(DefaultWorkplaceDescription.valueOf(desc.params())));
- rpcMap.put("workflow.invoke",
+ rpcMap.put(WORKFLOW_INVOKE,
(service, desc) -> service.invokeWorkflow(desc.params()));
- rpcMap.put("workflow.terminate",
+ rpcMap.put(WORKFLOW_TERMINATE,
(service, desc) -> service.terminateWorkflow(DefaultWorkflowDescription.valueOf(desc.params())));
}
}