SDNC : Dublin M2 : Functionality Freeze Milestone Checklist





Practice Area

Checkpoint

Yes/No

Evidence - Comment

How to?

Practice Area

Checkpoint

Yes/No

Evidence - Comment

How to?

Product Management

Are all provisional APIs interface (stub) been defined (at beta-quality level)? 

Yes

Interfaces provided by SDNC are available to clients as Maven artifacts in nexus : SDNC Snapshots



Is there a final list of externally consumable APIs available?

No





For all completed Sprints, have Sprint Backlog Stories been marked as "Closed" in Jira?

Yes



Difference between a Product and Sprint Backlog

Are all tasks associated with the completed Sprint Backlog Stories been marked as "Closed" in Jira?

Yes

 



If applicable to your project, has your team been able to clear the project' blockers? If not provide status on the plan to close the blocker(s).

N/A

No project blockers identified. There is a risk noted due to NETCONF/TLI being new to this ODL release, but that is being managed.

Link to blockers.

What new features or changes to existing features in this project scope need to be communicated to VNF Providers? List the changes in the Evidence tab.

N/A

No changes apply to VNF providers



If yes to the previous question, have these been communicated to the VNF Requirements project? 

N/A





Release Management


Have all source code files been updated with License Apache 2 header?

Yes



Specific rules and instruction are available in ONAP wiki.

Has the year format in copyright header of all source code files been updated? (Rules for new files created in 2019 and existing files modified in 2019 are different)

Yes



Guidance on year format

In case source code can't be edited, has a "License.txt" file been placed at the root directory for which the license is applicable?

Yes



Guidance for source code file that can't be edited

(a) Has the Project Team added appropriate license and copyright notices to all ONAP source code and documentation files, where possible for the particular file format?

Yes





(b) Has the Project Team reviewed and understood the most recent license scan reports from the LF, for both (a) licenses within the codebase and (b) licenses for third-party build time dependencies?

Yes





For both (a) and (b) questions, have all high priority non-Project Licenses been either removed, planned for removal before code freeze, or escalated as likely exception requests?

Yes





Have all API projects dependencies been captured?

Yes

Provide link to the "API Incoming Dependency" section within your project M1 Release Planning deliverable.

The source of information for the API dependency is the "API Incoming Dependency" of the M1 Release Planning deliverable. Please update the source accordingly, and let The Release Manager aware of the changes.

Development

For new projects approved for this release, have all defined repositories source code been placed into Gerrit?

Yes

Provide link to evidence

For evidences, provide link(s) to Gerrit repos by providing the URL as shown in this example

Example

Has the project team reach the Automated Unit Test Code Coverage expectation? (Refer to artifacts available in Sonar)

Yes

Goal: 55% for Incubation project in Dublin

One repository (sdnc/northbound) is at just over 50% coverage. This will be raised to 55% by M3

Guidance on Code Coverage and Static Code Analysis

Tools: Sonar

Is there any binaries (jar, war, tar, gz, gzip, zip files) in Gerrit project repository?

No



Refer to CI Development Best Practices

Could you ensure that all proprietary trademarks, logos, product names, company name, etc. have been removed? All ONAP deliverables must comply with this rule and be agnostic of any proprietary symbols.

Yes





Is there any pending commit request older than 36 business hours in Gerrit?

No



Note: there are older updates with negative review comments awaiting developer corrections.

Have all the Jenkins jobs successfully passed (Merge-Jobs)?

Yes

Provide link as evidence to Jenkins project tab



Are all snapshot binaries available in Nexus?

Yes

Provide link to evidence in Nexus project folder



Integration and Testing  

Have functional test cases i.e. CSIT been documented in wiki?

It should include at least 1 or 2 CSIT that will be run on

Lab-xxx-OOM-Daily Jenkins Job

Yes

CCSDK : Dublin: Functional Test cases



Have you implemented in Jenkins at least 1 functional test case for each of the project repository?

Yes

https://jenkins.onap.org/view/CSIT/job/sdnc-casablanca-csit-healthcheck/

As an example (provided by Integration Team)



Has the project code successfully passed the Build process?

Yes



Goal is to ensure your project latest commits have not broken the build.

Documentation

Has the team identified and outlined the set of documentations to be delivered in this Release?

Yes

Readthedocs contains at least skeletal versions of documentation planned for the release



Security

Has the Release Security/Vulnerability table been updated in the   protected Security Vulnerabilities wiki space?

Yes

Table in in the protected Security Vulnerabilities wiki space   corresponding to the latest NexusIQ scan

PTL reviews the NexusIQ scans for their project repos and fills out   the vulnerability review table

Have all project containers been designed to run as a non-root user?

In Progress

Tracked in SDNC-668: Update SDNC Dockerfiles to run as non-root userClosed

In local testing, we were able to verify that CCSDK containers run as non-root user if USER tag in Dockerfile is set to a valid non-root user. That change will be applied to SDNC Dockerfiles as well and we will verify that this works in both docker-compose and kubernetes environments.

 https://wiki.onap.org/display/DW/Best+Practices

  • The Docker and Kubernetes engines may run as root until such time as the products support non-root execution.

  • Applications may run as root within a container.

  • The process ID of a container must not run as the root ID with the exception of containers supporting ONAP features that require the container to run as the root ID.

  • Containers may run with root privileges.

  • Project containers that run as the root ID must document this in the release notes along with the functionality that requires the container to run as the root ID.