5.2.5.2. {network-role}

Requirement: R-69014
updated: dublin
validation_mode: none
target: VNF
keyword: MUST

When a VNF’s port connects to an internal network or 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 resource IDs and resource property parameter names.

Requirement: R-05201
updated: dublin
validation_mode: none
target: VNF
keyword: MUST

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
updated: casablanca
validation_mode: none
target: VNF
keyword: MUST

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

Requirement: R-11168
updated: casablanca
validation_mode: none
target: VNF
keyword: MUST

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

Requirement: R-84322
updated: casablanca
validation_mode: none
target: VNF
keyword: MUST

A VNF’s Heat Orchestration Template’s Resource property parameter that is associated with an internal network MUST include int_{network-role} as part of the parameter name, where int_ is a hard coded string.

Requirement: R-96983
updated: casablanca
validation_mode: none
target: VNF
keyword: MUST

A VNF’s Heat Orchestration Template’s Resource ID that is associated with an internal network MUST include int_{network-role} as part of the Resource ID, where int_ is a hard coded string.

Requirement: R-26506
updated: dublin
validation_mode: static
target: VNF
keyword: MUST NOT

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
updated: casablanca
validation_mode: static
target: VNF
keyword: MUST NOT

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
updated: casablanca
validation_mode: none
target: VNF
keyword: MUST

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
updated: casablanca
validation_mode: none
target: VNF
keyword: MUST

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

Requirement: R-86588
updated: casablanca
target: VNF
keyword: SHOULD

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.