wiki:OTM-Webservices

Version 2 (modified by Prasad Calyam, 13 years ago) (diff)

--

Webservices Implemented in OnTimeMeasure for Experimenters to use with any client that supports XML-RPC

Root Webservices

## Update the configuration and database in root beacon according to the yaml file that user provided
updateMetric(config_file,slice_password)

## Return the metric information
getMetrics(slice_password)

## Return the tool option information
getToolOptions(slice_password)

## Add task to root beacon's database
addTask(source, source_ip, destination, destination_ip, metric, pattern,slice_password)

## Get all the tasks from root beacon's database
getTasks(slice_password)

## Delete tasks with task_id from root beacon's database
delTask(task_id,slice_password)

## Clear all the tasks in root beacon's database
clearTask(slice_password)

## Check whether the measurement query request with qid is finished.
checkMeasurementQuery(qid, slice_password)


## Get the service status of collector
getCollectorStatus(slice_password)

## Get the service status of measurement service (start/stop)
getMeasurementStatus(slice_password)

## Get the service status of root scheduler
getRootSchedulerStatus(slice_password)

## Invoke query by inserting a query task in root beacon's database
queryMeasurement(srcAddr, dstAddr, toolid, metric, start_time, end_time, query_time, request_type, slice_password)


## Create data archive in root beacon's database
makeDump(query_time, slice_password)


## Start measurement service
startMeasure(slice_password)

## Stop measurement service
stopMeasure(slice_password)

Node Webservices

## Update the configure node.conf in the node
updateNodeConfig(nodeName, rootIP, dbUserName,Slice_password)


## Add a distributed measurement task (from self to destination_IP)
#  	\param destination_IP The measurement task would measure the link from this node to destination_IP
#  	\param metric Metric of measurement task
#  	\param slice_password  Password for authentication of whether the remote invoking of this function is allowed
addDistributedTask(metric,destination_IP,slice_password)

## Check whether a specific task is finished
#  	\param slice_password  Password for authentication of whether the remote invoking of this function is allowed	
checkTaskStatus(task_id, slice_password)

## Get result of all tasks in this node
#  	\param slice_password  Password for authentication of whether the remote invoking of this function is allowed	
getResult(slice_password)


## Check whether all tasks are finished
#  	\param slice_password  Password for authentication of whether the remote invoking of this function is allowed
checkAllTaskStatus(slice_password)

## Add a new tool with command line option to node configuration
addTool(tool_name, option, slice_password)