Feature 10906: Support for Anti-Affinity groups
[osm/LCM.git] / osm_lcm / tests / test_db_descriptors.py
index 93fdf85..34491a7 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
@@ -219,6 +224,66 @@ db_nslcmops_text = """
     operationState: COMPLETED
     startTime: 1575034637.0445576
     statusEnteredTime: 1575034663.8484545
+
+-   _admin:
+      created: 1575034637.044651
+      modified: 1575034637.044651
+      projects_read:
+      - 25b5aebf-3da1-49ed-99de-1d2b4a86d6e4
+      projects_write:
+      - 25b5aebf-3da1-49ed-99de-1d2b4a86d6e4
+    _id: 52770491-a765-40ce-97a1-c6e200bba7b3
+    detailed-status: done
+    id: 52770491-a765-40ce-97a1-c6e200bba7b3
+    isAutomaticInvocation: false
+    isCancelPending: false
+    lcmOperationType: instantiate
+    links:
+      nsInstance: /osm/nslcm/v1/ns_instances/c54b14cb-69a8-45bc-b011-d6bea187dc0a
+      self: /osm/nslcm/v1/ns_lcm_op_occs/52770491-a765-40ce-97a1-c6e200bba7b3
+    nsInstanceId: 0bcb701c-ee4d-41ab-8ee6-f4156f7f114d
+    operationParams:
+          lcmOperationType: scale
+          nsInstanceId: c54b14cb-69a8-45bc-b011-d6bea187dc0a
+          scaleVnfData:
+            scaleByStepData:
+              member-vnf-index: native-kdu
+              scaling-group-descriptor: kdu_scaling_group
+            scaleVnfType: SCALE_OUT
+          scaleType: SCALE_VNF
+    operationState: COMPLETED
+    startTime: 1575034637.0445576
+    statusEnteredTime: 1575034663.8484545
+
+-   _admin:
+      created: 1575034637.044651
+      modified: 1575034637.044651
+      projects_read:
+      - 25b5aebf-3da1-49ed-99de-1d2b4a86d6e4
+      projects_write:
+      - 25b5aebf-3da1-49ed-99de-1d2b4a86d6e4
+    _id: 4013bbd2-b151-40ee-bcef-7e24ce5432f6
+    detailed-status: done
+    id: 4013bbd2-b151-40ee-bcef-7e24ce5432f6
+    isAutomaticInvocation: false
+    isCancelPending: false
+    lcmOperationType: instantiate
+    links:
+      nsInstance: /osm/nslcm/v1/ns_instances/c54b14cb-69a8-45bc-b011-d6bea187dc0a
+      self: /osm/nslcm/v1/ns_lcm_op_occs/4013bbd2-b151-40ee-bcef-7e24ce5432f6
+    nsInstanceId: 0bcb701c-ee4d-41ab-8ee6-f4156f7f114d
+    operationParams:
+          lcmOperationType: scale
+          nsInstanceId: c54b14cb-69a8-45bc-b011-d6bea187dc0a
+          scaleVnfData:
+            scaleByStepData:
+              member-vnf-index: native-kdu
+              scaling-group-descriptor: kdu_scaling_group_2
+            scaleVnfType: SCALE_OUT
+          scaleType: SCALE_VNF
+    operationState: COMPLETED
+    startTime: 1575034637.0445576
+    statusEnteredTime: 1575034663.8484545
 """
 
 db_nsrs_text = """
@@ -226,6 +291,7 @@ db_nsrs_text = """
 -   _admin:
         created: 1566823354.3716335
         deployed:
+            K8s: []
             RO:
                 nsd_id: 876573b5-968d-40b9-b52b-91bf5c5844f7
                 nsr_id: c9fe9908-3180-430d-b633-fca2f68db008
@@ -237,6 +303,8 @@ db_nsrs_text = """
                     member-vnf-index: '2'
             VCA:
             -   application: alf-b-aa
+                ee_id: f48163a6-c807-47bc-9682-f72caef5af85.alf-b-aa
+                needed_terminate: True
                 detailed-status: Ready!
                 member-vnf-index: '1'
                 model: f48163a6-c807-47bc-9682-f72caef5af85
@@ -249,6 +317,8 @@ db_nsrs_text = """
                 vdu_name: null
                 vnfd_id: hackfest3charmed-vnf
             -   application: alf-c-ab
