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 | ||||||
---|---|---|---|---|---|---|
|
Model Design
Model Realization Example
Gliffy | ||||
---|---|---|---|---|
|
Gliffy | ||||
---|---|---|---|---|
|
Model Parameter Life-cycle
Table on information model 'storage' and discovery-inventory analysis for BBS use case parameters
BBS Parameter Table
DCAE
CPE Auth
|
Representation in SDC
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) |
ODN Connection | VNF Virtual Link | N/A | |
Access Connectivity | Virtual Function Component | generic-vnf | accessConnectivity.yaml |
Internet Profile | Virtual Function Component | generic-vnf | internetProfile.yaml |
CPE (PNF) | Virtual Function Component | pnf | cpePnf.yaml |
Composition of services
Service | Composed Of |
---|---|
HSIA CFS (BBS E2E Service) | CPE VF* ONT-NNI CP ODN Connection Vnf Virtual Link PON-UNI CP Access Connectivity VF OLT-NNI CP Internet Profile VF (*) with workaround to model PNF in SDC |
Representation in A&AI
Gliffy | ||||
---|---|---|---|---|
|
Expand | ||
---|---|---|
| ||
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 | |||||
Remote 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 |
) |
Input from response when access connectivity is created |
Input | |
ODN Virtual |
Link | 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 |
Expand |
---|
| ||||||||||
BBS Parameter Table | ||||||||||
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
|
Input
TOSCA Models
|
Service-instance-related information
BBS Properties Per HSIA CFS Service Instance | Input Source | ONAP Components that must fetch the value from A&AI | Does it really need A&AI storage? | A&AI Metaname (for Metadata) |
---|---|---|---|---|
RG MAC Address | Service Order via Ext API It also comes in the CPE Authentication Event | bbs-event-processor DCAE microservice (it fetches existing value from A&AI to compare it with the new value coming from PNF CPE authentication event in order to deduce if there is any mismatch) | Yes, as metadata of CFS service instance | rgw-mac-address |
Correlation ID (PNF-name) | Service Order via Ext API It also comes in the sourceName of the PNF registration event's commonEventHeader | Yes, as property of PNF object | ||
Service Type | Service Order via Ext API | SO / bbs-apex-policy (during Access Connectivity and Internet Profile VFCs creation & update) | Yes, as metadata of CFS service instance | service-type |
Access ID | PNF registration event | SDN-C or SO? / bbs-apex-policy (during Internet Profile VFC creation & update) | Yes, as metadata of CFS service instance | remote-id |
Upstream Speed | Service Order via Ext API | SDN-C or SO? / bbs-apex-policy (during Internet Profile VFC creation & update) | Yes, as metadata of CFS service instance | up-speed |
Downstream Speed | Service Order via Ext API | SDN-C or SO? / bbs-apex-policy (during Internet Profile VFC creation & update) | Yes, as metadata of CFS service instance | down-speed |
OLT Name | PNF registration event (extracted from attachment point) | |||
OLT PON port | PNF registration event (extracted from attachment point) | |||
OLT PON slot | PNF registration event (extracted from attachment point) | |||
CVLAN | PNF registration event Service Order via Ext API [optional - if not provided by Access SDN M&C] | SDN-C or SO? / bbs-apex-policy (during Internet Profile VFC creation & update) | Yes, as metadata of CFS service instance | cvlan |
SVLAN | PNF registration event Service Order via Ext API [optional - if not provided by Access SDN M&C] | SDN-C or SO? / bbs-apex-policy (during Internet Profile VFC creation & update) | Yes, as metadata of CFS service instance | svlan |
Expected ONT ID | Service Order via Ext API [optional] | SDN-C or SO? (for Access Connectivity VFC creation) | Yes, as metadata of CFS service instance | expected-ont-id |
CPE Manufacturer | PNF registration event | Yes, as property of PNF object | Not Applicable | |
CPE Model | PNF registration event | Yes, as property of PNF object | Not Applicable | |
CPE Equipment Type | PNF registration event | Yes, as property of PNF object | Not Applicable | |
CPE Serial Number | PNF registration event | Yes, as property of PNF object | Not Applicable | |
CPE SW Version | PNF registration event (also present in CPE Authentication Event) | Yes, as property of PNF object | Not Applicable | |
Attachment Point (Not a real BBS modeling property, since its constituent parts are captured in other model properties) | PNF registration event | bbs-event-processor DCAE microservice (it fetches existing value from A&AI to compare it with the new value coming from PNF re-registration event in order to deduce if it is a true relocation) | Yes, as value of link-name property of a logical-link bridged to the PNF object | Not Applicable |
ONT NNI Port | CPE PNF onboarding in SDC | |||
OLT NNI Slot | PNF registration event | |||
OLT NNI Port | PNF registration event |
TOSCA Models
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 descriptionrequired: Type oftrue HSIA service offered to customer upstreamSpeedpnf_name: type: integerstring descriptionrequired: Speedtrue for upstream traffic downstreamSpeedmac_addr: type: integerstring descriptionrequired: Speedtrue for downstream traffic attributesmanufacturer: accessID: type: string type required: stringtrue serial_num: description: Access ID assigned for this internet servicetype: string ############################ # HSIA Access RFS Topology # ############################ topology_templaterequired: true node_templates model: # ONT OntPhysicaltype: string type: org.onap.bbs.OntDeviceNode capabilitiesrequired: true pnfattachment_devicepoint: type: org.onap.bbs.capabilities.ONTCapability string OntPNF: required: true type: org.onap.bbs.OntNode capabilitiesis_pnf: # temporary parameter bindOntNNI: type: boolean type: onap.capabilities.Bindable requirementsrequired: true - pnf_device: default: true # node: OntPhysical ont_type: reuse nf_type in Generic_PNF # capabilitytype: org.onap.bbs.capabilities.ONTCapability string # # ONT Connection Pointrequired: true # OntNNI: typeont_sw_version: org.onap.bbs.OntNniConnectionPoint requirements:reuse software_versions in Generic_PNF # - OntBindingtype: string # noderequired: OntPNFtrue capabilities: capability: onap.capabilities.Bindable virtual_binding: - ODNConnectionLinking: node: ODNConnection capability: onap.capabilities.Linkable # ODN Connection between ONT PNF and Access Device VNF ODNConnectiontype: tosca.capabilities.nfv.VirtualBindable occurrences: type: onap.nodes.VL capabilities:- 1 link: type: onap.capabilities.Linkable # Access Device VNF AccessConnectivity: type: org.onap.bbs.AccessConnectivityNode- UNBOUNDED |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
tosca_definitions_version: tosca_simple_yaml_1_0_0 node_types: org.openecomp.resource.vfc.accessConnectivity: capabilitiesderived_from: tosca.nodes.Root bindPonUNIdescription: olt type: onap.capabilities.Bindableproperties: bindOltNNIservice_type: type: onap.capabilities.Bindablestring # Access Device Connection Pointsrequired: true PonUNI: typeupstream_speed: org.onap.bbs.PonUniConnectionPoint requirementstype: string - accessDeviceBinding: required: true nodedownstream_speed: AccessDevice type: string capability: bindPonUNI - ODNConnectionLinkingrequired: true nodecapabilities: ODNConnection virtual_binding: capability: onap.capabilities.Linkable OltNNI: type: orgtosca.onapcapabilities.bbsnfv.OltNniConnectionPointVirtualBindable requirements: - accessDeviceBindingoccurrences: node:- AccessDevice1 capability: bindOltNNI # "TransportConnectionLinking" stays unsatisfied, providing only filtering info- UNBOUNDED |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
tosca_definitions_version: tosca_simple_yaml_1_0_0 node_types: org.openecomp.resource.cp.OntNni: # of a VL with a property of "type=tranportLink"derived_from: tosca.nodes.nfv.VduCp properties: ont_port: # Orchestrator musttype: satisfystring it - TransportConnectionLinkingrequired: true requirements: - nodevirtual_filterlink: capabilitiescapability: onaptosca.capabilities.nodesnfv.VLVirtualLinkable propertiesrelationship: tosca.relationships.nfv.VirtualLinksTo type: tranportLinknode: tosca.nodes.nfv.VnfVirtualLink - virtual_binding: # Internet Profile VNF InternetProfile:capability: tosca.capabilities.nfv.VirtualBindable typerelationship: orgtosca.onaprelationships.bbs.InternetProfileNode | ||||||||
Code Block | ||||||||
language | yml | |||||||
firstline | 1 | title | TOSCA model for HSIA Edge RFSnfv.VirtualBindsTo
node: org.openecomp.resource.vfc.OntPnf
|
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
|
Info |
---|
HSIA Access RFS Proposal from Victor.
|
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
tosca_definitions_version: tosca_simple_yaml_1_0_0 node_types: tosca.nodes.nfv.Cpe: derived_from: org.openecomp.resource.abstract.nodes.PNF properties:tosca_definitions_version: tosca_simple_yaml_1_0_0 node_types: org.openecomp.resource.cp.PonUni: derived_from: tosca.nodes.nfv.VduCp properties: expected_ont_id: type: string required: true cvlan_id: type: string required: falsetrue <-- to be discussed mac_addressolt_name: type: string required: true manufacturerolt_pon_port: type: string required: true modelolt_pon_slot: type: string required: falsetrue serial_number:requirements: - typevirtual_link: string required: true capability: tosca.capabilities.nfv.VirtualLinkable sw_version: typerelationship: stringtosca.relationships.nfv.VirtualLinksTo required: false capabilitiesnode: tosca.nodes.nfv.VnfVirtualLink - virtual_binding: type capability: tosca.capabilities.nfv.VirtualBindable occurrences: relationship: tosca.relationships.nfv.VirtualBindsTo - 1 node: org.openecomp.resource.vfc.accessConnectivity - UNBOUNDED |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
tosca_definitions_version: tosca_simple_yaml_1_0_0 node_types: toscaorg.openecomp.nodesresource.nfvcp.AccessConnectionOltNni: <-- to de discussed derived_from: tosca.nodes.nfv.rootVduCp properties: serviceolt_typename: type: string required: true upstreamolt_nni_speedport: type: string required: true downstreamolt_nni_speedslot: type: string required: true capabilitiessvlan: virtual_bindingtype: string typerequired: tosca.capabilities.nfv.VirtualBindabletrue occurrences: requirements: - virtual_link: 1 - UNBOUNDED | ||||||||
Code Block | ||||||||
| ||||||||
tosca_definitions_version: tosca_simple_yaml_1_0_0 node_types: tosca.nodes.nfv.OntNni: capability: tosca.capabilities.nfv.VirtualLinkable derived_fromrelationship: tosca.nodesrelationships.nfv.VduCpVirtualLinksTo properties: ont_portnode: tosca.nodes.nfv.VnfVirtualLink type: string- virtual_binding: required: true requirements: - virtual_link: capabilitycapability: tosca.capabilities.nfv.VirtualLinkableVirtualBindable relationship: tosca.relationships.nfv.VirtualLinksToVirtualBindsTo node: toscaorg.openecomp.nodesresource.nfvvfc.VnfVirtualLink - virtual_binding: accessConnectivity |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
tosca_definitions_version: tosca_simple_yaml_1_0_0 node_types: org.openecomp.resource.vfc.InternetProfile: capabilityderived_from: tosca.capabilitiesnodes.nfv.VirtualBindableRoot properties: relationshiprg_mac_addr: tosca.relationships.nfv.VirtualBindsTo type: string node: tosca.nodes.nfv.OntPnf | ||||||||
Code Block | ||||||||
| ||||||||
tosca_definitions_version: tosca_simple_yaml_1_0_0 node_typesrequired: true service_type: tosca.nodes.nfv.PonUni: derived_from: tosca.nodes.nfv.VduCp properties: expected_ont_id: type: type: string required: true cvlanupstream_idspeed: type: string required: true oltdownstream_namespeed: type: string required: true oltremote_pon_portid: type: string required: true olt_pon_slotcapabilities: typevirtual_binding: 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.OltPnf |
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: tosca.nodes.nfv.OltPnf
|
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
|
PON UNI
ponUni.yaml & ponUni.json (for import)
cp
l3-network ??
BNG
One service composed of
CPE PNF
ONT-NNI CP
ODN Connection Virtual Link
PON-UNI CP
Access Connectivity VFC
OLT-NNI CP
type: tosca.capabilities.nfv.VirtualBindable
occurrences:
- 1
- UNBOUNDED
|