Commit 28ecd83a authored by zafar's avatar zafar
Browse files

SOL006 reference descriptor file and checking functionality updated (with...

SOL006 reference descriptor file and checking functionality updated (with dashes instead of  underscores)
parent 86119965
Loading
Loading
Loading
Loading
+14 −16
Original line number Diff line number Diff line
@@ -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}

+82 −82
Original line number Diff line number Diff line
@@ -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