+                ee_id: f48163a6-c807-47bc-9682-f72caef5af85.alf-c-ab
+                needed_terminate: True
                 detailed-status: Ready!
                 member-vnf-index: '2'
                 model: f48163a6-c807-47bc-9682-f72caef5af85
@@ -278,6 +348,446 @@ db_nsrs_text = """
     create-time: 1566823354.36234
     datacenter: ea958ba5-4e58-4405-bf42-6e3be15d4c3a
     description: default description
+    vcaStatus:
+        8c707f16-2d9b-49d6-af5e-2ce9985b2adf:
+            applications:
+                app-vnf-1fb8538dfc39:
+                    can_upgrade_to: ''
+                    charm: 'local:xenial/simple-1'
+                    charm_profile: ''
+                    charm_version: ''
+                    endpoint_bindings: null
+                    err: null
+                    exposed: false
+                    int_: null
+                    life: ''
+                    meter_statuses: { }
+                    provider_id: null
+                    public_address: ''
+                    relations: { }
+                    series: xenial
+                    status:
+                        data: { }
+                        err: null
+                        info: Ready!
+                        kind: ''
+                        life: ''
+                        since: '2021-02-17T08:39:54.239185095Z'
+                        status: active
+                        unknown_fields: { }
+                        version: ''
+                    subordinate_to: [ ]
+                    units:
+                        app-vnf-1fb8538dfc39/0:
+                            address: null
+                            agent_status:
+                                data: { }
+                                err: null
+                                info: ''
+                                kind: ''
+                                life: ''
+                                since: '2021-02-17T08:52:18.077155028Z'
+                                status: idle
+                                unknown_fields: { }
+                                version: 2.8.1
+                            charm: ''
+                            leader: true
+                            machine: '0'
+                            opened_ports: null
+                            provider_id: null
+                            public_address: 10.151.40.53
+                            subordinates: { }
+                            unknown_fields: { }
+                            workload_status:
+                                data: { }
+                                err: null
+                                info: Ready!
+                                kind: ''
+                                life: ''
+                                since: '2021-02-17T08:39:54.239185095Z'
+                                status: active
+                                unknown_fields: { }
+                                version: ''
+                            workload_version: ''
+                    unknown_fields:
+                        charm-verion: ''
+                    workload_version: ''
+                    actions:
+                        generate-ssh-key: >-
+                            Generate a new SSH keypair for this unit. This will replace any
+                            existing previously generated keypair.
+                        get-ssh-public-key: Get the public SSH key for this unit.
+                        reboot: Reboot the VNF virtual machine.
+                        restart: Stop the service on the VNF.
+                        run: Run an arbitrary command
+                        start: Stop the service on the VNF.
+                        stop: Stop the service on the VNF.
+                        touch: Touch a file on the VNF.
+                        upgrade: Upgrade the software on the VNF.
+                        verify-ssh-credentials: >-
+                            Verify that this unit can authenticate with server specified by
+                            ssh-hostname and ssh-username.
+                    configs:
+                        boolean-option:
+                            default: false
+                            description: A short description of the configuration option
+                            source: default
+                            type: boolean
+                            value: false
+                        int-option:
+                            default: 9001
+                            description: A short description of the configuration option
+                            source: default
+                            type: int
+                            value: 9001
+                        ssh-hostname:
+                            default: ''
+                            description: The hostname or IP address of the machine to
+                            source: user
+                            type: string
+                            value: 192.168.61.90
+                        ssh-key-bits:
+                            default: 4096
+                            description: The number of bits to use for the SSH key.
+                            source: default
+                            type: int
+                            value: 4096
+                        ssh-key-type:
+                            default: rsa
+                            description: The type of encryption to use for the SSH key.
+                            source: default
+                            type: string
+                            value: rsa
+                        ssh-password:
+                            default: ''
+                            description: The password used to authenticate.
+                            source: user
+                            type: string
+                            value: osm4u
+                        ssh-private-key:
+                            default: ''
+                            description: DEPRECATED. The private ssh key to be used to authenticate.
+                            source: default
+                            type: string
+                            value: ''
+                        ssh-public-key:
+                            default: ''
+                            description: The public key of this unit.
+                            source: default
+                            type: string
+                            value: ''
+                        ssh-username:
+                            default: ''
+                            description: The username to login as.
+                            source: user
+                            type: string
+                            value: ubuntu
+                        string-option:
+                            default: Default Value
+                            description: A short description of the configuration option
+                            source: default
+                            type: string
+                            value: Default Value
+                app-vnf-943ab4274bb6:
+                    can_upgrade_to: ''
+                    charm: 'local:xenial/simple-0'
+                    charm_profile: ''
+                    charm_version: ''
+                    endpoint_bindings: null
+                    err: null
+                    exposed: false
+                    int_: null
+                    life: ''
+                    meter_statuses: { }
+                    provider_id: null
+                    public_address: ''
+                    relations: { }
+                    series: xenial
+                    status:
+                        data: { }
+                        err: null
+                        info: Ready!
+                        kind: ''
+                        life: ''
+                        since: '2021-02-17T08:39:15.165682713Z'
+                        status: active
+                        unknown_fields: { }
+                        version: ''
+                    subordinate_to: [ ]
+                    units:
+                        app-vnf-943ab4274bb6/0:
+                            address: null
+                            agent_status:
+                                data: { }
+                                err: null
+                                info: ''
+                                kind: ''
+                                life: ''
+                                since: '2021-02-17T08:46:06.473054303Z'
+                                status: idle
+                                unknown_fields: { }
+                                version: 2.8.1
+                            charm: ''
+                            leader: true
+                            machine: '1'
+                            opened_ports: null
+                            provider_id: null
+                            public_address: 10.151.40.117
+                            subordinates: { }
+                            unknown_fields: { }
+                            workload_status:
+                                data: { }
+                                err: null
+                                info: Ready!
+                                kind: ''
+                                life: ''
+                                since: '2021-02-17T08:39:15.165682713Z'
+                                status: active
+                                unknown_fields: { }
+                                version: ''
+                            workload_version: ''
+                    unknown_fields:
+                        charm-verion: ''
+                    workload_version: ''
+                    actions:
+                        generate-ssh-key: >-
+                            Generate a new SSH keypair for this unit. This will replace any
+                            existing previously generated keypair.
+                        get-ssh-public-key: Get the public SSH key for this unit.
+                        reboot: Reboot the VNF virtual machine.
+                        restart: Stop the service on the VNF.
+                        run: Run an arbitrary command
+                        start: Stop the service on the VNF.
+                        stop: Stop the service on the VNF.
+                        touch: Touch a file on the VNF.
+                        upgrade: Upgrade the software on the VNF.
+                        verify-ssh-credentials: >-
+                            Verify that this unit can authenticate with server specified by
+                            ssh-hostname and ssh-username.
+                    configs:
+                        boolean-option:
+                            default: false
+                            description: A short description of the configuration option
+                            source: default
+                            type: boolean
+                            value: false
+                        int-option:
+                            default: 9001
+                            description: A short description of the configuration option
+                            source: default
+                            type: int
+                            value: 9001
+                        ssh-hostname:
+                            default: ''
+                            description: The hostname or IP address of the machine to
+                            source: user
+                            type: string
+                            value: 192.168.61.72
+                        ssh-key-bits:
+                            default: 4096
+                            description: The number of bits to use for the SSH key.
+                            source: default
+                            type: int
+                            value: 4096
+                        ssh-key-type:
+                            default: rsa
+                            description: The type of encryption to use for the SSH key.
+                            source: default
+                            type: string
+                            value: rsa
+                        ssh-password:
+                            default: ''
+                            description: The password used to authenticate.
+                            source: user
+                            type: string
+                            value: osm4u
+                        ssh-private-key:
+                            default: ''
+                            description: DEPRECATED. The private ssh key to be used to authenticate.
+                            source: default
+                            type: string
+                            value: ''
+                        ssh-public-key:
+                            default: ''
+                            description: The public key of this unit.
+                            source: default
+                            type: string
+                            value: ''
+                        ssh-username:
+                            default: ''
+                            description: The username to login as.
+                            source: user
+                            type: string
+                            value: ubuntu
+                        string-option:
+                            default: Default Value
+                            description: A short description of the configuration option
+                            source: default
+                            type: string
+                            value: Default Value
+            branches: { }
+            controller_timestamp: '2021-02-17T09:17:38.006569064Z'
+            machines:
+                '0':
+                    agent_status:
+                        data: { }
+                        err: null
+                        info: ''
+                        kind: ''
+                        life: ''
+                        since: '2021-02-17T08:37:46.637167056Z'
+                        status: started
+                        unknown_fields: { }
+                        version: 2.8.1
+                    constraints: ''
+                    containers: { }
+                    display_name: ''
+                    dns_name: 10.151.40.53
+                    hardware: arch=amd64 cores=0 mem=0M
+                    has_vote: false
+                    id_: '0'
+                    instance_id: juju-0f027b-0
+                    instance_status:
+                        data: { }
+                        err: null
+                        info: Running
+                        kind: ''
+                        life: ''
+                        since: '2021-02-17T08:35:58.435458338Z'
+                        status: running
+                        unknown_fields: { }
+                        version: ''
+                    ip_addresses:
+                        - 10.151.40.53
+                    jobs:
+                        - JobHostUnits
+                    lxd_profiles: { }
+                    modification_status:
+                        data: { }
+                        err: null
+                        info: ''
+                        kind: ''
+                        life: ''
+                        since: '2021-02-17T08:35:34.663795891Z'
+                        status: idle
+                        unknown_fields: { }
+                        version: ''
+                    network_interfaces:
+                        eth0:
+                            dns_nameservers: null
+                            gateway: 10.151.40.1
+                            ip_addresses:
+                                - 10.151.40.53
+                            is_up: true
+                            mac_address: '00:16:3e:99:bf:c7'
+                            space: null
+                            unknown_fields: { }
+                    primary_controller_machine: null
+                    series: xenial
+                    unknown_fields: { }
+
+                    wants_vote: false
+                '1':
+                    agent_status:
+                        data: { }
+                        err: null
+                        info: ''
+                        kind: ''
+                        life: ''
+                        since: '2021-02-17T08:37:00.893313184Z'
+                        status: started
+                        unknown_fields: { }
+                        version: 2.8.1
+                    constraints: ''
+                    containers: { }
+                    display_name: ''
+                    dns_name: 10.151.40.117
+                    hardware: arch=amd64 cores=0 mem=0M
+                    has_vote: false
+                    id_: '1'
+                    instance_id: juju-0f027b-1
+                    instance_status:
+                        data: { }
+                        err: null
+                        info: Running
+                        kind: ''
+                        life: ''
+                        since: '2021-02-17T08:36:23.354547217Z'
+                        status: running
+                        unknown_fields: { }
+                        version: ''
+                    ip_addresses:
+                        - 10.151.40.117
+                    jobs:
+                        - JobHostUnits
+                    lxd_profiles: { }
+                    modification_status:
+                        data: { }
+                        err: null
+                        info: ''
+                        kind: ''
+                        life: ''
+                        since: '2021-02-17T08:35:34.768829507Z'
+                        status: idle
+                        unknown_fields: { }
+                        version: ''
+                    network_interfaces:
+                        eth0:
+                            dns_nameservers: null
+                            gateway: 10.151.40.1
+                            ip_addresses:
+                                - 10.151.40.117
+                            is_up: true
+                            mac_address: '00:16:3e:99:fe:1c'
+                            space: null
+                            unknown_fields: { }
+                    primary_controller_machine: null
+                    series: xenial
+                    unknown_fields: { }
+                    wants_vote: false
+            model:
+                available_version: ''
+                cloud_tag: cloud-localhost
+                migration: null
+                name: 7c707f16-2d9b-49d6-af5e-2ce9985b2adf
+                region: localhost
+                unknown_fields:
+                    meter-status:
+                        color: ''
+                        message: ''
+                    model-status:
+                        data: { }
+                        info: ''
+                        kind: ''
+
+                        life: ''
+                        since: '2021-02-17T08:35:31.856691457Z'
+                        status: available
+                        version: ''
+                    sla: unsupported
+                    type: iaas
+                version: 2.8.1
+            offers: { }
+            relations: [ ]
+            remote_applications: { }
+            unknown_fields: { }
+            executedActions:
+                -   id: '6'
+                    action: touch
+                    status: completed
+                    Code: '0'
+                    output: ''
+                -   id: '4'
+                    action: touch
+                    status: completed
+                    Code: '0'
+                    output: ''
+                -   id: '2'
+                    action: verify-ssh-credentials
+                    status: completed
+                    Code: '0'
+                    output: ALF-1-mgmtvm-1
+                    verified: 'True'
     detailed-status: 'ERROR executing proxy charm initial primitives for member_vnf_index=1
         vdu_id=None: charm error executing primitive verify-ssh-credentials for member_vnf_index=1
         vdu_id=None: ''timeout after 600 seconds'''
@@ -310,43 +820,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
@@ -356,6 +866,9 @@ 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"}]
+    affinity-or-anti-affinity-group : []
+    image : [ { "image" : "ubuntu16.04", "vim_info" : [ ], "id" : "0" } ]
     vld:
     -   id: mgmt
         name: null
@@ -412,6 +925,7 @@ db_nsrs_text = """
     create-time: 1575034636.9990137
     datacenter: ea958ba5-4e58-4405-bf42-6e3be15d4c3a
     description: default description
