遵循以下最佳实践的项目将能够自愿的自我认证,并显示他们已经实现了核心基础设施计划(OpenSSF)徽章。 显示详细资料
[](https://www.bestpractices.dev/projects/1738)
<a href="https://www.bestpractices.dev/projects/1738"><img src="https://www.bestpractices.dev/projects/1738/badge"></a>
The project is to develop a validation program to provide assurance of VNF interoperability with ONAP. Obtaining a validation shall be a self-service activity and should be against a reference release of ONAP for use by the VNF provider & any other validation authority.This project at ONAP will not operate as a Validation Authority and will create a process to identify and qualify Validation Authorities. Self-Certification may be considered as a Certification authority option. This project will provide a process to evolve the validation criteria based on experience and as the VN F Requirements & Guidelines evolve. At each release of ONAP, the scope of functionality tested and the test coverage for VNF validation may change. This Project will validate the VNF package integrity and provenance e.g. using signing & attestation. This Project will maintain the authoritative set of tests and test procedures for Validations of VNFs. This project shall develop the tests and test procedures traceable to the VNF Requirements & Guidelines.
https://wiki.onap.org/display/DW/VNF+Validation+Program+Project
ONAP requires both a Developer Certificate of Origin (DCO), and a Contributor License Agreement (CLA).
https://wiki.onap.org/display/DW/Contribution+Agreements
The project governance is described at
https://wiki.onap.org/display/DW/Community+Offices+and+Governance
Further information can be found at https://wiki.onap.org/display/DW/ONAP+Technical+Community+Document
LFN code of conduct applies https://lfprojects.org/policies/code-of-conduct/
The key roles in the project and their responsibilities are described at
Current members are listed at
https://wiki.onap.org/pages/viewpage.action?pageId=8226539
we have 4 committers and multiple contributes who are listed in https://wiki.onap.org/display/DW/VVP+Organization All 4 committers have access and rights to maintain the code base, approve and review incoming changes and release a new version of the artifact. This will let the project continue with minimal to no interruption if one person is incapacitated. Also this project is controlled by the linux foundation so we can add more committers if needed
All the projects covered in this report have more than 2 persons who actively contribute and maintain code. https://wiki.onap.org/display/DW/VVP+Organization
Road map for VVP can be found in https://wiki.onap.org/display/DW/VVP+Release+Planning
Architecture of VVP can be found in https://onap.readthedocs.io/en/latest/submodules/vvp/documentation.git/docs/architecture.html
Documented in Each Release Notes: https://docs.onap.org/en/latest/submodules/vvp/documentation.git/docs/release-notes.html
Information on setting up ONAP can be found at https://onap.readthedocs.io/en/latest/guides/onap-developer/settingup/index.html VVP setup is described at : https://onap.readthedocs.io/en/latest/submodules/vvp/documentation.git/docs/index.html
Documentation is updated with each release. https://onap.readthedocs.io/en/latest/submodules/vvp/documentation.git/docs/index.html
added link on project wiki to CII badge page https://wiki.onap.org/display/DW/VNF+Validation+Program+Project
• Documentation can be read by a screen reader, but application itself has not been designed for accessibility
VVP provides test scripts, but does not have a user interface. It does generate output reports in plain text english.
The project does not store password in the website, repository or downloads.
All major releases are tagged in gerrit and the artifacts are stored with the release information on onap.nexus. So we can access all old versions of the artifact. If and when a upgrade requires certain steps to be followed they are being added to the release documents as needed
Jira is used to track issues. https://wiki.onap.org/display/DW/Tracking+Issues+with+JIRA
Vulnerabilities can be reported using the link https://wiki.onap.org/pages/viewpage.action?pageId=6591711 Currently we don't have any vulnerabilities reported, but the wiki page explains on how to report a vulnerability and how to report anonymously if you do not want the credit for it.
Vulnerabilities handling is documented in https://wiki.onap.org/pages/viewpage.action?pageId=6591711
Coding style is defined in https://wiki.onap.org/display/DW/Java+code+style
o Code style is enforced by flake8 and black
The application does not create native binaries. (Some of the libraries it depends on do, but those are external.)
All releases are tagged in gerrit(git), and the builds are controlled using jenkins. By providing the git tag information the same image can be build over and over again with same bit-for-bit result.
Project can be uninstalled by simply deleting its containing directory. Uninstallation of dependencies can be achieved through standard use of python virtual environments and pip commands
Not an installable application. Recommended execution is standard python virtual environment
All the components require only java and maven to begin with for a developer to quickly install and test it. Even for deployment using OOM and the right amount of resources, we can deploy the full AAI/ONAP suite in less than a day. The steps are documented in https://onap.readthedocs.io/en/latest/submodules/oom.git/docs/oom_quickstart_guide.html
Dependencies stored in Python standard requirements.txt file in a pip-compatible format see e.g. https://packaging.python.org/tutorials/managing-dependencies/
NexusIQ sonar scan is run on all the projects on a weekly basis
External components maintained through PIP. User can get components using the pip freeze
We avoid depending on deprecated/obsolete functions.
Automatic test suites are run every time before merging the code. The code check in cannot pass with out jenkins posting a +1 on the review.
When regressions occur, we add tests for them.
We use sonar to measure the code coverage. https://sonar.onap.org/about Code coverage at the date of filling this report(2018-10-10) is vvp-cms 51.4% vvp-emgagementmgr 65.3% vvp-image-scanner 59.9% vvp-validation-scripts 68%
Contributing guide lines for development is recorded in https://wiki.onap.org/display/DW/Development+Procedures+and+Policies
This is documented on our wiki: Code Coverage and Static Code Analysis
Build systems run the compile with test flag enabled by default. So any failure in test cases will fail the ci and the merge request.
VVP uses python scripts to validate static files
VVP uses python scripts to validate static files - it does not use TLS or https
All release artifacts are signed by the Linux Foundation prior to release.
https://wiki.onap.org/display/DW/Cryptographic+Signing+of+Release+Artifacts
The project strives to validate all input to functions. The inputs that are provided to the services are checked against existing models such as OXM or search-abstraction layer and only valid inputs are allowed to be pass through
The project tries to use hardening mechanism whenever possible. Eg we use transaction id for tracking transactions through multiple services and also we use http headers to identify the application where possible
VVP is test scripts not an application or run time platform component. See the CII Badge Security Concerns section here https://wiki.onap.org/display/DW/VNF+Validation+Program+Project
https://sonar.onap.org https://bandit.readthedocs.io/en/latest/
VVP uses Python a memory safe language
后退