| 1 | |
| 2 | = Webservices Implemented in OnTimeMeasure for Experimenters to use with any client that supports XML-RPC = |
| 3 | |
| 4 | |
| 5 | == Root Webservices == |
| 6 | {{{ |
| 7 | ## Update the configuration and database in root beacon according to the yaml file that user provided |
| 8 | updateMetric(config_file,slice_password) |
| 9 | |
| 10 | ## Return the metric information |
| 11 | getMetrics(slice_password) |
| 12 | |
| 13 | ## Return the tool option information |
| 14 | getToolOptions(slice_password) |
| 15 | |
| 16 | ## Add task to root beacon's database |
| 17 | addTask(source, source_ip, destination, destination_ip, metric, pattern,slice_password) |
| 18 | |
| 19 | ## Get all the tasks from root beacon's database |
| 20 | getTasks(slice_password) |
| 21 | |
| 22 | ## Delete tasks with task_id from root beacon's database |
| 23 | delTask(task_id,slice_password) |
| 24 | |
| 25 | ## Clear all the tasks in root beacon's database |
| 26 | clearTask(slice_password) |
| 27 | |
| 28 | ## Check whether the measurement query request with qid is finished. |
| 29 | checkMeasurementQuery(qid, slice_password) |
| 30 | |
| 31 | |
| 32 | ## Get the service status of collector |
| 33 | getCollectorStatus(slice_password) |
| 34 | |
| 35 | ## Get the service status of measurement service (start/stop) |
| 36 | getMeasurementStatus(slice_password) |
| 37 | |
| 38 | ## Get the service status of root scheduler |
| 39 | getRootSchedulerStatus(slice_password) |
| 40 | |
| 41 | ## Invoke query by insert a query task in root beacon's database |
| 42 | queryMeasurement(srcAddr, dstAddr, toolid, metric, start_time, end_time, query_time, request_type, slice_password) |
| 43 | |
| 44 | |
| 45 | ## Dump the data in root beacon's database |
| 46 | makeDump(query_time, slice_password) |
| 47 | |
| 48 | |
| 49 | ## Start measurement service |
| 50 | startMeasure(slice_password) |
| 51 | |
| 52 | ## Stop measurement service |
| 53 | stopMeasure(slice_password) |
| 54 | |
| 55 | }}} |
| 56 | |
| 57 | == Node Webservices == |
| 58 | {{{ |
| 59 | ## Update the configure node.conf in the node |
| 60 | updateNodeConfig(nodeName, rootIP, dbUserName,Slice_password) |
| 61 | |
| 62 | |
| 63 | ## Add a distributed measurement task (from self to destination_IP) |
| 64 | # \param destination_IP The measurement task would measure the link from this node to destination_IP |
| 65 | # \param metric Metric of measurement task |
| 66 | # \param slice_password Password for authentication whether the remote invoking of this function is allowed |
| 67 | addDistributedTask(metric,destination_IP,slice_password) |
| 68 | |
| 69 | ## Check whether a specific task is finished |
| 70 | # \param slice_password Password for authentication whether the remote invoking of this function is allowed |
| 71 | checkTaskStatus(task_id, slice_password) |
| 72 | |
| 73 | ## Get result of all tasks in this node |
| 74 | # \param slice_password Password for authentication whether the remote invoking of this function is allowed |
| 75 | getResult(slice_password) |
| 76 | |
| 77 | |
| 78 | ## Check whether all tasks are finished |
| 79 | # \param slice_password Password for authentication whether the remote invoking of this function is allowed |
| 80 | checkAllTaskStatus(slice_password) |
| 81 | |
| 82 | ## Add a new tool with command line option to node configuration |
| 83 | addTool(tool_name, option, slice_password) |
| 84 | }}} |