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 | ||||||
---|---|---|---|---|---|---|
|
|
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) | BNG UNI | N/A | cp |
ODN Connection | VNF Virtual Link | l3-network ?? | Transport ConnectionN/Al3-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) | PNFVirtual Function Component | pnf | cpePnf.yaml |
Composition of services
Service | Composed Of | ||||
---|---|---|---|---|---|
HSIA | Edge RFSN/A | ||||
HSIA Internet | Internet Profile VFC | ||||
HSIA Access | CFS (BBS E2E Service) | CPE VF* ONT-NNI CP ODN Connection Vnf Virtual Link PON-UNI CP | Access Connectivity VF OLT- | NNI NNI CP | HSIA CFS Internet ServiceHSIA Access Service Profile VF (*) with a SDCworkaround 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.
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 | Input | Service Type | Input | Input | |||||||||||||
Service Type | Input | Input | |||||||||||||||||
Upstream Speed | Input | Input | |||||||||||||||||
Downstream Speed | Input | Input | |||||||||||||||||
Access 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 | 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?) | 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 | |||||||||||||||||
HSIA Edge | Transport Connection | Input | Input (Just added after Edge/ Access Discovery) | BNG UNI | Input | Input |
TOSCA Models
language | yml |
---|---|
title | HSIA Access RFS : CPE |
linenumbers | true |
collapse | true |
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BBS Parameter Table
|
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: virtual_bindingtype: string typerequired: tosca.capabilities.nfv.VirtualBindabletrue pnf_name: occurrences: type: string - 1 required: true - UNBOUNDED | ||||||||
Code Block | ||||||||
| ||||||||
tosca_definitions_version: tosca_simple_yaml_1_0_0 node_types: org.openecomp.resource.vfc.accessConnectivity: mac_addr: type: string required: true derived_from: tosca.nodes.Rootmanufacturer: descriptiontype: string olt propertiesrequired: true serviceserial_typenum: type: string required: true upstream_speedmodel: type: string required: true downstreamattachment_speedpoint: type: string required: true capabilities:is_pnf: # temporary parameter virtual_binding: type: boolean required: true typedefault: tosca.capabilities.nfv.VirtualBindable true # ont_type: reuse nf_type in Generic_PNF # occurrences: type: string # - 1 required: true # - UNBOUNDED | ||||||||
Code Block | ||||||||
| ||||||||
tosca_definitions ont_sw_version: reuse tosca_simple_yaml_1_0_0 node_types: org.openecomp.resource.cp.OntNni:software_versions in Generic_PNF # derived_fromtype: tosca.nodes.nfv.VduCp string # properties: required: true ont_port: capabilities: type: string virtual_binding: required: true type: requirements:tosca.capabilities.nfv.VirtualBindable - virtual_link:occurrences: - 1 capability: tosca.capabilities.nfv.VirtualLinkable - UNBOUNDED |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
tosca_definitions_version: tosca_simple_yaml_1_0_0 node_types: relationship: tosca.relationships.nfv.VirtualLinksToorg.openecomp.resource.vfc.accessConnectivity: nodederived_from: tosca.nodes.nfv.VnfVirtualLink - virtual_binding: Root capability: tosca.capabilities.nfv.VirtualBindable description: olt properties: relationshipservice_type: tosca.relationships.nfv.VirtualBindsTo type: string 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 required: true upstream_speed: type: string propertiesrequired: true expecteddownstream_ont_idspeed: type: string required: true cvlan_idcapabilities: typevirtual_binding: string required: truetype: tosca.capabilities.nfv.VirtualBindable olt_name: occurrences: type: string - 1 required: true olt_pon_port: type: string - 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 requiredproperties: true olt_pon_slotont_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.accessConnectivity OntPnf |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
tosca_definitions_version: tosca_simple_yaml_1_0_0 node_types: toscaorg.openecomp.nodesresource.nfvcp.OltNniPonUni: derived_from: tosca.nodes.nfv.VduCp properties: oltexpected_ont_nameid: type: string required: true oltcvlan_nni_portid: type: string required: true olt_nni_slotname: type: string required: true svlanolt_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: org.openecomp.resource.vfccp.InternetProfileOltNni: derived_from: tosca.nodes.nfv.RootVduCp properties: olt_name: type: string required: true rgolt_macnni_addrport: type: string required: true service_typeolt_nni_slot: type: string required: true upstream_speedsvlan: type: string required: true downstream_speedrequirements: - type: stringvirtual_link: required: truecapability: tosca.capabilities.nfv.VirtualLinkable access_id: relationship: tosca.relationships.nfv.VirtualLinksTo type: string requirednode: true tosca.nodes.nfv.VnfVirtualLink capabilities: - virtual_binding: typecapability: tosca.capabilities.nfv.VirtualBindable occurrences: relationship: tosca.relationships.nfv.VirtualBindsTo - 1 node: - UNBOUNDED org.openecomp.resource.vfc.accessConnectivity |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
tosca_definitions_version: tosca_simple_yaml_1_0_0 node_types: toscaorg.openecomp.nodesresource.nfvvfc.BngUniInternetProfile: derived_from: tosca.nodes.nfv.VduCpRoot properties: svlanrg_mac_addr: type: string required: true bngservice_uni_porttype: type: string required: true bngupstream_uni_slotspeed: type: string required: true requirementsdownstream_speed: - virtual_linktype: string required: true capability: tosca.capabilities.nfv.VirtualLinkable remote_id: relationshiptype: tosca.relationships.nfv.VirtualLinksTostring required: true node: tosca.nodes.nfv.VnfVirtualLink capabilities: - virtual_binding: capabilitytype: tosca.capabilities.nfv.VirtualBindable relationshipoccurrences: tosca.relationships.nfv.VirtualBindsTo node: tosca.nodes.nfv.BNG //To Be Edited, depends on how to model BNG itself - 1 - UNBOUNDED |