5geve / mso-lo Goto Github PK
View Code? Open in Web Editor NEWMSO-LO is a REST API application to provide an ETSI SOL 005 (LifeCylcleManagement) compliant interface towards various NFV orchestrators.
License: Apache License 2.0
MSO-LO is a REST API application to provide an ETSI SOL 005 (LifeCylcleManagement) compliant interface towards various NFV orchestrators.
License: Apache License 2.0
Support the creation of subscription as described in SOL 005
/subscriptions
Flask default exception handler returns HTML code. We should have a JSON Exception Handler for all of our errors.
Some useful links:
We should decide if the diver manager should return instances of Driver implementations or just static classes.
It could be possible that Driver implementations need to store some status about the connection to a specific NFVO, like IP address, username, authentication token, etc.
Quoting Marc's slides:
To update asynchronously the status of NS
SOL005 -> NSLifecycleManagementNotification
Three types of notifications:
- NsLcmOperationOccurrenceNotification -> Related to the OpOcc created in asynchronous operations. Inform about: NS id,
OpOcc id, OpOcc status (START, RESULT), StateType (PROCESSING, COMPLETED, etc.) and affected components- NsIdentifierCreationNotification: Informs about NS id creation
- NsIdentifierDeletionNotification: Informs about NS id deletion
Based on subscription: LccnSubscriptionRequest
Proposal:
- Portal subscribes to NS id after the Instantiate Request (check with Giada).
- MSNO generates notifications based on the notifications received from the driver(s)
All site NFVO supports this? No, neither OSM or ONAP support the notification. To implement a polling system at MSNO-LO to generate the notifications.
Requirements:
Possible issues:
While building and running containers using docker-compose.yaml I got an error like below (from container logs)
Traceback (most recent call last):
File "./app.py", line 24, in <module>
import data.sqlite as sqlite
ModuleNotFoundError: No module named 'data.sqlite'
(...)
--- no python application found, check your startup logs for errors ---
[pid: 13|app: -1|req: -1/2] 172.22.0.1 () {32 vars in 346 bytes} [Tue May 19 10:35:44 2020] GET /nfvo => generated 21 bytes in 0 msecs (HTTP/1.1 500) 2 headers in 83 bytes (0 switches on core 0)
I checked container and it didn't contain sqlite.py
in /usr/src/app/data
directory. In my opinion is caused by volume mounted in that path (docker-compose.yaml file)
I fixed this error locally, so that's not very urgent :)
Connexion can create mock servers for testing APIs.
Check if it is usable to create mock servers from OpenAPI files.
Alternatives: https://openapi.tools/#mock
Some orchestrators may need to select the VIM. We should push some configuration to the driver so it can manage this information.
Precondtiion: VIM information is in the SQLite
Vim information should be retrieved from NFVO (already implemented for OSM).
MSNO retrieves VIM information:
- Change paths to `/nfvo/{nfvo_id}/vim/{vim_id}
MSNO selects the VIM for instantiation:
OSM provides a yaml OpenAPI definition for SOL005:
https://osm.etsi.org/gitweb/?p=osm/SOL005.git;a=blob;f=osm-openapi.yaml;h=5e00a2a935b02dac9d7e3b1d05adb88a6524a446;hb=HEAD
We should check if it is compliant with the real NBI:
https://osm.etsi.org/gitweb/?p=osm/NBI.git;a=blob;f=osm_nbi/nbi.py;h=03e8727a18760cd60910711f0d771b2bdbfb689c;hb=HEAD
The OpenAPI definition is useful to create a mock server for tests.
We need to integrate the mso-lo with the Site Inventory
See here: https://blog.miguelgrinberg.com/post/designing-a-restful-api-with-python-and-flask
at section Improving the web service interface.
I don't know if this is best practice. @zvfvrv can you please comment on this?
Build and push Docker images on docker-hub
We should check if there are any python wrapper/binding for the OSM API.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.