This example shows how theĀ vCSCF VNF could have been implemented using the new data model.
The original model of VoLTE vCSCF
Code Block | ||
---|---|---|
| ||
#### "Interface" type #### node_types: com.nokia.vSCCF: derived_from: onap.nodes.Function properties: requirements: # connectivity requirements, application-level - oamCpd_OM: # TODO copy the requirement assignments from their origin CPs inside the topology - lbCpd_OM: - lbCpd_SIP: - lbCpd_Diameter: # summary of requirements for infrastructure - oam_compute: - lb_compute: - oam_storage: - lb_storage: ##### Implementation topology ##### topology_template: node_types: com.nokia.vdu.OAM: derived_from: onap.nodes.Function artifacts: sw_image: description: software image to launch a container with this function type: tosca.artifacts.Deployment.Image.VM.ISO file: ../../oam_vdu.iso capabilities: oamCpd_OM: type: onap.capabilities.Bindable oamCpd_Internal: type: onap.capabilities.Bindable requirements: - storage: capability: onap.capabilities.Storage - host: capabilities: onap.capabilities.Compute com.nokia.vdu.LB: derived_from: onap.nodes.Function artifacts: sw_image: description: software image to launch a container with this function type: tosca.artifacts.Deployment.Image.VM.ISO file: ../../lb_vdu.iso capabilities: lbCpd_OM: type: onap.capabilities.Bindable lbCpd_SIP: type: onap.capabilities.Bindable oamCpd_Diameter: type: onap.capabilities.Bindable requirements: - storage: capability: onap.capabilities.Storage - host: capabilities: onap.capabilities.Compute node_templates: oam: type: com.nokia.vdu.OAM requirements: - storage: node_filter: capabilities: onap.capabilities.Storage properties: storage_size: - greater_or_equal: 100 GB - host: node_filter: capabilities: onap.capabilities.Compute properties: num_cpus: - equal: 4 memory_size: - greater_or_equal: 100 MB oamCpd_OM: type: onap.nodes.CP requirements: - binding: node: oam capability: oamCpd_OM # "linking" stays unsatisfied, but provides filtering info - linking: node_filter: capabilities: onap.nodes.VL properties: cp_roles: [leaf] protocols: [IPv4] bitrate: - greater_or_equal: 1024 oamCpd_Internal: type: onap.nodes.CP requirements: - binding: node: oam capability: oamCpd_OM - linking: node: cscf_internal capability: linking lb: type: com.nokia.vdu.LB requirements: - storage: node_filter: capabilities: onap.capabilities.Storage properties: storage_size: - greater_or_equal: 100 GB - host: node_filter: capabilities: onap.capabilities.Compute properties: num_cpus: - equal: 4 memory_size: - greater_or_equal: 100 MB lbCpd_Internal: type: onap.nodes.CP requirements: - binding: node: lb capability: lbCpd_Internal - linking: node: cscf_internal capability: linking lbCpd_OM: type: onap.nodes.CP requirements: - binding: node: lb capability: lbCpd_OM # "linking" stays unsatisfied, but provides filtering info - linking: node_filter: capabilities: onap.nodes.VL properties: cp_roles: [leaf] protocols: [IPv4] bitrate: - greater_or_equal: 1024 lbCpd_SIP: type: onap.nodes.CP requirements: - binding: node: lb capability: lbCpd_SIP # "linking" stays unsatisfied, but provides filtering info - linking: node_filter: capabilities: onap.nodes.VL properties: cp_roles: [leaf] protocols: [IPv4] bitrate: - greater_or_equal: 1024 lbCpd_Diameter: type: onap.nodes.CP requirements: - binding: node: lb capability: lbCpd_Diameter # "linking" stays unsatisfied, but provides filtering info - linking: node_filter: capabilities: onap.nodes.VL properties: cp_roles: [leaf] protocols: [IPv4] bitrate: - greater_or_equal: 1024 cscf_internal: type: onap.nodes.VL capabilities: link: type: onap.capabilities.Linkable properties: cp_roles: [leaf] protocols: [IPv4] bitrate: 1024 substitution_mapping: type: com.nokia.vSCCF requirements: # connectivity requirements, application-level oamCpd_OM: [oam, oamCpd_OM] # TODO copy the requirement assignments from their origin CPs inside the topology lbCpd_OM: [lb, lbCpd_OM] lbCpd_SIP: [lb, lbCpd_SIP] lbCpd_Diameter: [lb, lbCpd_Diameter] # summary of requirements for infrastructure oam_compute: [oam, host] lb_compute: [lb, host] oam_storage: [oam, storage] lb_storage: [lb, storage] |