Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
NFV - Network Functions Virtualisation
api-tests
Commits
2e629660
Commit
2e629660
authored
Sep 28, 2021
by
Muhammad Hamza
Committed by
Giacomo Bernini
Oct 05, 2021
Browse files
fixed VNFD parsing in SOL002 VNF-LCM-API
parent
e78bc6a4
Changes
3
Show whitespace changes
Inline
Side-by-side
SOL002/VNFLifecycleManagement-API/VnfLcmOperationKeywords.robot
View file @
2e629660
...
...
@@ -1463,8 +1463,17 @@ Fetch Information from SOL001 descriptor file
@{VirtualLink_labels}
=
Create List
@{CP_labels}
=
Create List
@{Storage_labels}
=
Create List
FOR
${key}
IN
@{node_types.keys()}
${node_type}
=
Get Variable Value
${node_types['${key}']['derived_from']}
${is_VNF}
=
Run Keyword And Return Status
Should Be Equal As Strings
${node_type}
${tosca_type_VNF}
Run Keyword If
${is_VNF}
Set Global Variable
${tosca_type_derived_from_VNF}
${key}
END
${derived_type_is_used}
=
Run Keyword And Return Status
Should not be empty
${tosca_type_derived_from_VNF}
Run Keyword If
${derived_type_is_used}
Set Global Variable
${tosca_type_VNF}
${tosca_type_derived_from_VNF}
FOR
${key}
IN
@{topology_template.node_templates.keys()}
${key_type}
=
Get Variable Value
${topology_template.node_templates
.
${key}.type}
${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}
...
...
@@ -1486,12 +1495,12 @@ Fetch Information from SOL001 descriptor file
Get VNF Attributes from SOL001
[
Arguments
]
${VNF_label}
Import Variables
${CURDIR}
/descriptors/SOL001/VNFD/vnfd_SOL001.yaml
${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
['
${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}
...
...
SOL002/VNFLifecycleManagement-API/descriptors/SOL001/VNFD/vnfd_SOL001.yaml
View file @
2e629660
tosca_definitions_version
:
tosca_simple_yaml_1_2
description
:
"
TST010
reference
VNF-B"
imports
:
-
https://forge.etsi.org/rep/nfv/SOL001/raw/v3.3.1/etsi_nfv_sol001_vnfd_types.yaml
metadata
:
descriptor_id
:
"
VNF-B"
vendor
:
"
ETSI
TST
WG"
version
:
"
2.0"
node_types
:
tst010.vnf.simple
:
derived_from
:
tosca.nodes.nfv.VNF
properties
:
descriptor_id
:
type
:
string
default
:
VNF-B
descriptor_version
:
type
:
string
default
:
'
1.0'
provider
:
type
:
string
default
:
ETSI TST WG
product_name
:
type
:
string
default
:
VNF-B
software_version
:
type
:
string
default
:
'
1.0'
product_info_name
:
type
:
string
default
:
VNF-B
product_info_description
:
type
:
string
default
:
TST010 reference VNF-B
flavour_id
:
type
:
string
default
:
VNF-B_flavor
flavour_description
:
type
:
string
default
:
"
VNF-B
flavor"
vnfm_info
:
type
:
list
entry_schema
:
type
:
string
default
:
[
'
etsivnfm:v2.3.1'
]
interfaces
:
Vnflcm
:
type
:
"
tosca.interfaces.nfv.Vnflcm"
scale
:
description
:
Invoked upon receipt of a Scale VNF request
terminate
:
description
:
Invoked upon receipt Terminate VNF request
operate
:
description
:
Invoked upon receipt of an Operate VNF request
requirements
:
-
virtual_link_right
:
capability
:
tosca.capabilities.nfv.VirtualLinkable
relationship
:
tosca.relationships.nfv.VirtualLinksTo
occurrences
:
[
0
,
1
]
-
virtual_link_left
:
capability
:
tosca.capabilities.nfv.VirtualLinkable
relationship
:
tosca.relationships.nfv.VirtualLinksTo
occurrences
:
[
0
,
1
]
-
virtual_link_management
:
capability
:
tosca.capabilities.nfv.VirtualLinkable
relationship
:
tosca.relationships.nfv.VirtualLinksTo
occurrences
:
[
0
,
1
]
-
virtual_link
:
capability
:
tosca.capabilities.nfv.VirtualLinkable
relationship
:
tosca.relationships.nfv.VirtualLinksTo
occurrences
:
[
0
,
0
]
topology_template
:
substitution_mappings
:
node_type
:
"
t
osca.nodes.nfv.VNF
"
node_type
:
"
t
st010.vnf.simple
"
requirements
:
virtual_link_right
:
[
right
,
virtual_link_right
]
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
:
layer_protocols
:
[
ipv4
]
order
:
1
requirements
:
virtual_link_right
:
virtual_binding
:
VDU-B-2
-
virtual_binding
:
VDU-B
management
:
type
:
"
tosca.nodes.nfv.VduCp"
properties
:
layer_protocols
:
[
ipv4
]
order
:
0
requirements
:
virtual_link_management
:
virtual_binding
:
VDU-B-1
-
virtual_binding
:
VDU-B
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
:
-
virtual_binding
:
VDU-B
vdu-b-1-vsd
:
type
:
"
tosca.nodes.nfv.Vdu.VirtualBlockStorage"
properties
:
virtual_block_storage_data
:
size_of_storage
:
20
size_of_storage
:
20
GB
rdma_enabled
:
false
sw_image_data
:
name
:
"
vdu-b-1
image"
...
...
@@ -76,63 +117,15 @@ topology_template:
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'
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
:
VDU-B
:
type
:
"
tosca.nodes.nfv.Vdu.Compute"
properties
:
name
:
"
vdu-b-1-vcd"
descript
or
:
"
Description
of
VDU-B-1"
descript
ion
:
"
Description
of
VDU-B-1"
vdu_profile
:
min_number_of_instances
:
1
max_number_of_instances
:
2
...
...
@@ -140,29 +133,33 @@ topology_template:
virtual_compute
:
properties
:
virtual_memory
:
virtual_mem_size
:
4096
virtual_mem_size
:
4096
MB
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
:
-
virtual_storage
:
vdu-b-1-vsd
vnf-b-1_VNF
:
type
:
"
tst010.vnf.simple"
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
descriptor_id
:
"
VNF-B"
descriptor_version
:
"
2.0"
provider
:
"
ETSI
TST
WG"
product_name
:
"
VDU_VNF-B"
software_version
:
"
2.0"
product_info_name
:
"
VDU_VNF-B"
product_info_description
:
"
TST010
reference
VNF-A"
flavour_id
:
"
VNF-B_flavor"
flavour_description
:
"
VNF-B
flavor"
vnfm_info
:
-
etsivnfm:v2.3.1
interfaces
:
Vnflcm
:
type
:
"
tosca.interfaces.nfv.Vnflcm"
scale
:
implementation
:
scale-example.yaml
terminate
:
implementation
:
terminate-example.yaml
operate
:
implementation
:
operate-example.yaml
\ No newline at end of file
SOL002/VNFLifecycleManagement-API/environment/variables.txt
View file @
2e629660
...
...
@@ -95,11 +95,13 @@ ${check_descriptors} 1
${descriptorType} SOL006
${check_multiple_instances} 0
#############internal variables used for descriptor parsing################
${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
${tosca_type_derived_from_VNF}
${VDU_IDs}
${VNF_IDs}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment