5.2.5.2. {network-role}

Requirement: R-69014 ../../../_images/arrow-right-circle.svg
target: VNF
keyword: MUST
updated: frankfurt
validation_mode: none

When a VNF’s port connects to an ONAP internal network or ONAP external network, a network role, referred to as the {network-role} MUST be assigned to the network for use in the VNF’s Heat Orchestration Template. The {network-role} is used in the VNF’s Heat Orchestration Template’s resource IDs and resource property parameter names.

Requirement: R-05201 ../../../_images/arrow-right-circle.svg
target: VNF
keyword: MUST
updated: dublin
validation_mode: none

When a VNF connects to two or more unique networks, each network MUST be assigned a unique {network-role} in the context of the VNF for use in the VNF’s Heat Orchestration Template.

Requirement: R-21330 ../../../_images/arrow-right-circle.svg
target: VNF
keyword: MUST
updated: frankfurt
validation_mode: none

A VNF’s Heat Orchestration Template’s Resource property parameter that is associated with an ONAP external network MUST include the {network-role} as part of the parameter name.

Requirement: R-11168 ../../../_images/arrow-right-circle.svg
target: VNF
keyword: MUST
updated: frankfurt
validation_mode: none

A VNF’s Heat Orchestration Template’s Resource ID that is associated with an ONAP external network MUST include the {network-role} as part of the resource ID.

Requirement: R-84322 ../../../_images/arrow-right-circle.svg
target: VNF
keyword: MUST
updated: frankfurt
validation_mode: none

A VNF’s Heat Orchestration Template’s Resource property parameter that is associated with an ONAP internal network (per the ONAP definition, see Requirements R-52425 and R-46461 and R-35666) MUST include int_{network-role} as part of the parameter name, where int_ is a hard coded string.

Requirement: R-96983 ../../../_images/arrow-right-circle.svg
target: VNF
keyword: MUST
updated: frankfurt
validation_mode: none

A VNF’s Heat Orchestration Template’s Resource ID that is associated with an ONAP internal network (per the ONAP definition, see Requirements R-52425 and R-46461 and R-35666) MUST include int_{network-role} as part of the Resource ID, where int_ is a hard coded string.

Requirement: R-26506 ../../../_images/arrow-right-circle.svg
target: VNF
keyword: MUST NOT
updated: dublin
validation_mode: static

A VNF’s Heat Orchestration Template’s {network-role} MUST contain only alphanumeric characters and/or underscores ‘_’ and

  • MUST NOT contain any of the following strings: _int or int_ or _int_

  • MUST NOT end in the string: _v6

  • MUST NOT contain the strings _#_, where # is a number

  • MUST NOT end in the string: _#, where # is a number

Requirement: R-00977 ../../../_images/arrow-right-circle.svg
target: VNF
keyword: MUST NOT
updated: casablanca
validation_mode: static

A VNF’s Heat Orchestration Template’s {network-role} MUST NOT be a substring of {vm-type}.

For example, if a VNF has a ‘{vm-type}’ of ‘oam’ and a ‘{network-role}’ of ‘oam_protected’ would be a violation of the requirement.

Requirement: R-58424 ../../../_images/arrow-right-circle.svg
target: VNF
keyword: MUST
updated: casablanca
validation_mode: none

A VNF’s Heat Orchestration Template’s use of {network-role} in all Resource property parameter names MUST be the same case.

Requirement: R-21511 ../../../_images/arrow-right-circle.svg
target: VNF
keyword: MUST
updated: casablanca
validation_mode: none

A VNF’s Heat Orchestration Template’s use of {network-role} in all Resource IDs MUST be the same case.

Requirement: R-86588 ../../../_images/arrow-right-circle.svg
target: VNF
keyword: SHOULD
updated: casablanca

A VNF’s Heat Orchestration Template’s {network-role} case in Resource property parameter names SHOULD match the case of {network-role} in Resource IDs and vice versa.

Note that this document refers to {network-role} which in reality is the {network-role-tag}. The value of the {network-role} / {network-role-tag} is determined by the designer of the VNF’s Heat Orchestration Template and there is no requirement for {network-role} / {network-role-tag} uniqueness across Heat Orchestration Templates for different VNFs.

When an external network is created by ONAP, the network is also assigned a {network-role}. The {network-role} of the network is not required to match the {network-role} of the VNF Heat Orchestration Template.

For example, the VNF Heat Orchestration Template can assign a {network-role} of oam to a network which attaches to an external network with a {network-role} of oam_protected .

When the Heat Orchestration Template is on-boarded into ONAP
  • each {network-role} value in the Heat Orchestration Template is mapped to the {network-role-tag} in the ONAP data structure.

  • each OS::Neutron::Port is associated with the external network it is connecting to, thus creating the VNF Heat Orchestration Template {network-role} / {network-role-tag} to external network {network-role} mapping.