Expand | ||
---|---|---|
| ||
|
Model Overview
BBS use case aims at using ONAP for the design, creation and activation of the High Speed Internet Access CFS.
Model Design
Gliffy | ||||||
---|---|---|---|---|---|---|
|
Resource Representations
Modeled Resource | SDC Representation | A&AI object | TOSCA file |
---|---|---|---|
ONT NNI | Connection Point | cp | ontNni.yaml & ontNni.json (for import) |
PON UNI | Connection Point | cp | ponUni.yaml & ponUni.json (for import) |
OLT NNI | Connection Point | cp | oltNni.yaml & oltNni.json (for import) |
BNG UNI | N/A | cp | |
ODN Connection | Virtual Link | l3-network ?? | |
Transport Connection | N/A | l3-network ?? | |
Access Connectivity | Virtual Function Component | generic-vnf | accessConnectivity.yaml |
Internet Profile | Virtual Function Component | generic-vnf | internetProfile.yaml |
BNG | N/A | vnfc | |
CPE (PNF) | PNF | pnf | cpePnf.yaml |
Composition of services
Service | Composed Of |
---|---|
HSIA Edge RFS | N/A |
HSIA Internet | Internet Profile VFC |
HSIA Access | CPE PNF ONT-NNI CP ODN Connection Virtual Link PON-UNI CP Access Connectivity VFC OLT-NNI CP |
HSIA CFS | HSIA Internet Service HSIA Access Service (with a SDC workaround to allow nested services) |
Open Issues
- We cannot have one VNF composed of a PNF. So the HSIA Access must be a service and not a VNF. Victor will explain how we can nest one service inside other in SDC by utilizing a known workaround.
- We need to discuss if the l3-network A&AI object is the proper way of representing SDC Virtual links (ODN Connection/Transport Connection) for our use case.
- We need to clarify the steps on how to find the proper Transport Connection to connect the OLT-NNI Connection Point to. Not clear.
Representation in A&AI
Model Parameter Life-cycle
Table on information model 'storage' and discovery-inventory analysis for BBS use case parameters
BBS Parameter Table
ONAP Awareness | SDNC (Access Discovery) | SDN-C (Edge Discovery) | SDC (Service Creation from Portal) | DCAE Registration PNF | SDN-C (Access Service) | DCAE CPE Auth | A&AI |
---|---|---|---|---|---|---|---|
Service (HSIA) | |||||||
RG MAC Add | Input | Input | |||||
Service Type | Input | Input | |||||
Upstream Speed | Input | Input | |||||
Downstream Speed | Input | Input | |||||
Access ID | Input (Optional) | Input | Input (used to find the CFS associated with PNF) | Input | |||
Orch Status | Derived - Obtained from CFS associated with PNF in PNF Registration | Derived - Obtained from CFS associated w PNF and MAC Address | Input | ||||
HSIA Access | |||||||
CPE/ONT PNF | |||||||
PNF Name | Input (CorrelationID) | SourceName | SourceName | Input | |||
MAC Address | Input | Input | Input | ||||
Manufacturer | Onboarded CSAR Artifact | Input | Input | ||||
Serial Number | Input |
| Input | ||||
Model | Input | Input | |||||
Type | Onboarded CSAR Artifact | Input | Input | ||||
SW Version | Input (Optional) | Input (Optional) | Input | ||||
Attachment Point (new field) | Input | Input | |||||
CPE Authentication State | Input (Used to derive the CFS orchestration status) | ||||||
ONT NNI (PORT) (Future?) | Input from response when access connectivity is created | Input | |||||
ODN Virtual Link (future- reuse SDC VL?) | Input from response when access connectivity is created | Input | |||||
Access Connectivity | |||||||
Service Type | Input (from CFS) | ||||||
Upstream Speed | Input (from CFS) | ||||||
Downstream Speed | Input (from CFS) | ||||||
PON UNI | |||||||
CVLAN | Input (Optional) | Input | Input when access connectivity is created or CFS if not in DCAE Reg | Input | |||
Expected ONT ID | Input (Optional) | Input (from CFS) | Input | ||||
OLT Name | Input | Derived (Attachment Point) | Input | ||||
OLT PON Slot | Input | Derived (Attachment Point) | Input | ||||
OLT PON Port | Input | Derived (Attachment Point) | Input | ||||
OLT NNI | |||||||
SVLAN | Input | Input (Optional) | Input | Input when access connectivity is created or CFS if not in DCAE Reg | Input | ||
OLT Name | Input | Input | |||||
OLT NNI Slot | Input | Input | |||||
OLT NNI Port | Input | Input | |||||
HSIA Edge | |||||||
Transport Connection | Input | Input (Just added after Edge/ Access Discovery) | |||||
BNG UNI | Input | Input |
TOSCA Models
Code Block | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
tosca_definitions_version: tosca_simple_yaml_1_0
description: Template for HSIA Access RFS
capability_types:
org.onap.bbs.capabilities.ONTCapability:
derived_from: onap.capabilities.PNFDevice
description: Declaration of being an ONT PNF Device
node_types:
# New ONT PNF Node Types
org.onap.bbs.OntDeviceNode:
derived_from: onap.nodes.PNFDevice
description: A PNF ONT device
org.onap.bbs.OntNode:
derived_from: onap.nodes.Function
description: An ONT Resource
properties:
OntID:
type: string
description: ID of ONT
rgMacAddress:
type: string
description: RG MAC address for which Internet is offered
OntType:
type: string
description: Type of ONT
required: false
OntSwVersion:
type: string
description: Software version of ONT
required: false
# New Type for HSIA Access Fevice
org.onap.bbs.AccessConnectivityNode:
derived_from: onap.nodes.Function
metadata:
type: VNF
properties:
serviceType:
type: string
description: Type of HSIA service offered to customer
upstreamSpeed:
type: integer
description: Speed for upstream traffic
downstreamSpeed:
type: integer
description: Speed for downstream traffic
capabilities:
PON_UNI_Binding:
type: onap.capabilities.Bindable
OLT_NNI_Binding:
type: onap.capabilities.Bindable
# New Types for HSIA Acces Connection Points
org.onap.bbs.PonUniConnectionPoint:
derived_from: onap.nodes.CP
properties:
CVLAN:
type: string
description: CVLAN of customer of HSIA service
required: false
ExpectedOntID:
type: string
description: Expected ONT ID (in case of pre-provisioned ONTs)
required: false
attributes:
oltName:
type: string
description: Name of OLT hosting this CP
oltPonSlot:
type: integer
description: OLT PON Slot number hosting this CP
oltPonPort:
type: integer
description: OLT PON Port number hosting this CP
org.onap.bbs.OltNniConnectionPoint:
derived_from: onap.nodes.CP
properties:
SVLAN:
type: string
description: SVLAN of HSIA service
required: false
attributes:
oltName:
type: string
description: Name of OLT hosting this CP
oltNniSlot:
type: integer
description: OLT NNI Slot number hosting this CP
oltNniPort:
type: integer
description: OLT NNI Port number hosting this CP
org.onap.bbs.OntNniConnectionPoint:
derived_from: onap.nodes.CP
attributes:
ontNniPort:
type: integer
description: ONT NNI Port number hosting this CP
# New Type for HSIA Internet Profile
org.onap.bbs.InternetProfileNode:
derived_from: onap.nodes.Function
metadata:
type: VNF
properties:
rgMacAddress:
type: string
description: RG MAC address for which Internet is offered
serviceType:
type: string
description: Type of HSIA service offered to customer
upstreamSpeed:
type: integer
description: Speed for upstream traffic
downstreamSpeed:
type: integer
description: Speed for downstream traffic
attributes:
accessID:
type: string
description: Access ID assigned for this internet service
############################
# HSIA Access RFS Topology #
############################
topology_template:
node_templates:
# ONT
OntPhysical:
type: org.onap.bbs.OntDeviceNode
capabilities:
pnf_device:
type: org.onap.bbs.capabilities.ONTCapability
OntPNF:
type: org.onap.bbs.OntNode
capabilities:
bindOntNNI:
type: onap.capabilities.Bindable
requirements:
- pnf_device:
node: OntPhysical
capability: org.onap.bbs.capabilities.ONTCapability
# ONT Connection Point
OntNNI:
type: org.onap.bbs.OntNniConnectionPoint
requirements:
- OntBinding:
node: OntPNF
capability: onap.capabilities.Bindable
- ODNConnectionLinking:
node: ODNConnection
capability: onap.capabilities.Linkable
# ODN Connection between ONT PNF and Access Device VNF
ODNConnection:
type: onap.nodes.VL
capabilities:
link:
type: onap.capabilities.Linkable
# Access Device VNF
AccessConnectivity:
type: org.onap.bbs.AccessConnectivityNode
capabilities:
bindPonUNI:
type: onap.capabilities.Bindable
bindOltNNI:
type: onap.capabilities.Bindable
# Access Device Connection Points
PonUNI:
type: org.onap.bbs.PonUniConnectionPoint
requirements:
- accessDeviceBinding:
node: AccessDevice
capability: bindPonUNI
- ODNConnectionLinking:
node: ODNConnection
capability: onap.capabilities.Linkable
OltNNI:
type: org.onap.bbs.OltNniConnectionPoint
requirements:
- accessDeviceBinding:
node: AccessDevice
capability: bindOltNNI
# "TransportConnectionLinking" stays unsatisfied, providing only filtering info
# of a VL with a property of "type=tranportLink"
# Orchestrator must satisfy it
- TransportConnectionLinking:
node_filter:
capabilities: onap.nodes.VL
properties:
type: tranportLink
# Internet Profile VNF
InternetProfile:
type: org.onap.bbs.InternetProfileNode
| ||||||||||
Code Block | ||||||||||
|
Info |
---|
HSIA Access RFS Proposal from Victor.
|
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
tosca_definitions_version: tosca_simple_yaml_1_0_0 node_types: org.openecomp.resource.vfc.OntPnf: #we cannot use the namespace like "tosca.nfv.nodes" cause SDC's restriction derived_from: org.openecomp.resource.abstract.nodes.PNF properties: cpe_id: type: string required: true pnf_name: type: string required: true mac_addr: type: string required: true manufacturer: type: string required: true serial_num: type: string required: true model: type: string required: true attachment_point: type: string required: true is_pnf: # temporary parameter type: boolean required: true default: true # ont_type: reuse nf_type in Generic_PNF # type: string # required: true # ont_sw_version: reuse software_versions in Generic_PNF # type: string # required: true capabilities: virtual_binding: type: tosca.capabilities.nfv.VirtualBindable occurrences: - 1 - UNBOUNDED |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
tosca_definitions_version: tosca_simple_yaml_1_0_0 node_types: org.openecomp.resource.vfc.accessConnectivity: derived_from: tosca.nodes.Root description: olt properties: service_type: type: string required: true upstream_speed: type: string required: true downstream_speed: type: string required: true capabilities: virtual_binding: type: tosca.capabilities.nfv.VirtualBindable occurrences: - 1 - UNBOUNDED |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
tosca_definitions_version: tosca_simple_yaml_1_0_0 node_types: org.openecomp.resource.cp.OntNni: derived_from: tosca.nodes.nfv.VduCp properties: ont_port: type: string required: true requirements: - virtual_link: capability: tosca.capabilities.nfv.VirtualLinkable relationship: tosca.relationships.nfv.VirtualLinksTo node: tosca.nodes.nfv.VnfVirtualLink - virtual_binding: capability: tosca.capabilities.nfv.VirtualBindable relationship: tosca.relationships.nfv.VirtualBindsTo node: org.openecomp.resource.vfc.OntPnf |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
tosca_definitions_version: tosca_simple_yaml_1_0_0 node_types: tosca.nodes.nfv.PonUni: derived_from: tosca.nodes.nfv.VduCp properties: expected_ont_id: type: string required: true cvlan_id: type: string required: true olt_name: type: string required: true olt_pon_port: type: string required: true olt_pon_slot: type: string required: true requirements: - virtual_link: capability: tosca.capabilities.nfv.VirtualLinkable relationship: tosca.relationships.nfv.VirtualLinksTo node: tosca.nodes.nfv.VnfVirtualLink - virtual_binding: capability: tosca.capabilities.nfv.VirtualBindable relationship: tosca.relationships.nfv.VirtualBindsTo node: org.openecomp.resource.vfc.accessConnectivity |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
tosca_definitions_version: tosca_simple_yaml_1_0_0 node_types: tosca.nodes.nfv.OltNni: derived_from: tosca.nodes.nfv.VduCp properties: olt_name: type: string required: true olt_nni_port: type: string required: true olt_nni_slot: type: string required: true svlan: type: string required: true requirements: - virtual_link: capability: tosca.capabilities.nfv.VirtualLinkable relationship: tosca.relationships.nfv.VirtualLinksTo node: tosca.nodes.nfv.VnfVirtualLink - virtual_binding: capability: tosca.capabilities.nfv.VirtualBindable relationship: tosca.relationships.nfv.VirtualBindsTo node: org.openecomp.resource.vfc.accessConnectivity |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
tosca_definitions_version: tosca_simple_yaml_1_0_0 node_types: org.openecomp.resource.vfc.InternetProfile: derived_from: tosca.nodes.Root properties: rg_mac_addr: type: string required: true service_type: type: string required: true upstream_speed: type: string required: true downstream_speed: type: string required: true access_id: type: string required: true capabilities: virtual_binding: type: tosca.capabilities.nfv.VirtualBindable occurrences: - 1 - UNBOUNDED | ||||||||
Info | ||||||||
HSIA Edge RFS proposal from Victor. |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
tosca_definitions_version: tosca_simple_yaml_1_0_0 node_types: tosca.nodes.nfv.BngUni: derived_from: tosca.nodes.nfv.VduCp properties: svlan: type: string required: true bng_uni_port: type: string required: true bng_uni_slot: type: string required: true requirements: - virtual_link: capability: tosca.capabilities.nfv.VirtualLinkable relationship: tosca.relationships.nfv.VirtualLinksTo node: tosca.nodes.nfv.VnfVirtualLink - virtual_binding: capability: tosca.capabilities.nfv.VirtualBindable relationship: tosca.relationships.nfv.VirtualBindsTo node: tosca.nodes.nfv.BNG //To Be Edited, depends on how to model BNG itself |