+    vcaStatus: {}
     detailed-status: done
     id: 0bcb701c-ee4d-41ab-8ee6-f4156f7f114d
     instantiate_params:
@@ -440,6 +954,73 @@ db_nsrs_text = """
         vim-network-name: mgmt
     vnfd-id:
     - 7ab0d10d-8ce2-4c68-aef6-cc5a437a9c62
+
+-   _admin:
+      created: 1575034637.011233
+      current-operation: null
+      deployed:
+        K8s:
+        - k8scluster-uuid: 73d96432-d692-40d2-8440-e0c73aee209c
+          kdu-instance: native-kdu-0
+          kdu-model: native-kdu-0
+          kdu-name: native-kdu
+          member-vnf-index: native-kdu
+          vnfr-id: 5ac34899-a23a-4b3c-918a-cd77acadbea6
+        RO:
+          detailed-status: Deployed at VIM
+          nsd_id: b03a8de8-1898-4142-bc6d-3b0787df567d
+          nsr_id: b5ce3e00-8647-415d-afaa-d5a612cf3074
+          nsr_status: ACTIVE
+          operational-status: running
+          vnfd:
+          - id: b9493dae-a4c9-4b96-8965-329581efb0a1
+            member-vnf-index: native-kdu
+        VCA: []
+      modified: 1575034637.011233
+      nsState: INSTANTIATED
+      nslcmop: null
+      operation-type: null
+      projects_read:
+      - 25b5aebf-3da1-49ed-99de-1d2b4a86d6e4
+      projects_write:
+      - 25b5aebf-3da1-49ed-99de-1d2b4a86d6e4
+    _id: c54b14cb-69a8-45bc-b011-d6bea187dc0a
+    additionalParamsForNs: null
+    admin-status: ENABLED
+    config-status: configured
+    constituent-vnfr-ref:
+    - 5ac34899-a23a-4b3c-918a-cd77acadbea6
+    create-time: 1575034636.9990137
+    datacenter: ea958ba5-4e58-4405-bf42-6e3be15d4c3a
+    description: default description
+    detailed-status: done
+    id: c54b14cb-69a8-45bc-b011-d6bea187dc0a
+    instantiate_params:
+      nsDescription: default description
+      nsName: native-kdu
+      nsdId: d0f63683-9032-4c6f-8928-ffd4674b9f69
+      vimAccountId: 74337dcb-ef54-41e7-bd2d-8c0d7fcd326f
+    name: native-kdu
+    name-ref: native-kdu
+    ns-instance-config-ref: c54b14cb-69a8-45bc-b011-d6bea187dc0a
+    nsd-id: d0f63683-9032-4c6f-8928-ffd4674b9f69
+    nsd-name-ref: native-kdu_ns
+    nsd-ref: native-kdu_ns
+    operational-events: []
+    operational-status: init
+    orchestration-progress: {}
+    resource-orchestrator: osmopenmano
+    short-name: native-kdu
+    ssh-authorized-key: null
+    vld:
+    - id: mgmtnet
+      name: null
+      status: ACTIVE
+      status-detailed: null
+      vim-id: 9b6a2ac4-767e-4ec9-9497-8ba63084c77f
+      vim-network-name: mgmt
+    vnfd-id:
+    - d96b1cdf-5ad6-49f7-bf65-907ada989293
 """
 
 ro_ns_text = """
@@ -749,15 +1330,44 @@ db_vim_accounts_text = """
         projects_write:
         - 25b5aebf-3da1-49ed-99de-1d2b4a86d6e4
     _id: ea958ba5-4e58-4405-bf42-6e3be15d4c3a
