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 Diagram | ||||||
---|---|---|---|---|---|---|
|
Model Design
Model Realization Example
Gliffy Diagram | ||||
---|---|---|---|---|
|
Gliffy Diagram | ||||
---|---|---|---|---|
|
|
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 Diagram | ||||
---|---|---|---|---|
|
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) |
Model Parameter Life-cycle
Table on information model 'storage' and discovery-inventory analysis for BBS use case parameters
BBS Parameter Table
DCAE
CPE Auth
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
|
Input
|
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 |
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 descriptionrequired: Type of HSIA service offered to customertrue upstreamSpeedpnf_name: type: integerstring descriptionrequired: Speed for upstream traffictrue downstreamSpeedmac_addr: type: integerstring descriptionrequired: Speedtrue for downstream traffic attributesmanufacturer: accessIDtype: string typerequired: stringtrue serial_num: description: Access ID assigned for this internettype: service ############################ # HSIA Access RFS Topology # ############################ topology_template: node_templates: # ONT OntPhysicalstring required: true model: type: org.onap.bbs.OntDeviceNode string capabilitiesrequired: true pnfattachment_devicepoint: type: org.onap.bbs.capabilities.ONTCapability OntPNF: string typerequired: org.onap.bbs.OntNodetrue capabilities: is_pnf: # temporary bindOntNNI:parameter type: onap.capabilities.Bindableboolean requirements: required: true - pnf_devicedefault: true # ont_type: reuse nf_type node: OntPhysical in Generic_PNF # capabilitytype: org.onap.bbs.capabilities.ONTCapability string # ONT Connection Point OntNNI: typerequired: org.onap.bbs.OntNniConnectionPoint true # requirements: - OntBinding: ont_sw_version: reuse software_versions in Generic_PNF # type: string # node: OntPNF required: true capability: onap.capabilities.Bindable: - ODNConnectionLinkingvirtual_binding: nodetype: ODNConnectiontosca.capabilities.nfv.VirtualBindable capability: onap.capabilities.Linkable occurrences: # ODN Connection between ONT PNF and Access Device- VNF1 ODNConnection: type: onap.nodes.VL capabilities: link: type: onap.capabilities.Linkable # Access Device VNF AccessConnectivity- 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: org.onap.bbs.AccessConnectivityNode capabilities: bindPonUNItype: string typerequired: onap.capabilities.Bindabletrue bindOltNNIupstream_speed: type: onap.capabilities.Bindable string # Access Device Connection Points PonUNIrequired: true type: org.onap.bbs.PonUniConnectionPoint downstream_speed: requirementstype: string - accessDeviceBindingrequired: true capabilities: node: AccessDevice virtual_binding: capabilitytype: bindPonUNItosca.capabilities.nfv.VirtualBindable - ODNConnectionLinkingoccurrences: node:- ODNConnection1 capability: onap.capabilities.Linkable OltNNI:- UNBOUNDED |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
tosca_definitions_version: tosca_simple_yaml_1_0_0 node_types: org.openecomp.resource.cp.OntNni: typederived_from: orgtosca.onapnodes.bbsnfv.OltNniConnectionPointVduCp requirementsproperties: - accessDeviceBindingont_port: nodetype: AccessDevicestring capabilityrequired: bindOltNNItrue requirements: # "TransportConnectionLinking" stays unsatisfied, providing only filtering info- virtual_link: # of a VL with a property of "type=tranportLink"capability: tosca.capabilities.nfv.VirtualLinkable # Orchestrator must satisfy it relationship: tosca.relationships.nfv.VirtualLinksTo - TransportConnectionLinking:node: tosca.nodes.nfv.VnfVirtualLink - nodevirtual_filterbinding: capabilitiescapability: onaptosca.capabilities.nodesnfv.VLVirtualBindable properties:relationship: tosca.relationships.nfv.VirtualBindsTo typenode: tranportLink # Internet Profile VNF InternetProfile: type: org.onap.bbs.InternetProfileNode org.openecomp.resource.vfc.OntPnf |
Code Block | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Info |
---|
HSIA Access RFS Proposal from Victor.
|
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
tosca_definitions_version: toscatosca_definitions_version: tosca_simple_yaml_1_0_0 node_types: toscaorg.nodesopenecomp.nfvresource.Cpecp.PonUni: derived_from: orgtosca.openecompnodes.resource.abstract.nodes.PNFnfv.VduCp properties: expected_ont_id: type: string required: false <-- to be discussedtrue maccvlan_addressid: type: string required: true manufacturerolt_name: type: string required: true modelolt_pon_port: type: string required: falsetrue serialolt_pon_numberslot: type: string required: true sw_versionrequirements: type: string- virtual_link: required: false capabilities: capability: tosca.capabilities.nfv.VirtualLinkable virtual_binding: relationship: tosca.relationships.nfv.VirtualLinksTo typenode: tosca.capabilitiesnodes.nfv.VirtualBindableVnfVirtualLink - occurrencesvirtual_binding: - 1 capability: tosca.capabilities.nfv.VirtualBindable - UNBOUNDED relationship: tosca.relationships.nfv.VirtualBindsTo node: org.openecomp.resource.vfc.accessConnectivity |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
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.rootnfv.VduCp properties: serviceolt_typename: type: string required: true upstreamolt_nni_speedport: type: string required: true downstreamolt_nni_speedslot: type: string required: true capabilities svlan: virtual_bindingtype: string required: true type: tosca.capabilities.nfv.VirtualBindable requirements: occurrences - virtual_link: - 1 capability: tosca.capabilities.nfv.VirtualLinkable - UNBOUNDED | ||||||||
Code Block | ||||||||
| ||||||||
tosca_definitions_version: tosca_simple_yaml_1_0_0 node_types: tosca.nodes.nfv.OntNni: derived_from relationship: tosca.relationships.nfv.VirtualLinksTo node: tosca.nodes.nfv.VduCpVnfVirtualLink properties: ont_port: type: string required: true requirements: - virtual_linkbinding: capability: tosca.capabilities.nfv.VirtualLinkableVirtualBindable relationship: tosca.relationships.nfv.VirtualLinksToVirtualBindsTo node: toscaorg.openecomp.nodesresource.nfvvfc.VnfVirtualLink - virtual_bindingaccessConnectivity |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
tosca_definitions_version: tosca_simple_yaml_1_0_0 node_types: org.openecomp.resource.vfc.InternetProfile: : derived_from: tosca.nodes.Root properties: capability: tosca.capabilities.nfv.VirtualBindable rg_mac_addr: type: string relationshiprequired: tosca.relationships.nfv.VirtualBindsTotrue service_type: nodetype: tosca.nodes.nfv.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 string required: true upstream_speed: type: string required: true cvlandownstream_idspeed: type: string required: true oltremote_nameid: type: string required: true olt_pon_portcapabilities: typevirtual_binding: 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: 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
type: tosca.capabilities.nfv.VirtualBindable
occurrences:
- 1
- UNBOUNDED
|
One service composed of
CPE PNF
ONT-NNI CP
ODN Connection Virtual Link
PON-UNI CP
Access Connectivity VFC
OLT-NNI CP