Versions Compared

Key

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

The intention of this page is to highlight differences between the Platform Maturity requirements for data router Casablanca and Dublin releases.

...

All new API’s must adhere to the ONAP API Common Versioning Strategy and Documentation - already in place.
  • All existing APIs must be documented in Swagger 2.0
  • Area

    Target Level for Casablanca Release

    Target Level for Dublin Release

    Change required. (details below)

    Comments
    Performance

    1

    2
    • Create performance improvement plan.

    Performance test results for Casablanca here: Platform maturity: performance/stability test plan.

    Identify bottlenecks as a start for improvement plan.

    Security1

    2

    Project level requirements

    • Level 2: CII Silver badge, plus:
      • All internal/external system communications shall be able to be encrypted.
      • All internal/external service calls shall have common role-based access control and authorization using CADI framework.

    ONAP Platform-level requirements per release 

    Level 2: 70 % of the projects passing silver 

    • with non-silver projects:
      •  completed passing level and 80% towards silver level
      • internal/external system communications shall be able to be encrypted

    Encryption not implemented for:

    • InternalServlet (isAuthorizedForInternal)
    • RouteServlet (isAuthorizedForInternal)
    • PublishServlet
    • StatisticsServlet
    • LogServlet

    Access control/authorization not implemented.

    CII Silver badge

    The project MUST document what the user can and cannot expect in terms of security from the software produced
    by the project. The project MUST identify the security requirements that the software is intended to meet and an
    assurance case that justifies why these requirements are met.

    CII Badging Program

    Currently DR on Passing level.


    Data Router (DR) API Guide

    Manageability12
    • A component can be independently upgraded without impacting operation interacting components
    • Component configuration to be externalized in a common fashion across ONAP projects
    • All application logging to adhere to ONAP Application Logging Specification v1.2
    • Implement guidelines for a minimal container footprint

    Currently implemented:

    • SLF4J (to log events and internal logging) and
    • EELF (for logging API calls) .

    Considering eelf is one of the suggested logging frameworks for the spec, and we have nothing implemented for slf4j, we should ideally use only eelf for our logging purposes and replace any log4j logging with eelf


    Guidance for Implementation

    Usability1

    2

    API versioning already in place.

    Implementing Semantic Versioning for APIs

    • Utilizes the same semantic versioning methodology that is being used for ONAP’s Release Versioning Strategy; therefore, development teams are familiar with the definition of the methodology.
    • For a given a version number, MAJOR.MINOR.PATCH, increment the:
      • MAJOR position when you make any incompatible API change
      • MINOR position when you add functionality in a backwards-compatible manner
      • PATCH (or BUILD) position when you make invisible (and thus backwards-compatible) bug fixes
    • Details of the specification can be found at http://semver.org/

    Update classes with Swagger annotations.

    Guidance for Implementation

    • This presentation gives a good review of what types of documentation should be done and when in the release lifecycle.
    • Please see the Documentation team for more information.

    More information on the levels: Platform Maturity Requirements

    ...

    • Level 1:
      • All ONAP components will use a single logging system.
      • Instantiation of a simple ONAP system should be accomplished in <1 hour with a minimal footprint
    • Level 2:
      • A component can be independently upgraded without impacting operation interacting components
      • Component configuration to be externalized in a common fashion across ONAP projects
      • All application logging to adhere to ONAP Application Logging Specification v1.2
      • Implement  guidelines for a minimal container footprint
    • Level 3
      • Transaction tracing across components

    ...