feat(sol006): LCM migration to SOL006
[osm/LCM.git] / osm_lcm / tests / test_db_descriptors.py
index e979aec..080d88d 100644 (file)
@@ -40,38 +40,43 @@ db_nsds_text = """
         vnfd-id-ref: hackfest3charmed-vnf
     -   member-vnf-index: '2'
         vnfd-id-ref: hackfest3charmed-vnf
-    description: NS with 2 VNFs hackfest3charmed-vnf connected by datanet and mgmtnet
-        VLs
+    description: NS with 2 VNFs hackfest3charmed-vnf connected by datanet and mgmtnet VLs
+    df:
+    - id: default-df
+      vnf-profile:
+      - id: '1'
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: '1'
+            constituent-cpd-id: vnf-mgmt-ext
+          virtual-link-profile-id: mgmt
+        - constituent-cpd-id:
+          - constituent-base-element-id: '1'
+            constituent-cpd-id: vnf-data-ext
+          virtual-link-profile-id: datanet
+        vnfd-id: hackfest3charmed-vnf
+      - id: '2'
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: '2'
+            constituent-cpd-id: vnf-mgmt-ext
+          virtual-link-profile-id: mgmt
+        - constituent-cpd-id:
+          - constituent-base-element-id: '2'
+            constituent-cpd-id: vnf-data-ext
+          virtual-link-profile-id: datanet
+        vnfd-id: hackfest3charmed-vnf
     id: hackfest3charmed-ns
-    logo: osm.png
     name: hackfest3charmed-ns
-    short-name: hackfest3charmed-ns
     version: '1.0'
-    vld:
-    -   id: mgmt
-        mgmt-network: true
-        name: mgmt
-        short-name: mgmt
-        type: ELAN
-        vim-network-name: mgmt
-        vnfd-connection-point-ref:
-        -   member-vnf-index-ref: '1'
-            vnfd-connection-point-ref: vnf-mgmt
-            vnfd-id-ref: hackfest3charmed-vnf
-        -   member-vnf-index-ref: '2'
-            vnfd-connection-point-ref: vnf-mgmt
-            vnfd-id-ref: hackfest3charmed-vnf
-    -   id: datanet
-        name: datanet
-        short-name: datanet
-        type: ELAN
-        vnfd-connection-point-ref:
-        -   member-vnf-index-ref: '1'
-            vnfd-connection-point-ref: vnf-data
-            vnfd-id-ref: hackfest3charmed-vnf
-        -   member-vnf-index-ref: '2'
-            vnfd-connection-point-ref: vnf-data
-            vnfd-id-ref: hackfest3charmed-vnf
+    virtual-link-desc:
+    - id: mgmt
+      mgmt-network: true
+      vim-network-name: mgmt
+    - id: datanet
+    vnfd-id:
+    - hackfest3charmed-vnf
+
 -   _admin:
         created: 1575031728.9257665
         modified: 1575031728.9257665
@@ -314,43 +319,43 @@ db_nsrs_text = """
             usageState: NOT_IN_USE
             userDefinedData: {}
         _id: 8c2f8b95-bb1b-47ee-8001-36dc090678da
-        constituent-vnfd:
-        -   member-vnf-index: '1'
-            vnfd-id-ref: hackfest3charmed-vnf
-        -   member-vnf-index: '2'
-            vnfd-id-ref: hackfest3charmed-vnf
-        description: NS with 2 VNFs hackfest3charmed-vnf connected by datanet and
-            mgmtnet VLs
         id: hackfest3charmed-ns
-        logo: osm.png
         name: hackfest3charmed-ns
-        short-name: hackfest3charmed-ns
+        description: NS with 2 VNFs hackfest3charmed-vnf connected by datanet and mgmtnet VLs
+        designer: OSM
         version: '1.0'