-    description: Openstack site 2, based on Mirantis, also called DSS9000-1, with
-        tenant tid
-    name: ost2-mrt-tid
+    description: some description here
+    name: vim1
     schema_version: '1.1'
     vim_password: 5g0yGX86qIhprX86YTMcpg==
     vim_tenant_name: osm
     vim_type: openstack
     vim_url: http://10.95.87.162:5000/v2.0
     vim_user: osm
+-   _admin:
+        created: 1566818150.3024442
+        current_operation: 0
+        deployed:
+            RO: 9ac17c0d-4265-4333-843b-c3cbd1f93f88
+            RO-account: 011895dc-ab34-4c9f-b06f-401a8ffb073b
+        detailed-status: Done
+        modified: 1566818150.3024442
+        operationalState: ENABLED
+        operations:
+        -   detailed-status: Done
+            lcmOperationType: create
+            operationParams: null
+            operationState: COMPLETED
+            startTime: 1566818150.3025382
+            statusEnteredTime: 1566818150.3025382
+            worker: 86434c2948e2
+        projects_read:
+        - 25b5aebf-3da1-49ed-99de-1d2b4a86d6e4
+        projects_write:
+        - 25b5aebf-3da1-49ed-99de-1d2b4a86d6e4
+    _id: 05357241-1a01-416f-9e02-af20f65f51cd
+    description: No description
+    name: vim2
+    schema_version: '1.1'
+    vim_password: 5g0yGX86qIhprX86YTMcpg==
+    vim_tenant_name: osm
+    vim_type: dumy
+    vim_url: http://10.95.88.162:5000/v2.0
+    vim_user: osm
 """
 
 db_k8sclusters_text = """
@@ -781,6 +1391,9 @@ db_k8sclusters_text = """
         helm-chart:
             id: 73d96432-d692-40d2-8440-e0c73aee209c
             created: True
+        helm-chart-v3:
+            id: 73d96432-d692-40d2-8440-e0c73aee209c
+            created: True
     _id: e7169dab-f71a-4f1f-b82b-432605e8c4b3
     credentials:
         apiVersion: v1
@@ -802,166 +1415,190 @@ 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
+        block-storage-data:
+          size-of-storage: 10
+      - id: data-storage
+        block-storage-data:
+          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'
-    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
-        initial-config-primitive:
-        -   name: config
-            parameter:
-            -   name: ssh-hostname
-                value: <rw_mgmt_ip>
-            -   name: ssh-username
-                value: ubuntu
-            -   name: ssh-password
-                value: osm4u
-            seq: '1'
-        -   name: touch
-            parameter:
-            -   name: filename
-                value: <touch_filename>
-            seq: '2'
-        juju:
-            charm: simple
+        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
+        vdu-profile:
+          - id: mgmtVM
+            min-number-of-instances: 1
+          - id: dataVM
+            min-number-of-instances: 1
+            max-number-of-instances: 10
+        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
+        lcm-operations-configuration:
+          operate-vnf-op-config:
+            day1-2:
+            - id: hackfest3charmed-vnf
+              execution-environment-list:
+                - id: simple-ee
+                  juju:
+                    charm: simple
+              initial-config-primitive:
+                - seq: "1"
+                  execution-environment-ref: simple-ee
+                  name: config
+                  parameter:
+                    - name: ssh-hostname
+                      value: <rw_mgmt_ip>
+                    - name: ssh-username
+                      value: ubuntu
+                    - name: ssh-password
+                      value: osm4u
+                - seq: "2"
+                  execution-environment-ref: simple-ee
+                  name: touch
+                  parameter:
+                    - name: filename
+                      value: <touch_filename>
+              config-primitive:
+                - name: touch
+                  execution-environment-ref: simple-ee
+                  parameter:
+                    - data-type: STRING
+                      default-value: <touch_filename2>
+                      name: filename
+
 -   _admin:
         created: 1575031727.5383403
         modified: 1575031727.5383403
@@ -985,6 +1622,8 @@ db_vnfds_text = """
     -   name: mgmt
     description: KNF with two KDU using helm-charts
     id: multikdu_knf
