forked from 5genesis/ELCM
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add enpoints, experiment descriptor documentation, update changelog
- Loading branch information
1 parent
90690a8
commit bed2f10
Showing
4 changed files
with
140 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
# REST Endpoints | ||
|
||
> ⚠ The endpoints of the ELCM are not expected to be exposed to the Internet and may leak information. For user | ||
> management and authorization always use a different front-end, such as the Dispatcher. | ||
## Experiment management endpoints | ||
|
||
### [POST] `/experiment/run` | ||
> *[POST] `/api/v0/run` (Deprecated)* | ||
Creates and queues a new experiment execution, based on the contents of the received Experiment Descriptor (JSON). | ||
Replies with the following response JSON: | ||
```text | ||
{ “ExecutionId”: <id> } | ||
``` | ||
Where <id> is a unique execution identification that can be used as input in other endpoints. | ||
|
||
### [GET] `/execution/<id>/status` | ||
> *[GET] `/execution/<id>/json` (Deprecated)* | ||
Returns a JSON that contains general information about the status of the selected execution id, with the following | ||
format: | ||
```text | ||
{ “Coarse”: <Global status or current stage of execution>, | ||
“Status”: <Global status or status within the current stage>, | ||
“PerCent”: <Percentage of completion of current stage>, | ||
“Messages”: <List of global messages generated by the execution>, | ||
“Verdict”: <Current or final verdict of the execution> } | ||
``` | ||
|
||
### [GET] `/execution/<id>/logs` | ||
|
||
Returns a JSON that contains all the log messages generated by the execution, separated by stage: | ||
```text | ||
{ “Status”: <Either “Success” or “Not Found”>, | ||
“PreRun”: <Messages generated during Pre-Run stage>, | ||
“Executor”: <Messages generated during the Run stage>, | ||
“PostRun”: <Messages generated during Post-Run stage> } | ||
``` | ||
|
||
### [GET] `/execution/<id>/results` | ||
|
||
Returns a compressed file that includes the logs and all files generated by the experiment execution. | ||
|
||
### [GET] `/execution/<id>/descriptor` | ||
|
||
Returns a copy of the Experiment Descriptor that was used to define the execution. | ||
|
||
### [DELETE] `/execution/<id>` | ||
> *[GET] `/execution/<id>/cancel` (Deprecated)* | ||
Marks the selected execution for cancellation. The execution will be cancelled after finalization of the current task. | ||
|
||
## Facility information | ||
|
||
### [GET] `/facility/baseSliceDescriptors` | ||
|
||
Returns a list of available Base Slice Descriptors, with the following format: | ||
```json | ||
{ "SliceDescriptors": [] } | ||
``` | ||
|
||
### [GET] `/facility/testcases` | ||
|
||
Returns a list of available UEs, with the following format: | ||
```text | ||
{ | ||
"TestCases": [ | ||
{ | ||
"Name": <Name of the TestCase>, | ||
"Distributed": <Boolean>, | ||
"Standard": <Boolean, indicates if the experiment can be executed without additional parameters>, | ||
"PublicCustom": <Boolean, indicates if the experiment can be customized by any user>, | ||
"PrivateCustom": <List of emails, of the users allowed to customize the experiment>, | ||
"Parameters": <List of configurable parameters of the experiment> | ||
}, ... | ||
] | ||
} | ||
``` | ||
|
||
### [GET] `/facility/ues` | ||
|
||
Returns a list of available UEs, with the following format: | ||
```json | ||
{ "UEs": [] } | ||
``` | ||
|
||
### [GET] `/facility/resource_status` | ||
|
||
Returns a list of available Resources, separated by current usage status: | ||
```json | ||
{ "Busy": [], | ||
"Idle": [] } | ||
``` | ||
|
||
### [GET] `/facility/scenarios` | ||
|
||
Returns a list of available Scenarios, with the following format: | ||
```json | ||
{ "Scenarios": [] } | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
# Experiment Descriptor format | ||
|
||
```text | ||
{ | ||
"Application": <str, may be null> | ||
"Automated": <bool>, | ||
"ExclusiveExecution": <bool>, | ||
"ExperimentType": <str>, | ||
"Extra": <Object[str, str], may be empty>, | ||
"NSs": <Array[Array[str]], (nsd id, vim location) pairs. May be empty>, | ||
"Parameters": <Object[str, str], may be empty>, | ||
"Remote": <str, may be null>, | ||
"RemoteDescriptor": <Descriptor. Same format as an Experiment Descriptor, but without the “RemoteDescriptor” field. May be null>, | ||
"ReservationTime": <int, may be null>, | ||
"Scenario": <str, may be null>, | ||
"Slice": <str, may be null> | ||
"TestCases": <Array[str]>, | ||
"UEs": <Array[str], may be empty> | ||
"Version": <str> | ||
} | ||
``` |