-        vld:
-        -   id: mgmt
-            mgmt-network: true
-            name: mgmt
-            short-name: mgmt
-            type: ELAN
-            vim-network-name: mgmt
-            vnfd-connection-point-ref:
-            -   member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: vnf-mgmt
-                vnfd-id-ref: hackfest3charmed-vnf
-            -   member-vnf-index-ref: '2'
-                vnfd-connection-point-ref: vnf-mgmt
-                vnfd-id-ref: hackfest3charmed-vnf
-        -   id: datanet
-            name: datanet
-            short-name: datanet
-            type: ELAN
-            vnfd-connection-point-ref:
-            -   member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: vnf-data
-                vnfd-id-ref: hackfest3charmed-vnf
-            -   member-vnf-index-ref: '2'
-                vnfd-connection-point-ref: vnf-data
-                vnfd-id-ref: hackfest3charmed-vnf
+        vnfd-id:
+          - hackfest3charmed-vnf
+        virtual-link-desc:
+          - id: mgmt
+            mgmt-network: "true"
+          - id: datanet
+            mgmt-network: "false"
+        df:
+          - id: hackfest_charmed_DF
+            vnf-profile:
+              - id: hackfest_vnf1 # member-vnf-index-ref: 1
+                vnfd-id: hackfest3charmed-vnf
+                virtual-link-connectivity:
+                  - virtual-link-profile-id: mgmt
+                    constituent-cpd-id:
+                      - constituent-base-element-id: hackfest_vnf1
+                        constituent-cpd-id: vnf-mgmt-ext
+                  - virtual-link-profile-id: datanet
+                    constituent-cpd-id:
+                      - constituent-base-element-id: hackfest_vnf1
+                        constituent-cpd-id: vnf-data-ext
+              - id: hackfest_vnf2 # member-vnf-index-ref: 2
+                vnfd-id: hackfest3charmed-vnf
+                virtual-link-connectivity:
+                  - virtual-link-profile-id: mgmt
+                    constituent-cpd-id:
+                      - constituent-base-element-id: hackfest_vnf2
+                        constituent-cpd-id: vnf-mgmt-ext
+                  - virtual-link-profile-id: datanet
+                    constituent-cpd-id:
+                      - constituent-base-element-id: hackfest_vnf2
+                        constituent-cpd-id: vnf-data-ext
     nsd-id: 8c2f8b95-bb1b-47ee-8001-36dc090678da
     nsd-name-ref: hackfest3charmed-ns
     nsd-ref: hackfest3charmed-ns