+    df:
+      - id: "default_df"
     k8s-cluster:
         nets:
         -   external-connection-point-ref: mgmt
@@ -1000,6 +1639,90 @@ db_vnfds_text = """
     short-name: multikdu_knf
     vendor: Telefonica
     version: '1.0'
+
+-   _admin:
+      created: 1575031727.5383403
+      modified: 1575031727.5383403
+      onboardingState: ONBOARDED
+      operationalState: ENABLED
+      projects_read:
+      - 25b5aebf-3da1-49ed-99de-1d2b4a86d6e4
+      projects_write:
+      - 25b5aebf-3da1-49ed-99de-1d2b4a86d6e4
+      storage:
+        descriptor: native-kdu_knf/native-kdu_vnfd.yaml
+        folder: d96b1cdf-5ad6-49f7-bf65-907ada989293
+        fs: local
+        path: /app/storage/
+        pkg-dir: native-kdu_knf
+        zipfile: native-kdu_knf.tar.gz
+      usageState: NOT_IN_USE
+      userDefinedData: {}
+    _id: d96b1cdf-5ad6-49f7-bf65-907ada989293
+    connection-point:
+    - name: mgmt
+    description: KNF with two KDU using juju-bundle
+    df:
+    - id: native-kdu
+      kdu-resource-profile:
+        - id: scale-app
+          kdu-name: native-kdu
+          min-number-of-instances: 1
+          resource-name: app
+        - id: scale-app2
+          kdu-name: native-kdu
+          min-number-of-instances: 1
+          max-number-of-instances: 10
+          resource-name: app2
+      scaling-aspect:
+      - id: kdu_scaling_group
+        name: kdu_scaling_group
+        max-scale-level: 10
+        aspect-delta-details:
+          deltas:
+          - id: native-kdu-delta
+            kdu-resource-delta:
+            - id: scale-app
+              number-of-instances: 1
+      - id: kdu_scaling_group_2
+        name: kdu_scaling_group_2
+        max-scale-level: 10
+        aspect-delta-details:
+          deltas:
+          - id: native-kdu-delta
+            kdu-resource-delta:
+            - id: scale-app
+              number-of-instances: 1
+            - id: scale-app2
+              number-of-instances: 2
+      lcm-operations-configuration:
+        operate-vnf-op-config:
+          day1-2:
+          - id: native-kdu
+            initial-config-primitive:
+            - name: changecontent
+              parameter:
+              - data-type: STRING
+                name: application-name
+                value: nginx
+              - data-type: STRING
+                name: customtitle
+                value: Initial Config Primitive
+              seq: '1'
+    id: native-kdu_knf
+    k8s-cluster:
+      nets:
+      - external-connection-point-ref: mgmt
+        id: mgmtnet
+    kdu:
+    - juju-bundle: stable/native-kdu
+      name: native-kdu
+    mgmt-interface:
+      cp: mgmt
+    name: native-kdu_knf
+    short-name: native-kdu_knf
+    vendor: Ulak Haberlesme A.S.
+    version: '1.0'
 """
 
 db_vnfrs_text = """
@@ -1051,6 +1774,9 @@ 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
+        affinity-or-anti-affinity-group-id : []
     -   _id: ab453219-2d9a-45c2-864d-2c0788385028
         count-index: 0
         interfaces:
@@ -1072,6 +1798,9 @@ 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
+        affinity-or-anti-affinity-group-id : []
     vim-account-id: ea958ba5-4e58-4405-bf42-6e3be15d4c3a
     vld:
     -   id: internal
@@ -1128,6 +1857,9 @@ 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
+        affinity-or-anti-affinity-group-id : []
     -   _id: 889b874d-e1c3-4e75-aa45-53a9b0ddabd9
         count-index: 0
         interfaces:
@@ -1149,6 +1881,9 @@ 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
+        affinity-or-anti-affinity-group-id : []
     vim-account-id: ea958ba5-4e58-4405-bf42-6e3be15d4c3a
     vld:
     -   id: internal
@@ -1198,6 +1933,42 @@ db_vnfrs_text = """
     vim-account-id: 74337dcb-ef54-41e7-bd2d-8c0d7fcd326f
     vnfd-id: 7ab0d10d-8ce2-4c68-aef6-cc5a437a9c62
     vnfd-ref: multikdu_knf
