From 28ecd83a42d550e0c2cbdb027bf11fc6187c29a7 Mon Sep 17 00:00:00 2001
From: zafar <zafar@etsi.org>
Date: Tue, 19 Jan 2021 14:54:50 +0500
Subject: [PATCH] SOL006 reference descriptor file and checking functionality
 updated (with dashes instead of  underscores)

---
 .../VnfLcmOperationKeywords.robot             |  30 ++--
 .../reference_tst010_vnf_b_2vdu_SOL006.yaml   | 164 +++++++++---------
 2 files changed, 96 insertions(+), 98 deletions(-)

diff --git a/SOL002/VNFLifecycleManagement-API/VnfLcmOperationKeywords.robot b/SOL002/VNFLifecycleManagement-API/VnfLcmOperationKeywords.robot
index 3cf609f2..2b541dd4 100644
--- a/SOL002/VNFLifecycleManagement-API/VnfLcmOperationKeywords.robot
+++ b/SOL002/VNFLifecycleManagement-API/VnfLcmOperationKeywords.robot
@@ -1077,31 +1077,29 @@ Get VNF Attributes from SOL001
     ${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}
+    ${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}    
+    ${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}
-        ${extCP_check}=    Run Keyword And Return Status    Should Be Equal As Strings    ${key}    ext_cpd
+        ${extCP_check}=    Run Keyword And Return Status    Should Be Equal As Strings    ${key}    ext-cpd
         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
+        ${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}    
@@ -1117,8 +1115,8 @@ Get VDU IDs
     @{VDU_labels}=    Create List
     ${Storage_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    ${VDU_labels}    ${nfv.vnfd[0].vdu[${i}]['id']}
+        Append To List    ${Storage_labels}    ${nfv.vnfd[0].vdu[${i}]['virtual-storage-desc']} 
         Get Internal CPs for each VDU    ${i}   
     END
     Set Global Variable    ${VDU_IDs}    ${VDU_labels}
@@ -1126,10 +1124,10 @@ Get VDU IDs
             
 Get Internal CPs for each VDU
     [Arguments]    ${vdu}
-    ${count}=    Get Length    ${nfv.vnfd[0].vdu[${vdu}].int_cpd}    
+    ${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} 
+        Append To List    ${internal_CPs}    ${nfv.vnfd[0].vdu[${vdu}]['int-cpd'][${i}]['id']} 
     END
     Set Global Variable    ${internalCP_IDs}    ${internal_CPs}
     
@@ -1137,7 +1135,7 @@ Get External CP IDs
     [Arguments]    ${count}    
     @{external_CPs}=    Create List
     FOR    ${i}    IN RANGE    ${count}
-        Append To List    ${external_CPs}    ${nfv.vnfd[0].ext_cpd[${i}].id} 
+        Append To List    ${external_CPs}    ${nfv.vnfd[0]['ext-cpd'][${i}]['id']} 
     END
     Set Global Variable    ${externalCP_IDs}    ${external_CPs}
 
@@ -1145,7 +1143,7 @@ Get Virtual Link IDs
     [Arguments]    ${count}    
     ${VirtualLink_labels}=    Create List
     FOR    ${i}    IN RANGE    ${count}
-        Append To List    ${VirtualLink_labels}    ${nfv.vnfd[0].int_virtual_link_desc[${i}].id} 
+        Append To List    ${VirtualLink_labels}    ${nfv.vnfd[0]['int-virtual-link-desc'][${i}]['id']} 
     END
     Set Global Variable    ${VirtualLink_IDs}    ${VirtualLink_labels}
 
@@ -1153,7 +1151,7 @@ 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} 
+        Append To List    ${Instantiation_Levels}    ${nfv.vnfd[0].df['instantiation-level'][${i}]['id']} 
     END
     Set Global Variable    ${InstantiationLevel_IDs}    ${Instantiation_Levels}
 
diff --git a/SOL002/VNFLifecycleManagement-API/descriptors/SOL006/reference_tst010_vnf_b_2vdu_SOL006.yaml b/SOL002/VNFLifecycleManagement-API/descriptors/SOL006/reference_tst010_vnf_b_2vdu_SOL006.yaml
index 0ea9820f..d902779a 100644
--- a/SOL002/VNFLifecycleManagement-API/descriptors/SOL006/reference_tst010_vnf_b_2vdu_SOL006.yaml
+++ b/SOL002/VNFLifecycleManagement-API/descriptors/SOL006/reference_tst010_vnf_b_2vdu_SOL006.yaml
@@ -2,136 +2,136 @@ nfv:
   vnfd:
     - id: VNF-B-2vdu
       provider: ETSI TST WG
-      product_name: TST010 reference VNF-B with 2 VDUs
-      software_version: '2.2'
+      product-name: TST010 reference VNF-B with 2 VDUs
+      software-version: '2.2'
       version: '2.2'