@@ -360,6 +365,8 @@ db_nsrs_text = """
     resource-orchestrator: osmopenmano
     short-name: ALF
     ssh-authorized-key: null
+    flavor : [{"vcpu-count":1,"memory-mb":1024,"storage-gb":"10","vim_info":[],"name":"mgmtVM-flv","id":"0"}]
+    image : [ { "image" : "ubuntu16.04", "vim_info" : [ ], "id" : "0" } ]
     vld:
     -   id: mgmt
         name: null
@@ -838,166 +845,183 @@ db_k8sclusters_text = """
 db_vnfds_text = """
 ---
 -   _admin:
-        created: 1566823352.7154346
-        modified: 1566823353.9295402
-        onboardingState: ONBOARDED
-        operationalState: ENABLED
-        projects_read:
-        - 25b5aebf-3da1-49ed-99de-1d2b4a86d6e4
-        projects_write:
-        - 25b5aebf-3da1-49ed-99de-1d2b4a86d6e4
-        storage:
-            descriptor: hackfest_3charmed_vnfd/hackfest_3charmed_vnfd.yaml
-            folder: 7637bcf8-cf14-42dc-ad70-c66fcf1e6e77
-            fs: local
-            path: /app/storage/
-            pkg-dir: hackfest_3charmed_vnfd
-            zipfile: package.tar.gz
-        type: vnfd
-        usageState: NOT_IN_USE
-        userDefinedData: {}
+      created: 1566823352.7154346
+      modified: 1566823353.9295402
+      onboardingState: ONBOARDED
+      operationalState: ENABLED
+      projects_read:
+      - 25b5aebf-3da1-49ed-99de-1d2b4a86d6e4
+      projects_write:
+      - 25b5aebf-3da1-49ed-99de-1d2b4a86d6e4
+      storage:
+          descriptor: hackfest_3charmed_vnfd/hackfest_3charmed_vnfd.yaml
+          folder: 7637bcf8-cf14-42dc-ad70-c66fcf1e6e77
+          fs: local
+          path: /app/storage/
+          pkg-dir: hackfest_3charmed_vnfd
+          zipfile: package.tar.gz
+      type: vnfd
+      usageState: NOT_IN_USE
+      userDefinedData: {}
     _id: 7637bcf8-cf14-42dc-ad70-c66fcf1e6e77
-    connection-point:
-    -   id: vnf-mgmt
-        name: vnf-mgmt
-        short-name: vnf-mgmt
-        type: VPORT
-    -   id: vnf-data
-        name: vnf-data
-        short-name: vnf-data
-        type: VPORT
-    description: A VNF consisting of 2 VDUs connected to an internal VL, and one VDU
-        with cloud-init
     id: hackfest3charmed-vnf
-    internal-vld:
-    -   id: internal
-        internal-connection-point:
-        -   id-ref: mgmtVM-internal
-        -   id-ref: dataVM-internal
-        name: internal
-        short-name: internal
-        type: ELAN
-    logo: osm.png
-    mgmt-interface:
-        cp: vnf-mgmt
-    monitoring-param:
-    -   aggregation-type: AVERAGE
-        id: monitor1
-        name: monitor1
-        vdu-monitoring-param:
-            vdu-monitoring-param-ref: dataVM_cpu_util
-            vdu-ref: dataVM
-    name: hackfest3charmed-vnf
-    scaling-group-descriptor:
-    -   max-instance-count: 10
-        name: scale_dataVM
-        scaling-config-action:
-        -   trigger: post-scale-out
-            vnf-config-primitive-name-ref: touch
-        -   trigger: pre-scale-in
-            vnf-config-primitive-name-ref: touch
-        scaling-policy:
-        -   cooldown-time: 60
-            name: auto_cpu_util_above_threshold
-            scaling-criteria:
-            -   name: cpu_util_above_threshold
-                scale-in-relational-operation: LE
-                scale-in-threshold: '15.0000000000'
-                scale-out-relational-operation: GE
-                scale-out-threshold: '60.0000000000'
-                vnf-monitoring-param-ref: monitor1
-            scaling-type: automatic
-            threshold-time: 0
-        vdu:
-        -   count: 1
-            vdu-id-ref: dataVM
-    short-name: hackfest3charmed-vnf
+    description: >-
+      A VNF consisting of 2 VDUs connected to an internal VL, and one VDU
+      with cloud-init
+    product-name: hackfest3charmed-vnf
+    version: '1.0'
+    mgmt-cp: vnf-mgmt-ext
+    virtual-compute-desc:
+      - id: mgmt-compute
+        virtual-cpu:
+          num-virtual-cpu: 1
+        virtual-memory:
+          size: 1
+      - id: data-compute
+        virtual-cpu:
+          num-virtual-cpu: 1
+        virtual-memory:
+          size: 1
+
+    virtual-storage-desc:
+      - id: mgmt-storage
+        size-of-storage: 10
+      - id: data-storage
+        size-of-storage: 10
+
+    sw-image-desc:
+      - id: hackfest3-mgmt
+        name: hackfest3-mgmt
+
     vdu:
-    -   count: '1'
-        cloud-init-file: cloud-config.txt
-        id: mgmtVM
-        image: hackfest3-mgmt
-        interface:
-        -   external-connection-point-ref: vnf-mgmt
-            name: mgmtVM-eth0
-            position: 1
-            type: EXTERNAL
-            virtual-interface:
-                type: VIRTIO
-        -   internal-connection-point-ref: mgmtVM-internal
-            name: mgmtVM-eth1
-            position: 2
-            type: INTERNAL
-            virtual-interface:
-                type: VIRTIO
-        internal-connection-point:
-        -   id: mgmtVM-internal
-            name: mgmtVM-internal
-            short-name: mgmtVM-internal
-            type: VPORT
+      - id: mgmtVM
         name: mgmtVM
-        vm-flavor:
-            memory-mb: '1024'
-            storage-gb: '10'
-            vcpu-count: 1
-    -   count: '1'
-        id: dataVM
-        image: hackfest3-mgmt
-        interface:
-        -   internal-connection-point-ref: dataVM-internal
-            name: dataVM-eth0
-            position: 1
-            type: INTERNAL
-            virtual-interface:
-                type: VIRTIO
-        -   external-connection-point-ref: vnf-data
-            name: dataVM-xe0
-            position: 2
-            type: EXTERNAL
-            virtual-interface:
-                type: VIRTIO
-        internal-connection-point:
-        -   id: dataVM-internal
-            name: dataVM-internal
-            short-name: dataVM-internal
-            type: VPORT
-        monitoring-param:
-        -   id: dataVM_cpu_util
-            nfvi-metric: cpu_utilization
+        cloud-init-file: cloud-config.txt
+        sw-image-desc: hackfest3-mgmt
+        virtual-compute-desc: mgmt-compute
+        virtual-storage-desc: mgmt-storage
+        int-cpd:
+          - id: vnf-mgmt
+            order: 1
+            virtual-network-interface-requirement:
+              - name: mgmtVM-eth0
+                virtual-interface:
+                  type: VIRTIO
+          - id: mgmtVM-internal
+            int-virtual-link-desc: internal
+            order: 2
+            virtual-network-interface-requirement:
+              - name: mgmtVM-eth1
+                virtual-interface:
+                  type: VIRTIO
+      - id: dataVM
         name: dataVM
-        vm-flavor:
-            memory-mb: '1024'
-            storage-gb: '10'
-            vcpu-count: 1
-    version: '1.0'
+        sw-image-desc: hackfest3-mgmt
+        virtual-compute-desc: data-compute
+        virtual-storage-desc: data-storage
+        int-cpd:
+          - id: dataVM-internal
+            int-virtual-link-desc: internal
+            order: 1
+            virtual-network-interface-requirement:
+              - name: dataVM-eth1
+                virtual-interface:
+                  type: VIRTIO
+          - id: vnf-data
+            order: 2
+            virtual-network-interface-requirement:
+              - name: dataVM-eth0
+                virtual-interface:
+                  type: VIRTIO
+        monitoring-parameter:
+          - id: dataVM_cpu_util
+            name: dataVM_cpu_util
+            performance-metric: cpu_utilization
+
+    int-virtual-link-desc:
+      - id: internal
+
+    ext-cpd:
+      - id: vnf-mgmt-ext
+        int-cpd: # Connection to int-cpd
+          vdu-id: mgmtVM
+          cpd: vnf-mgmt
+      - id: vnf-data-ext
+        int-cpd: # Connection to int-cpd
+          vdu-id: dataVM
+          cpd: vnf-data
+
+    df:
+      - id: hackfest_default
+        vnf-configuration-id: vnf-configuration-example
+        vdu-profile:
+          - id: mgmtVM
+            min-number-of-instances: 1
+          - id: dataVM
+            min-number-of-instances: 1
+            max-number-of-instances: 10
+            vdu-configuration-id: vdu-configuration-example
+        instantiation-level:
+          - id: default
+            vdu-level:
+              - vdu-id: mgmtVM
+                number-of-instances: 1
+              - vdu-id: dataVM
+                number-of-instances: 1
+        scaling-aspect:
+          - id: scale_dataVM
+            name: scale_dataVM
+            max-scale-level: 10
+            aspect-delta-details:
+              deltas:
+              - id: delta1
+                vdu-delta:
+                - id: vdudelta1
+                  number-of-instances: 1
+            scaling-policy:
+              - name: auto_cpu_util_above_threshold
+                scaling-type: automatic
+                enabled: true
+                threshold-time: 0
+                cooldown-time: 60
+                scaling-criteria:
+                  - name: cpu_util_above_threshold
+                    scale-in-relational-operation: LE
+                    scale-in-threshold: '15.0000000000'
+                    scale-out-relational-operation: GE
+                    scale-out-threshold: '60.0000000000'
+                    vnf-monitoring-param-ref: dataVM_cpu_util
+            scaling-config-action:
+              - trigger: post-scale-out
+                vnf-config-primitive-name-ref: touch
+              - trigger: pre-scale-in
+                vnf-config-primitive-name-ref: touch
+
     vnf-configuration:
-        config-access:
-            ssh-access:
-                required: True
-                default-user: ubuntu
-        config-primitive:
-        -   name: touch
-            parameter:
-            -   data-type: STRING
-                default-value: <touch_filename2>
-                name: filename
+      - id: vnf-configuration-example
         initial-config-primitive:
-        -   name: config
+          - seq: "1"
+            name: config
             parameter:
-            -   name: ssh-hostname
+              - name: ssh-hostname
                 value: <rw_mgmt_ip>
-            -   name: ssh-username
+              - name: ssh-username
                 value: ubuntu
-            -   name: ssh-password
+              - name: ssh-password
                 value: osm4u
-            seq: '1'
-        -   name: touch
+          - seq: "2"
+            name: touch
             parameter:
-            -   name: filename
+              - name: filename
                 value: <touch_filename>
-            seq: '2'
+        config-primitive:
+          - name: touch
+            parameter:
+              - data-type: STRING
+                default-value: <touch_filename2>
+                name: filename
         juju:
-            charm: simple
+          charm: simple
 -   _admin:
         created: 1575031727.5383403
         modified: 1575031727.5383403
@@ -1087,6 +1111,8 @@ db_vnfrs_text = """
         status-detailed: null
         vdu-id-ref: mgmtVM
         vim-id: c2538499-4c30-41c0-acd5-80cb92f48061
