Here are some CNF customization examples.
Example 1
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0 description: Network Function description imports: - vmware_etsi_nfv_sol001_vnfd_2_5_1_types.yaml node_types: tosca.nodes.nfv.VMware.CNF.cu-up-1.8: derived_from: tosca.nodes.nfv.VMware.CNF interfaces: Vnflcm: type: tosca.interfaces.nfv.Vnflcm tosca.nodes.nfv.Vdu.Compute.Helm.cuup-helm-chart: derived_from: tosca.nodes.nfv.Vdu.Compute.Helm properties: configurable_properties: type: tosca.datatypes.nfv.VnfcConfigurableProperties.cuup-helm-chart required: true data_types: tosca.datatypes.nfv.VnfcConfigurableProperties.cuup-helm-chart: derived_from: tosca.datatypes.nfv.VnfcConfigurableProperties properties: additional_vnfc_configurable_properties: type: tosca.datatypes.nfv.VnfcAdditionalConfigurableProperties.cuup-helm-chart description: Describes additional configuration for VNFC that can be configured required: true tosca.datatypes.nfv.VnfcAdditionalConfigurableProperties.cuup-helm-chart: derived_from: tosca.datatypes.nfv.VnfcAdditionalConfigurableProperties properties: values: required: true propertyName: values description: Overrides for chart values default: '' type: string format: file BHU: required: true propertyName: BHU description: '' default: '' type: string format: network F1U: required: true propertyName: F1U description: '' default: '' type: string format: network E1C: required: true propertyName: E1C description: '' default: '' type: string format: network MGMT: required: true propertyName: MGMT description: '' default: '' type: string format: network tosca.datatypes.nfv.VMware.Interface.InstantiateStartInputParameters: derived_from: tosca.datatypes.nfv.VnfOperationAdditionalParameters properties: USERNAME: name: USERNAME type: string description: K8s master username required: true default: capv format: string PASSWORD: name: PASSWORD type: password description: K8s master password required: true default: format: password IP: name: IP type: string description: K8s master ip address required: true default: format: string K8S_NAMESPACE: name: K8S_NAMESPACE type: string description: K8S namespace for CU-UP required: true default: format: string NAD_FILE: name: NAD_FILE type: string description: NAD Config File required: true default: '' format: file tosca.datatypes.nfv.VMware.Interface.InstantiateStartOutputParameters: derived_from: tosca.datatypes.nfv.VnfOperationAdditionalParameters properties: nsCreateResult: name: nsCreateResult type: string description: '' topology_template: substitution_mappings: node_type: tosca.nodes.nfv.VMware.CNF.cu-up-1.8 node_templates: cu-up-1.8: node_type: tosca.nodes.nfv.VMware.CNF.cu-up-1.8 properties: descriptor_id: nfd_4e7599b5-9a44-4000-850c-7ec65d2f2423 provider: Vendor01 product_name: CU-UP version: '1.0' id: id software_version: '1.3.4761' descriptor_version: '1.8' flavour_id: default flavour_description: default vnfm_info: - gvnfmdriver infra_requirements: node_components: isNumaConfigNeeded: false kernel: kernel_type: name: linux version: 4.19.132-1.ph3 kernel_modules: - name: dpdk version: 19.11.1 kernel_args: - key: default_hugepagesz value: 1G - key: hugepagesz value: 1G - key: hugepages value: 10 - key: transparent_hugepage value: never - key: intel_idle.max_cstate value: 1 - key: iommu value: pt - key: intel_iommu value: 'on' - key: tsc value: reliable - key: idle value: pool - key: intel_pstate value: disable - key: rcu_nocb_poll value: 1 - key: clocksource value: tsc - key: pcie_aspm.policy value: performance - key: skew_tick value: 1 - key: isolcpus value: 11-17 - key: nosoftlockup - key: nohz value: 'on' - key: nohz_full value: 11-17 - key: rcu_nocbs value: 11-17 custom_packages: - name: pciutils version: 3.6.2-1.ph3 - name: tuned version: 2.13.0-1.ph3 network: devices: - deviceType: sriov networkName: F1U resourceName: ani_netdevice_cuup_f1u dpdkBinding: igb_uio - deviceType: sriov networkName: BHU resourceName: ani_netdevice_cuup_bhu dpdkBinding: igb_uio - deviceType: sriov networkName: E1C resourceName: ani_netdevice_cuup_e1c - deviceType: sriov networkName: MGMT resourceName: ani_netdevice_cuup_mgmt count: 5 additional_config: - name: tuned value: '[{"name":"vendor01-cu"}]' file_injection: - source: file content: ../Artifacts/scripts/tuned.conf path: /etc/tuned/cu/tuned.conf - source: file content: ../Artifacts/scripts/cpu-partitioning-variables.conf path: /etc/tuned/cpu-partitioning-variables.conf caas_components: - name: sriov type: cni description: Network Function description interfaces: Vnflcm: instantiate_start: implementation: ../Artifacts/workflows/CUUP_PreInstantiation_Steps.json description: Configure Vendor01 CU-UP inputs: type: >- tosca.datatypes.nfv.VMware.Interface.InstantiateStartInputParameters USERNAME: capv PASSWORD: IP: K8S_NAMESPACE: NAD_FILE: '' outputs: type: >- tosca.datatypes.nfv.VMware.Interface.InstantiateStartOutputParameters nsCreateResult: '' cuup-helm-chart: type: tosca.nodes.nfv.Vdu.Compute.Helm.cuup-helm-chart properties: name: cuup-helm-chart description: cu-up chartName: cuup-helm-chart chartVersion: 1.3.4760 helmVersion: v3 id: cuup-helm-chart configurable_properties: additional_vnfc_configurable_properties: type: >- tosca.datatypes.nfv.VnfcAdditionalConfigurableProperties.cuup-helm-chart values: '' BHU: '' F1U: '' E1C: '' MGMT: '' policies: - policy_scale: type: tosca.policies.nfv.SupportedVnfInterface properties: interface_name: scale interface_type: operation isEnabled: true - policy_workflow: type: tosca.policies.nfv.SupportedVnfInterface properties: interface_name: workflow interface_type: operation isEnabled: true - policy_reconfigure: type: tosca.policies.nfv.SupportedVnfInterface properties: interface_name: reconfigure interface_type: operation isEnabled: true - policy_update: type: tosca.policies.nfv.SupportedVnfInterface properties: interface_name: update interface_type: operation isEnabled: true - policy_upgrade: type: tosca.policies.nfv.SupportedVnfInterface properties: interface_name: upgrade interface_type: operation isEnabled: true - policy_upgrade_package: type: tosca.policies.nfv.SupportedVnfInterface properties: interface_name: upgrade_package interface_type: operation isEnabled: true - policy_instantiate_start: type: tosca.policies.nfv.SupportedVnfInterface properties: interface_name: instantiate_start interface_type: workflow isEnabled: true - policy_instantiate_start: type: tosca.policies.nfv.SupportedVnfInterface properties: interface_name: instantiate_start interface_type: workflow isEnabled: true
Example 2
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0 description: Network Function description imports: - vmware_etsi_nfv_sol001_vnfd_2_5_1_types.yaml node_types: tosca.nodes.nfv.VMware.CNF.du-1.8: derived_from: tosca.nodes.nfv.VMware.CNF interfaces: Vnflcm: type: tosca.interfaces.nfv.Vnflcm tosca.nodes.nfv.Vdu.Compute.Helm.du-helm-chart: derived_from: tosca.nodes.nfv.Vdu.Compute.Helm properties: configurable_properties: type: tosca.datatypes.nfv.VnfcConfigurableProperties.du-helm-chart required: true data_types: tosca.datatypes.nfv.VnfcConfigurableProperties.du-helm-chart: derived_from: tosca.datatypes.nfv.VnfcConfigurableProperties properties: additional_vnfc_configurable_properties: type: tosca.datatypes.nfv.VnfcAdditionalConfigurableProperties.du-helm-chart description: Describes additional configuration for VNFC that can be configured required: true tosca.datatypes.nfv.VnfcAdditionalConfigurableProperties.du-helm-chart: derived_from: tosca.datatypes.nfv.VnfcAdditionalConfigurableProperties properties: Input Yaml: required: true propertyName: Input Yaml description: '' default: '' type: string format: file F1U: required: true propertyName: F1U description: '' default: '' type: string format: network F1C: required: true propertyName: F1C description: '' default: '' type: string format: network MGMT: required: true propertyName: MGMT description: '' default: '' type: string format: network FH: required: true propertyName: FH description: '' default: '' type: string format: network tosca.datatypes.nfv.VMware.Interface.InstantiateStartInputParameters: derived_from: tosca.datatypes.nfv.VnfOperationAdditionalParameters properties: USERNAME: name: USERNAME type: string description: K8s master username required: true default: '' format: string PASSWORD: name: PASSWORD type: password description: K8s master password required: true default: '' format: password IP: name: IP type: string description: K8s master ip address required: true default: '' format: string NAD_FILE: name: NAD_FILE type: string description: The NAD Config file required: true default: '' format: file K8S_NAMESPACE: name: K8S_NAMESPACE type: string description: K8S namespace for DU required: true default: '' format: string tosca.datatypes.nfv.VMware.Interface.InstantiateStartOutputParameters: derived_from: tosca.datatypes.nfv.VnfOperationAdditionalParameters properties: nsCreateResult: name: nsCreateResult type: string description: '' copyNADResult: name: copyNADResult type: string description: '' nadCreateResult: name: nadCreateResult type: string description: '' topology_template: substitution_mappings: node_type: tosca.nodes.nfv.VMware.CNF.du-1.8 node_templates: du-1.8: node_type: tosca.nodes.nfv.VMware.CNF.du-1.8 properties: descriptor_id: nfd_4e7599b5-9a44-4000-850c-7ec65d2f2422 provider: Vendor01 product_name: DU version: '1.0' id: id software_version: '1.3.4761' descriptor_version: '1.8' flavour_id: default flavour_description: default vnfm_info: - gvnfmdriver infra_requirements: node_components: isNumaConfigNeeded: true kernel: kernel_type: name: linux-rt version: 4.19.132-1.ph3 kernel_modules: - name: dpdk version: 19.11.1 kernel_args: - key: nosoftlockup - key: noswap - key: softlockup_panic value: 0 - key: pcie_aspm.policy value: performance - key: intel_idle.max_cstate value: 1 - key: mce value: ignore_ce - key: fsck.mode value: force - key: fsck.repair value: yes - key: nowatchdog - key: cpuidle.off value: 1 - key: nmi_watchdog value: 0 - key: audit value: 0 - key: processor.max_cstate value: 1 - key: intel_pstate value: disable - key: isolcpus value: 8-{{tca.node.vmNumCPUs}} - key: skew_tick value: 1 - key: irqaffinity value: 0-7 - key: selinux value: 0 - key: enforcing value: 0 - key: nohz value: 'on' - key: nohz_full value: 8-{{tca.node.vmNumCPUs}} - key: rcu_nocb_poll value: 1 - key: rcu_nocbs value: 8-{{tca.node.vmNumCPUs}} - key: idle value: poll - key: default_hugepagesz value: 1G - key: hugepagesz value: 1G - key: hugepages value: 17 - key: intel_iommu value: 'on' - key: iommu value: pt - key: kthreads_cpu value: 0-7 - key: clock value: tsc - key: clocksource value: tsc - key: tsc value: reliable custom_packages: - name: pciutils version: 3.6.2-1.ph3 - name: tuned version: 2.13.0-3.ph3 - name: linuxptp version: 2.0-1.ph3 additional_config: - name: tuned value: '[{"name":"vendor01-du"}]' file_injection: - source: file content: ../Artifacts/scripts/tuned.conf path: /etc/tuned/du/tuned.conf - source: file content: ../Artifacts/scripts/cpu-partitioning-variables.conf path: /etc/tuned/cpu-partitioning-variables.conf - source: file content: ../Artifacts/scripts/realtime-variables.conf path: /etc/tuned/realtime-variables.conf network: devices: - deviceType: sriov networkName: F1U resourceName: ani_netdevice_du_f1u dpdkBinding: igb_uio - deviceType: sriov networkName: F1C resourceName: ani_netdevice_du_f1c - deviceType: sriov networkName: FH resourceName: ani_netdevice_du_fh dpdkBinding: vfio-pci - deviceType: sriov networkName: MGMT resourceName: ani_netdevice_du_mgmt count: 6 passthrough_devices: - device_type: NIC pf_group: ptp caas_components: - name: sriov type: cni interfaces: Vnflcm: instantiate_start: implementation: ../Artifacts/workflows/DU-Preinstantion-WF.json description: Configure DU using a configmap inputs: type: >- tosca.datatypes.nfv.VMware.Interface.InstantiateStartInputParameters USERNAME: '' PASSWORD: '' IP: '' NAD_FILE: '' K8S_NAMESPACE: '' outputs: type: >- tosca.datatypes.nfv.VMware.Interface.InstantiateStartOutputParameters nsCreateResult: '' copyNADResult: '' nadCreateResult: '' du-helm-chart: type: tosca.nodes.nfv.Vdu.Compute.Helm.du-helm-chart properties: name: du-helm-chart description: Chart for DU chartName: du-helm-chart chartVersion: 1.3.4761 helmVersion: v3 id: du-helm-chart-1.0 configurable_properties: additional_vnfc_configurable_properties: type: >- tosca.datatypes.nfv.VnfcAdditionalConfigurableProperties.du-helm-chart Input Yaml: '' F1U: 'cellsite-F1U' F1C: 'cellsite-F1C' MGMT: 'cellsite-mgmt' FH: 'cellsite-FH' policies: - policy_scale: type: tosca.policies.nfv.SupportedVnfInterface properties: interface_name: scale interface_type: operation isEnabled: true - policy_workflow: type: tosca.policies.nfv.SupportedVnfInterface properties: interface_name: workflow interface_type: operation isEnabled: true - policy_reconfigure: type: tosca.policies.nfv.SupportedVnfInterface properties: interface_name: reconfigure interface_type: operation isEnabled: true - policy_update: type: tosca.policies.nfv.SupportedVnfInterface properties: interface_name: update interface_type: operation isEnabled: true - policy_upgrade: type: tosca.policies.nfv.SupportedVnfInterface properties: interface_name: upgrade interface_type: operation isEnabled: true - policy_upgrade_package: type: tosca.policies.nfv.SupportedVnfInterface properties: interface_name: upgrade_package interface_type: operation isEnabled: true - policy_instantiate_start: type: tosca.policies.nfv.SupportedVnfInterface properties: interface_name: instantiate_start interface_type: workflow isEnabled: true