+
+-   _admin:
+      created: 1575034637.009597
+      modified: 1575034637.009597
+      nsState: NOT_INSTANTIATED
+      projects_read:
+      - 25b5aebf-3da1-49ed-99de-1d2b4a86d6e4
+      projects_write:
+      - 25b5aebf-3da1-49ed-99de-1d2b4a86d6e4
+    _id: 5ac34899-a23a-4b3c-918a-cd77acadbea6
+    additionalParamsForVnf: null
+    connection-point:
+    - connection-point-id: null
+      id: null
+      name: mgmt
+    created-time: 1575034636.9990137
+    id: 5ac34899-a23a-4b3c-918a-cd77acadbea6
+    ip-address: null
+    k8s-cluster:
+      nets:
+      - external-connection-point-ref: mgmt
+        id: mgmtnet
+        ns-vld-id: mgmtnet
+        vim_net: internal
+    kdur:
+    - ip-address: null
+      juju-bundle: app-bundle
+      k8s-cluster:
+        id: e7169dab-f71a-4f1f-b82b-432605e8c4b3
+      kdu-name: native-kdu
+    member-vnf-index-ref: native-kdu
+    nsr-id-ref: c54b14cb-69a8-45bc-b011-d6bea187dc0a
+    vdur: []
+    vim-account-id: 74337dcb-ef54-41e7-bd2d-8c0d7fcd326f
+    vnfd-id: d96b1cdf-5ad6-49f7-bf65-907ada989293
+    vnfd-ref: native-kdu_knf
 """
 
 db_nslcmops_scale_text = """
@@ -1272,5 +2043,15 @@ test_ids = {
         "ns": "0bcb701c-ee4d-41ab-8ee6-f4156f7f114d",
         "instantiate": "cf3aa178-7640-4174-b921-2330e6f2aad6",
         "terminate": None,
-    }
+    },
+    "TEST-NATIVE-KDU": {
+        "ns": "c54b14cb-69a8-45bc-b011-d6bea187dc0a",
+        "instantiate": "52770491-a765-40ce-97a1-c6e200bba7b3",
+        "terminate": None,
+    },
+    "TEST-NATIVE-KDU-2": {
+        "ns": "c54b14cb-69a8-45bc-b011-d6bea187dc0a",
+        "instantiate": "4013bbd2-b151-40ee-bcef-7e24ce5432f6",
+        "terminate": None,
+    },
 }