遵循以下最佳实践的项目将能够自愿的自我认证,并显示他们已经实现了核心基础设施计划(OpenSSF)徽章。 显示详细资料
[](https://www.bestpractices.dev/projects/1197)
<a href="https://www.bestpractices.dev/projects/1197"><img src="https://www.bestpractices.dev/projects/1197/badge"></a>
CLAMP is a platform for designing and managing control loops. It is used to design a closed loop, configure it with specific parameters for a particular network service, then deploying and undeploying it. Once deployed, the user can also update the loop with new parameters during runtime, as well as suspending and restarting it.
It interacts with other systems to deploy and execute the closed loop. For example, it pushes the control loop design to the SDC catalog, associating it with the VF resource. It requests from DCAE the instantiation of microservices to manage the closed loop flow. Further, it creates and updates multiple policies in the Policy Engine that define the closed loop flow.
The ONAP CLAMP platform abstracts the details of these systems under the concept of a control loop model. The design of a control loop and its management is represented by a workflow in which all relevant system interactions take place. This is essential for a self-service model of creating and managing control loops, where no low-level user interaction with other components is required.
At a higher level, CLAMP is about supporting and managing the broad operational life cycle of VNFs/VMs and ultimately ONAP components itself. It will offer the ability to design, test, deploy and update control loop automation - both closed and open. Automating these functions would represent a significant saving on operational costs compared to traditional methods.
The check style is used to standardize coding format. https://gerrit.onap.org/r/gitweb?p=oparent.git;a=blob;f=checkstyle/src/main/resources/onap-java-style.xml;h=32439e26d3dee780f0136e43f7cd959903bb8a2a;hb=HEAD
https://wiki.onap.org/display/DW/Joining+the+ONAP+Technical+Community
describes the process for contributing to the ONAP projects (including CLAMP).
https://wiki.onap.org/display/DW/Contribution+Agreements
refers to Developer Certificate of Origin and Contributor License Agreement
ONAP is composed of multiple committees that have various responsabilites, a complete documentation of the governance model is available : https://wiki.onap.org/display/DW/Community+Offices+and+Governance CLAMP is part of ONAP and adheres to all the principles outlined above
ONAP adheres to the Linux Foundation Code of Conduct, found at https://lfprojects.org/policies/code-of-conduct/
Various roles and responsabilities are clearly pictured here : https://wiki.onap.org/display/DW/ONAP+Technical+Community+Document The current list of members and their roles is kept at multiple places : tsc roles : https://www.onap.org/about/tsc sub project roles : https://wiki.onap.org/display/DW/Resources+and+Repositories
CLAMP is part of ONAP and adheres to all the principles outlined above
CLAMP project has backup's for all access needed to manage the project: https://wiki.onap.org/display/DW/Resources+and+Repositories
https://wiki.onap.org/display/DW/Resources+and+Repositories
ONAP Releases are scheduled to be 2x per year, overall roadmap is available at the following URL : https://wiki.onap.org/display/DW/Releases
Note that each subproject keeps a prioritized backlog which is publicly available on the ONAP JIRA instance
The CLAMP schedule aligns with the ONAP community, the CLAMP backlog is available on https://jira.onap.org
The high-level design and architecture is available at the following URL : https://wiki.onap.org/display/DW/CLAMP+Documentation
architecture changes are picture under each release (eg : for casablanca : https://wiki.onap.org/display/DW/Casablanca+Architecture+Alignment)
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.
CLAMP adheres to the overall security requirements of ONAP and also provides a per release vulnerability threat (eg for Casablanca : https://wiki.onap.org/display/DW/CLAMP+R3+-+Vulnerability+Threat?src=contextnavpagetreemode)
A quickstart guide is available in the form of various videos (clamp video section : https://wiki.onap.org/display/DW/CLAMP+videos)
Documentation is version controlled and is part of the source repositories. Moreover, documentation is integrated in ONAP and is released/reviewed as part of each ONAP release. CLAMP adheres to the above and supplies aligned documentation for each release. Treating documentation issues as defects tracked in JIRA
https://wiki.onap.org/display/DW/CLAMP+Project this is the project frontpage and it links to all ONAP release criteria and relevant achievements. CII badging is also included
Overall ONAP adherence to this is probably going to be handled ONAP wide, CLAMP will schedule it as a feature for future releases.
i8n is probably going to be handled ONAP wide, CLAMP will schedule it as a feature for future releases.
for local authentication(non-AAF) password are properly encrypted
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 an 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.
CLAMP adheres to the above as being part of ONAP
Vulnerability handling is documented in https://wiki.onap.org/pages/viewpage.action?pageId=6591711
Google coding style is used in ONAP https://github.com/google/styleguide
the maven-checkstyle-plugin is used and is referenced in the parent POM of CLAMP (so its execution is enforced)
The application does not create native binaries (java based application).
The application does not create native binaries.
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. Note that this relies on the availability of imported artifacts and dependencies.
The applications can be installed either using Docker via HEAT, or Kubernetes via Helm scripts.
Docker containers are used for installation, so the conventions of the host operating system are not relevant.
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 CLAMP/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
The dependencies are listed in the POM.xml files of each project under respective repos. For example: CLAMP root pom.xml : https://gerrit.onap.org/r/gitweb?p=clamp.git;a=blob;f=pom.xml;h=7e748a6cf6df9baf325eeed7445644b26d208d95;hb=refs/heads/master
We use sonatype CLM https://nexus-iq.wl.linuxfoundation.org/ and https://sonar.onap.org
Maven is used to manage external component versions, and the automated Jenkins build jobs will ensure the deployable artifacts are up to date with the maven changes.
Updating an external component simply involves making an update to the pom.xml file for that project.
We choose free open source solutions in every case and choose up-to-date versions of the components (aligned with the overall framework releases we adopt).
https://jenkins.onap.org - on every commit, a verification job runs which runs an automated test suite. The code check-in cannot pass with out jenkins posting a +1 on the review.
At this point of the project we have not reach that level of sytematic regression test implementation
The CLAMP project is working towards achieving that goal, but we are not yet there.
Contributing guide lines for development is recorded in https://wiki.onap.org/display/DW/Development+Procedures+and+Policies
The code coverage requirement is listed as a developer best practice here: https://wiki.onap.org/display/DW/Code+Coverage+and+Static+Code+Analysis
Perfection is not the target but the project is being improved on each release to reach the best practical warning settings, where technically feasible.
in case of exception or any other issue during login, the login is denied
CLAMP strives to implement secure design principles. We encrypt data where possible, and run security scans on the code and its dependencies.
the project being based on java 8, it supports multiple cryptographic algorithms since java does.
https://wiki.onap.org/display/DW/CLAMP+Project
all connection can be secured by TLS (configurable) https://wiki.onap.org/display/DW/CLAMP+Project
CLAMP uses AAF and thus defaults all clients to HTTP/S TLS 1.1 & 1.2
CLAMP uses JAVA for handling TLS
Yes onap project are cryptographically signed and leverage Linux Fundation process. https://wiki.onap.org/display/DW/Cryptographic+Signing+of+Release+Artifacts
This mainly java based or javascript we don't use compiler to generate binaries. we didn't configure csp header eiher.
Sonar uses different rules for static code analysis. The list of rules used by CLAMP are: https://sonar.onap.org/coding_rules#qprofile=java-sonar-way-74911|activation=true https://sonar.onap.org/coding_rules#qprofile=js-sonar-way-57190|activation=true
Clamp uses Java and JavaScript.
后退