This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
lsoapi:documents:apis [2015/08/27 19:50] Steven Saunders |
lsoapi:documents:apis [2015/10/12 17:33] (current) Kevin Luehrs |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | <olmap id="olMapOne" width="550px" height="450px" lat="50.0" lon="5.1" zoom="12" statusbar="1" controls="1" poihoverstyle="0" baselyr="OpenStreetMap" gpxfile="" kmlfile="" geojsonfile="" summary="" > | + | ====== Connectivity Services LSO (LSOAPI) Project API Documentation ====== |
| - | ~~ Plugin olmap help. | + | |
| - | ~~ Required in the above tag are values for: id (unique on this page), width, heigth. | + | |
| - | ~~ Also you will want to enter zoomlevel and lat, lon values that make sense for where you want the map to start. | + | |
| - | ~~ Below is an example of a POI, you can add as many as you want. ~~ More examples: http://dokuwiki.org/plugin:openlayersmap | + | API documentation is saved in the [[https://gerrit.opnfv.org/gerrit/#/admin/projects/lsoapi|LSOAPI project repository]] in the 'api' folder. |
| - | 50.0117,5.1287,-90,.8,marker-green.png,Pont de Barbouillons; Daverdisse \\ external link: [[http://test.com|test.com]] \\ internal link: [[::start]]\\ **DW Formatting** | + | |
| - | </olmap> | + | |
| - | ==== Connectivity Services LSO Project Documents ==== | + | |
| + | The **Services Manager API** is responsible for Create, Retrieve, Update and Delete (CRUD) lifecycle operations for Carrier Ethernet Services. The initial use case is Ethernet Private Line service. | ||
| - | === Architecture === | + | The **Class of Service (CoS) Manager API** is responsible for CRUD operations for Classes of Service. |
| - | [[https://wiki.opnfv.org/lsoapi/documents/architecture]] | + | |
| - | === Design Documents === | + | The **Ethernet Virtual Connection (EVC) Manager API** is responsible for CRUD operations for EVCs. |
| - | (Design documentation to be added) | + | |
| - | + | ||
| - | === Considerations for Future Development === | + | |
| - | The current version is a proof of concept prototype implementation of REST service layers enabling the creation and management of MEF EPL Services. Being a proof of concept prototype, there are areas, which intentionally received superficial coverage, or no coverage at all. Following are items to consider when evolving this to a production-oriented implementation. | + | API documentation is available in two formats: RESTful API Modeling Language (RAML) and HTML derived from RAML. Both formats are available in the LSOAPI project repository. Additionally the HTML version is hosted at the link referenced below: |
| - | __Representation of All MEF Services__ | ||
| - | Only EPL service has been implemented for the prototype. | ||
| - | * Currently, the service repo is hard coded to hold EPL services | ||
| - | * Moving forward it may make sense to model a general the MEFSvc class along with derived Eline/ELine/Tree classes | ||
| - | * Moving forward it may make sense to refactor the SvcMgr in order to handle multiple service types from a REST API perspective and from a persistence perspective | ||
| - | __Representation of all MEF Attributes__ | + | [[https://community.cablelabs.com/wiki/pages/viewpage.action?pageId=119964670&src=contextnavpagetreemode| API Documentation Page]] |
| - | The prototype currently models an EPL, and EVC, an EVCPath, and a UNI. For each of these MEF entities, only a subset of the MEF attributes were included in the prototype. A more detailed analysis of the MEF attributes, and interrelations between these attributes will be needed to allow for complete representation and modeling of the MEF entities and associated MEF attributes. | + | |
| - | __Multi Operator Service__ | ||
| - | The prototype is currently only representing a single operator scenario. As this software evolves, supporting multi-operator scenarios (i.e. ENNI's and OVCs) will be needed | ||
| - | __Exception Handling__ | + | Return to [[https://wiki.opnfv.org/lsoapi| main project page]] |
| - | For the prototype, exception handling is only superficially implemented. A production system should include a more robust exception handling and error reporting architecture | + | |
| - | __Test Suite__ | ||
| - | The prototype includes a junit based set of tests. This test suite is reasonable, but not exhaustive. Production targeted version should include more thorough test coverage | ||
| - | |||
| - | __Configurability__ | ||
| - | Currently a number of pieces of information are hardcoded in the prototype ,and future efforts should consider adding configurability (for example via a config. file) | ||
| - | * IP/Port Information RE various servers in the system (ODL RESTCONF server and the cosmgr, evcmgr, svcmgr service layers). | ||
| - | * Rest paths for the various services (ODL RESTCONF server and the cosmgr, evcmgr, svcmgr service layers) | ||
| - | * ODL REST communications Authentication Credentials (currently admin/admin is hardcoded into all rest calls to ODL) | ||
| - | |||
| - | __Persistence__ | ||
| - | The service layers cosmgr, evcmgr, svcmgr currently store instances of created MEF entities via an in memory database (hashmaps). Production oriented evolution should implement disk based data persistence. | ||
| - | |||
| - | __Entity IDs__ | ||
| - | Currently IDs for EVC, and UNI are being generated via an internal counter. This of course does not scale nor survive restart. A proper unique ID generation approach will be needed for production. | ||
| - | |||
| - | Return to [[https://wiki.opnfv.org/lsoapi| main project page]] | ||