Versions Compared

Key

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

Table of Contents

...


The intent of the VNF Requirement and Guidelines project is to inform VNF providers of the standards, specifications, and guidlines to which they should adhere when targeting the ONAP platform.  These requirements and guidelines will support the ONAP Architecture Principles, and ensure a consistent experience for VNF providers across the VNF lifecycle.  See the VNF Requirements Charter for more information.

...

  • The requirement must be uniquely numbered (ex R-XXXXX).  Please refer to VNFRQTS How to Contribute for more information on how requirement numbers are assigned.
  • The requirement must use RFC 2119 keywords (MUST | MUST NOT | SHOULD | SHOULD NOT | MAY), and these keywords must be in uppercase and in bold.  In RST, bold is achieved by wrapping the text in double asterisks (ex: **MUST**) 
  • The requirement should generally start off with the subject of the requirement and refer to one of the following:, and then further refine from there
    • VNF VNFC

    • PNF

    • VNF or PNF
    • VNF Provider
    • PNF Provider
    • VNF or PNF Provider
    • VNF Heat Package
    • VNF HEAT Orchestration Template
    • VNF Package

    • PNF

    • xNF (NOTE: xNF is a requirement that applies to both PNF and VNFs)CSAR Package
    • PNF CSAR Package
    • VNF or PNF Package
    • VNF Documentation Package
    • PNF Documentation Package
    • VNF or PNF Documentation Package
    • Example:  The VNF Heat Package's base module **MUST** contain...
  • The requirement should apply only to a single aspect of its intended requirements target, and not combine multiple independent statements into a single requirement.

...

Here is an example of a requirement that adheres to the standards.

You may use the VNFRQTS Requirement Generation Tool to generate properly RST formatted requirements with unique ID numbers.


Requirement Example

.. req::
    :id: R-01334
    :keyword: MUST
    :target: VNF
    :links: R-01335
 
 
    The VNF **MUST** conform to the NETCONF RFC 5717, Partial Lock Remote Procedure Call


The following table outlines the proposed standard metadata elements that will be associated with the requirements. This list may change over time.


Anchor
requirement_metadata
requirement_metadata
Table 2: Requirement Metadata

Field Name

Required

vs. Optional

Data Type

Valid Values/Format

Notes

idRequiredStringR-#####

The unique requirement ID for this requirement. See VNFRQTS How to Contribute for more details.

On a new requirement, this attribute can be left off and the tox -e docs or check.py script generate and ID and populate this field.

targetRequiredString

VNF, VNFC, VNF PROVIDER, VNF HEAT ORCHESTRATION TEMPLATE,

VNF PACKAGE, PNF, XNF

VNF
PNF
VNF or PNF
VNF DOCUMENTATION PACKAGE
PNF DOCUMENTATION PACKAGE
VNF or PNF DOCUMENTATION PACKAGE
VNF PROVIDER
PNF PROVIDER
VNF or PNF PROVIDER
VNF CSAR PACKAGE
PNF CSAR PACKAGE",
VNF or PNF CSAR PACKAGE",
VNF HEAT PACKAGE

The component to which the requirement applies.
keywordRequiredString

MUST

,

MUST NOT

,

SHOULD

,

SHOULD NOT

,

MAY

The RFC 2119 keyword for the requirement
introducedOptionalStringlower case release name (ex: bejing, casablanca)

The release the requirement was initially introduced. New requirements should always have this.

When adding a new requirement, this can be left off and  the tox -e docs or check.py script will add this for you.

updatedOptionalStringlower case release nameThe release the requirement was last modified. Any updated requirements going forward should have this.
impactsOptionalList of StringComma separated list of ONAP components (ex: so, sdc)The various ONAP components that need to be aware of any changes to the requirement
validation_modeOptionalStringstatic, stand_alone, in_service

How the requirement is validated:

static - validated by statically inspecting the VNF package data

stand_alone - validated by running tests against the VNF itself

in_service - validated in the context of a full or partial ONAP deployment

validated_byOptionalList of String

Comma separated list:

vvp, vnfsdk, sdc

Projects that implement validations of this requirement.linksOptionalList of StringComma or semi-colon separated list of requirement IDsThis is a list of IDs that this requirement is dependent on. When the HTML documentation is produced, linkages will be provided between the requirements.test_caseOptionalRST Link

Status
titledeprecated
Link to source file that implement the test case. This is included temporarily. Traceability from test case to requirement is now being provided by the VVP project.

notesOptionalStringFree form text
Status
titledeprecated
Short notes about the requirement. This was included to track some existing notes and metadata, but it will be retired in a future release.


Use Case Standards

The use case section of the document affords a way to provide a VNF Provider a VNF-centric view of certain  use cases.  It is not required that every use case supported by ONAP be documented in this section.  Instead, key use cases that require discrete actions and coordination with the VNF can be described here to provide a clearer understanding of potentially multi-step complex interactions.   

...