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]] |