Commit 8be583aa authored by zafar's avatar zafar
Browse files

minor bug fix in response body parsing & removal of redundant lines of code

parent f72a15e3
......@@ -8,8 +8,8 @@ Library BuiltIn
Library JSONLibrary
Library Collections
Library JSONSchemaLibrary schemas/
Variables descriptors/SOL001/SOL002_VNFLifecycleManagement-API_descriptors_SOL001_reference_tst010_vnf_b_2vdu_SOL001.yaml
Variables descriptors/SOL006/SOL002_VNFLifecycleManagement-API_descriptors_SOL006_reference_tst010_vnf_b_2vdu_SOL006.yaml
Variables descriptors/SOL001/reference_tst010_vnf_b_2vdu_SOL001.yaml
Variables descriptors/SOL006/reference_tst010_vnf_b_2vdu_SOL006.yaml
*** Keywords ***
Get Vnf Instance
......@@ -127,7 +127,7 @@ Send VNF Instance Resource Create Request
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"}
Run Keyword If ${check_descriptors} == 1 PARSE the Descriptor File
${template}= Get File jsons/createVnfRequest.json
${body}= Format String ${template} vnfdId=${Descriptor_ID} vnfProvider=${Provider} vnfProductName=${Product_Name} vnfSoftwareVersion=${Software_Version} vnfdVersion= ${Descriptor_Version} vnfConfigurableProperties=${configurable_properties} flavourId=${Flavour_ID}
${body}= Format String ${template} vnfdId=${Descriptor_ID} vnfProvider=${Provider} vnfProductName=${Product_Name} vnfSoftwareVersion=${Software_Version} vnfdVersion= ${Descriptor_Version} flavourId=${Flavour_ID}
${response}= Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances ${body}
Send VNF Instance Resource Delete Request
......@@ -1324,12 +1324,12 @@ Match the VNF Instance Response Attributes with Descriptors
Should Be Equal As Strings ${response['body']['vnfdVersion']} ${Descriptor_Version}
Should Be Equal As Strings ${response['body']['instantiatedVnfInfo']['flavourId']} ${Flavour_ID}
List Should Contain Value ${VDU_IDs} ${response['body']['instantiatedVnfInfo']['vnfcResourceInfo']['vduId']}
Run Keyword If '${descriptorType}'=='SOL006' List Should Contain Value ${externalCP_IDs} ${response['body']['instantiatedVnfInfo']['extCpInfo']['cpdId']}
Run Keyword If '${descriptorType}'=='SOL006' List Should Contain Value ${internalCP_IDs} ${response['body']['instantiatedVnfInfo']['vnfcResourceInfo']['vnfcCpInfo']['cpdId']}
Run Keyword If '${descriptorType}'=='SOL001' List Should Contain Value @{CP_IDs} ${response['body']['instantiatedVnfInfo']['extCpInfo']['cpdId']}
Run Keyword If '${descriptorType}'=='SOL001' List Should Contain Value @{CP_IDs} ${response['body']['instantiatedVnfInfo']['vnfcResourceInfo']['vnfcCpInfo']['cpdId']}
List Should Contain value ${Storage_IDs} ${response['body']['instantiatedVnfInfo']['virtualStorageResourceInfo']['virtualStorageDescId']}
List Should Contain Value ${VirtualLink_IDs} ${response['body']['instantiatedVnfInfo']['extManagedVirtualLinkInfo']['vnfVirtualLinkDescId']}
Run Keyword If '${descriptorType}'=='SOL006' List Should Contain Value ${externalCP_IDs} ${response['body']['instantiatedVnfInfo']['extCpInfo'][0]['cpdId']}
Run Keyword If '${descriptorType}'=='SOL006' List Should Contain Value ${internalCP_IDs} ${response['body']['instantiatedVnfInfo']['vnfcResourceInfo'][0]['vnfcCpInfo'][0]['cpdId']}
Run Keyword If '${descriptorType}'=='SOL001' List Should Contain Value @{CP_IDs} ${response['body']['instantiatedVnfInfo']['extCpInfo'][0]['cpdId']}
Run Keyword If '${descriptorType}'=='SOL001' List Should Contain Value @{CP_IDs} ${response['body']['instantiatedVnfInfo']['vnfcResourceInfo'][0]['vnfcCpInfo'][0]['cpdId']}
List Should Contain value ${Storage_IDs} ${response['body']['instantiatedVnfInfo']['virtualStorageResourceInfo'][0]['virtualStorageDescId']}
List Should Contain Value ${VirtualLink_IDs} ${response['body']['instantiatedVnfInfo']['extManagedVirtualLinkInfo'][0]['vnfVirtualLinkDescId']}
Check HTTP Response Body of Individual VNF LCM Operation occurrences content against VNF Descriptor
Run Keyword If ${check_descriptors} == 1 Check Individual VNF LCM Operation Occurence Content
......@@ -1342,8 +1342,8 @@ Match the VNF LCM Operation Occurence Response Attributes with Descriptors
#Checking Response attributes with VNF Descriptors
Should Be Equal As Strings ${response['body']['changedInfo']['vnfdId']} ${Descriptor_ID}
Should Be Equal As Strings ${response['body']['changedInfo']['vnfdVersion']} ${Descriptor_Version}
List Should Contain Value ${VDU_IDs} ${response['body']['resourceChanges']['AffectedVnfc']['vduId']}
List Should Contain value ${Storage_IDs} ${response['body']['resourceChanges']['affectedVirtualStorages']['virtualStorageDescId']}
List Should Contain Value ${VirtualLink_IDs} ${response['body']['resourceChanges']['affectedVirtualLinks']['virtualStorageDescId']}
List Should Contain Value ${VDU_IDs} ${response['body']['resourceChanges']['affectedVnfcs'][0]['vduId']}
List Should Contain value ${Storage_IDs} ${response['body']['resourceChanges']['affectedVirtualStorages'][0]['virtualStorageDescId']}
List Should Contain Value ${VirtualLink_IDs} ${response['body']['resourceChanges']['affectedVirtualLinks'][0]['virtualStorageDescId']}
\ No newline at end of file
......@@ -6,8 +6,8 @@ Library OperatingSystem
Library JSONLibrary
Library JSONSchemaLibrary schemas/
Library Collections
Variables descriptors/SOL001/SOL002_VNFLifecycleManagement-API_descriptors_SOL001_reference_tst010_vnf_b_2vdu_SOL001.yaml
Variables descriptors/SOL006/SOL002_VNFLifecycleManagement-API_descriptors_SOL006_reference_tst010_vnf_b_2vdu_SOL006.yaml
Variables descriptors/SOL001/reference_tst010_vnf_b_2vdu_SOL001.yaml
Variables descriptors/SOL006/reference_tst010_vnf_b_2vdu_SOL006.yaml
Documentation This resource represents grants. The client can use this resource to obtain permission
... from the NFVO to perform a particular VNF lifecycle operation.
......@@ -216,26 +216,12 @@ PARSE the Descriptor File
Run Keyword If '${descriptorType}'=='SOL001' Fetch Information from SOL001 descriptor file ELSE Fetch Information from SOL006 descriptor file
Fetch Information from SOL001 descriptor file
@{VNF_labels}= Create List
FOR ${key} IN @{topology_template.node_templates.keys()}
${key_type}= Get Variable Value ${topology_template.node_templates.${key}.type}
${VNF_check}= Run Keyword And Return Status Should Be Equal As Strings ${key_type} ${tosca_type_VNF}
Run Keyword If ${VNF_check} Append To List ${VNF_labels} ${key}
Run Keyword If ${VNF_check} Get VNF Attributes from SOL001 ${key}
END
Set Global Variable @{VNF_IDs} @{VNF_labels}
Get VNF Attributes from SOL001
[Arguments] ${VNF_label}
${descriptor_id}= Get Variable Value ${topology_template.node_templates.${VNF_label}.properties.descriptor_id}
${provider}= Get Variable Value ${topology_template.node_templates.${VNF_label}.properties.provider}
${product_name}= Get Variable Value ${topology_template.node_templates.${VNF_label}.properties.product_name}
${software_version}= Get Variable Value ${topology_template.node_templates.${VNF_label}.properties.software_version}
${descriptor_version}= Get Variable Value ${topology_template.node_templates.${VNF_label}.properties.descriptor_version}
${flavour_id}= Get Variable Value ${topology_template.node_templates.${VNF_label}.properties.flavour_id}
${descriptor_id}= Get Variable Value ${topology_template.node_templates.properties.descriptor_id}
${provider}= Get Variable Value ${topology_template.node_templates.properties.provider}
${product_name}= Get Variable Value ${topology_template.node_templates.properties.product_name}
${software_version}= Get Variable Value ${topology_template.node_templates.properties.software_version}
${descriptor_version}= Get Variable Value ${topology_template.node_templates.properties.descriptor_version}
${flavour_id}= Get Variable Value ${topology_template.node_templates.properties.flavour_id}
Set Global Variable ${Descriptor_ID} ${descriptor_id}
Set Global Variable ${Provider} ${provider}
Set Global Variable ${Product_Name} ${product_name}
......@@ -248,12 +234,7 @@ Fetch Information from SOL006 descriptor file
${provider}= Get Variable Value ${nfv.vnfd[0].provider}
${product_name}= Get Variable Value ${nfv.vnfd[0]['product-name']}
${software_version}= Get Variable Value ${nfv.vnfd[0]['software-version']}
${descriptor_version}= Get Variable Value ${nfv.vnfd[0].version}
${VDUcount}= Get Length ${nfv.vnfd[0].vdu}
${extCP_count}= Get Length ${nfv.vnfd[0]['ext-cpd']}
${virtualLink_count}= Get length ${nfv.vnfd[0]['int-virtual-link-desc']}
${instantiation_levels}= Get Length ${nfv.vnfd[0].df['instantiation-level']}
${descriptor_version}= Get Variable Value ${nfv.vnfd[0].version}
Set Global Variable ${Descriptor_ID} ${descriptor_id}
Set Global Variable ${Provider} ${provider}
Set Global Variable ${Product_Name} ${product_name}
......
......@@ -5,8 +5,8 @@ Library JSONLibrary
Library JSONSchemaLibrary schemas/
Library Collections
Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false
Variables descriptors/SOL001/SOL002_VNFLifecycleManagement-API_descriptors_SOL001_reference_tst010_vnf_b_2vdu_SOL001.yaml
Variables descriptors/SOL006/SOL002_VNFLifecycleManagement-API_descriptors_SOL006_reference_tst010_vnf_b_2vdu_SOL006.yaml
Variables descriptors/SOL001/reference_tst010_vnf_b_2vdu_SOL001.yaml
Variables descriptors/SOL006/reference_tst010_vnf_b_2vdu_SOL006.yaml
Documentation This resource represents an individual grant. The client can use this resource to read the grant.
... It is determined by means outside the scope of the present document, such as configuration or policy,
... how long an individual grant is available.
......@@ -177,56 +177,25 @@ PARSE the Descriptor File
Fetch Information from SOL001 descriptor file
@{VDU_labels}= Create List
@{VNF_labels}= Create List
@{VirtualLink_labels}= Create List
@{CP_labels}= Create List
@{Storage_labels}= Create List
FOR ${key} IN @{topology_template.node_templates.keys()}
${key_type}= Get Variable Value ${topology_template.node_templates.${key}.type}
${VDU_check}= Run Keyword And Return Status Should Be Equal As Strings ${key_type} ${tosca_type_VDU_compute}
${VNF_check}= Run Keyword And Return Status Should Be Equal As Strings ${key_type} ${tosca_type_VNF}
${Link_check}= Run Keyword And Return Status Should Be Equal As Strings ${key_type} ${tosca_type_virtual_link}
${VDUcp_check}= Run Keyword And Return Status Should Be Equal As Strings ${key_type} ${tosca_type_VDU_cp}
${Storage_check}= Run Keyword And Return Status Should Be Equal As Strings ${key_type} ${tosca_type_storage}
Run Keyword If ${VDU_check} Append To List ${VDU_labels} ${key}
Run Keyword If ${VNF_check} Append To List ${VNF_labels} ${key}
Run Keyword If ${VNF_check} Get VNF Attributes from SOL001 ${key}
Run Keyword If ${Link_check} Append To List ${VirtualLink_labels} ${key}
Run Keyword If ${VDUcp_check} Append To List ${CP_labels} ${key}
Run Keyword If ${Storage_check} Append To List ${Storage_labels} ${key}
END
Set Global Variable @{VDU_IDs} @{VDU_labels}
Set Global Variable @{VNF_IDs} @{VNF_labels}
Set Global Variable @{VirtualLink_IDs} @{VirtualLink_labels}
Set Global Variable @{CP_IDs} @{CP_labels}
Set Global Variable @{Storage_IDs} @{Storage_labels}
Get VNF Attributes from SOL001
[Arguments] ${VNF_label}
${descriptor_id}= Get Variable Value ${topology_template.node_templates.${VNF_label}.properties.descriptor_id}
${provider}= Get Variable Value ${topology_template.node_templates.${VNF_label}.properties.provider}
${product_name}= Get Variable Value ${topology_template.node_templates.${VNF_label}.properties.product_name}
${software_version}= Get Variable Value ${topology_template.node_templates.${VNF_label}.properties.software_version}
${descriptor_version}= Get Variable Value ${topology_template.node_templates.${VNF_label}.properties.descriptor_version}
${flavour_id}= Get Variable Value ${topology_template.node_templates.${VNF_label}.properties.flavour_id}
Set Global Variable ${Descriptor_ID} ${descriptor_id}
Set Global Variable ${Provider} ${provider}
Set Global Variable ${Product_Name} ${product_name}
Set Global Variable ${Software_Version} ${software_version}
Set Global Variable ${Descriptor_Version} ${descriptor_version}
Set Global Variable ${Flavour_ID} ${flavour_id}
Fetch Information from SOL006 descriptor file
${descriptor_id}= Get Variable Value ${nfv.vnfd[0].id}
${provider}= Get Variable Value ${nfv.vnfd[0].provider}
${product_name}= Get Variable Value ${nfv.vnfd[0]['product-name']}
${software_version}= Get Variable Value ${nfv.vnfd[0]['software-version']}
${descriptor_version}= Get Variable Value ${nfv.vnfd[0].version}
${VDUcount}= Get Length ${nfv.vnfd[0].vdu}
${extCP_count}= Get Length ${nfv.vnfd[0]['ext-cpd']}
${virtualLink_count}= Get length ${nfv.vnfd[0]['int-virtual-link-desc']}
${instantiation_levels}= Get Length ${nfv.vnfd[0].df['instantiation-level']}
FOR ${key} IN @{nfv.vnfd[0].keys()}
${VDU_check}= Run Keyword And Return Status Should Be Equal As Strings ${key} vdu
Run Keyword If ${VDU_check} Get VDU IDs ${VDUcount}
......@@ -234,39 +203,19 @@ Fetch Information from SOL006 descriptor file
Run Keyword If ${extCP_check} Get External CP IDs ${extCP_count}
${virtualLink_check}= Run Keyword And Return Status Should Be Equal As Strings ${key} int-virtual-link-desc
Run Keyword If ${virtualLink_check} Get Virtual Link IDs ${virtualLink_count}
${DF_check}= Run Keyword And Return Status Should Be Equal As Strings ${key} df
Run Keyword If ${DF_check} Get Instantiation Levels ${instantiation_levels}
END
Set Global Variable ${Descriptor_ID} ${descriptor_id}
Set Global Variable ${Provider} ${provider}
Set Global Variable ${Product_Name} ${product_name}
Set Global Variable ${Software_Version} ${software_version}
Set Global Variable ${Descriptor_Version} ${descriptor_version}
Get VDU IDs
[Arguments] ${count}
@{VDU_labels}= Create List
${Storage_labels}= Create List
${Compute_labels}= Create List
@{Compute_labels}= Create List
FOR ${i} IN RANGE ${count}
Append To List ${VDU_labels} ${nfv.vnfd[0].vdu[${i}]['id']}
Append To List ${Storage_labels} ${nfv.vnfd[0].vdu[${i}]['virtual-storage-desc']}
Append To List ${Compute_labels} ${nfv.vnfd[0].vdu[${i}]['virtual-compute-desc']}
Get Internal CPs for each VDU ${i}
END
Set Global Variable ${VDU_IDs} ${VDU_labels}
Set Global Variable ${Storage_IDs} ${Storage_labels}
Set Global Variable ${Compute_IDs} ${Compute_labels}
Get Internal CPs for each VDU
[Arguments] ${vdu}
${count}= Get Length ${nfv.vnfd[0].vdu[${vdu}]['int-cpd']}
${internal_CPs}= Create List
FOR ${i} IN RANGE ${count}
Append To List ${internal_CPs} ${nfv.vnfd[0].vdu[${vdu}]['int-cpd'][${i}]['id']}
END
Set Global Variable ${internalCP_IDs} ${internal_CPs}
Get External CP IDs
[Arguments] ${count}
@{external_CPs}= Create List
......@@ -283,20 +232,8 @@ Get Virtual Link IDs
END
Set Global Variable ${VirtualLink_IDs} ${VirtualLink_labels}
Get Instantiation Levels
[Arguments] ${count}
@{Instantiation_Levels}= Create List
FOR ${i} IN RANGE ${count}
Append To List ${Instantiation_Levels} ${nfv.vnfd[0].df['instantiation-level'][${i}]['id']}
END
Set Global Variable ${InstantiationLevel_IDs} ${Instantiation_Levels}
Match the grant Response Attributes with Descriptors
Run Keyword If '${descriptorType}'=='SOL006' List Should Contain Value ${externalCP_IDs} ${response['body']['extVirtualLinks']['extCps']['cpdId']}
Run Keyword If '${descriptorType}'=='SOL001' List Should Contain Value @{CP_IDs} ${response['body']['extVirtualLinks']['extCps']['cpdId']}
List Should Contain Value ${VirtualLink_IDs} ${response['body']['ExtManagedVirtualLinkData']['vnfVirtualLinkDescId']}
List Should Contain value ${Compute_IDs} ${response['body']['vimAssets']['computeResourceFlavours']['vnfdVirtualComputeDescId']}
Run Keyword If '${descriptorType}'=='SOL006' List Should Contain Value ${externalCP_IDs} ${response['body']['extVirtualLinks'][0]['extCps'][0]['cpdId']}
Run Keyword If '${descriptorType}'=='SOL001' List Should Contain Value @{CP_IDs} ${response['body']['extVirtualLinks'][0]['extCps'][0]['cpdId']}
List Should Contain Value ${VirtualLink_IDs} ${response['body']['extManagedVirtualLinkData'][0]['vnfVirtualLinkDescId']}
List Should Contain value ${Compute_IDs} ${response['body']['vimAssets']['computeResourceFlavours'][0]['vnfdVirtualComputeDescId']}
......@@ -47,19 +47,13 @@ ${descriptorType} SOL001
${check_descriptors} 1
${tosca_type_VDU_compute} tosca.nodes.nfv.Vdu.Compute
${tosca_type_VNF} tosca.nodes.nfv.VNF
${tosca_type_virtual_link} tosca.nodes.nfv.VnfVirtualLink
${tosca_type_VDU_cp} tosca.nodes.nfv.VduCp
${tosca_type_storage} tosca.nodes.nfv.Vdu.VirtualBlockStorage
@{VDU_IDs}
@{VNF_IDs}
@{virtualLink_IDs}
@{CP_IDs}
@{Storage_IDs}
@{internalCP_IDs}
@{externalCP_IDs}
@{InstantiationLevel_IDs}
@{Compute_IDs}
${Descriptor_ID}
......
......@@ -1538,32 +1538,16 @@ PARSE the Descriptor File
Run Keyword If '${descriptorType}'=='SOL001' Fetch Information from SOL001 descriptor file ELSE Fetch Information from SOL006 descriptor file
Fetch Information from SOL001 descriptor file
@{VNF_labels}= Create List
FOR ${key} IN @{topology_template.node_templates.keys()}
${key_type}= Get Variable Value ${topology_template.node_templates.${key}.type}
${VNF_check}= Run Keyword And Return Status Should Be Equal As Strings ${key_type} ${tosca_type_VNF}
Run Keyword If ${VNF_check} Append To List ${VNF_labels} ${key}
Run Keyword If ${VNF_check} Get VNF Attributes from SOL001 ${key}
END
Set Global Variable @{VNF_IDs} @{VNF_labels}
Get VNF Attributes from SOL001
[Arguments] ${VNF_label}
${descriptor_id}= Get Variable Value ${topology_template.node_templates.${VNF_label}.properties.descriptor_id}
${provider}= Get Variable Value ${topology_template.node_templates.${VNF_label}.properties.provider}
${product_name}= Get Variable Value ${topology_template.node_templates.${VNF_label}.properties.product_name}
${software_version}= Get Variable Value ${topology_template.node_templates.${VNF_label}.properties.software_version}
${descriptor_version}= Get Variable Value ${topology_template.node_templates.${VNF_label}.properties.descriptor_version}
${flavour_id}= Get Variable Value ${topology_template.node_templates.${VNF_label}.properties.flavour_id}
${descriptor_id}= Get Variable Value ${topology_template.node_templates.properties.descriptor_id}
${provider}= Get Variable Value ${topology_template.node_templates.properties.provider}
${product_name}= Get Variable Value ${topology_template.node_templates.properties.product_name}
${software_version}= Get Variable Value ${topology_template.node_templates.properties.software_version}
${descriptor_version}= Get Variable Value ${topology_template.node_templates.properties.descriptor_version}
Set Global Variable ${Descriptor_ID} ${descriptor_id}
Set Global Variable ${Provider} ${provider}
Set Global Variable ${Product_Name} ${product_name}
Set Global Variable ${Software_Version} ${software_version}
Set Global Variable ${Descriptor_Version} ${descriptor_version}
Set Global Variable ${Flavour_ID} ${flavour_id}
Fetch Information from SOL006 descriptor file
${descriptor_id}= Get Variable Value ${nfv.vnfd[0].id}
......@@ -1571,7 +1555,6 @@ Fetch Information from SOL006 descriptor file
${product_name}= Get Variable Value ${nfv.vnfd[0]['product-name']}
${software_version}= Get Variable Value ${nfv.vnfd[0]['software-version']}
${descriptor_version}= Get Variable Value ${nfv.vnfd[0].version}
Set Global Variable ${Descriptor_ID} ${descriptor_id}
Set Global Variable ${Provider} ${provider}
Set Global Variable ${Product_Name} ${product_name}
......@@ -1597,8 +1580,8 @@ Check Individual VNF Subscription Content
Match the VNF subscription Response Attributes with Descriptors
#Checking Response attributes with VNF Descriptors
Should Be Equal As Strings ${response['body']['filter']['vnfdId']} ${Descriptor_ID}
Should Be Equal As Strings ${response['body']['filter']['vnfProductsFromProviders']['vnfProvider']} ${Provider}
Should Be Equal As Strings ${response['body']['filter']['vnfProductsFromProviders']['vnfProducts']['vnfProductName']} ${Product_Name}
Should Be Equal As Strings ${response['body']['filter']['vnfProductsFromProviders']['vnfProducts']['versions']['vnfSoftwareVersion']} ${Software_Version}
Should Be Equal As Strings ${response['body']['filter']['vnfProductsFromProviders']['vnfProducts']['versions']['vnfdVersion']} ${Descriptor_Version}
Should Be Equal As Strings ${response['body']['filter']['vnfProductsFromProviders'][0]['vnfProvider']} ${Provider}
Should Be Equal As Strings ${response['body']['filter']['vnfProductsFromProviders'][0]['vnfProducts'][0]['vnfProductName']} ${Product_Name}
Should Be Equal As Strings ${response['body']['filter']['vnfProductsFromProviders'][0]['vnfProducts']['versions'][0]['vnfSoftwareVersion']} ${Software_Version}
Should Be Equal As Strings ${response['body']['filter']['vnfProductsFromProviders'][0]['vnfProducts']['versions'][0]['vnfdVersion']} ${Descriptor_Version}
\ No newline at end of file
tosca_definitions_version: tosca_simple_yaml_1_2
description: "TST010 reference VNF-B"
metadata:
descriptor_id: "VNF-B"
vendor: "ETSI TST WG"
version: "2.0"
topology_template:
substitution_mappings:
node_type: "tosca.nodes.nfv.VNF"
requirements:
virtual_link_management:
[management, virtual_link_management]
virtual_link_left:
[left, virtual_link_left]
virtual_link_right:
[right, virtual_link_right]
node_templates:
right:
type: "tosca.nodes.nfv.VduCp"
properties:
order: 1
requirements:
virtual_link_right:
virtual_binding: VDU-B-2
management:
type: "tosca.nodes.nfv.VduCp"
properties:
order: 0
requirements:
virtual_link_management:
virtual_binding: VDU-B-1
left:
type: "tosca.nodes.nfv.VduCp"
properties:
order: 2
requirements:
virtual_link_left:
virtual_binding: VDU-B-1
internal_vl:
type: "tosca.nodes.nfv.VnfVirtualLink"
properties:
connectivity_type:
layer_protocols: [ ipv4 ]
description: Internal Virtual link in the VNF
vl_profile:
max_bitrate_requirements:
root: 100000
leaf: 20000
min_bitrate_requirements:
root: 10000
leaf: 10000
internal_vdu_b_1_cp:
type: "tosca.nodes.nfv.VduCp"
properties:
order: 2
requirements:
- virtual_binding: VDU-B-1
- virtual_link: internal_vl
internal_vdu_b_2_cp:
type: "tosca.nodes.nfv.VduCp"
properties:
order: 0
requirements:
- virtual_binding: VDU-B-2
- virtual_link: internal_vl
vdu_b_1_vsd:
type: "tosca.nodes.nfv.Vdu.VirtualBlockStorage"
properties:
virtual_block_storage_data:
size_of_storage: 20
rdma_enabled: false
sw_image_data:
name: "vdu-b-1 image"
version: "1.1"
checksum:
algorithm: "sha-224"
hash: "somehashfortst010"
container_format: "bare"
disk-format: qcow2
min-disk: '1'
min-ram: '2'
size: '1'
artifacts:
sw_image:
type: "tosca.artifacts.nfv.SwImage"
file: vdu-b-1.qcow2
vdu_b_2_vsd:
type: "tosca.nodes.nfv.Vdu.VirtualBlockStorage"
properties:
virtual_block_storage_data:
size_of_storage: 20
rdma_enabled: false
sw_image_data:
name: "vdu-b-2 image"
version: "1.1"
checksum:
algorithm: "sha-224"
hash: "somehashfortst010"
container_format: "bare"
disk-format: qcow2
min-disk: '1'
min-ram: '2'
size: '1'
artifacts:
sw_image:
type: tosca.artifacts.nfv.SwImage
file: vdu-b-2.qcow2
vnf_b_1_VNF:
type: "tosca.nodes.nfv.VNF"
properties:
descriptor_id: "VNF-B-2VDUs"
descriptor_version: "2.0"
provider: "ETSI TST WG"
product_name: "VNF-B-2VDUs"
software_version: "2.0"
product_info_name: "VNF-B-2VDUs"
product_info_description: "TST010 reference VNF-B with 2 VDUs"
flavour_id: "VNF-B-2VDU_flavor"
flavour_description: "VNF-B with 2 VDUs flavor"
vnfm_info:
etsivnfm:
- v2.3.1
interfaces:
Vnflcm:
scale:
implementation: scale-example.yaml
terminate:
implementation: terminate-example.yaml
operate:
implementation: operate-example.yaml
VDU_B_1:
type: "tosca.nodes.nfv.Vdu.Compute"
properties:
name: "vdu-b-1-vcd"
descriptor: "Description of VDU-B-1"
vdu_profile:
min_number_of_instances: 1
max_number_of_instances: 2
capabilities:
virtual_compute:
properties:
virtual_memory:
virtual_mem_size: 4096
numa_enabled: false
virtual_cpu:
num_virtual_cpu: 2
requirements:
virtual_storage:
- "vdu-b-1-vsd"
VDU_B_2:
type: "tosca.nodes.nfv.Vdu.Compute"
properties:
name: "vdu-b-2-vcd"
descriptor: "Description of VDU-B-2"
vdu_profile:
min_number_of_instances: 1
max_number_of_instances: 4
capabilities:
virtual_compute:
properties:
virtual_memory:
virtual_mem_size: 6144
numa_enabled: false
virtual_cpu:
num_virtual_cpu: 2
requirements:
virtual_storage:
- "vdu-b-2-vsd"
\ No newline at end of file
nfv:
vnfd:
- id: VNF-B-2vdu
provider: ETSI TST WG
product-name: TST010 reference VNF-B with 2 VDUs
software-version: '2.2'
version: '2.2'
vnfm-info: ETSI VNFM
vdu:
- id: vdu-b-1
name: VNF-B VDU 1
int-cpd:
- id: left
layer-protocol: ethernet
- id: management
layer-protocol: ethernet
- id: internal
layer-protocol: ethernet
int-virtual-link-desc: internal-vl
virtual-compute-desc: vdu-b-1-vcd
virtual-storage-desc: vdu-b-1-vsd
sw-image-desc: vdu-b-1-image
- id: vdu-b-2
name: VNF-B VDU 2
int-cpd:
- id: right
layer-protocol: ethernet
- id: management
layer-protocol: ethernet
- id: internal
layer-protocol: ethernet
int-virtual-link-desc: internal-vl
virtual-compute-desc: vdu-b-2-vcd
virtual-storage-desc: vdu-b-2-vsd
sw-image-desc: vdu-b-2-image
virtual-compute-desc:
id: vdu-b-1-vcd
virtual-memory:
size: '4.0'
virtual-cpu:
num-virtual-cpu: '2'
virtual-storage-desc:
id: vdu-b-1-vsd
type-of-storage: root-storage
size-of-storage: '0'
sw-image-desc:
id: vdu-b-1-image
name: VNF-B image
version: '1.1'
checksum:
algorithm: sha-224
hash: somehashfortst010
container-format: bare
disk-format: qcow2
min-disk: '1'
min-ram: '2.0'
size: '1'
image: 'http://someurl.com/VNF-B.qcow2'
virtual-compute-desc:
id: vdu-b-2-vcd
virtual-memory:
size: '6.0'
virtual-cpu:
num-virtual-cpu: '2'
virtual-storage-desc:
id: vdu-b-2-vsd