Mapping between NFV model and TOSCA Shitao li (huawei) Matt Rutkowski (IBM) John Crandall (Brocade)
NFV model Definition of VDU in NFV003 The NFV model of VDU and VNFD are fully aligned with TOSCA composition concept. 2018/2/9
Vdu concept = From the infrastructure point of view VM Virtual storage CP VM Virtual storage CP +image +image 2018/2/9
Vdu concept In IFA model In tosca VDU CP VM Virtual storage CP +image In UML model, this means aggregation (VduCpd, VirtualConputeDesc and VirtualStorageDesc belong to VDU) In TOSCA, node templates are the components of a service template. This is a usual way in TOSCA to describe composition. 2018/2/9
TOSCA normative node definition Virtual container (VM) Virtual storage AttachesTo ConnectsTo Compute Node ObjectStorage BlockStorage tosca.capabilities.compute.Container: derived_from: tosca.capabilities.Compute name size maxsize size volume_id snapshot_id num_cpus cpu_frequency disk_size mem_size capabilities: attachment: type: tosca.capabilities.Attachment capabilities: storage_endpoint: type: tosca.capabilities.Endpoint 2018/2/9
VDU mapping option 1 X VM aggregation AttachesTo or ConnectsTo Virtual Storage 2018/2/9
VDU mapping option 2 (suggested way to go) virtualComputeDesc M 1 Identifier (reference to VirtualComputeDesc) Describes CPU, Memory and acceleration requirements of the Virtualisation Container realizing this Vdu. See clause 7.1.9.2.2. virtualStorageDesc 0..N Identifier (reference to VirtualStorageDesc) Describes storage requirements for a VirtualStorage instance attached to the virtualisation container created from virtualComputeDesc defined for this Vdu. See clause 7.1.9.4. VDU contains: 1 or more internal connection points Reference to 1 virtual compute descriptor Reference to 0 or more virtual storage descriptors Zero or 1 SW image descriptor One set of VNFC configurable properties virtualComputeDescId requestAdditionalCapabilities virtualMemory virtualCpu VDU AttachesTo or ConnectsTo VM Virtual Storage 2018/2/9
Proposal VDU internalCpd virtualCompute Description property req virtualStorage Descriptor.Block VDU internalCpd virtualCompute Description VduCpd VirtualStorageDescriptor property req cap req VirtualComputeDescriptor property VirtualLinkable cap cap AttachesTo property Attachment req Nfv_compute input property VirtualBindable input req VirtualBindsTo virtualStorage Descriptor.Object Attachment Connect cap VirtualStorageDescriptor req Substitution mappings VirtualBindable ConnectsTo artifact cap swImageDescriptor Connect 2018/2/9
Attributes of the VNFD information element Attributes of the Vdu information element Attribute Qualifier Cardinality Content vnfdId M 1 Identifier vnfProvider String vnfProductName vnfSoftwareVersion Version vnfdVersion vnfProductInfoName 0..1 vnfProductInfoDescription vnfmInfo 1..N localizationLanguage 0..N Not specified defaultLocalizationLanguage vdu Vdu virtualComputeDesc VirtualComputeDesc virtualStorageDesc VirtualStorageDesc intVirtualLinkDesc VnfVirtualLinkDesc vnfExtCpd VnfExtCpd deploymentFlavour VnfDf configurableProperties VnfConfigurableProperties modifiableAttributes VnfInfoModifiableAttributes lifeCycleManagementScript LifeCycleManagementScript elementGroup VnfdElementGroup vnfIndicator VnfIndicator autoScale Rule Attribute Qualifier Cardinality Content vduId M 1 Identifier name String description intCpd 1..N VduCpd virtualComputeDesc Identifier (reference to VirtualComputeDesc) virtualStorageDesc 0..N Identifier (reference to VirtualStorageDesc) bootOrder KeyValuePair swImageDesc 0..1 SwImageDesc nfviConstraint monitoringParameter MonitoringParameter configurableProperties VnfcConfigurableProperties reference reference 2018/2/9
Mapping between VNFD model defined in NFV and TOSCA Attribute Qualifier Cardinality Content TOSCA model vnfdId M 1 Identifier Metadata or properties vnfProvider String vnfProductName vnfSoftwareVersion Version vnfdVersion vnfProductInfoName 0..1 vnfProductInfoDescription vnfmInfo 1..N localizationLanguage 0..N Not specified defaultLocalizationLanguage vdu Vdu Node template (corresponding note type is defined by a service template) virtualComputeDesc VirtualComputeDesc Data type in DSL_definition virtualStorageDesc VirtualStorageDesc intVirtualLinkDesc VnfVirtualLinkDesc Node template vnfExtCpd VnfExtCpd Node type deploymentFlavour VnfDf ? configurableProperties VnfConfigurableProperties properties modifiableAttributes VnfInfoModifiableAttributes lifeCycleManagementScript LifeCycleManagementScript interface elementGroup VnfdElementGroup Group vnfIndicator VnfIndicator Properties or attributes autoScale Rule Properties or policy
Mapping between VDU model defined in NFV and TOSCA Attribute Qualifier Cardinality Content TOSCA Model vduId M 1 Identifier Metadata or properties name String description intCpd 1..N VduCpd Node type virtualComputeDesc Identifier (reference to VirtualComputeDesc) virtualStorageDesc 0..N Identifier (reference to VirtualStorageDesc) bootOrder KeyValuePair properties swImageDesc 0..1 SwImageDesc Artifact nfviConstraint monitoringParameter MonitoringParameter ? configurableProperties VnfcConfigurableProperties
tosca.capabilities.Compute The definition of VirtualComputeDesc in NFV much more align with tosca.capabilities.Compute tosca.capabilities.Compute 2018/2/9
Combining three tables for VirtualComputeDesc together 2018/2/9
Defining a new capability tosca.capabilities.nfv.Compute.Container 2018/2/9
VirtualComputeDescriptor note type 2018/2/9
VirtualStorageDescriptor note type 2018/2/9
VDU service template and node type example 2018/2/9
2018/2/9
Suggestion 1,using a service template to describe a VDU, and using the substitution mapping feature to abstract the VDU to be a new VDU node type. 2, Defining virtualComputeDesc and virtualStorageDesc in the DSL_definitions section in a VNFD service template, so multiple VDUs can reference the same virtualComputeDesc or virtualStorageDesc. 3, Defining swImageDesc as a artifact in a VDU.
Thank you! 2018/2/9
If substitution mapping is not used VL InternalCpd InternalCpd VDU1 VDU2 VirtualComputeDesc VirtualComputeDesc attachsTo attachsTo attachsTo VirtualStorageDesc VirtualStorageDesc VirtualStorageDesc 2018/2/9
Scaling should based on VDU, adding or delete VDU instances (VNFCs). In NFV, VDU is the smallest unit of VNF, for VNF lifecycle management, it has to based on VDU level, all the lifecycle management operation can not directly target to virtualComputeDesc or virtualStorageDesc. E.g. Scaling should based on VDU, adding or delete VDU instances (VNFCs). 2018/2/9
Remaining issues Issue: In TOSCA, only compute node can contain an artifact. We don’t have the mechanism to describe how to store a software image into a virtual storage. Proposal: Option 1: allow virtual storage to have an artifact. 2018/2/9