+        ns-image-id: 0
+        ns-flavor-id: 0
     -   _id: ab453219-2d9a-45c2-864d-2c0788385028
         count-index: 0
         interfaces:
@@ -1108,6 +1134,8 @@ db_vnfrs_text = """
         status-detailed: null
         vdu-id-ref: dataVM
         vim-id: 87973c3f-365d-4227-95c2-7a8abc74349c
+        ns-image-id: 0
+        ns-flavor-id: 0
     vim-account-id: ea958ba5-4e58-4405-bf42-6e3be15d4c3a
     vld:
     -   id: internal
@@ -1164,6 +1192,8 @@ db_vnfrs_text = """
         status-detailed: null
         vdu-id-ref: mgmtVM
         vim-id: 248077b2-e3b8-4a37-8b72-575abb8ed912
+        ns-image-id: 0
+        ns-flavor-id: 0
     -   _id: 889b874d-e1c3-4e75-aa45-53a9b0ddabd9
         count-index: 0
         interfaces:
@@ -1185,6 +1215,8 @@ db_vnfrs_text = """
         status-detailed: null
         vdu-id-ref: dataVM
         vim-id: a4ce4372-e0ad-4ae3-8f9f-1c969f32e77b
+        ns-image-id: 0
+        ns-flavor-id: 0
     vim-account-id: ea958ba5-4e58-4405-bf42-6e3be15d4c3a
     vld:
     -   id: internal