VVP-Web
Status | DRAFT |
---|---|
Submitter | @Vincent Scharf |
Contributors | @Vincent Scharf |
Proposed Release | Dublin |
JIRA Ticket(s) | VVP-120: Introduction of a web based vvp validation platformClosed |
Abstract
The core component of the VNF Validation Program (VVP) is the validation scripts that verify that a set of HEAT templates adhere to the ONAP requirements specified in the VNF Requirement's HEAT section. As of the Casablanca release, there are two methods for executing the validation scripts provided with VVP:
Execute via the command-line (including setting up the necessary Python environment and dependencies)
Deploy a huge multi-container, web platform that can both execute and manage the engagement of VNF HEAT validation
While executing the validation scripts from the command line is helpful when it comes to developing VNFs for ONAP, especially if you are working in larger teams, having tools locally on your own machine is not ideal, because no one else has direct access to your toolchain. Taking into consideration, that the current web platform is gonna get deprecated due to its size and complexity, there will be no way to directly map the changes done to the source code to the test results, which makes it harder to find bugs quickly. Also, there is most likely always management involved in the development process, especially when it comes to actual business. There will be no way of tracking the progress of a VNF development process at a high level. The VVP-web approach should address this gaps.
Although there is a lot of functionality involved with this approach, the final product should be a one-click deployment with minimal needs in terms of resources and infrastructure.
After seeing a demo of the Stand-alone VVP Tool I added some additional proposals on the reports that are getting generated by the application.
Rationale/Goals
Allow users to deploy a web-based validation platform with one click.
Provide a version-controlled validation with history and reports on the status of the VNF.
Enable users to validate HEAT templates that are not under git by simply uploading them as a ZIP file.
Allow non-technical users to get an overview of the VNF development process by using a measurement feature.
Ensure that the core validation-scripts remain modular and independent of the application. The implementation of the web platform should not impact the scripts being used in other scenarios such as a web app, docker container, etc.
Allow Operators/Service Providers to extend and execute additional validations based on their specific needs and ONAP implementations.
Ensure the application is portable across a wide range of operating systems and environments by proving it as a container based environment.
Use Cases
ID | VVP-Web-1 |
Title | Simple Heat validation |
Description | A user wants to validate a set of HEAT templates |
Primary Actor | User |
Preconditions | VVP-web is set up on a server accessible from the user's workstation. |
Main Success Scenarios |
|
Exception Scenarios | 4. The report lists all passed and failed tests and provides the following additional details for the violations:
|
Post Conditions | The user gets a report that shows the current state of the VNF regarding the fulfilment of the ONAP requirements. |
ID | VVP-Web-2 |
Title | VNF project 1 |
Description | A team from a VNF provider develops a VNF for an operator |
Primary Actor | Developer |
Preconditions | VVP-web is set up on a server accessible from all team members local workstations. |
Main Success Scenarios |
|
Exception Scenarios |
|
Post Conditions | The developer developed a fully ONAP compliant VNF. |
ID | VVP-Web-3 |
Title | VNF project 2 |
Description | A team from a VNF provider develops a VNF for an operator |
Primary Actor | Project Manager |
Preconditions | VVP-web is set up on a server accessible from all team members local workstations. |
Main Success Scenarios |
|
Exception Scenarios | |
Post Conditions | The project manager has an overview of how the development is progressing. |
ID | VVP-Web-4 |
Title | VNF LFN certification |
Description | VVP-web as an LFN certification portal, where VNF providers can certify there VNF as ONAP compliant |
Primary Actor | LFN member |
Preconditions | VVP-web is implemented as a certification portal like OPNVFs "verified program" |
Main Success Scenarios |
|
Exception Scenarios | |
Post Conditions | Everyone that wants to set up a VNF with ONAP can now visit the portal and search for his desired VNF to check if its ONAP certified and there for compliant with the requirements |
ID | VVP-Web-5 |
Title | VNF LFN live certification |
Description | VVP-web as an LFN certification portal, where Operators can check the live status of any open VNF |
Primary Actor | LFN member |
Preconditions | VVP-web is implemented as a certification portal like OPNVFs "verified program" |
Main Success Scenarios |
|
Exception Scenarios | |
Post Conditions | Anyone can check the live status of any open VNF projects that are tracked in the portal |
ID | VVP-Web-6 |
Title | VNF LFN certification collaboration platform 1 |
Description | VVP-web as a collaboration platform with certification capabilities |
Primary Actor | LFN member |
Preconditions | VVP-web is implemented as a certification portal like OPNVFs "verified program" |
Main Success Scenarios |
|
Exception Scenarios | |
Post Conditions | Anyone can check the live status of the VNF project. |
ID | VVP-Web-7 |
Title | VNF LFN certification collaboration platform 2 |
Description | VVP-web as a collaboration platform with certification capabilities |
Primary Actor | VNF provider developer team |
Preconditions | VVP-web is implemented as a certification portal like OPNVFs "verified program" |
Main Success Scenarios |
|
Exception Scenarios | |
Post Conditions | The responsible employees form the operator can check the state of the prroject live on the certifiaction platform. Also the VNF project gets a live certification which indicates whether it is ONAP compliant or not. Noone that is not involved in the project can see or access the project. |
Features
A set of seed code has been developed that addresses the majority of features and use cases described. As part of the community process, all aspects can be reviewed and evolved. The following table summarizes the initially proposed features for Dublin and their current status. Some items are addressed as part of the seed code while others will be addressed in Dublin if the proposal is accepted.
FeaureID | Description | Status |
---|---|---|
F-1 | Support Validation of ZIP files | Complete |
F-2 | Support Validation of Git repositories | Complete |
F-3 | Provide results page which concludes the validation | Complete |
F-4 | Provide repository overview page, which provides a history on all ever done changes and validation runs for the Git repository | Complete |
F-5 | Implement GitWeb to allow users to check the changes done to the VNF in a given commit associated with a validation run | Complete |
F-6 | Provide a repository analytics graph to track progress | Complete |
F-7 | Use the reports generated by the core scripts (provide a download function for Excel and CSV) | Dublin |
F-8 | Brand the web application according to the ONAP standards | Dublin |
F-9 | Allow users to link their own Git instance instead of using the built-in one (e.g. company GitLab etc.) | Dublin |
F-10 | Extended analytics capabilities for the repository summary page | Dublin |
F-11 | Implement an user management using Linux Foundation accounts | Dublin Critical |
F-12 | Integrate the web portal as a part of the LFN | Dublin |
F-13 | Implement a database that holds certification information for every project created on the platform | Dublin |
F-14 | Implement a certification utility, that issues certificates for VNFs that are compliant with the ONAP VNF requirements | Dublin |
F-15 | Enable the linkage of multiple repositories to one certification project | Dublin |
F-16 | Provide a searchable list of the VNFs that got certified using the portal with commit or version of the VNF that got checked (maybe create a fingerprint of each checked VNF to guarantee the certified code not being changed without knowledge) | Dublin |
F-17 | Implement named projects as a new way of collaboration on VNF certification. | Dublin |
F-18 | Implement an access rights system, which allows project owners to restrict the visibility of their certification projects to only specific Linux Foundation accounts or the public. | Dublin |
F-19 | Introduce a groups feature that can depict companies or organizations. A group should be mapped to the Linux Foundation accounts of the members. | Dublin Proposal |
F-20 | Provide an open API | Dublin Critical |
Screenshots
The following screenshots are based on the seed code implementation, and subject to further review, feedback, and updates.