Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...


QuestionDescriptionSample Answer

Basics: Identification

Basics: Prerequisites

Basics: Project oversight

Basics: Other

The questions in these Basics sections will be filled in automatically.

Some questions change SHOULDs from previous levels to MUSTs.



The project MUST include a copyright statement in each source file, identifying at least one relevant year and copyright holder. [copyright_per_file]

*ONAP project common response*


all source and documentation files are required to have copyright notices


The project MUST include a license statement in each source file. This MAY be done by including the following inside a comment near the beginning of each file: SPDX-License-Identifier: [SPDX license expression for project]. [license_per_file]

*ONAP project common response*


all source and documentation files are required to have license statements

QuestionDescriptionSample Answer

Change Control: Public version-controlled source repository




The project's source repository MUST use a common distributed version control software (e.g., git or mercurial). [repo_distributed]This question will be filled in automatically from previous levels.

The project MUST clearly identify small tasks that can be performed by new or casual contributors. (URL required) [small_tasks]

TBD

DO WE HAVE POLICIES ON THIS?



The project MUST require two-factor authentication (2FA) for developers for changing a central repository or accessing sensitive data (such as private vulnerability reports). This 2FA mechanism MAY use mechanisms without cryptographic mechanisms such as SMS, though that is not recommended. [require_2FA]

*ONAP project common response*

This will need to be resolved on an ONAP project basis. We cannot currently answer MET on this item.

Cannot be met yet. Select unmet.

The project's two-factor authentication (2FA) SHOULD use cryptographic mechanisms to prevent impersonation. Short Message Service (SMS) based 2FA, by itself, does NOT meet this criterion, since it is not encrypted. [secure_2FA]

*ONAP project common response*

This will need to be resolved on an ONAP project basis. We cannot currently answer MET on this item.

Cannot be met yet. Select unmet.

QuestionDescriptionSample Answer

Quality: Coding standards




The project MUST document its code review requirements, including how code review is conducted, what must be checked, and what is required to be acceptable. (URL required) [code_review_standards]

TBD

DO WE HAVE POLICIES ON THIS?



The project MUST have at least 50% of all proposed modifications reviewed before release by a person other than the author, to determine if it is a worthwhile modification and free of known issues which would argue against its inclusion [two_person_review]

*ONAP project common response*

ONAP requires a committer other than the submitter to review each proposed modification.

https://wiki.onap.org/display/DW/Code+Review

Per https://wiki.onap.org/display/DW/Code+Review, self-commits are not allowed.

QuestionDescriptionSample Answer

Quality: Working build system




The project MUST have a reproducible build. If no building occurs (e.g., scripting languages where the source code is used directly instead of being compiled), select "not applicable" (N/A). (URL required) [build_reproducible]

TBD

AFAIK, WE DO NOT CURRENTLY HAVE A POLICY ON THIS



QuestionDescriptionSample Answer

Quality: Automated test suite

These questions will be filled in automatically from previous levels.

The project MUST implement continuous integration, where new or changed code is frequently integrated into a central code repository and automated tests are run on the result. (URL required) [test_continuous_integration]

*ONAP project common response*

ONAP uses continuous integration and unit tests run automatically during CI.

Junit tests are invoked from mvn.  Pytest tests are invoked by running pytest from command line.  Rebar3 tests are invoked from command line by running rebarr3.  All are included as part of Jenkin builds.  All are standard testing tools invoked in standard way.
Robot Framework tests are invoked by standard Robot methodology, also triggered by Jenkins build jobs.
https://wiki.onap.org/display/DW/Continuous+Integration
https://wiki.onap.org/pages/viewpage.action?pageId=4718718

A test suite MUST be invocable in a standard way for that language. (URL required) [test_invocation]

TBD

WHERE IS THIS DOCUMENTED? A URL IS REQUIRED.



QuestionDescriptionSample Answer

Security: Use basic good cryptographic practices

Security: Secured delivery against man-in-the-middle (MITM) attacks

Security: Publicly known vulnerabilities fixed

These questions will be filled in automatically from previous levels.

The project website, repository (if accessible via the web), and download site (if separate) MUST include key hardening headers with nonpermissive values. (URL required) [hardened_site]

*ONAP project common response*

This will need to be resolved on an ONAP project basis. We cannot currently answer MET on this item.

Cannot be met yet. Select unmet. For a reason, type:

// X-Content-Type-Options was not set to "nosniff".

Details on why this cannot be set to Met:

The project website, wiki.onap.org, has these headers. https://securityheaders.io/ gives an A grade. content-security-policy: frame-ancestors 'self' strict-transport-security: max-age=15552000 x-content-type-options: nosniff x-frame-options: SAMEORIGIN x-xss-protection: 1; mode=block

The code repository, gerrit.onap.org, has some of the headers. https://securityheaders.io/ gives a D grade. content-security-policy: NOT PRESENT Strict-Transport-Security: max-age=15552000 X-Content-Type-Options: NOT PRESENT X-Frame-Options: X-XSS-protection: NOT PRESENT

The download site, nexus.onap.org, has some of the headers. https://securityheaders.io/ gives a C grade. content-security-policy: NOT PRESENT strict-transport-security: max-age=15552000 x-content-type-options: nosniff x-frame-options: SAMEORIGIN x-xss-protection: NOT PRESENT // X-Content-Type-Options was not set to "nosniff".


QuestionDescriptionSample Answer

Analysis: Dynamic code analysis

Some questions in the Analysis section will be automatically filled in from previous levels.

The remaining questions in the Analysis section must be individually answered according to your project.


...