-      vnfm_info: ETSI VNFM
+      vnfm-info: ETSI VNFM
       vdu:
         - id: vdu-b-1
           name: VNF-B VDU 1
-          int_cpd:
+          int-cpd:
            - id: left
-             layer_protocol: ethernet
+             layer-protocol: ethernet
            - id: management
-             layer_protocol: ethernet
+             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
+             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:
+          int-cpd:
            - id: right
-             layer_protocol: ethernet
+             layer-protocol: ethernet
            - id: management
-             layer_protocol: ethernet
+             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:
+             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:
+        virtual-memory:
           size: '4.0'
-        virtual_cpu:
-          num_virtual_cpu: '2'
-      virtual_storage_desc:
+        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:
+        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'
+        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:
+      virtual-compute-desc:
         id: vdu-b-2-vcd
-        virtual_memory:
+        virtual-memory:
           size: '6.0'
-        virtual_cpu:
-          num_virtual_cpu: '2'
-      virtual_storage_desc:
+        virtual-cpu:
+          num-virtual-cpu: '2'
+      virtual-storage-desc:
         id: vdu-b-2-vsd
-        type_of_storage: root-storage
-        size_of_storage: '0'
-      sw_image_desc:
+        type-of-storage: root-storage
+        size-of-storage: '0'
+      sw-image-desc:
         id: vdu-b-2-image
         name: VNF-B-2 image
         version: '1.1'
         checksum:
           algorithm: sha-224
           hash: somehashfortst010
-        container_format: bare
-        disk_format: qcow2
-        min_disk: '1'
-        min_ram: '2.0'
+        container-format: bare
+        disk-format: qcow2
+        min-disk: '1'
+        min-ram: '2.0'
         size: '1'
         image: 'http://someurl.com/VNF-B-2.qcow2'
-      int_virtual_link_desc:
+      int-virtual-link-desc:
         - id: internal-vl
           flavour:
             id: internal-vl-flavour
             qos:
               latency: '1'
-              packet_delay_variation: '1'
-              packet_loss_ratio: '0.05'
-          connectivity_type:
-            layer_protocol: ethernet     
-      ext_cpd:
+              packet-delay-variation: '1'
+              packet-loss-ratio: '0.05'
+          connectivity-type:
+            layer-protocol: ethernet     
+      ext-cpd:
         - id: ext-b-left
-          int_cpd:
-            vdu_id: vdu-b-1
+          int-cpd:
+            vdu-id: vdu-b-1
             cpd: left
-          layer_protocol: ethernet
+          layer-protocol: ethernet
         - id: management
-          int_cpd:
-            vdu_id: vdu-b-1
+          int-cpd:
+            vdu-id: vdu-b-1
             cpd: management
-          layer_protocol: ethernet
+          layer-protocol: ethernet
         - id: ext-b-right
-          int_cpd:
-            vdu_id: vdu-b-2
+          int-cpd:
+            vdu-id: vdu-b-2
             cpd: right
-          layer_protocol: ethernet
+          layer-protocol: ethernet
       df:
         id: normal
-        vdu_profile:
+        vdu-profile:
           - id: vdu-b-1
-            min_number_of_instances: '1'
-            max_number_of_instances: '2'
+            min-number-of-instances: '1'
+            max-number-of-instances: '2'
           - id: vdu-b-2
-            min_number_of_instances: '1'
-            max_number_of_instances: '4'          
-        instantiation_level:
+            min-number-of-instances: '1'
+            max-number-of-instances: '4'          
+        instantiation-level:
           - id: double
-            vdu_level:
-              - vdu_id: vdu-b-1
-                number_of_instances: '2'
-              - vdu_id: vdu-b-2
-                number_of_instances: '2'
+            vdu-level:
+              - vdu-id: vdu-b-1
+                number-of-instances: '2'
+              - vdu-id: vdu-b-2
+                number-of-instances: '2'
           - id: single
-            vdu_level:
-              - vdu_id: vdu-b-1
-                number_of_instances: '1'
-              - vdu_id: vdu-b-2
-                number_of_instances: '1'
-        default_instantiation_level: single
-        lcm_operations_configuration:
-          scale_vnf_to_level_op_config:
-            arbitrary_target_levels_supported: 'true'
-          terminate_vnf_op_config:
-            min_graceful_termination: '1'
-          operate_vnf_op_config:
-            min_graceful_stop_timeout: '1'
\ No newline at end of file
+            vdu-level:
+              - vdu-id: vdu-b-1
+                number-of-instances: '1'
+              - vdu-id: vdu-b-2
+                number-of-instances: '1'
+        default-instantiation-level: single
+        lcm-operations-configuration:
+          scale-vnf-to-level-op-config:
+            arbitrary-target-levels-supported: 'true'
+          terminate-vnf-op-config:
+            min-graceful-termination: '1'
+          operate-vnf-op-config:
+            min-graceful-stop-timeout: '1'
\ No newline at end of file
-- 
GitLab