遵循以下最佳实践的项目将能够自愿的自我认证,并显示他们已经实现了核心基础设施计划(OpenSSF)徽章。 显示详细资料
[](https://www.bestpractices.dev/projects/1608)
<a href="https://www.bestpractices.dev/projects/1608"><img src="https://www.bestpractices.dev/projects/1608/badge"></a>
Virtual Function Controller Project leverages ETSI NFV MANO architecture and information model as a reference, and implements full life cycle management and FCAPS of VNF and NS. It supports following functionality :
• NS and VNF lifecycle management based on the ONAP TOSCA and yang data model and workflow • Integration with multi VNFMs via drivers, which include vendors VNFM and generic VNFM • Integration with multi VNFs via generic VNFM, which does not provide VNFM function • Integration with multi VIMS via Multi-VIM, which include the open source and commercial VIMs • Micro service architecture and model driven resource orchestration and management
https://wiki.onap.org/display/DW/Developing+ONAP https://wiki.onap.org/display/DW/Developer+Best+Practices
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
ONAP adheres to the Linux Foundation Code of Conduct, found at https://lfprojects.org/policies/code-of-conduct/
The key roles in the project and their responsibilities are described at https://wiki.onap.org/display/DW/Community+Offices+and+Governance
Current members are listed at https://wiki.onap.org/pages/viewpage.action?pageId=8226539
The committers are listed in the INFO.yaml, for nslcm: https://gerrit.onap.org/r/gitweb?p=vfc/nfvo/lcm.git;a=blob;f=INFO.yaml;h=a6dd8d521545a18c6c80b588744b09a73433f658;hb=HEAD
There are 8 committers now listed in the INFO.yaml: https://gerrit.onap.org/r/gitweb?p=vfc/nfvo/lcm.git;a=blob;f=INFO.yaml;h=a6dd8d521545a18c6c80b588744b09a73433f658;hb=HEAD
https://wiki.onap.org/display/DW/VF-C+Project+Planning
https://wiki.onap.org/pages/viewpage.action?pageId=71830209
A security sub-committee is driving all components release requirements, best practices. Agreed recommendations become integral parts of an ONAP release and are assessed during milestones. URL : https://wiki.onap.org/display/DW/ONAP+Security+coordination The release note clearly states what has been achieved, along with the release checklists and links to individual JIRA items that covers the above security requirements.
https://onap.readthedocs.io/en/latest/submodules/vfc/nfvo/lcm.git/docs/platform/installation/index.html
Our project page has the link embedded: https://wiki.onap.org/display/DW/Virtual+Function+Controller+Project
Overall ONAP adherence to this is probably going to be handled ONAP wide
i18n is probably going to be handled ONAP wide
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 dont 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 pylint for python components
VFC project utilizes the ONAP checkstyle using the Maven maven-checkstyle-plugin for java project and pylint for python components
There is no native binaries
The application does not create native binaries.
Maven ensure submodules are built in the proper order. There are no bi-directional cross-dependencies between submodules.
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.
helm deploy onap helm undeploy onap
helm has no optional destination directories, but does let you direct pods to particular worker nodes
You can install the project by helm. The steps are documented in https://docs.onap.org/projects/onap-oom/en/latest/oom_quickstart_guide.html
For python project, external dependencies are controlled using the requirements.txt, such as: https://gerrit.onap.org/r/gitweb?p=vfc/nfvo/lcm.git;a=blob;f=requirements.txt;h=96cc840bf8f60d32650bd3938423e44b13a628c7;hb=HEAD
For java project, external dependencies are controlled using the pom file
NexusIQ sonar scan is run on all the projects on a weekly basis
You can update the dependencies in requirements.txt when need at any time
We avoid depending on deprecated/obsolete functions. Sonar scans, which are run daily, identify the use of deprecated 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 overall code/branch coverage.
Contributing guide lines for development is recorded in https://wiki.onap.org/display/DW/Development+Procedures+and+Policies
It uses ONAP defined policy https://wiki.onap.org/display/DW/Development+Procedures+and+Policies
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.
All release artifacts are signed by the Linux Foundation prior to release.
All release artifacts are cryptographically signed by the Linux Foundation prior to release.
Sonar uses different rules for static code analysis.
The List of rules to do static analysis on VF-C code is as per below URL https://sonar.onap.org/coding_rules#qprofile=java-sonar-way-74911|activation=true
VF-C uses Java, Javascript and Python
后退