diff --git a/charm-packages/ha_proxy_charm_ns/ha_proxy_charm_nsd.yaml b/charm-packages/ha_proxy_charm_ns/ha_proxy_charm_nsd.yaml
old mode 100755
new mode 100644
index 850e804730e0b3454dbca4383ce525c790873cad..b9cb16a0ebbb47d9b22179263c2d9124683af21c
--- a/charm-packages/ha_proxy_charm_ns/ha_proxy_charm_nsd.yaml
+++ b/charm-packages/ha_proxy_charm_ns/ha_proxy_charm_nsd.yaml
@@ -1,39 +1,37 @@
-nsd:nsd-catalog:
-    nsd:
-    -   id: ha_proxy_charm-ns
-        name: ha_proxy_charm-ns
-        short-name: ha_proxy_charm-ns
-        description: NS with 2 VNFs with cloudinit connected by datanet and mgmtnet VLs
-        version: '1.0'
-        logo: osm.png
-        constituent-vnfd:
-        -   vnfd-id-ref: ha_proxy_charm-vnf
-            member-vnf-index: '1'
-        -   vnfd-id-ref: ha_proxy_charm-vnf
-            member-vnf-index: '2'
-        vld:
-        -   id: mgmtnet
-            name: mgmtnet
-            short-name: mgmtnet
-            type: ELAN
-            mgmt-network: 'true'
-            vim-network-name: osm-ext
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: ha_proxy_charm-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: vnf-mgmt
-            -   vnfd-id-ref: ha_proxy_charm-vnf
-                member-vnf-index-ref: '2'
-                vnfd-connection-point-ref: vnf-mgmt
-        -   id: datanet
-            name: datanet
-            short-name: datanet
-            type: ELAN
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: ha_proxy_charm-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: vnf-data
-            -   vnfd-id-ref: ha_proxy_charm-vnf
-                member-vnf-index-ref: '2'
-                vnfd-connection-point-ref: vnf-data
-
+nsd:
+  nsd:
+  - id: ha_proxy_charm-ns
+    name: ha_proxy_charm-ns
+    version: '1.0'
+    description: NS with 2 VNFs with cloudinit 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: mgmtnet
+        - constituent-cpd-id:
+          - constituent-base-element-id: '1'
+            constituent-cpd-id: vnf-data-ext
+          virtual-link-profile-id: datanet
+        vnfd-id: ha_proxy_charm-vnf
+      - id: '2'
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: '2'
+            constituent-cpd-id: vnf-mgmt-ext
+          virtual-link-profile-id: mgmtnet
+        - constituent-cpd-id:
+          - constituent-base-element-id: '2'
+            constituent-cpd-id: vnf-data-ext
+          virtual-link-profile-id: datanet
+        vnfd-id: ha_proxy_charm-vnf
+    virtual-link-desc:
+    - id: mgmtnet
+      mgmt-network: 'true'
+    - id: datanet
+    vnfd-id:
+    - ha_proxy_charm-vnf
diff --git a/charm-packages/ha_proxy_charm_vnf/ha_proxy_charm_vnfd.yaml b/charm-packages/ha_proxy_charm_vnf/ha_proxy_charm_vnfd.yaml
index d3d9767364ca094bc412e5150eb7eb4bb01f9020..cede95f0c5e647662a9343a25a185a40ee3b19a8 100644
--- a/charm-packages/ha_proxy_charm_vnf/ha_proxy_charm_vnfd.yaml
+++ b/charm-packages/ha_proxy_charm_vnf/ha_proxy_charm_vnfd.yaml
@@ -1,67 +1,92 @@
-vnfd:vnfd-catalog:
-    vnfd:
-    -   id: ha_proxy_charm-vnf
-        name: ha_proxy_charm-vnf
-        short-name: ha_proxy_charm-vnf
-        version: 1.0
-        description: A VNF consisting of 1 VDU connected to two external VL, and one for data and another one for management
-        logo: osm.png
-        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
-        mgmt-interface:
-            cp: vnf-mgmt
-        vdu:
-        -   id: mgmtVM
-            name: mgmtVM
-            image: ubuntu18.04
-            count: 1
-            vm-flavor:
-                vcpu-count: 1
-                memory-mb: 1024
-                storage-gb: 10
-            interface:
-            -   name: mgmtVM-eth0
-                position: 1
-                type: EXTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                external-connection-point-ref: vnf-mgmt
-            -   name: dataVM-xe0
-                position: 2
-                type: EXTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                external-connection-point-ref: vnf-data
-            cloud-init-file: cloud-config.txt
-        vnf-configuration:
-            juju:
-                charm: simple
-            initial-config-primitive:
-            -   seq: 1
-                name: config
-                parameter:
-                -   name: ssh-hostname
-                    value: <rw_mgmt_ip>
-                -   name: ssh-username
-                    value: ubuntu
-                -   name: ssh-password
-                    value: osm4u
-            -   seq: 2
-                name: touch
-                parameter:
-                -   name: filename
-                    data-type: STRING
-                    value: '/home/ubuntu/first-touch'
-            config-primitive:
-            -   name: touch
-                parameter:
-                -   name: filename
-                    data-type: STRING
-                    default-value: '/home/ubuntu/touched'
+vnfd:
+  id: ha_proxy_charm-vnf
+  mgmt-cp: vnf-mgmt-ext
+  product-name: ha_proxy_charm-vnf
+  description: A VNF consisting of 1 VDU connected to two external VL, and one for
+    data and another one for management
+  version: 1.0
+  df:
+  - id: default-df
+    instantiation-level:
+    - id: default-instantiation-level
+      vdu-level:
+      - number-of-instances: 1
+        vdu-id: mgmtVM
+    vdu-profile:
+    - id: mgmtVM
+      min-number-of-instances: 1
+    vnf-configuration-id: default-vnf-configuration
+  ext-cpd:
+  - id: vnf-mgmt-ext
+    int-cpd:
+      cpd: mgmtVM-eth0-int
+      vdu-id: mgmtVM
+  - id: vnf-data-ext
+    int-cpd:
+      cpd: dataVM-xe0-int
+      vdu-id: mgmtVM
+  sw-image-desc:
+  - id: ubuntu18.04
+    image: ubuntu18.04
+    name: ubuntu18.04
+  vdu:
+  - cloud-init-file: cloud-config.txt
+    id: mgmtVM
+    int-cpd:
+    - id: mgmtVM-eth0-int
+      virtual-network-interface-requirement:
+      - name: mgmtVM-eth0
+        position: 1
+        virtual-interface:
+          type: PARAVIRT
+    - id: dataVM-xe0-int
+      virtual-network-interface-requirement:
+      - name: dataVM-xe0
+        position: 2
+        virtual-interface:
+          type: PARAVIRT
+    name: mgmtVM
+    sw-image-desc: ubuntu18.04
+    virtual-compute-desc: mgmtVM-compute
+    virtual-storage-desc:
+    - mgmtVM-storage
+
+  virtual-compute-desc:
+  - id: mgmtVM-compute
+    virtual-cpu:
+      num-virtual-cpu: "1"
+    virtual-memory:
+      size: "1.0"
+  virtual-storage-desc:
+  - id: mgmtVM-storage
+    size-of-storage: "10"
+  vnf-configuration:
+  - id: default-vnf-configuration
+    config-access:
+      ssh-access:
+        default-user: ubuntu
+        required: true
+    config-primitive:
+    - name: touch
+      parameter:
+      - data-type: STRING
+        default-value: /home/ubuntu/touched
+        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:
+      - data-type: STRING
+        name: filename
+        value: /home/ubuntu/first-touch
+      seq: 2
+    juju:
+      charm: simple
diff --git a/charm-packages/k8s_proxy_charm_ns/k8s_proxy_charm_nsd.yaml b/charm-packages/k8s_proxy_charm_ns/k8s_proxy_charm_nsd.yaml
old mode 100755
new mode 100644
index 1e85f7941b1e3926344660bc1510cf273a1620eb..beae3243b71a197f06f18c76c3fb3d277842df19
--- a/charm-packages/k8s_proxy_charm_ns/k8s_proxy_charm_nsd.yaml
+++ b/charm-packages/k8s_proxy_charm_ns/k8s_proxy_charm_nsd.yaml
@@ -1,39 +1,37 @@
-nsd:nsd-catalog:
-    nsd:
-    -   id: k8s_proxy_charm-ns
-        name: k8s_proxy_charm-ns
-        short-name: k8s_proxy_charm-ns
-        description: NS with 2 VNFs with cloudinit connected by datanet and mgmtnet VLs
-        version: '1.0'
-        logo: osm.png
-        constituent-vnfd:
-        -   vnfd-id-ref: k8s_proxy_charm-vnf
-            member-vnf-index: '1'
-        -   vnfd-id-ref: k8s_proxy_charm-vnf
-            member-vnf-index: '2'
-        vld:
-        -   id: mgmtnet
-            name: mgmtnet
-            short-name: mgmtnet
-            type: ELAN
-            mgmt-network: 'true'
-            vim-network-name: osm-ext
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: k8s_proxy_charm-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: vnf-mgmt
-            -   vnfd-id-ref: k8s_proxy_charm-vnf
-                member-vnf-index-ref: '2'
-                vnfd-connection-point-ref: vnf-mgmt
-        -   id: datanet
-            name: datanet
-            short-name: datanet
-            type: ELAN
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: k8s_proxy_charm-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: vnf-data
-            -   vnfd-id-ref: k8s_proxy_charm-vnf
-                member-vnf-index-ref: '2'
-                vnfd-connection-point-ref: vnf-data
-
+nsd:
+  nsd:
+  - description: NS with 2 VNFs with cloudinit 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: mgmtnet
+        - constituent-cpd-id:
+          - constituent-base-element-id: '1'
+            constituent-cpd-id: vnf-data-ext
+          virtual-link-profile-id: datanet
+        vnfd-id: k8s_proxy_charm-vnf
+      - id: '2'
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: '2'
+            constituent-cpd-id: vnf-mgmt-ext
+          virtual-link-profile-id: mgmtnet
+        - constituent-cpd-id:
+          - constituent-base-element-id: '2'
+            constituent-cpd-id: vnf-data-ext
+          virtual-link-profile-id: datanet
+        vnfd-id: k8s_proxy_charm-vnf
+    id: k8s_proxy_charm-ns
+    name: k8s_proxy_charm-ns
+    version: '1.0'
+    virtual-link-desc:
+    - id: mgmtnet
+      mgmt-network: 'true'
+    - id: datanet
+    vnfd-id:
+    - k8s_proxy_charm-vnf
diff --git a/charm-packages/k8s_proxy_charm_vnf/k8s_proxy_charm_vnfd.yaml b/charm-packages/k8s_proxy_charm_vnf/k8s_proxy_charm_vnfd.yaml
index 169211eef37d76486d8e932e170164f5b21f0846..5a844ef608e7b5e59c62239a4b1eda95068dae85 100644
--- a/charm-packages/k8s_proxy_charm_vnf/k8s_proxy_charm_vnfd.yaml
+++ b/charm-packages/k8s_proxy_charm_vnf/k8s_proxy_charm_vnfd.yaml
@@ -1,68 +1,92 @@
-vnfd:vnfd-catalog:
-    vnfd:
-    -   id: k8s_proxy_charm-vnf
-        name: k8s_proxy_charm-vnf
-        short-name: k8s_proxy_charm-vnf
-        version: 1.0
-        description: A VNF consisting of 1 VDU connected to two external VL, and one for data and another one for management
-        logo: osm.png
-        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
-        mgmt-interface:
-            cp: vnf-mgmt
-        vdu:
-        -   id: mgmtVM
-            name: mgmtVM
-            image: ubuntu18.04
-            count: 1
-            vm-flavor:
-                vcpu-count: 1
-                memory-mb: 1024
-                storage-gb: 10
-            interface:
-            -   name: mgmtVM-eth0
-                position: 1
-                type: EXTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                external-connection-point-ref: vnf-mgmt
-            -   name: dataVM-xe0
-                position: 2
-                type: EXTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                external-connection-point-ref: vnf-data
-            cloud-init-file: cloud-config.txt
-        vnf-configuration:
-            juju:
-                charm: simple
-                cloud: k8s
-            initial-config-primitive:
-            -   seq: 1
-                name: config
-                parameter:
-                -   name: ssh-hostname
-                    value: <rw_mgmt_ip>
-                -   name: ssh-username
-                    value: ubuntu
-                -   name: ssh-password
-                    value: osm4u
-            -   seq: 2
-                name: touch
-                parameter:
-                -   name: filename
-                    data-type: STRING
-                    value: '/home/ubuntu/first-touch'
-            config-primitive:
-            -   name: touch
-                parameter:
-                -   name: filename
-                    data-type: STRING
-                    default-value: '/home/ubuntu/touched'
+vnfd:
+  description: A VNF consisting of 1 VDU connected to two external VL, and one for
+    data and another one for management
+  df:
+  - id: default-df
+    instantiation-level:
+    - id: default-instantiation-level
+      vdu-level:
+      - number-of-instances: 1
+        vdu-id: mgmtVM
+    vdu-profile:
+    - id: mgmtVM
+      min-number-of-instances: 1
+    vnf-configuration-id: default-vnf-configuration
+  ext-cpd:
+  - id: vnf-mgmt-ext
+    int-cpd:
+      cpd: mgmtVM-eth0-int
+      vdu-id: mgmtVM
+  - id: vnf-data-ext
+    int-cpd:
+      cpd: dataVM-xe0-int
+      vdu-id: mgmtVM
+  id: k8s_proxy_charm-vnf
+  mgmt-cp: vnf-mgmt-ext
+  product-name: k8s_proxy_charm-vnf
+  sw-image-desc:
+  - id: ubuntu18.04
+    image: ubuntu18.04
+    name: ubuntu18.04
+  vdu:
+  - cloud-init-file: cloud-config.txt
+    id: mgmtVM
+    int-cpd:
+    - id: mgmtVM-eth0-int
+      virtual-network-interface-requirement:
+      - name: mgmtVM-eth0
+        position: 1
+        virtual-interface:
+          type: PARAVIRT
+    - id: dataVM-xe0-int
+      virtual-network-interface-requirement:
+      - name: dataVM-xe0
+        position: 2
+        virtual-interface:
+          type: PARAVIRT
+    name: mgmtVM
+    sw-image-desc: ubuntu18.04
+    virtual-compute-desc: mgmtVM-compute
+    virtual-storage-desc:
+    - mgmtVM-storage
+  version: 1.0
+  virtual-compute-desc:
+  - id: mgmtVM-compute
+    virtual-cpu:
+      num-virtual-cpu: 1
+    virtual-memory:
+      size: 1.0
+  virtual-storage-desc:
+  - id: mgmtVM-storage
+    size-of-storage: 10
+  vnf-configuration:
+  - config-primitive:
+    - name: touch
+      parameter:
+      - data-type: STRING
+        default-value: /home/ubuntu/touched
+        name: filename
+    config-access:
+      ssh-access:
+        default-user: ubuntu
+        required: true
+    id: default-vnf-configuration
+    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:
+      - data-type: STRING
+        name: filename
+        value: /home/ubuntu/first-touch
+      seq: 2
+    juju:
+      charm: simple
+      cloud: k8s
diff --git a/charm-packages/native_charm_ns/native_charm_nsd.yaml b/charm-packages/native_charm_ns/native_charm_nsd.yaml
old mode 100755
new mode 100644
index 579508a3bc38cfa4c8936d50aafbcea03dfad0e2..43633090c6a3e9289bef2fdb161aec40e3fbd0e6
--- a/charm-packages/native_charm_ns/native_charm_nsd.yaml
+++ b/charm-packages/native_charm_ns/native_charm_nsd.yaml
@@ -1,39 +1,37 @@
-nsd:nsd-catalog:
-    nsd:
-    -   id: native_charm-ns
-        name: native_charm-ns
-        short-name: native_charm-ns
-        description: NS with 2 VNFs with cloudinit connected by datanet and mgmtnet VLs
-        version: '1.0'
-        logo: osm.png
-        constituent-vnfd:
-        -   vnfd-id-ref: native_charm-vnf
-            member-vnf-index: '1'
-        -   vnfd-id-ref: native_charm-vnf
-            member-vnf-index: '2'
-        vld:
-        -   id: mgmtnet
-            name: mgmtnet
-            short-name: mgmtnet
-            type: ELAN
-            mgmt-network: 'true'
-            vim-network-name: osm-ext
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: native_charm-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: vnf-mgmt
-            -   vnfd-id-ref: native_charm-vnf
-                member-vnf-index-ref: '2'
-                vnfd-connection-point-ref: vnf-mgmt
-        -   id: datanet
-            name: datanet
-            short-name: datanet
-            type: ELAN
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: native_charm-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: vnf-data
-            -   vnfd-id-ref: native_charm-vnf
-                member-vnf-index-ref: '2'
-                vnfd-connection-point-ref: vnf-data
-
+nsd:
+  nsd:
+  - description: NS with 2 VNFs with cloudinit 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: mgmtnet
+        - constituent-cpd-id:
+          - constituent-base-element-id: '1'
+            constituent-cpd-id: vnf-data-ext
+          virtual-link-profile-id: datanet
+        vnfd-id: native_charm-vnf
+      - id: '2'
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: '2'
+            constituent-cpd-id: vnf-mgmt-ext
+          virtual-link-profile-id: mgmtnet
+        - constituent-cpd-id:
+          - constituent-base-element-id: '2'
+            constituent-cpd-id: vnf-data-ext
+          virtual-link-profile-id: datanet
+        vnfd-id: native_charm-vnf
+    id: native_charm-ns
+    name: native_charm-ns
+    version: '1.0'
+    virtual-link-desc:
+    - id: mgmtnet
+      mgmt-network: 'true'
+    - id: datanet
+    vnfd-id:
+    - native_charm-vnf
diff --git a/charm-packages/native_charm_vnf/native_charm_vnfd.yaml b/charm-packages/native_charm_vnf/native_charm_vnfd.yaml
index e9a9f007ef5d29f21118896b9b02d7b3719ea2ea..1c6cb9c473b7111d0eb2c13a8f3b0ef47101e834 100644
--- a/charm-packages/native_charm_vnf/native_charm_vnfd.yaml
+++ b/charm-packages/native_charm_vnf/native_charm_vnfd.yaml
@@ -1,63 +1,83 @@
-vnfd:vnfd-catalog:
-    vnfd:
-    -   id: native_charm-vnf
-        name: native_charm-vnf
-        short-name: native_charm-vnf
-        version: 1.0
-        description: A VNF consisting of 1 VDU connected to two external VL, and one for data and another one for management
-        logo: osm.png
-        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
-        mgmt-interface:
-            cp: vnf-mgmt
-        vdu:
-        -   id: mgmtVM
-            name: mgmtVM
-            image: ubuntu18.04
-            count: 1
-            vm-flavor:
-                vcpu-count: 1
-                memory-mb: 1024
-                storage-gb: 10
-            interface:
-            -   name: mgmtVM-eth0
-                position: 1
-                type: EXTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                external-connection-point-ref: vnf-mgmt
-            -   name: dataVM-xe0
-                position: 2
-                type: EXTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                external-connection-point-ref: vnf-data
-            cloud-init-file: cloud-config.txt
-            vdu-configuration:
-                juju:
-                    charm: simple
-                    proxy: false
-                config-access:
-                    ssh-access:
-                        required: True
-                        default-user: ubuntu
-                initial-config-primitive:
-                -   seq: 1
-                    name: touch
-                    parameter:
-                    -   name: filename
-                        data-type: STRING
-                        value: '/home/ubuntu/first-touch'
-                config-primitive:
-                -   name: touch
-                    parameter:
-                    -   name: filename
-                        data-type: STRING
-                        default-value: '/home/ubuntu/touched'
+vnfd:
+  description: A VNF consisting of 1 VDU connected to two external VL, and one for
+    data and another one for management
+  df:
+  - id: default-df
+    instantiation-level:
+    - id: default-instantiation-level
+      vdu-level:
+      - number-of-instances: 1
+        vdu-id: mgmtVM
+    vdu-profile:
+    - id: mgmtVM
+      min-number-of-instances: 1
+      vdu-configuration-id: mgmtVM-vdu-configuration
+  ext-cpd:
+  - id: vnf-mgmt-ext
+    int-cpd:
+      cpd: mgmtVM-eth0-int
+      vdu-id: mgmtVM
+  - id: vnf-data-ext
+    int-cpd:
+      cpd: dataVM-xe0-int
+      vdu-id: mgmtVM
+  id: native_charm-vnf
+  mgmt-cp: vnf-mgmt-ext
+  product-name: native_charm-vnf
+  sw-image-desc:
+  - id: ubuntu18.04
+    image: ubuntu18.04
+    name: ubuntu18.04
+  vdu:
+  - cloud-init-file: cloud-config.txt
+    id: mgmtVM
+    int-cpd:
+    - id: mgmtVM-eth0-int
+      virtual-network-interface-requirement:
+      - name: mgmtVM-eth0
+        position: 1
+        virtual-interface:
+          type: PARAVIRT
+    - id: dataVM-xe0-int
+      virtual-network-interface-requirement:
+      - name: dataVM-xe0
+        position: 2
+        virtual-interface:
+          type: PARAVIRT
+    name: mgmtVM
+    sw-image-desc: ubuntu18.04
+    virtual-compute-desc: mgmtVM-compute
+    virtual-storage-desc:
+    - mgmtVM-storage
+  vdu-configuration:
+  - config-access:
+      ssh-access:
+        default-user: ubuntu
+        required: true
+    config-primitive:
+    - name: touch
+      parameter:
+      - data-type: STRING
+        default-value: /home/ubuntu/touched
+        name: filename
+    id: mgmtVM-vdu-configuration
+    initial-config-primitive:
+    - name: touch
+      parameter:
+      - data-type: STRING
+        name: filename
+        value: /home/ubuntu/first-touch
+      seq: 1
+    juju:
+      charm: simple
+      proxy: false
+  version: 1.0
+  virtual-compute-desc:
+  - id: mgmtVM-compute
+    virtual-cpu:
+      num-virtual-cpu: 1
+    virtual-memory:
+      size: 1.0
+  virtual-storage-desc:
+  - id: mgmtVM-storage
+    size-of-storage: 10
diff --git a/charm-packages/native_k8s_charm_ns/native_k8s_charm_nsd.yaml b/charm-packages/native_k8s_charm_ns/native_k8s_charm_nsd.yaml
index 287a9f31444cd96bd5ca12a5e1f578c725a7a751..96897b9434bcd9a54bf16d5207f9ff45010fee0a 100644
--- a/charm-packages/native_k8s_charm_ns/native_k8s_charm_nsd.yaml
+++ b/charm-packages/native_k8s_charm_ns/native_k8s_charm_nsd.yaml
@@ -1,22 +1,21 @@
-nsd-catalog:
-    nsd:
-    -   id: native_k8s_charm-ns
-        name: native_k8s_charm-ns
-        short-name: native_k8s_charm-ns
-        description: NS with 1 KDU connected to the mgmtnet VL
-        version: '1.0'
-        logo: osm.png
-        constituent-vnfd:
-        -   vnfd-id-ref: native_k8s_charm-vnf
-            member-vnf-index: native_k8s_charm-vnf
-        vld:
-        -   id: mgmtnet
-            name: mgmtnet
-            short-name: mgmtnet
-            type: ELAN
-            mgmt-network: true
-            vim-network-name: mgmt
-            vnfd-connection-point-ref:
-            -   member-vnf-index-ref: native_k8s_charm-vnf
-                vnfd-id-ref: native_k8s_charm-vnf
-                vnfd-connection-point-ref: mgmtnet
+nsd:
+  nsd:
+  - description: NS with 1 KDU connected to the mgmtnet VL
+    df:
+    - id: default-df
+      vnf-profile:
+      - id: native_k8s_charm-vnf
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: native_k8s_charm-vnf
+            constituent-cpd-id: mgmt-ext
+          virtual-link-profile-id: mgmtnet
+        vnfd-id: native_k8s_charm-vnf
+    id: native_k8s_charm-ns
+    name: native_k8s_charm-ns
+    version: '1.0'
+    virtual-link-desc:
+    - id: mgmtnet
+      mgmt-network: true
+    vnfd-id:
+    - native_k8s_charm-vnf
diff --git a/charm-packages/native_k8s_charm_vnf/native_k8s_charm_vnfd.yaml b/charm-packages/native_k8s_charm_vnf/native_k8s_charm_vnfd.yaml
index d57285bb67a499a96f9b775d40c9e1a15aadd189..fc56dda1dad498ceab8d31c4802d46e2d2944c5c 100644
--- a/charm-packages/native_k8s_charm_vnf/native_k8s_charm_vnfd.yaml
+++ b/charm-packages/native_k8s_charm_vnf/native_k8s_charm_vnfd.yaml
@@ -1,35 +1,43 @@
-vnfd-catalog:
-    vnfd:
-    -   id: native_k8s_charm-vnf
-        name: native_k8s_charm-vnf
-        connection-point:
-        -   name: mgmtnet
-        mgmt-interface:
-            cp: mgmt
-        kdu:
-        -   name: native-kdu
-            juju-bundle: bundle.yaml
-            kdu-configuration:
-                initial-config-primitive:
-                -   seq: 1
-                    name: changecontent
-                    parameter:
-                    -   name: application-name
-                        data-type: STRING
-                        value: nginx
-                    -   name: customtitle
-                        data-type: STRING
-                        value: "Initial Config Primitive"
-                config-primitive:
-                -   name: changecontent
-                    parameter:
-                    -   name: application-name
-                        data-type: STRING
-                        default-value: nginx
-                    -   name: customtitle
-                        data-type: STRING
-                        default-value: ""
-        k8s-cluster:
-            nets:
-            -   id: mgmtnet
-                external-connection-point-ref: mgmt
+vnfd:
+  df:
+  - id: default-df
+    kdu-profile:
+    - kdu-configuration-id: native-kdu-kdu-configuration
+      kdu-model-id: native-kdu-model
+      name: native-kdu
+  ext-cpd:
+  - id: mgmt-ext
+    k8s-cluster-net: mgmtnet
+  id: native_k8s_charm-vnf
+  k8s-cluster:
+    nets:
+    - id: mgmtnet
+  kdu:
+  - name: native-kdu
+  kdu-configuration:
+  - config-primitive:
+    - name: changecontent
+      parameter:
+      - data-type: STRING
+        default-value: nginx
+        name: application-name
+      - data-type: STRING
+        default-value: ''
+        name: customtitle
+    id: native-kdu-kdu-configuration
+    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
+  kdu-model:
+  - id: native-kdu-model
+    kdu-model-locator: bundle.yaml
+    kdu-model-type: juju-bundle
+  mgmt-cp: mgmt-ext
+  product-name: native_k8s_charm-vnf
diff --git a/charm-packages/nopasswd_k8s_proxy_charm_ns/nopasswd_k8s_proxy_charm_nsd.yaml b/charm-packages/nopasswd_k8s_proxy_charm_ns/nopasswd_k8s_proxy_charm_nsd.yaml
old mode 100755
new mode 100644
index 942dfa4df7faae99225ca18aac0cf106cd8fcf7e..8b75bb26f06e33963b54f2ba00e3a56c93d80121
--- a/charm-packages/nopasswd_k8s_proxy_charm_ns/nopasswd_k8s_proxy_charm_nsd.yaml
+++ b/charm-packages/nopasswd_k8s_proxy_charm_ns/nopasswd_k8s_proxy_charm_nsd.yaml
@@ -1,39 +1,37 @@
-nsd:nsd-catalog:
-    nsd:
-    -   id: nopasswd_k8s_proxy_charm-ns
-        name: nopasswd_k8s_proxy_charm-ns
-        short-name: nopasswd_k8s_proxy_charm-ns
-        description: NS with 2 VNFs with cloudinit connected by datanet and mgmtnet VLs
-        version: '1.0'
-        logo: osm.png
-        constituent-vnfd:
-        -   vnfd-id-ref: nopasswd_k8s_proxy_charm-vnf
-            member-vnf-index: '1'
-        -   vnfd-id-ref: nopasswd_k8s_proxy_charm-vnf
-            member-vnf-index: '2'
-        vld:
-        -   id: mgmtnet
-            name: mgmtnet
-            short-name: mgmtnet
-            type: ELAN
-            mgmt-network: 'true'
-            vim-network-name: osm-ext
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: nopasswd_k8s_proxy_charm-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: vnf-mgmt
-            -   vnfd-id-ref: nopasswd_k8s_proxy_charm-vnf
-                member-vnf-index-ref: '2'
-                vnfd-connection-point-ref: vnf-mgmt
-        -   id: datanet
-            name: datanet
-            short-name: datanet
-            type: ELAN
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: nopasswd_k8s_proxy_charm-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: vnf-data
-            -   vnfd-id-ref: nopasswd_k8s_proxy_charm-vnf
-                member-vnf-index-ref: '2'
-                vnfd-connection-point-ref: vnf-data
-
+nsd:
+  nsd:
+  - description: NS with 2 VNFs with cloudinit 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: mgmtnet
+        - constituent-cpd-id:
+          - constituent-base-element-id: '1'
+            constituent-cpd-id: vnf-data-ext
+          virtual-link-profile-id: datanet
+        vnfd-id: nopasswd_k8s_proxy_charm-vnf
+      - id: '2'
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: '2'
+            constituent-cpd-id: vnf-mgmt-ext
+          virtual-link-profile-id: mgmtnet
+        - constituent-cpd-id:
+          - constituent-base-element-id: '2'
+            constituent-cpd-id: vnf-data-ext
+          virtual-link-profile-id: datanet
+        vnfd-id: nopasswd_k8s_proxy_charm-vnf
+    id: nopasswd_k8s_proxy_charm-ns
+    name: nopasswd_k8s_proxy_charm-ns
+    version: '1.0'
+    virtual-link-desc:
+    - id: mgmtnet
+      mgmt-network: 'true'
+    - id: datanet
+    vnfd-id:
+    - nopasswd_k8s_proxy_charm-vnf
diff --git a/charm-packages/nopasswd_k8s_proxy_charm_vnf/nopasswd_k8s_proxy_charm_vnfd.yaml b/charm-packages/nopasswd_k8s_proxy_charm_vnf/nopasswd_k8s_proxy_charm_vnfd.yaml
index 1771daaaf791a57fd332f1b1e7dcbc17804b904d..28a770fe876ed06245c225bfa855eefd0675d1a1 100644
--- a/charm-packages/nopasswd_k8s_proxy_charm_vnf/nopasswd_k8s_proxy_charm_vnfd.yaml
+++ b/charm-packages/nopasswd_k8s_proxy_charm_vnf/nopasswd_k8s_proxy_charm_vnfd.yaml
@@ -1,70 +1,90 @@
-vnfd:vnfd-catalog:
-    vnfd:
-    -   id: nopasswd_k8s_proxy_charm-vnf
-        name: nopasswd_k8s_proxy_charm-vnf
-        short-name: nopasswd_k8s_proxy_charm-vnf
-        version: 1.0
-        description: A VNF consisting of 1 VDU connected to two external VL, and one for data and another one for management
-        logo: osm.png
-        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
-        mgmt-interface:
-            cp: vnf-mgmt
-        vdu:
-        -   id: mgmtVM
-            name: mgmtVM
-            image: ubuntu18.04
-            count: 1
-            vm-flavor:
-                vcpu-count: 1
-                memory-mb: 1024
-                storage-gb: 10
-            interface:
-            -   name: mgmtVM-eth0
-                position: 1
-                type: EXTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                external-connection-point-ref: vnf-mgmt
-            -   name: dataVM-xe0
-                position: 2
-                type: EXTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                external-connection-point-ref: vnf-data
-            cloud-init-file: cloud-config.txt
-        vnf-configuration:
-            juju:
-                charm: simple
-                cloud: k8s
-            initial-config-primitive:
-            -   seq: 1
-                name: config
-                parameter:
-                -   name: ssh-hostname
-                    value: <rw_mgmt_ip>
-                -   name: ssh-username
-                    value: ubuntu
-            -   seq: 2
-                name: touch
-                parameter:
-                -   name: filename
-                    data-type: STRING
-                    value: '/home/ubuntu/first-touch'
-            config-primitive:
-            -   name: touch
-                parameter:
-                -   name: filename
-                    data-type: STRING
-                    default-value: '/home/ubuntu/touched'
-            config-access:
-                ssh-access:
-                    default-user: ubuntu
-                    required: true
\ No newline at end of file
+vnfd:
+  description: A VNF consisting of 1 VDU connected to two external VL, and one for
+    data and another one for management
+  df:
+  - id: default-df
+    instantiation-level:
+    - id: default-instantiation-level
+      vdu-level:
+      - number-of-instances: 1
+        vdu-id: mgmtVM
+    vdu-profile:
+    - id: mgmtVM
+      min-number-of-instances: 1
+    vnf-configuration-id: default-vnf-configuration
+  ext-cpd:
+  - id: vnf-mgmt-ext
+    int-cpd:
+      cpd: mgmtVM-eth0-int
+      vdu-id: mgmtVM
+  - id: vnf-data-ext
+    int-cpd:
+      cpd: dataVM-xe0-int
+      vdu-id: mgmtVM
+  id: nopasswd_k8s_proxy_charm-vnf
+  mgmt-cp: vnf-mgmt-ext
+  product-name: nopasswd_k8s_proxy_charm-vnf
+  sw-image-desc:
+  - id: ubuntu18.04
+    image: ubuntu18.04
+    name: ubuntu18.04
+  vdu:
+  - cloud-init-file: cloud-config.txt
+    id: mgmtVM
+    int-cpd:
+    - id: mgmtVM-eth0-int
+      virtual-network-interface-requirement:
+      - name: mgmtVM-eth0
+        position: 1
+        virtual-interface:
+          type: PARAVIRT
+    - id: dataVM-xe0-int
+      virtual-network-interface-requirement:
+      - name: dataVM-xe0
+        position: 2
+        virtual-interface:
+          type: PARAVIRT
+    name: mgmtVM
+    sw-image-desc: ubuntu18.04
+    virtual-compute-desc: mgmtVM-compute
+    virtual-storage-desc:
+    - mgmtVM-storage
+  version: 1.0
+  virtual-compute-desc:
+  - id: mgmtVM-compute
+    virtual-cpu:
+      num-virtual-cpu: 1
+    virtual-memory:
+      size: 1.0
+  virtual-storage-desc:
+  - id: mgmtVM-storage
+    size-of-storage: 10
+  vnf-configuration:
+  - config-access:
+      ssh-access:
+        default-user: ubuntu
+        required: true
+    config-primitive:
+    - name: touch
+      parameter:
+      - data-type: STRING
+        default-value: /home/ubuntu/touched
+        name: filename
+    id: default-vnf-configuration
+    initial-config-primitive:
+    - name: config
+      parameter:
+      - name: ssh-hostname
+        value: <rw_mgmt_ip>
+      - name: ssh-username
+        value: ubuntu
+      seq: 1
+    - name: touch
+      parameter:
+      - data-type: STRING
+        name: filename
+        value: /home/ubuntu/first-touch
+      seq: 2
+    juju:
+      charm: simple
+      cloud: k8s
diff --git a/charm-packages/nopasswd_proxy_charm_ns/nopasswd_proxy_charm_nsd.yaml b/charm-packages/nopasswd_proxy_charm_ns/nopasswd_proxy_charm_nsd.yaml
old mode 100755
new mode 100644
index 7edea372bfab07238c3091bd3bc9e946e428e28b..859525bedcdb4e23f0fd438840f8c5ab6dc8f262
--- a/charm-packages/nopasswd_proxy_charm_ns/nopasswd_proxy_charm_nsd.yaml
+++ b/charm-packages/nopasswd_proxy_charm_ns/nopasswd_proxy_charm_nsd.yaml
@@ -1,39 +1,37 @@
-nsd:nsd-catalog:
-    nsd:
-    -   id: nopasswd_proxy_charm-ns
-        name: nopasswd_proxy_charm-ns
-        short-name: nopasswd_proxy_charm-ns
-        description: NS with 2 VNFs with cloudinit connected by datanet and mgmtnet VLs
-        version: '1.0'
-        logo: osm.png
-        constituent-vnfd:
-        -   vnfd-id-ref: nopasswd_proxy_charm-vnf
-            member-vnf-index: '1'
-        -   vnfd-id-ref: nopasswd_proxy_charm-vnf
-            member-vnf-index: '2'
-        vld:
-        -   id: mgmtnet
-            name: mgmtnet
-            short-name: mgmtnet
-            type: ELAN
-            mgmt-network: 'true'
-            vim-network-name: osm-ext
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: nopasswd_proxy_charm-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: vnf-mgmt
-            -   vnfd-id-ref: nopasswd_proxy_charm-vnf
-                member-vnf-index-ref: '2'
-                vnfd-connection-point-ref: vnf-mgmt
-        -   id: datanet
-            name: datanet
-            short-name: datanet
-            type: ELAN
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: nopasswd_proxy_charm-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: vnf-data
-            -   vnfd-id-ref: nopasswd_proxy_charm-vnf
-                member-vnf-index-ref: '2'
-                vnfd-connection-point-ref: vnf-data
-
+nsd:
+  nsd:
+  - description: NS with 2 VNFs with cloudinit 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: mgmtnet
+        - constituent-cpd-id:
+          - constituent-base-element-id: '1'
+            constituent-cpd-id: vnf-data-ext
+          virtual-link-profile-id: datanet
+        vnfd-id: nopasswd_proxy_charm-vnf
+      - id: '2'
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: '2'
+            constituent-cpd-id: vnf-mgmt-ext
+          virtual-link-profile-id: mgmtnet
+        - constituent-cpd-id:
+          - constituent-base-element-id: '2'
+            constituent-cpd-id: vnf-data-ext
+          virtual-link-profile-id: datanet
+        vnfd-id: nopasswd_proxy_charm-vnf
+    id: nopasswd_proxy_charm-ns
+    name: nopasswd_proxy_charm-ns
+    version: '1.0'
+    virtual-link-desc:
+    - id: mgmtnet
+      mgmt-network: 'true'
+    - id: datanet
+    vnfd-id:
+    - nopasswd_proxy_charm-vnf
diff --git a/charm-packages/nopasswd_proxy_charm_vnf/nopasswd_proxy_charm_vnfd.yaml b/charm-packages/nopasswd_proxy_charm_vnf/nopasswd_proxy_charm_vnfd.yaml
index f5765faa36945a072e883353f90c3bf26c825266..c86a8767fc799743ddb88dfbd13a2c146b28339b 100644
--- a/charm-packages/nopasswd_proxy_charm_vnf/nopasswd_proxy_charm_vnfd.yaml
+++ b/charm-packages/nopasswd_proxy_charm_vnf/nopasswd_proxy_charm_vnfd.yaml
@@ -1,69 +1,89 @@
-vnfd:vnfd-catalog:
-    vnfd:
-    -   id: nopasswd_proxy_charm-vnf
-        name: nopasswd_proxy_charm-vnf
-        short-name: nopasswd_proxy_charm-vnf
-        version: 1.0
-        description: A VNF consisting of 1 VDU connected to two external VL, and one for data and another one for management
-        logo: osm.png
-        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
-        mgmt-interface:
-            cp: vnf-mgmt
-        vdu:
-        -   id: mgmtVM
-            name: mgmtVM
-            image: ubuntu18.04
-            count: 1
-            vm-flavor:
-                vcpu-count: 1
-                memory-mb: 1024
-                storage-gb: 10
-            interface:
-            -   name: mgmtVM-eth0
-                position: 1
-                type: EXTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                external-connection-point-ref: vnf-mgmt
-            -   name: dataVM-xe0
-                position: 2
-                type: EXTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                external-connection-point-ref: vnf-data
-            cloud-init-file: cloud-config.txt
-        vnf-configuration:
-            juju:
-                charm: simple
-            initial-config-primitive:
-            -   seq: 1
-                name: config
-                parameter:
-                -   name: ssh-hostname
-                    value: <rw_mgmt_ip>
-                -   name: ssh-username
-                    value: ubuntu
-            -   seq: 2
-                name: touch
-                parameter:
-                -   name: filename
-                    data-type: STRING
-                    value: '/home/ubuntu/first-touch'
-            config-primitive:
-            -   name: touch
-                parameter:
-                -   name: filename
-                    data-type: STRING
-                    default-value: '/home/ubuntu/touched'
-            config-access:
-                ssh-access:
-                    default-user: ubuntu
-                    required: true
\ No newline at end of file
+vnfd:
+  description: A VNF consisting of 1 VDU connected to two external VL, and one for
+    data and another one for management
+  df:
+  - id: default-df
+    instantiation-level:
+    - id: default-instantiation-level
+      vdu-level:
+      - number-of-instances: 1
+        vdu-id: mgmtVM
+    vdu-profile:
+    - id: mgmtVM
+      min-number-of-instances: 1
+    vnf-configuration-id: default-vnf-configuration
+  ext-cpd:
+  - id: vnf-mgmt-ext
+    int-cpd:
+      cpd: mgmtVM-eth0-int
+      vdu-id: mgmtVM
+  - id: vnf-data-ext
+    int-cpd:
+      cpd: dataVM-xe0-int
+      vdu-id: mgmtVM
+  id: nopasswd_proxy_charm-vnf
+  mgmt-cp: vnf-mgmt-ext
+  product-name: nopasswd_proxy_charm-vnf
+  sw-image-desc:
+  - id: ubuntu18.04
+    image: ubuntu18.04
+    name: ubuntu18.04
+  vdu:
+  - cloud-init-file: cloud-config.txt
+    id: mgmtVM
+    int-cpd:
+    - id: mgmtVM-eth0-int
+      virtual-network-interface-requirement:
+      - name: mgmtVM-eth0
+        position: 1
+        virtual-interface:
+          type: PARAVIRT
+    - id: dataVM-xe0-int
+      virtual-network-interface-requirement:
+      - name: dataVM-xe0
+        position: 2
+        virtual-interface:
+          type: PARAVIRT
+    name: mgmtVM
+    sw-image-desc: ubuntu18.04
+    virtual-compute-desc: mgmtVM-compute
+    virtual-storage-desc:
+    - mgmtVM-storage
+  version: 1.0
+  virtual-compute-desc:
+  - id: mgmtVM-compute
+    virtual-cpu:
+      num-virtual-cpu: 1
+    virtual-memory:
+      size: 1.0
+  virtual-storage-desc:
+  - id: mgmtVM-storage
+    size-of-storage: 10
+  vnf-configuration:
+  - config-access:
+      ssh-access:
+        default-user: ubuntu
+        required: true
+    config-primitive:
+    - name: touch
+      parameter:
+      - data-type: STRING
+        default-value: /home/ubuntu/touched
+        name: filename
+    id: default-vnf-configuration
+    initial-config-primitive:
+    - name: config
+      parameter:
+      - name: ssh-hostname
+        value: <rw_mgmt_ip>
+      - name: ssh-username
+        value: ubuntu
+      seq: 1
+    - name: touch
+      parameter:
+      - data-type: STRING
+        name: filename
+        value: /home/ubuntu/first-touch
+      seq: 2
+    juju:
+      charm: simple
diff --git a/charm-packages/ns_relations_ns/ns_relations_nsd.yaml b/charm-packages/ns_relations_ns/ns_relations_nsd.yaml
old mode 100755
new mode 100644
index c3f264c9f97c6532a974512ae6f4aa5ae5f76eaa..6a10331c5c314038f0f7c1ed04e496f45b72450a
--- a/charm-packages/ns_relations_ns/ns_relations_nsd.yaml
+++ b/charm-packages/ns_relations_ns/ns_relations_nsd.yaml
@@ -1,36 +1,37 @@
-nsd:nsd-catalog:
-    nsd:
-    -   id: ns_relations-ns
-        name: ns_relations-ns
-        short-name: ns_relations-ns
-        description: NS with 2 VNFs with cloudinit connected by datanet and mgmtnet VLs
-        version: '1.0'
-        logo: osm.png
-        constituent-vnfd:
-        -   vnfd-id-ref: ns_relations_provides-vnf
-            member-vnf-index: '1'
-        -   vnfd-id-ref: ns_relations_requires-vnf
-            member-vnf-index: '2'
-        vld:
-        -   id: mgmtnet
-            name: mgmtnet
-            short-name: mgmtnet
-            type: ELAN
-            mgmt-network: 'true'
-            vim-network-name: osm-ext
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: ns_relations_provides-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: provides-mgmt
-            -   vnfd-id-ref: ns_relations_requires-vnf
-                member-vnf-index-ref: '2'
-                vnfd-connection-point-ref: requires-mgmt
-
-        ns-configuration:
-            relation:
-            -   name: relation
-                entities:
-                -   id: '1'
-                    endpoint: interface
-                -   id: '2'
-                    endpoint: interface
\ No newline at end of file
+nsd:
+  nsd:
+  - description: NS with 2 VNFs with cloudinit 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: provides-mgmt-ext
+          virtual-link-profile-id: mgmtnet
+        vnfd-id: ns_relations_provides-vnf
+      - id: '2'
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: '2'
+            constituent-cpd-id: requires-mgmt-ext
+          virtual-link-profile-id: mgmtnet
+        vnfd-id: ns_relations_requires-vnf
+    id: ns_relations-ns
+    name: ns_relations-ns
+    version: '1.0'
+    virtual-link-desc:
+    - id: mgmtnet
+      mgmt-network: 'true'
+    vnfd-id:
+    - ns_relations_provides-vnf
+    - ns_relations_requires-vnf
+    ns-configuration:
+      relation:
+      - name: relation
+        entities:
+        - id: '1'
+          endpoint: interface
+        - id: '2'
+          endpoint: interface
diff --git a/charm-packages/ns_relations_provides_vnf/ns_relations_provides_vnfd.yaml b/charm-packages/ns_relations_provides_vnf/ns_relations_provides_vnfd.yaml
index ff47fe87f66ed79141e623fff8d2f0d7b7a549dd..06e2fde7c6d6b20ceb78c854896d581e983437e0 100644
--- a/charm-packages/ns_relations_provides_vnf/ns_relations_provides_vnfd.yaml
+++ b/charm-packages/ns_relations_provides_vnf/ns_relations_provides_vnfd.yaml
@@ -1,53 +1,73 @@
-vnfd:vnfd-catalog:
-    vnfd:
-    -   id: ns_relations_provides-vnf
-        name: ns_relations_provides-vnf
-        short-name: ns_relations_provides-vnf
-        version: 1.0
-        description: A VNF consisting of 1 VDU connected to two external VL, and one for data and another one for management
-        logo: osm.png
-        connection-point:
-        -   id: provides-mgmt
-            name: provides-mgmt
-            short-name: provides-mgmt
-            type: VPORT
-        mgmt-interface:
-            cp: provides-mgmt
-        vdu:
-        -   id: simple_provides
-            name: simple_provides
-            image: ubuntu18.04
-            count: 1
-            vm-flavor:
-                vcpu-count: 1
-                memory-mb: 1024
-                storage-gb: 10
-            interface:
-            -   name: simple_provides-eth0
-                position: 1
-                type: EXTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                external-connection-point-ref: provides-mgmt
-            cloud-init-file: cloud-config.txt
-        vnf-configuration:
-            juju:
-                charm: simple_provides
-                proxy: false
-            config-access:
-                ssh-access:
-                    required: True
-                    default-user: ubuntu
-            initial-config-primitive:
-            -   seq: 1
-                name: touch
-                parameter:
-                -   name: filename
-                    data-type: STRING
-                    value: '/home/ubuntu/first-touch'
-            config-primitive:
-            -   name: touch
-                parameter:
-                -   name: filename
-                    data-type: STRING
-                    default-value: '/home/ubuntu/touched'
+vnfd:
+  description: A VNF consisting of 1 VDU connected to two external VL, and one for
+    data and another one for management
+  df:
+  - id: default-df
+    instantiation-level:
+    - id: default-instantiation-level
+      vdu-level:
+      - number-of-instances: 1
+        vdu-id: simple_provides
+    vdu-profile:
+    - id: simple_provides
+      min-number-of-instances: 1
+    vnf-configuration-id: default-vnf-configuration
+  ext-cpd:
+  - id: provides-mgmt-ext
+    int-cpd:
+      cpd: simple_provides-eth0-int
+      vdu-id: simple_provides
+  id: ns_relations_provides-vnf
+  mgmt-cp: provides-mgmt-ext
+  product-name: ns_relations_provides-vnf
+  sw-image-desc:
+  - id: ubuntu18.04
+    image: ubuntu18.04
+    name: ubuntu18.04
+  vdu:
+  - cloud-init-file: cloud-config.txt
+    id: simple_provides
+    int-cpd:
+    - id: simple_provides-eth0-int
+      virtual-network-interface-requirement:
+      - name: simple_provides-eth0
+        position: 1
+        virtual-interface:
+          type: PARAVIRT
+    name: simple_provides
+    sw-image-desc: ubuntu18.04
+    virtual-compute-desc: simple_provides-compute
+    virtual-storage-desc:
+    - simple_provides-storage
+  version: 1.0
+  virtual-compute-desc:
+  - id: simple_provides-compute
+    virtual-cpu:
+      num-virtual-cpu: 1
+    virtual-memory:
+      size: 1.0
+  virtual-storage-desc:
+  - id: simple_provides-storage
+    size-of-storage: 10
+  vnf-configuration:
+  - config-access:
+      ssh-access:
+        default-user: ubuntu
+        required: true
+    config-primitive:
+    - name: touch
+      parameter:
+      - data-type: STRING
+        default-value: /home/ubuntu/touched
+        name: filename
+    id: default-vnf-configuration
+    initial-config-primitive:
+    - name: touch
+      parameter:
+      - data-type: STRING
+        name: filename
+        value: /home/ubuntu/first-touch
+      seq: 1
+    juju:
+      charm: simple_provides
+      proxy: false
diff --git a/charm-packages/ns_relations_requires_vnf/ns_relations_requires_vnfd.yaml b/charm-packages/ns_relations_requires_vnf/ns_relations_requires_vnfd.yaml
index ae9ce1680c5fa950871a2e74f5bd73b2fcb95bb9..cf61060ad536283aa88f37576a49ce61c88d140d 100644
--- a/charm-packages/ns_relations_requires_vnf/ns_relations_requires_vnfd.yaml
+++ b/charm-packages/ns_relations_requires_vnf/ns_relations_requires_vnfd.yaml
@@ -1,53 +1,73 @@
-vnfd:vnfd-catalog:
-    vnfd:
-    -   id: ns_relations_requires-vnf
-        name: ns_relations_requires-vnf
-        short-name: ns_relations_requires-vnf
-        version: 1.0
-        description: A VNF consisting of 1 VDU connected to two external VL, and one for data and another one for management
-        logo: osm.png
-        connection-point:
-        -   id: requires-mgmt
-            name: requires-mgmt
-            short-name: requires-mgmt
-            type: VPORT
-        mgmt-interface:
-            cp: requires-mgmt
-        vdu:
-        -   id: simple_requires
-            name: simple_requires
-            image: ubuntu18.04
-            count: 1
-            vm-flavor:
-                vcpu-count: 1
-                memory-mb: 1024
-                storage-gb: 10
-            interface:
-            -   name: simple_requires-eth0
-                position: 1
-                type: EXTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                external-connection-point-ref: requires-mgmt
-            cloud-init-file: cloud-config.txt
-        vnf-configuration:
-            juju:
-                charm: simple_requires
-                proxy: false
-            config-access:
-                ssh-access:
-                    required: True
-                    default-user: ubuntu
-            initial-config-primitive:
-            -   seq: 1
-                name: touch
-                parameter:
-                -   name: filename
-                    data-type: STRING
-                    value: '/home/ubuntu/first-touch'
-            config-primitive:
-            -   name: touch
-                parameter:
-                -   name: filename
-                    data-type: STRING
-                    default-value: '/home/ubuntu/touched'
+vnfd:
+  description: A VNF consisting of 1 VDU connected to two external VL, and one for
+    data and another one for management
+  df:
+  - id: default-df
+    instantiation-level:
+    - id: default-instantiation-level
+      vdu-level:
+      - number-of-instances: 1
+        vdu-id: simple_requires
+    vdu-profile:
+    - id: simple_requires
+      min-number-of-instances: 1
+    vnf-configuration-id: default-vnf-configuration
+  ext-cpd:
+  - id: requires-mgmt-ext
+    int-cpd:
+      cpd: simple_requires-eth0-int
+      vdu-id: simple_requires
+  id: ns_relations_requires-vnf
+  mgmt-cp: requires-mgmt-ext
+  product-name: ns_relations_requires-vnf
+  sw-image-desc:
+  - id: ubuntu18.04
+    image: ubuntu18.04
+    name: ubuntu18.04
+  vdu:
+  - cloud-init-file: cloud-config.txt
+    id: simple_requires
+    int-cpd:
+    - id: simple_requires-eth0-int
+      virtual-network-interface-requirement:
+      - name: simple_requires-eth0
+        position: 1
+        virtual-interface:
+          type: PARAVIRT
+    name: simple_requires
+    sw-image-desc: ubuntu18.04
+    virtual-compute-desc: simple_requires-compute
+    virtual-storage-desc:
+    - simple_requires-storage
+  version: 1.0
+  virtual-compute-desc:
+  - id: simple_requires-compute
+    virtual-cpu:
+      num-virtual-cpu: 1
+    virtual-memory:
+      size: 1.0
+  virtual-storage-desc:
+  - id: simple_requires-storage
+    size-of-storage: 10
+  vnf-configuration:
+  - config-access:
+      ssh-access:
+        default-user: ubuntu
+        required: true
+    config-primitive:
+    - name: touch
+      parameter:
+      - data-type: STRING
+        default-value: /home/ubuntu/touched
+        name: filename
+    id: default-vnf-configuration
+    initial-config-primitive:
+    - name: touch
+      parameter:
+      - data-type: STRING
+        name: filename
+        value: /home/ubuntu/first-touch
+      seq: 1
+    juju:
+      charm: simple_requires
+      proxy: false
diff --git a/charm-packages/proxy_native_relation_ns/proxy_native_relation_nsd.yaml b/charm-packages/proxy_native_relation_ns/proxy_native_relation_nsd.yaml
old mode 100755
new mode 100644
index 74d88c4456ded779566a13bf3263dfcb8683a48d..4039eb76a10c88965107ccfcd42fc468f1c7adce
--- a/charm-packages/proxy_native_relation_ns/proxy_native_relation_nsd.yaml
+++ b/charm-packages/proxy_native_relation_ns/proxy_native_relation_nsd.yaml
@@ -1,26 +1,23 @@
-nsd:nsd-catalog:
-    nsd:
-    -   id: proxy_native_relation-ns
-        name: proxy_native_relation-ns
-        short-name: proxy_native_relation-ns
-        description: NS with 2 VNFs with cloudinit connected by datanet and mgmtnet VLs
-        version: '1.0'
-        logo: osm.png
-        constituent-vnfd:
-        -   vnfd-id-ref: proxy_native_relation-vnf
-            member-vnf-index: '1'
-        vld:
-        -   id: mgmtnet
-            name: mgmtnet
-            short-name: mgmtnet
-            type: ELAN
-            mgmt-network: 'true'
-            vim-network-name: osm-ext
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: proxy_native_relation-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: provides-mgmt
-            -   vnfd-id-ref: proxy_native_relation-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: requires-mgmt
-
+nsd:
+  nsd:
+  - description: NS with 2 VNFs with cloudinit 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: provides-mgmt-ext
+          - constituent-base-element-id: '1'
+            constituent-cpd-id: requires-mgmt-ext
+          virtual-link-profile-id: mgmtnet
+        vnfd-id: proxy_native_relation-vnf
+    id: proxy_native_relation-ns
+    name: proxy_native_relation-ns
+    version: '1.0'
+    virtual-link-desc:
+    - id: mgmtnet
+      mgmt-network: 'true'
+    vnfd-id:
+    - proxy_native_relation-vnf
diff --git a/charm-packages/proxy_native_relation_vnf/proxy_native_relation_vnfd.yaml b/charm-packages/proxy_native_relation_vnf/proxy_native_relation_vnfd.yaml
index a9a6ec2171f3e1da79ed3d79f6f0357f3c444c71..d0789e5fa7b173b3c6ecbbda2f7a3d90da808c5c 100644
--- a/charm-packages/proxy_native_relation_vnf/proxy_native_relation_vnfd.yaml
+++ b/charm-packages/proxy_native_relation_vnf/proxy_native_relation_vnfd.yaml
@@ -1,110 +1,139 @@
-vnfd:vnfd-catalog:
-    vnfd:
-    -   id: proxy_native_relation-vnf
-        name: proxy_native_relation-vnf
-        short-name: proxy_native_relation-vnf
-        version: 1.0
-        description: A VNF consisting of 1 VDU connected to two external VL, and one for data and another one for management
-        logo: osm.png
-        connection-point:
-        -   id: requires-mgmt
-            name: requires-mgmt
-            short-name: requires-mgmt
-            type: VPORT
-        -   id: provides-mgmt
-            name: provides-mgmt
-            short-name: provides-mgmt
-            type: VPORT
-        mgmt-interface:
-            cp: provides-mgmt
-        vdu:
-        -   id: simple_requires
-            name: simple_requires
-            image: ubuntu18.04
-            count: 1
-            vm-flavor:
-                vcpu-count: 1
-                memory-mb: 1024
-                storage-gb: 10
-            interface:
-            -   name: simple_requires-eth0
-                position: 1
-                type: EXTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                external-connection-point-ref: requires-mgmt
-                mgmt-interface: true
-            cloud-init-file: cloud-config.txt
-            vdu-configuration:
-                juju:
-                    charm: simple_requires
-                    proxy: false
-                config-access:
-                    ssh-access:
-                        required: True
-                        default-user: ubuntu
-                initial-config-primitive:
-                -   seq: 1
-                    name: touch
-                    parameter:
-                    -   name: filename
-                        data-type: STRING
-                        value: '/home/ubuntu/first-touch'
-                config-primitive:
-                -   name: touch
-                    parameter:
-                    -   name: filename
-                        data-type: STRING
-                        default-value: '/home/ubuntu/touched'
-        -   id: simple_provides
-            name: simple_provides
-            image: ubuntu18.04
-            count: 1
-            vm-flavor:
-                vcpu-count: 1
-                memory-mb: 1024
-                storage-gb: 10
-            interface:
-            -   name: simple_provides-eth0
-                position: 1
-                type: EXTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                external-connection-point-ref: provides-mgmt
-                mgmt-interface: true
-            cloud-init-file: cloud-config.txt
-        vnf-configuration:
-            juju:
-                charm: simple_provides_proxy
-                proxy: true
-            config-access:
-                ssh-access:
-                    required: True
-                    default-user: ubuntu
-            initial-config-primitive:
-            -   seq: 1
-                name: config
-                parameter:
-                -   name: ssh-hostname
-                    value: <rw_mgmt_ip>
-                -   name: ssh-username
-                    value: ubuntu
-            -   seq: 2
-                name: touch
-                parameter:
-                -   name: filename
-                    data-type: STRING
-                    value: '/home/ubuntu/first-touch'
-            config-primitive:
-            -   name: touch
-                parameter:
-                -   name: filename
-                    data-type: STRING
-                    default-value: '/home/ubuntu/touched'
-            relation:
-            -   name: relation
-                entities:
-                -   id: proxy_native_relation-vnf
-                    endpoint: interface
-                -   id: simple_requires
-                    endpoint: interface
\ No newline at end of file
+vnfd:
+  description: A VNF consisting of 1 VDU connected to two external VL, and one for
+    data and another one for management
+  df:
+  - id: default-df
+    instantiation-level:
+    - id: default-instantiation-level
+      vdu-level:
+      - number-of-instances: 1
+        vdu-id: simple_requires
+      - number-of-instances: 1
+        vdu-id: simple_provides
+    vdu-profile:
+    - id: simple_requires
+      min-number-of-instances: 1
+      vdu-configuration-id: simple_requires-vdu-configuration
+    - id: simple_provides
+      min-number-of-instances: 1
+    vnf-configuration-id: default-vnf-configuration
+  ext-cpd:
+  - id: requires-mgmt-ext
+    int-cpd:
+      cpd: simple_requires-eth0-int
+      vdu-id: simple_requires
+  - id: provides-mgmt-ext
+    int-cpd:
+      cpd: simple_provides-eth0-int
+      vdu-id: simple_provides
+  id: proxy_native_relation-vnf
+  mgmt-cp: provides-mgmt-ext
+  product-name: proxy_native_relation-vnf
+  sw-image-desc:
+  - id: ubuntu18.04
+    image: ubuntu18.04
+    name: ubuntu18.04
+  vdu:
+  - cloud-init-file: cloud-config.txt
+    id: simple_requires
+    int-cpd:
+    - id: simple_requires-eth0-int
+      virtual-network-interface-requirement:
+      - name: simple_requires-eth0
+        position: 1
+        virtual-interface:
+          type: PARAVIRT
+    name: simple_requires
+    sw-image-desc: ubuntu18.04
+    virtual-compute-desc: simple_requires-compute
+    virtual-storage-desc:
+    - simple_requires-storage
+  - cloud-init-file: cloud-config.txt
+    id: simple_provides
+    int-cpd:
+    - id: simple_provides-eth0-int
+      virtual-network-interface-requirement:
+      - name: simple_provides-eth0
+        position: 1
+        virtual-interface:
+          type: PARAVIRT
+    name: simple_provides
+    sw-image-desc: ubuntu18.04
+    virtual-compute-desc: simple_provides-compute
+    virtual-storage-desc:
+    - simple_provides-storage
+  vdu-configuration:
+  - config-access:
+      ssh-access:
+        default-user: ubuntu
+        required: true
+    config-primitive:
+    - name: touch
+      parameter:
+      - data-type: STRING
+        default-value: /home/ubuntu/touched
+        name: filename
+    id: simple_requires-vdu-configuration
+    initial-config-primitive:
+    - name: touch
+      parameter:
+      - data-type: STRING
+        name: filename
+        value: /home/ubuntu/first-touch
+      seq: 1
+    juju:
+      charm: simple_requires
+      proxy: false
+  version: 1.0
+  virtual-compute-desc:
+  - id: simple_requires-compute
+    virtual-cpu:
+      num-virtual-cpu: 1
+    virtual-memory:
+      size: 1.0
+  - id: simple_provides-compute
+    virtual-cpu:
+      num-virtual-cpu: 1
+    virtual-memory:
+      size: 1.0
+  virtual-storage-desc:
+  - id: simple_requires-storage
+    size-of-storage: 10
+  - id: simple_provides-storage
+    size-of-storage: 10
+  vnf-configuration:
+  - config-access:
+      ssh-access:
+        default-user: ubuntu
+        required: true
+    config-primitive:
+    - name: touch
+      parameter:
+      - data-type: STRING
+        default-value: /home/ubuntu/touched
+        name: filename
+    id: default-vnf-configuration
+    initial-config-primitive:
+    - name: config
+      parameter:
+      - name: ssh-hostname
+        value: <rw_mgmt_ip>
+      - name: ssh-username
+        value: ubuntu
+      seq: 1
+    - name: touch
+      parameter:
+      - data-type: STRING
+        name: filename
+        value: /home/ubuntu/first-touch
+      seq: 2
+    juju:
+      charm: simple_provides_proxy
+      proxy: true
+    relation:
+    - entities:
+      - endpoint: interface
+        id: proxy_native_relation-vnf
+      - endpoint: interface
+        id: simple_requires
+      name: relation
diff --git a/charm-packages/vnf_relations_ns/vnf_relations_nsd.yaml b/charm-packages/vnf_relations_ns/vnf_relations_nsd.yaml
old mode 100755
new mode 100644
index e1577933b8b28c9b177f104b8f050ad5b988405f..a4578c5be4ce175423d60c1fb430db96b35a1d0e
--- a/charm-packages/vnf_relations_ns/vnf_relations_nsd.yaml
+++ b/charm-packages/vnf_relations_ns/vnf_relations_nsd.yaml
@@ -1,26 +1,23 @@
-nsd:nsd-catalog:
-    nsd:
-    -   id: vnf_relations-ns
-        name: vnf_relations-ns
-        short-name: vnf_relations-ns
-        description: NS with 2 VNFs with cloudinit connected by datanet and mgmtnet VLs
-        version: '1.0'
-        logo: osm.png
-        constituent-vnfd:
-        -   vnfd-id-ref: vnf_relations-vnf
-            member-vnf-index: '1'
-        vld:
-        -   id: mgmtnet
-            name: mgmtnet
-            short-name: mgmtnet
-            type: ELAN
-            mgmt-network: 'true'
-            vim-network-name: osm-ext
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: vnf_relations-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: provides-mgmt
-            -   vnfd-id-ref: vnf_relations-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: requires-mgmt
-
+nsd:
+  nsd:
+  - description: NS with 2 VNFs with cloudinit 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: provides-mgmt-ext
+          - constituent-base-element-id: '1'
+            constituent-cpd-id: requires-mgmt-ext
+          virtual-link-profile-id: mgmtnet
+        vnfd-id: vnf_relations-vnf
+    id: vnf_relations-ns
+    name: vnf_relations-ns
+    version: '1.0'
+    virtual-link-desc:
+    - id: mgmtnet
+      mgmt-network: 'true'
+    vnfd-id:
+    - vnf_relations-vnf
diff --git a/charm-packages/vnf_relations_vnf/vnf_relations_vnfd.yaml b/charm-packages/vnf_relations_vnf/vnf_relations_vnfd.yaml
index aea8f3192fb4a6a25b6d4168d648ee55865b0d8a..c38755fbcc28a90db95920510ab36f37fc17c974 100644
--- a/charm-packages/vnf_relations_vnf/vnf_relations_vnfd.yaml
+++ b/charm-packages/vnf_relations_vnf/vnf_relations_vnfd.yaml
@@ -1,104 +1,134 @@
-vnfd:vnfd-catalog:
-    vnfd:
-    -   id: vnf_relations-vnf
-        name: vnf_relations-vnf
-        short-name: vnf_relations-vnf
-        version: 1.0
-        description: A VNF consisting of 1 VDU connected to two external VL, and one for data and another one for management
-        logo: osm.png
-        connection-point:
-        -   id: requires-mgmt
-            name: requires-mgmt
-            short-name: requires-mgmt
-            type: VPORT
-        -   id: provides-mgmt
-            name: provides-mgmt
-            short-name: provides-mgmt
-            type: VPORT
-        mgmt-interface:
-            cp: requires-mgmt
-        vdu:
-        -   id: simple_requires
-            name: simple_requires
-            image: ubuntu18.04
-            count: 1
-            vm-flavor:
-                vcpu-count: 1
-                memory-mb: 1024
-                storage-gb: 10
-            interface:
-            -   name: simple_requires-eth0
-                position: 1
-                type: EXTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                external-connection-point-ref: requires-mgmt
-                mgmt-interface: true
-            cloud-init-file: cloud-config.txt
-            vdu-configuration:
-                juju:
-                    charm: simple_requires
-                    proxy: false
-                config-access:
-                    ssh-access:
-                        required: True
-                        default-user: ubuntu
-                initial-config-primitive:
-                -   seq: 1
-                    name: touch
-                    parameter:
-                    -   name: filename
-                        data-type: STRING
-                        value: '/home/ubuntu/first-touch'
-                config-primitive:
-                -   name: touch
-                    parameter:
-                    -   name: filename
-                        data-type: STRING
-                        default-value: '/home/ubuntu/touched'
-        -   id: simple_provides
-            name: simple_provides
-            image: ubuntu18.04
-            count: 1
-            vm-flavor:
-                vcpu-count: 1
-                memory-mb: 1024
-                storage-gb: 10
-            interface:
-            -   name: simple_provides-eth0
-                position: 1
-                type: EXTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                external-connection-point-ref: provides-mgmt
-                mgmt-interface: true
-            cloud-init-file: cloud-config.txt
-            vdu-configuration:
-                juju:
-                    charm: simple_provides
-                    proxy: false
-                config-access:
-                    ssh-access:
-                        required: True
-                        default-user: ubuntu
-                initial-config-primitive:
-                -   seq: 1
-                    name: touch
-                    parameter:
-                    -   name: filename
-                        data-type: STRING
-                        value: '/home/ubuntu/first-touch'
-                config-primitive:
-                -   name: touch
-                    parameter:
-                    -   name: filename
-                        data-type: STRING
-                        default-value: '/home/ubuntu/touched'
-        vnf-configuration:
-            relation:
-            -   name: relation
-                entities:
-                -   id: simple_provides
-                    endpoint: interface
-                -   id: simple_requires
-                    endpoint: interface
\ No newline at end of file
+vnfd:
+  description: A VNF consisting of 1 VDU connected to two external VL, and one for
+    data and another one for management
+  df:
+  - id: default-df
+    instantiation-level:
+    - id: default-instantiation-level
+      vdu-level:
+      - number-of-instances: 1
+        vdu-id: simple_requires
+      - number-of-instances: 1
+        vdu-id: simple_provides
+    vdu-profile:
+    - id: simple_requires
+      min-number-of-instances: 1
+      vdu-configuration-id: simple_requires-vdu-configuration
+    - id: simple_provides
+      min-number-of-instances: 1
+      vdu-configuration-id: simple_provides-vdu-configuration
+    vnf-configuration-id: default-vnf-configuration
+  ext-cpd:
+  - id: requires-mgmt-ext
+    int-cpd:
+      cpd: simple_requires-eth0-int
+      vdu-id: simple_requires
+  - id: provides-mgmt-ext
+    int-cpd:
+      cpd: simple_provides-eth0-int
+      vdu-id: simple_provides
+  id: vnf_relations-vnf
+  mgmt-cp: requires-mgmt-ext
+  product-name: vnf_relations-vnf
+  sw-image-desc:
+  - id: ubuntu18.04
+    image: ubuntu18.04
+    name: ubuntu18.04
+  vdu:
+  - cloud-init-file: cloud-config.txt
+    id: simple_requires
+    int-cpd:
+    - id: simple_requires-eth0-int
+      virtual-network-interface-requirement:
+      - name: simple_requires-eth0
+        position: 1
+        virtual-interface:
+          type: PARAVIRT
+    name: simple_requires
+    sw-image-desc: ubuntu18.04
+    virtual-compute-desc: simple_requires-compute
+    virtual-storage-desc:
+    - simple_requires-storage
+  - cloud-init-file: cloud-config.txt
+    id: simple_provides
+    int-cpd:
+    - id: simple_provides-eth0-int
+      virtual-network-interface-requirement:
+      - name: simple_provides-eth0
+        position: 1
+        virtual-interface:
+          type: PARAVIRT
+    name: simple_provides
+    sw-image-desc: ubuntu18.04
+    virtual-compute-desc: simple_provides-compute
+    virtual-storage-desc:
+    - simple_provides-storage
+  vdu-configuration:
+  - config-access:
+      ssh-access:
+        default-user: ubuntu
+        required: true
+    config-primitive:
+    - name: touch
+      parameter:
+      - data-type: STRING
+        default-value: /home/ubuntu/touched
+        name: filename
+    id: simple_requires-vdu-configuration
+    initial-config-primitive:
+    - name: touch
+      parameter:
+      - data-type: STRING
+        name: filename
+        value: /home/ubuntu/first-touch
+      seq: 1
+    juju:
+      charm: simple_requires
+      proxy: false
+  - config-access:
+      ssh-access:
+        default-user: ubuntu
+        required: true
+    config-primitive:
+    - name: touch
+      parameter:
+      - data-type: STRING
+        default-value: /home/ubuntu/touched
+        name: filename
+    id: simple_provides-vdu-configuration
+    initial-config-primitive:
+    - name: touch
+      parameter:
+      - data-type: STRING
+        name: filename
+        value: /home/ubuntu/first-touch
+      seq: 1
+    juju:
+      charm: simple_provides
+      proxy: false
+  version: 1.0
+  virtual-compute-desc:
+  - id: simple_requires-compute
+    virtual-cpu:
+      num-virtual-cpu: 1
+    virtual-memory:
+      size: 1.0
+  - id: simple_provides-compute
+    virtual-cpu:
+      num-virtual-cpu: 1
+    virtual-memory:
+      size: 1.0
+  virtual-storage-desc:
+  - id: simple_requires-storage
+    size-of-storage: 10
+  - id: simple_provides-storage
+    size-of-storage: 10
+  vnf-configuration:
+  - id: default-vnf-configuration
+    relation:
+    - entities:
+      - endpoint: interface
+        id: simple_provides
+      - endpoint: interface
+        id: simple_requires
+      name: relation
diff --git a/cirros_alarm_ns/cirros_alarm_nsd.yaml b/cirros_alarm_ns/cirros_alarm_nsd.yaml
index 4d0b9c34c266959a3e3df40403777230f0460ffe..40030c295259ca34aadbe2bc66068630e274b928 100644
--- a/cirros_alarm_ns/cirros_alarm_nsd.yaml
+++ b/cirros_alarm_ns/cirros_alarm_nsd.yaml
@@ -1,21 +1,22 @@
-nsd-catalog:
-    nsd:
-    -   id: cirros_alarm-ns
-        name: cirros_alarm-ns
-        short-name: cirros_alarm-ns
-        description: Simple NS example with a cirros_alarm-vnf
-        vendor: OSM
-        version: '1.0'
-        constituent-vnfd:
-        -   member-vnf-index: '1'
-            vnfd-id-ref: cirros_alarm-vnf
-        vld:
-        -   id: mgmtnet
-            name: mgmtnet
-            short-name: mgmtnet
-            type: ELAN
-            mgmt-network: true
-            vnfd-connection-point-ref:
-            -   member-vnf-index-ref: '1'
-                vnfd-id-ref: cirros_alarm-vnf
-                vnfd-connection-point-ref: eth0
+nsd:
+  nsd:
+  - description: Simple NS example with a cirros_alarm-vnf
+    designer: OSM
+    df:
+    - id: default-df
+      vnf-profile:
+      - id: '1'
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: '1'
+            constituent-cpd-id: eth0-ext
+          virtual-link-profile-id: mgmtnet
+        vnfd-id: cirros_alarm-vnf
+    id: cirros_alarm-ns
+    name: cirros_alarm-ns
+    version: '1.0'
+    virtual-link-desc:
+    - id: mgmtnet
+      mgmt-network: true
+    vnfd-id:
+    - cirros_alarm-vnf
diff --git a/cirros_alarm_vnf/cirros_alarm_vnfd.yaml b/cirros_alarm_vnf/cirros_alarm_vnfd.yaml
index f52b29a5f25c66bc9777c4f9a8bc3fd92cb67ab9..61c51084678a1d04e02f165c8b3bc7e7ed837ba9 100644
--- a/cirros_alarm_vnf/cirros_alarm_vnfd.yaml
+++ b/cirros_alarm_vnf/cirros_alarm_vnfd.yaml
@@ -1,62 +1,70 @@
-vnfd-catalog:
-    vnfd:
-    -   connection-point:
-        -   name: eth0
-            type: VPORT
-        description: Simple VNF example with a cirros and a VNF alarm
-        id: cirros_alarm-vnf
-        mgmt-interface:
-            cp: eth0
-        monitoring-param:
-        -   aggregation-type: AVERAGE
-            id: cirros_vnf_cpu_util
-            name: cirros_vnf_cpu_util
-            vdu-monitoring-param:
-                vdu-monitoring-param-ref: cirros_vnfd-VM_cpu_util
-                vdu-ref: cirros_vnfd-VM
-        -   aggregation-type: AVERAGE
-            id: cirros_vnf_average_memory_utilization
-            name: cirros_vnf_average_memory_utilization
-            vdu-monitoring-param:
-                vdu-monitoring-param-ref: cirros_vnfd-VM_average_memory_utilization
-                vdu-ref: cirros_vnfd-VM
-        name: cirros_alarm-vnf
-        short-name: cirros_alarm-vnf
-        vdu:
-        -   alarm:
-            -   alarm-id: alarm-1
-                operation: LT
-                value: 20
-                actions:
-                  alarm:
-                    - url: ${WEBHOOK_URL} 
-                  ok:
-                    - url: ${WEBHOOK_URL}
-                  insufficient-data:
-                    - url: ${WEBHOOK_URL}
-                vnf-monitoring-param-ref: cirros_vnf_cpu_util
-            count: 1
-            description: cirros_vnfd-VM
-            id: cirros_vnfd-VM
-            image: cirros-0.3.5-x86_64-disk.img
-            interface:
-            -   external-connection-point-ref: eth0
-                name: eth0
-                type: EXTERNAL
-                virtual-interface:
-                    bandwidth: 0
-                    type: VIRTIO
-                    vpci: 0000:00:0a.0
-            monitoring-param:
-            -   id: cirros_vnfd-VM_cpu_util
-                nfvi-metric: cpu_utilization
-            -   id: cirros_vnfd-VM_average_memory_utilization
-                nfvi-metric: average_memory_utilization
-            name: cirros_vnfd-VM
-            vm-flavor:
-                memory-mb: 256
-                storage-gb: 2
-                vcpu-count: 1
-        vendor: OSM
-        version: '1.0'
-
+vnfd:
+  description: Simple VNF example with a cirros and a VNF alarm
+  df:
+  - id: default-df
+    instantiation-level:
+    - id: default-instantiation-level
+      vdu-level:
+      - number-of-instances: 1
+        vdu-id: cirros_vnfd-VM
+    vdu-profile:
+    - id: cirros_vnfd-VM
+      min-number-of-instances: 1
+  ext-cpd:
+  - id: eth0-ext
+    int-cpd:
+      cpd: eth0-int
+      vdu-id: cirros_vnfd-VM
+  id: cirros_alarm-vnf
+  mgmt-cp: eth0-ext
+  product-name: cirros_alarm-vnf
+  provider: OSM
+  sw-image-desc:
+  - id: cirros-0.3.5-x86_64-disk.img
+    image: cirros-0.3.5-x86_64-disk.img
+    name: cirros-0.3.5-x86_64-disk.img
+  vdu:
+  - alarm:
+    - actions:
+        alarm:
+        - url: ${WEBHOOK_URL}
+        insufficient-data:
+        - url: ${WEBHOOK_URL}
+        ok:
+        - url: ${WEBHOOK_URL}
+      alarm-id: alarm-1
+      operation: LT
+      value: 20
+      vnf-monitoring-param-ref: cirros_vnf_cpu_util
+    description: cirros_vnfd-VM
+    id: cirros_vnfd-VM
+    int-cpd:
+    - id: eth0-int
+      virtual-network-interface-requirement:
+      - name: eth0
+        virtual-interface:
+          bandwidth: 0
+          type: VIRTIO
+          vpci: 0000:00:0a.0
+    monitoring-parameter:
+    - id: cirros_vnf_cpu_util
+      name: cirros_vnf_cpu_util
+      performance-metric: cpu_utilization
+    - id: cirros_vnf_average_memory_utilization
+      name: cirros_vnf_average_memory_utilization
+      performance-metric: average_memory_utilization
+    name: cirros_vnfd-VM
+    sw-image-desc: cirros-0.3.5-x86_64-disk.img
+    virtual-compute-desc: cirros_vnfd-VM-compute
+    virtual-storage-desc:
+    - cirros_vnfd-VM-storage
+  version: '1.0'
+  virtual-compute-desc:
+  - id: cirros_vnfd-VM-compute
+    virtual-cpu:
+      num-virtual-cpu: 1
+    virtual-memory:
+      size: 0.25
+  virtual-storage-desc:
+  - id: cirros_vnfd-VM-storage
+    size-of-storage: 2
diff --git a/epa_quota_ns/epa_quota_nsd.yaml b/epa_quota_ns/epa_quota_nsd.yaml
index dae22af3f123ecc43cd7ce3c870dfe6ed4df0494..c5d4a0cb8fb914ce6c081f95d7829302d6796c7e 100644
--- a/epa_quota_ns/epa_quota_nsd.yaml
+++ b/epa_quota_ns/epa_quota_nsd.yaml
@@ -1,22 +1,21 @@
-nsd-catalog:
-    nsd:
-    -   id: epa_quota-ns
-        name: epa_quota-ns
-        short-name: epa_quota-ns
-        description: Simple NS with a single VNF and a single VL
-        version: '1.0'
-        logo: osm.png
-        constituent-vnfd:
-        -   vnfd-id-ref: epa_quota-vnf
-            member-vnf-index: '1'
-        vld:
-        -   id: mgmtnet
-            name: mgmtnet
-            short-name: mgmtnet
-            type: ELAN
-            mgmt-network: true
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: epa_quota-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: vnf-cp0
-
+nsd:
+  nsd:
+  - description: Simple NS with a single VNF and a single VL
+    df:
+    - id: default-df
+      vnf-profile:
+      - id: '1'
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: '1'
+            constituent-cpd-id: vnf-cp0-ext
+          virtual-link-profile-id: mgmtnet
+        vnfd-id: epa_quota-vnf
+    id: epa_quota-ns
+    name: epa_quota-ns
+    version: '1.0'
+    virtual-link-desc:
+    - id: mgmtnet
+      mgmt-network: true
+    vnfd-id:
+    - epa_quota-vnf
diff --git a/epa_quota_vnf/epa_quota_vnfd.yaml b/epa_quota_vnf/epa_quota_vnfd.yaml
index efed21023976a5b8709f20700ecd349cc19348fd..1b1bfb5306eec8926ea48576b8942ebf148e66a9 100644
--- a/epa_quota_vnf/epa_quota_vnfd.yaml
+++ b/epa_quota_vnf/epa_quota_vnfd.yaml
@@ -1,39 +1,56 @@
-vnfd-catalog:
-    vnfd:
-    -   id: epa_quota-vnf
-        name: epa_quota-vnf
-        short-name: epa_quota-vnf
-        version: '1.0'
-        description: A basic VNF descriptor w/ one VDU and quota EPA
-        logo: osm.png
-        connection-point:
-        -   name: vnf-cp0
-            type: VPORT
-        vdu:
-        -   id: epa_quota-VM
-            name: epa_quota-VM
-            image: US1604
-            count: 1
-            vm-flavor:
-                vcpu-count: 2
-                memory-mb: 2048
-                storage-gb: 10
-            guest-epa:
-                mem-quota:
-                    limit: 2048
-                    reserve: 512
-                    shares: 20480
-                cpu-quota:
-                    reserve: 512
-                    shares: 3000
-                disk-io-quota:
-                    shares: 1000
-            interface:
-            -   name: vdu-eth0
-                type: EXTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                external-connection-point-ref: vnf-cp0
-        mgmt-interface:
-            cp: vnf-cp0
-
+vnfd:
+  description: A basic VNF descriptor w/ one VDU and quota EPA
+  df:
+  - id: default-df
+    instantiation-level:
+    - id: default-instantiation-level
+      vdu-level:
+      - number-of-instances: 1
+        vdu-id: epa_quota-VM
+    vdu-profile:
+    - id: epa_quota-VM
+      min-number-of-instances: 1
+  ext-cpd:
+  - id: vnf-cp0-ext
+    int-cpd:
+      cpd: vdu-eth0-int
+      vdu-id: epa_quota-VM
+  id: epa_quota-vnf
+  mgmt-cp: vnf-cp0-ext
+  product-name: epa_quota-vnf
+  sw-image-desc:
+  - id: US1604
+    image: US1604
+    name: US1604
+  vdu:
+  - id: epa_quota-VM
+    int-cpd:
+    - id: vdu-eth0-int
+      virtual-network-interface-requirement:
+      - name: vdu-eth0
+        virtual-interface:
+          type: PARAVIRT
+    name: epa_quota-VM
+    sw-image-desc: US1604
+    virtual-compute-desc: epa_quota-VM-compute
+    virtual-storage-desc:
+    - epa_quota-VM-storage
+  version: '1.0'
+  virtual-compute-desc:
+  - id: epa_quota-VM-compute
+    virtual-cpu:
+      cpu-quota:
+        reserve: 512
+        shares: 3000
+      num-virtual-cpu: 2
+    virtual-memory:
+      mem-quota:
+        limit: 2048
+        reserve: 512
+        shares: 20480
+      size: 2.0
+  virtual-storage-desc:
+  - disk-io-quota:
+      shares: 1000
+    id: epa_quota-VM-storage
+    size-of-storage: 10
diff --git a/hackfest_basic_metrics_ns/hackfest_basic_nsd.yaml b/hackfest_basic_metrics_ns/hackfest_basic_nsd.yaml
index ca41a880055f264de335b935c219a6592b8582b0..a9f95c74c750cf58cec9598492a21ea88de0ef55 100644
--- a/hackfest_basic_metrics_ns/hackfest_basic_nsd.yaml
+++ b/hackfest_basic_metrics_ns/hackfest_basic_nsd.yaml
@@ -1,21 +1,21 @@
-nsd-catalog:
+nsd:
   nsd:
-  - constituent-vnfd:
-    - member-vnf-index: '1'
-      vnfd-id-ref: hackfest_basic_metrics-vnf
-    description: Simple NS with a single VNF and a single VL and Metrics
+  - description: Simple NS with a single VNF and a single VL and Metrics
+    df:
+    - id: default-df
+      vnf-profile:
+      - id: '1'
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: '1'
+            constituent-cpd-id: vnf-cp0-ext
+          virtual-link-profile-id: mgmtnet
+        vnfd-id: hackfest_basic_metrics-vnf
     id: hackfest_basic-ns-metrics
-    logo: osm.png
     name: hackfest_basic-ns-metrics
-    short-name: hackfest_basic-ns-metrics
     version: '1.0'
-    vld:
+    virtual-link-desc:
     - id: mgmtnet
       mgmt-network: true
-      name: mgntnet
-      short-name: mgmtnet
-      type: ELAN
-      vnfd-connection-point-ref:
-      - member-vnf-index-ref: '1'
-        vnfd-connection-point-ref: vnf-cp0
-        vnfd-id-ref: hackfest_basic_metrics-vnf
+    vnfd-id:
+    - hackfest_basic_metrics-vnf
diff --git a/hackfest_basic_metrics_vnf/hackfest_basic_metrics_vnfd.yaml b/hackfest_basic_metrics_vnf/hackfest_basic_metrics_vnfd.yaml
index e4e10d69698d1fa31916304bfca022b8e70d03b1..0da9e96134fcee393aad34cd32882b701d745141 100644
--- a/hackfest_basic_metrics_vnf/hackfest_basic_metrics_vnfd.yaml
+++ b/hackfest_basic_metrics_vnf/hackfest_basic_metrics_vnfd.yaml
@@ -1,82 +1,84 @@
-vnfd-catalog:
-    vnfd:
-    -   id: hackfest_basic_metrics-vnf
-        name: hackfest_basic_metrics-vnf
-        short-name: hackfest_basic_metrics-vnf
-        description: A basic VNF descriptor w/ one VDU and VIM metrics
-        version: '1.0'
-        logo: osm.png
-        connection-point:
-        -   name: vnf-cp0
-        mgmt-interface:
-            cp: vnf-cp0
-        vdu:
-        -   name: hackfest_basic_metrics-VM        
-            cloud-init-file: cloud-config
-            count: 1
-            id: hackfest_basic_metrics-VM
-            image: ubuntu16.04
-            interface:
-            -   name: vdu-eth0
-                type: EXTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                external-connection-point-ref: vnf-cp0
-            vm-flavor:
-                vcpu-count: 1
-                memory-mb: 1024
-                storage-gb: 10
-            monitoring-param:
-            -   id: cpu_util
-                nfvi-metric: cpu_utilization
-            -   id: memory_util
-                nfvi-metric: average_memory_utilization
-            -   id: packets_received
-                nfvi-metric: packets_received
-            -   id: packets_sent
-                nfvi-metric: packets_sent
-        monitoring-param:
-        -   id: vnf_cpu_util
-            name: vnf_cpu_util
-            aggregation-type: AVERAGE
-            vdu-monitoring-param:
-                vdu-monitoring-param-ref: cpu_util
-                vdu-ref: hackfest_basic_metrics-VM
-        -   id: vnf_memory_util
-            name: vnf_memory_util
-            aggregation-type: AVERAGE
-            vdu-monitoring-param:
-                vdu-monitoring-param-ref: memory_util
-                vdu-ref: hackfest_basic_metrics-VM
-        -   id: vnf_packets_sent
-            name: vnf_packets_sent
-            aggregation-type: AVERAGE
-            vdu-monitoring-param:
-                vdu-monitoring-param-ref: packets_sent
-                vdu-ref: hackfest_basic_metrics-VM
-        -   id: vnf_packets_received
-            name: vnf_packets_received
-            aggregation-type: AVERAGE
-            vdu-monitoring-param:
-                vdu-monitoring-param-ref: packets_received
-                vdu-ref: hackfest_basic_metrics-VM                 
-        scaling-group-descriptor:
-        -   name: vdu_autoscale
-            min-instance-count: 0
-            max-instance-count: 1
-            scaling-policy:
-            -   name: cpu_util_above_threshold
-                scaling-type: automatic
-                threshold-time: 10
-                cooldown-time: 120
-                scaling-criteria:
-                -   name: cpu_util_above_threshold
-                    scale-in-threshold: 10
-                    scale-in-relational-operation: LT
-                    scale-out-threshold: 60
-                    scale-out-relational-operation: GT
-                    vnf-monitoring-param-ref: vnf_cpu_util
-            vdu:
-            -   vdu-id-ref: hackfest_basic_metrics-VM
-                count: 1                
-
+vnfd:
+  description: A basic VNF descriptor w/ one VDU and VIM metrics
+  df:
+  - id: default-df
+    instantiation-level:
+    - id: default-instantiation-level
+      vdu-level:
+      - number-of-instances: "1"
+        vdu-id: hackfest_basic_metrics-VM
+    scaling-aspect:
+    - aspect-delta-details:
+        deltas:
+        - id: vdu_autoscale-delta
+          vdu-delta:
+          - id: hackfest_basic_metrics-VM
+            number-of-instances: "1"
+      id: vdu_autoscale
+      max-scale-level: 1
+      name: vdu_autoscale
+      scaling-policy:
+      - cooldown-time: 120
+        name: cpu_util_above_threshold
+        scaling-criteria:
+        - name: cpu_util_above_threshold
+          scale-in-relational-operation: LT
+          scale-in-threshold: 10
+          scale-out-relational-operation: GT
+          scale-out-threshold: 60
+          vnf-monitoring-param-ref: vnf_cpu_util
+        scaling-type: automatic
+        threshold-time: 10
+    vdu-profile:
+    - id: hackfest_basic_metrics-VM
+      max-number-of-instances: "2"
+      min-number-of-instances: "1"
+  ext-cpd:
+  - id: vnf-cp0-ext
+    int-cpd:
+      cpd: vdu-eth0-int
+      vdu-id: hackfest_basic_metrics-VM
+  id: hackfest_basic_metrics-vnf
+  mgmt-cp: vnf-cp0-ext
+  product-name: hackfest_basic_metrics-vnf
+  sw-image-desc:
+  - id: ubuntu16.04
+    image: ubuntu16.04
+    name: ubuntu16.04
+  vdu:
+  - cloud-init-file: cloud-config
+    id: hackfest_basic_metrics-VM
+    int-cpd:
+    - id: vdu-eth0-int
+      virtual-network-interface-requirement:
+      - name: vdu-eth0
+        virtual-interface:
+          type: PARAVIRT
+    monitoring-parameter:
+    - id: vnf_cpu_util
+      name: vnf_cpu_util
+      performance-metric: cpu_utilization
+    - id: vnf_memory_util
+      name: vnf_memory_util
+      performance-metric: average_memory_utilization
+    - id: vnf_packets_sent
+      name: vnf_packets_sent
+      performance-metric: packets_sent
+    - id: vnf_packets_received
+      name: vnf_packets_received
+      performance-metric: packets_received
+    name: hackfest_basic_metrics-VM
+    sw-image-desc: ubuntu16.04
+    virtual-compute-desc: hackfest_basic_metrics-VM-compute
+    virtual-storage-desc:
+    - hackfest_basic_metrics-VM-storage
+  version: '1.0'
+  virtual-compute-desc:
+  - id: hackfest_basic_metrics-VM-compute
+    virtual-cpu:
+      num-virtual-cpu: 1
+    virtual-memory:
+      size: 1.0
+  virtual-storage-desc:
+  - id: hackfest_basic_metrics-VM-storage
+    size-of-storage: 10
diff --git a/hackfest_basic_ns/hackfest_basic_nsd.yaml b/hackfest_basic_ns/hackfest_basic_nsd.yaml
index 32b695a0efee5fbba7ec9ef855e4e857f437be6c..be76b264172ba0f906d2b6d84e48c7542154e9e4 100644
--- a/hackfest_basic_ns/hackfest_basic_nsd.yaml
+++ b/hackfest_basic_ns/hackfest_basic_nsd.yaml
@@ -1,22 +1,21 @@
-nsd-catalog:
-    nsd:
-    -   id: hackfest_basic-ns
-        name: hackfest_basic-ns
-        short-name: hackfest_basic-ns
-        description: Simple NS with a single VNF and a single VL
-        version: '1.0'
-        logo: osm.png
-        constituent-vnfd:
-        -   vnfd-id-ref: hackfest_basic-vnf
-            member-vnf-index: '1'
-        vld:
-        -   id: mgmtnet
-            name: mgmtnet
-            short-name: mgmtnet
-            type: ELAN
-            mgmt-network: true
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: hackfest_basic-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: vnf-cp0
-
+nsd:
+  nsd:
+  - description: Simple NS with a single VNF and a single VL
+    df:
+    - id: default-df
+      vnf-profile:
+      - id: '1'
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: '1'
+            constituent-cpd-id: vnf-cp0-ext
+          virtual-link-profile-id: mgmtnet
+        vnfd-id: hackfest_basic-vnf
+    id: hackfest_basic-ns
+    name: hackfest_basic-ns
+    version: '1.0'
+    virtual-link-desc:
+    - id: mgmtnet
+      mgmt-network: true
+    vnfd-id:
+    - hackfest_basic-vnf
diff --git a/hackfest_basic_sriov_ns/hackfest_basic_sriov_nsd.yaml b/hackfest_basic_sriov_ns/hackfest_basic_sriov_nsd.yaml
index f7a9153013abcc248a91ee50234ed9b5093d098a..7f7397b02d6d34db89132da39cdb8dd646e3ecf2 100644
--- a/hackfest_basic_sriov_ns/hackfest_basic_sriov_nsd.yaml
+++ b/hackfest_basic_sriov_ns/hackfest_basic_sriov_nsd.yaml
@@ -1,28 +1,26 @@
-nsd-catalog:
+nsd:
   nsd:
-    - constituent-vnfd:
-        - member-vnf-index: "1"
-          vnfd-id-ref: hackfest_basic_sriov-vnf
-      description: Simple NS with a single VNF with SRIOV port
-      id: hackfest_basic_sriov-ns
-      name: hackfest_basic_sriov-ns
-      short-name: hackfest_basic_sriov-ns
-      version: "1.0"
-      vld:
-        - id: mgmtnet
-          mgmt-network: true
-          name: mgmtnet
-          short-name: mgmtnet
-          type: ELAN
-          vnfd-connection-point-ref:
-            - member-vnf-index-ref: "1"
-              vnfd-connection-point-ref: vnf-cp0
-              vnfd-id-ref: hackfest_basic_sriov-vnf
-        - id: sriov_vld
-          name: sriov_vld
-          short-name: sriov_vld
-          type: ELAN
-          vnfd-connection-point-ref:
-            - member-vnf-index-ref: "1"
-              vnfd-connection-point-ref: vnf-cp1
-              vnfd-id-ref: hackfest_basic_sriov-vnf
+  - description: Simple NS with a single VNF with SRIOV port
+    df:
+    - id: default-df
+      vnf-profile:
+      - id: '1'
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: '1'
+            constituent-cpd-id: vnf-cp0-ext
+          virtual-link-profile-id: mgmtnet
+        - constituent-cpd-id:
+          - constituent-base-element-id: '1'
+            constituent-cpd-id: vnf-cp1-ext
+          virtual-link-profile-id: sriov_vld
+        vnfd-id: hackfest_basic_sriov-vnf
+    id: hackfest_basic_sriov-ns
+    name: hackfest_basic_sriov-ns
+    version: '1.0'
+    virtual-link-desc:
+    - id: mgmtnet
+      mgmt-network: true
+    - id: sriov_vld
+    vnfd-id:
+    - hackfest_basic_sriov-vnf
diff --git a/hackfest_basic_sriov_vnf/hackfest_basic_sriov_vnfd.yaml b/hackfest_basic_sriov_vnf/hackfest_basic_sriov_vnfd.yaml
index d2f9ebbb9fce949c6ff4d24ba58f01f5082b5bff..a6631397394010c0cd9031958d0ec4b21ddad188 100644
--- a/hackfest_basic_sriov_vnf/hackfest_basic_sriov_vnfd.yaml
+++ b/hackfest_basic_sriov_vnf/hackfest_basic_sriov_vnfd.yaml
@@ -1,33 +1,57 @@
-vnfd-catalog:
-  vnfd:
-  - connection-point:
-    - name: vnf-cp0
-    - name: vnf-cp1
-    description: A basic VNF descriptor w/ one VDU and SRIOV
-    id: hackfest_basic_sriov-vnf
-    mgmt-interface:
-      cp: vnf-cp0
-    name: hackfest_basic_sriov-vnf
-    short-name: hackfest_basic_sriov-vnf
-    vdu:
-    - count: 1
-      id: hackfest_basic-VM
-      image: ubuntu18.04
-      cloud-init-file: cloud.config
-      interface:
-      - external-connection-point-ref: vnf-cp0
-        name: vdu-eth0
-        type: EXTERNAL
+vnfd:
+  description: A basic VNF descriptor w/ one VDU and SRIOV
+  df:
+  - id: default-df
+    instantiation-level:
+    - id: default-instantiation-level
+      vdu-level:
+      - number-of-instances: 1
+        vdu-id: hackfest_basic-VM
+    vdu-profile:
+    - id: hackfest_basic-VM
+      min-number-of-instances: 1
+  ext-cpd:
+  - id: vnf-cp0-ext
+    int-cpd:
+      cpd: vdu-eth0-int
+      vdu-id: hackfest_basic-VM
+  - id: vnf-cp1-ext
+    int-cpd:
+      cpd: vdu-eth1-int
+      vdu-id: hackfest_basic-VM
+  id: hackfest_basic_sriov-vnf
+  mgmt-cp: vnf-cp0-ext
+  product-name: hackfest_basic_sriov-vnf
+  sw-image-desc:
+  - id: ubuntu18.04
+    image: ubuntu18.04
+    name: ubuntu18.04
+  vdu:
+  - cloud-init-file: cloud.config
+    id: hackfest_basic-VM
+    int-cpd:
+    - id: vdu-eth0-int
+      virtual-network-interface-requirement:
+      - name: vdu-eth0
         virtual-interface:
           type: PARAVIRT
-      - external-connection-point-ref: vnf-cp1
-        name: vdu-eth1
-        type: EXTERNAL
+    - id: vdu-eth1-int
+      virtual-network-interface-requirement:
+      - name: vdu-eth1
         virtual-interface:
           type: SR-IOV
-      name: hackfest_basic-VM
-      vm-flavor:
-        memory-mb: 2048
-        storage-gb: 30
-        vcpu-count: 2
-    version: '1.0'
+    name: hackfest_basic-VM
+    sw-image-desc: ubuntu18.04
+    virtual-compute-desc: hackfest_basic-VM-compute
+    virtual-storage-desc:
+    - hackfest_basic-VM-storage
+  version: '1.0'
+  virtual-compute-desc:
+  - id: hackfest_basic-VM-compute
+    virtual-cpu:
+      num-virtual-cpu: 2
+    virtual-memory:
+      size: 2.0
+  virtual-storage-desc:
+  - id: hackfest_basic-VM-storage
+    size-of-storage: 30
diff --git a/hackfest_basic_vnf/hackfest_basic_vnfd.yaml b/hackfest_basic_vnf/hackfest_basic_vnfd.yaml
index b516e0ff006daee69c2bd7fdc105e4e73235095b..cc1efd68b08030863c17997cf741b29d4134288d 100644
--- a/hackfest_basic_vnf/hackfest_basic_vnfd.yaml
+++ b/hackfest_basic_vnf/hackfest_basic_vnfd.yaml
@@ -1,31 +1,53 @@
-vnfd-catalog:
-    vnfd:
-    -   id: hackfest_basic-vnf
-        name: hackfest_basic-vnf
-        short-name: hackfest_basic-vnf
-        version: '1.0'
-        description: A basic VNF descriptor w/ one VDU
-        logo: osm.png
-        connection-point:
-        -   name: vnf-cp0
-        mgmt-interface:
-            cp: vnf-cp0
-        vdu:
-        -   id: hackfest_basic-VM
-            name: hackfest_basic-VM
-            image: ubuntu16.04
-            alternative-images:
-            -   vim-type: aws
-                image: ubuntu/images/hvm-ssd/ubuntu-artful-17.10-amd64-server-20180509
-            count: 1
-            vm-flavor:
-                vcpu-count: 1
-                memory-mb: 1024
-                storage-gb: 10
-            interface:
-            -   name: vdu-eth0
-                type: EXTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                external-connection-point-ref: vnf-cp0
-
+vnfd:
+  description: A basic VNF descriptor w/ one VDU
+  df:
+  - id: default-df
+    instantiation-level:
+    - id: default-instantiation-level
+      vdu-level:
+      - number-of-instances: 1
+        vdu-id: hackfest_basic-VM
+    vdu-profile:
+    - id: hackfest_basic-VM
+      min-number-of-instances: 1
+  ext-cpd:
+  - id: vnf-cp0-ext
+    int-cpd:
+      cpd: vdu-eth0-int
+      vdu-id: hackfest_basic-VM
+  id: hackfest_basic-vnf
+  mgmt-cp: vnf-cp0-ext
+  product-name: hackfest_basic-vnf
+  sw-image-desc:
+  - id: ubuntu16.04
+    image: ubuntu16.04
+    name: ubuntu16.04
+  - id: ubuntu/images/hvm-ssd/ubuntu-artful-17.10-amd64-server-20180509
+    image: ubuntu/images/hvm-ssd/ubuntu-artful-17.10-amd64-server-20180509
+    name: ubuntu/images/hvm-ssd/ubuntu-artful-17.10-amd64-server-20180509
+    vim-type: aws
+  vdu:
+  - alternative-sw-image-desc:
+    - ubuntu/images/hvm-ssd/ubuntu-artful-17.10-amd64-server-20180509
+    id: hackfest_basic-VM
+    int-cpd:
+    - id: vdu-eth0-int
+      virtual-network-interface-requirement:
+      - name: vdu-eth0
+        virtual-interface:
+          type: PARAVIRT
+    name: hackfest_basic-VM
+    sw-image-desc: ubuntu16.04
+    virtual-compute-desc: hackfest_basic-VM-compute
+    virtual-storage-desc:
+    - hackfest_basic-VM-storage
+  version: '1.0'
+  virtual-compute-desc:
+  - id: hackfest_basic-VM-compute
+    virtual-cpu:
+      num-virtual-cpu: "1"
+    virtual-memory:
+      size: "1.0"
+  virtual-storage-desc:
+  - id: hackfest_basic-VM-storage
+    size-of-storage: "10"
diff --git a/hackfest_cloudinit_ns/hackfest_cloudinit_nsd.yaml b/hackfest_cloudinit_ns/hackfest_cloudinit_nsd.yaml
old mode 100755
new mode 100644
index 58758b727f8c9e9f50c69ad241b93af0806646c5..bd8283cdb74d1eebae2ea2878909e393ff385567
--- a/hackfest_cloudinit_ns/hackfest_cloudinit_nsd.yaml
+++ b/hackfest_cloudinit_ns/hackfest_cloudinit_nsd.yaml
@@ -1,39 +1,37 @@
-nsd-catalog:
-    nsd:
-    -   id: hackfest_cloudinit-ns
-        name: hackfest_cloudinit-ns
-        short-name: hackfest_cloudinit-ns
-        description: NS with 2 VNFs with cloudinit connected by datanet and mgmtnet VLs
-        version: '1.0'
-        logo: osm.png
-        constituent-vnfd:
-        -   vnfd-id-ref: hackfest_cloudinit-vnf
-            member-vnf-index: '1'
-        -   vnfd-id-ref: hackfest_cloudinit-vnf
-            member-vnf-index: '2'
-        vld:
-        -   id: mgmtnet
-            name: mgmtnet
-            short-name: mgmtnet
-            type: ELAN
-            mgmt-network: true
-            vim-network-name: mgmt
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: hackfest_cloudinit-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: vnf-mgmt
-            -   vnfd-id-ref: hackfest_cloudinit-vnf
-                member-vnf-index-ref: '2'
-                vnfd-connection-point-ref: vnf-mgmt
-        -   id: datanet
-            name: datanet
-            short-name: datanet
-            type: ELAN
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: hackfest_cloudinit-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: vnf-data
-            -   vnfd-id-ref: hackfest_cloudinit-vnf
-                member-vnf-index-ref: '2'
-                vnfd-connection-point-ref: vnf-data
-
+nsd:
+  nsd:
+  - description: NS with 2 VNFs with cloudinit 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: mgmtnet
+        - constituent-cpd-id:
+          - constituent-base-element-id: '1'
+            constituent-cpd-id: vnf-data-ext
+          virtual-link-profile-id: datanet
+        vnfd-id: hackfest_cloudinit-vnf
+      - id: '2'
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: '2'
+            constituent-cpd-id: vnf-mgmt-ext
+          virtual-link-profile-id: mgmtnet
+        - constituent-cpd-id:
+          - constituent-base-element-id: '2'
+            constituent-cpd-id: vnf-data-ext
+          virtual-link-profile-id: datanet
+        vnfd-id: hackfest_cloudinit-vnf
+    id: hackfest_cloudinit-ns
+    name: hackfest_cloudinit-ns
+    version: '1.0'
+    virtual-link-desc:
+    - id: mgmtnet
+      mgmt-network: true
+    - id: datanet
+    vnfd-id:
+    - hackfest_cloudinit-vnf
diff --git a/hackfest_cloudinit_vnf/hackfest_cloudinit_vnfd.yaml b/hackfest_cloudinit_vnf/hackfest_cloudinit_vnfd.yaml
index 5c511353c55f8712fb02d9ed2b0d9659faee8a6c..cfa7d77631096fbd10fb238b3f45eb9c0be2bfea 100644
--- a/hackfest_cloudinit_vnf/hackfest_cloudinit_vnfd.yaml
+++ b/hackfest_cloudinit_vnf/hackfest_cloudinit_vnfd.yaml
@@ -1,69 +1,94 @@
-vnfd-catalog:
-    vnfd:
-    -   id: hackfest_cloudinit-vnf
-        name: hackfest_cloudinit-vnf
-        short-name: hackfest_cloudinit-vnf
-        version: '1.0'
-        description: A VNF consisting of 2 VDUs connected to an internal VL, and one VDU with cloud-init
-        logo: osm.png
-        connection-point:
-        -   name: vnf-mgmt
-        -   name: vnf-data
-        mgmt-interface:
-            cp: vnf-mgmt
-        internal-vld:
-        -   id: internal
-            name: internal
-            type: ELAN
-            internal-connection-point:
-            -   id-ref: mgmtVM-internal
-            -   id-ref: dataVM-internal
-        vdu:
-        -   id: mgmtVM
-            name: mgmtVM
-            image: ubuntu16.04
-            count: 1
-            vm-flavor:
-                vcpu-count: 1
-                memory-mb: 1024
-                storage-gb: 10
-            interface:
-            -   name: mgmtVM-eth0
-                position: 1
-                type: EXTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                external-connection-point-ref: vnf-mgmt
-            -   name: mgmtVM-eth1
-                position: 2
-                type: INTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                internal-connection-point-ref: mgmtVM-internal
-            internal-connection-point:
-            -   id: mgmtVM-internal
-            cloud-init-file: cloud-config.txt
-        -   id: dataVM
-            name: dataVM
-            image: ubuntu16.04
-            count: 1
-            vm-flavor:
-                vcpu-count: 1
-                memory-mb: 1024
-                storage-gb: 10
-            interface:
-            -   name: dataVM-eth0
-                position: 1
-                type: INTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                internal-connection-point-ref: dataVM-internal
-            -   name: dataVM-xe0
-                position: 2
-                type: EXTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                external-connection-point-ref: vnf-data
-            internal-connection-point:
-            -   id: dataVM-internal
-
+vnfd:
+  description: A VNF consisting of 2 VDUs connected to an internal VL, and one VDU
+    with cloud-init
+  df:
+  - id: default-df
+    instantiation-level:
+    - id: default-instantiation-level
+      vdu-level:
+      - number-of-instances: 1
+        vdu-id: mgmtVM
+      - number-of-instances: 1
+        vdu-id: dataVM
+    vdu-profile:
+    - id: mgmtVM
+      min-number-of-instances: 1
+    - id: dataVM
+      min-number-of-instances: 1
+  ext-cpd:
+  - id: vnf-mgmt-ext
+    int-cpd:
+      cpd: mgmtVM-eth0-int
+      vdu-id: mgmtVM
+  - id: vnf-data-ext
+    int-cpd:
+      cpd: dataVM-xe0-int
+      vdu-id: dataVM
+  id: hackfest_cloudinit-vnf
+  int-virtual-link-desc:
+  - id: internal
+  mgmt-cp: vnf-mgmt-ext
+  product-name: hackfest_cloudinit-vnf
+  sw-image-desc:
+  - id: ubuntu16.04
+    image: ubuntu16.04
+    name: ubuntu16.04
+  vdu:
+  - cloud-init-file: cloud-config.txt
+    id: mgmtVM
+    int-cpd:
+    - id: mgmtVM-eth0-int
+      virtual-network-interface-requirement:
+      - name: mgmtVM-eth0
+        position: 1
+        virtual-interface:
+          type: PARAVIRT
+    - id: mgmtVM-eth1-int
+      int-virtual-link-desc: internal
+      virtual-network-interface-requirement:
+      - name: mgmtVM-eth1
+        position: 2
+        virtual-interface:
+          type: PARAVIRT
+    name: mgmtVM
+    sw-image-desc: ubuntu16.04
+    virtual-compute-desc: mgmtVM-compute
+    virtual-storage-desc:
+    - mgmtVM-storage
+  - id: dataVM
+    int-cpd:
+    - id: dataVM-eth0-int
+      int-virtual-link-desc: internal
+      virtual-network-interface-requirement:
+      - name: dataVM-eth0
+        position: 1
+        virtual-interface:
+          type: PARAVIRT
+    - id: dataVM-xe0-int
+      virtual-network-interface-requirement:
+      - name: dataVM-xe0
+        position: 2
+        virtual-interface:
+          type: PARAVIRT
+    name: dataVM
+    sw-image-desc: ubuntu16.04
+    virtual-compute-desc: dataVM-compute
+    virtual-storage-desc:
+    - dataVM-storage
+  version: '1.0'
+  virtual-compute-desc:
+  - id: mgmtVM-compute
+    virtual-cpu:
+      num-virtual-cpu: "1"
+    virtual-memory:
+      size: "1.0"
+  - id: dataVM-compute
+    virtual-cpu:
+      num-virtual-cpu: "1"
+    virtual-memory:
+      size: "1.0"
+  virtual-storage-desc:
+  - id: mgmtVM-storage
+    size-of-storage: "10"
+  - id: dataVM-storage
+    size-of-storage: "10"
diff --git a/hackfest_epasriov_ns/hackfest_epasriov_nsd.yaml b/hackfest_epasriov_ns/hackfest_epasriov_nsd.yaml
old mode 100755
new mode 100644
index f696e2dcbfe0ae172309d72de4226f63d41aaefb..74a896aa3beac73bb84a4c35a320ce8f2def4a56
--- a/hackfest_epasriov_ns/hackfest_epasriov_nsd.yaml
+++ b/hackfest_epasriov_ns/hackfest_epasriov_nsd.yaml
@@ -1,39 +1,38 @@
-nsd-catalog:
-    nsd:
-    -   id: hackfest_epasriov-ns
-        name: hackfest_epasriov-ns
-        short-name: hackfest_epasriov-ns
-        description: NS with 2 VNFs hackfest_epasriov-vnf connected by datanet and mgmtnet VLs
-        version: '1.0'
-        logo: osm.png
-        constituent-vnfd:
-        -   vnfd-id-ref: hackfest_epasriov-vnf
-            member-vnf-index: '1'
-        -   vnfd-id-ref: hackfest_epasriov-vnf
-            member-vnf-index: '2'
-        vld:
-        -   id: mgmtnet
-            name: mgmtnet
-            short-name: mgmtnet
-            type: ELAN
-            mgmt-network: true
-            vim-network-name: mgmt
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: hackfest_epasriov-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: vnf-mgmt
-            -   vnfd-id-ref: hackfest_epasriov-vnf
-                member-vnf-index-ref: '2'
-                vnfd-connection-point-ref: vnf-mgmt
-        -   id: datanet
-            name: datanet
-            short-name: datanet
-            type: ELAN
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: hackfest_epasriov-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: vnf-data
-            -   vnfd-id-ref: hackfest_epasriov-vnf
-                member-vnf-index-ref: '2'
-                vnfd-connection-point-ref: vnf-data
-
+nsd:
+  nsd:
+  - description: NS with 2 VNFs hackfest_epasriov-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: mgmtnet
+        - constituent-cpd-id:
+          - constituent-base-element-id: '1'
+            constituent-cpd-id: vnf-data-ext
+          virtual-link-profile-id: datanet
+        vnfd-id: hackfest_epasriov-vnf
+      - id: '2'
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: '2'
+            constituent-cpd-id: vnf-mgmt-ext
+          virtual-link-profile-id: mgmtnet
+        - constituent-cpd-id:
+          - constituent-base-element-id: '2'
+            constituent-cpd-id: vnf-data-ext
+          virtual-link-profile-id: datanet
+        vnfd-id: hackfest_epasriov-vnf
+    id: hackfest_epasriov-ns
+    name: hackfest_epasriov-ns
+    version: '1.0'
+    virtual-link-desc:
+    - id: mgmtnet
+      mgmt-network: true
+    - id: datanet
+    vnfd-id:
+    - hackfest_epasriov-vnf
diff --git a/hackfest_epasriov_vnf/hackfest_epasriov_vnfd.yaml b/hackfest_epasriov_vnf/hackfest_epasriov_vnfd.yaml
index 646fae8811d2082fc0fc49725ae577bbc4926815..43249935534bb8469278c99db02afcbbf0589c98 100644
--- a/hackfest_epasriov_vnf/hackfest_epasriov_vnfd.yaml
+++ b/hackfest_epasriov_vnf/hackfest_epasriov_vnfd.yaml
@@ -1,87 +1,117 @@
-vnfd-catalog:
-    vnfd:
-    -   id: hackfest_epasriov-vnf
-        name: hackfest_epasriov-vnf
-        short-name: hackfest_epasriov-vnf
-        version: '1.0'
-        description: A VNF consisting of 2 VDUs with EPA capabilities connected to an internal VL, mgmtVM VDU with cloud-init
-        logo: osm.png
-        connection-point:
-        -   name: vnf-mgmt
-        -   name: vnf-data
-        mgmt-interface:
-            cp: vnf-mgmt
-        internal-vld:
-        -   id: internal
-            name: internal
-            type: ELAN
-            internal-connection-point:
-            -   id-ref: mgmtVM-internal
-            -   id-ref: dataVM-internal
-        vdu:
-        -   id: mgmtVM
-            name: mgmtVM
-            image: ubuntu18.04
-            count: 1
-            vm-flavor:
-                vcpu-count: 1
-                memory-mb: 1024
-                storage-gb: 10
-            guest-epa:
-                cpu-pinning-policy: DEDICATED
-                cpu-thread-pinning-policy: PREFER
-                mempage-size: LARGE
-                numa-node-policy:
-                    mem-policy: STRICT
-                    node-cnt: 1
-                    node:
-                    -   id: 1
-            interface:
-            -   name: mgmtVM-eth0
-                position: 1
-                type: EXTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                external-connection-point-ref: vnf-mgmt
-            -   name: mgmtVM-eth1
-                position: 2
-                type: INTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                internal-connection-point-ref: mgmtVM-internal
-            internal-connection-point:
-            -   id: mgmtVM-internal
-            cloud-init-file: cloud-config.txt
-        -   id: dataVM
-            name: dataVM
-            image: hackfest-pktgen
-            count: 1
-            vm-flavor:
-                vcpu-count: 8
-                memory-mb: 4096
-                storage-gb: 10
-            guest-epa:
-                cpu-pinning-policy: DEDICATED
-                cpu-thread-pinning-policy: PREFER
-                mempage-size: LARGE
-                numa-node-policy:
-                    mem-policy: STRICT
-                    node-cnt: 1
-                    node:
-                    -   id: 1
-            interface:
-            -   name: eth0
-                position: 1
-                type: INTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                internal-connection-point-ref: dataVM-internal
-            -   name: xe0
-                position: 2
-                type: EXTERNAL
-                virtual-interface:
-                    type: SR-IOV
-                external-connection-point-ref: vnf-data
-            internal-connection-point:
-            -   id: dataVM-internal
-
+vnfd:
+  description: A VNF consisting of 2 VDUs with EPA capabilities connected to an internal
+    VL, mgmtVM VDU with cloud-init
+  df:
+  - id: default-df
+    instantiation-level:
+    - id: default-instantiation-level
+      vdu-level:
+      - number-of-instances: 1
+        vdu-id: mgmtVM
+      - number-of-instances: 1
+        vdu-id: dataVM
+    vdu-profile:
+    - id: mgmtVM
+      min-number-of-instances: 1
+    - id: dataVM
+      min-number-of-instances: 1
+  ext-cpd:
+  - id: vnf-mgmt-ext
+    int-cpd:
+      cpd: mgmtVM-eth0-int
+      vdu-id: mgmtVM
+  - id: vnf-data-ext
+    int-cpd:
+      cpd: xe0-int
+      vdu-id: dataVM
+  id: hackfest_epasriov-vnf
+  int-virtual-link-desc:
+  - id: internal
+  mgmt-cp: vnf-mgmt-ext
+  product-name: hackfest_epasriov-vnf
+  sw-image-desc:
+  - id: ubuntu18.04
+    image: ubuntu18.04
+    name: ubuntu18.04
+  - id: hackfest-pktgen
+    image: hackfest-pktgen
+    name: hackfest-pktgen
+  vdu:
+  - cloud-init-file: cloud-config.txt
+    id: mgmtVM
+    int-cpd:
+    - id: mgmtVM-eth0-int
+      virtual-network-interface-requirement:
+      - name: mgmtVM-eth0
+        position: 1
+        virtual-interface:
+          type: PARAVIRT
+    - id: mgmtVM-eth1-int
+      int-virtual-link-desc: internal
+      virtual-network-interface-requirement:
+      - name: mgmtVM-eth1
+        position: 2
+        virtual-interface:
+          type: PARAVIRT
+    name: mgmtVM
+    sw-image-desc: ubuntu18.04
+    virtual-compute-desc: mgmtVM-compute
+    virtual-storage-desc:
+    - mgmtVM-storage
+  - id: dataVM
+    int-cpd:
+    - id: eth0-int
+      int-virtual-link-desc: internal
+      virtual-network-interface-requirement:
+      - name: eth0
+        position: 1
+        virtual-interface:
+          type: PARAVIRT
+    - id: xe0-int
+      virtual-network-interface-requirement:
+      - name: xe0
+        position: 2
+        virtual-interface:
+          type: SR-IOV
+    name: dataVM
+    sw-image-desc: hackfest-pktgen
+    virtual-compute-desc: dataVM-compute
+    virtual-storage-desc:
+    - dataVM-storage
+  version: '1.0'
+  virtual-compute-desc:
+  - id: mgmtVM-compute
+    virtual-cpu:
+      num-virtual-cpu: 1
+      pinning:
+        policy: static
+        thread-policy: PREFER
+    virtual-memory:
+      mempage-size: LARGE
+      numa-enabled: true
+      numa-node-policy:
+        mem-policy: STRICT
+        node:
+        - id: 1
+        node-cnt: 1
+      size: 1.0
+  - id: dataVM-compute
+    virtual-cpu:
+      num-virtual-cpu: 8
+      pinning:
+        policy: static
+        thread-policy: PREFER
+    virtual-memory:
+      mempage-size: LARGE
+      numa-enabled: true
+      numa-node-policy:
+        mem-policy: STRICT
+        node:
+        - id: 1
+        node-cnt: 1
+      size: 4.0
+  virtual-storage-desc:
+  - id: mgmtVM-storage
+    size-of-storage: 10
+  - id: dataVM-storage
+    size-of-storage: 10
diff --git a/hackfest_k8sproxycharm_ns/hackfest_k8sproxycharm_nsd.yaml b/hackfest_k8sproxycharm_ns/hackfest_k8sproxycharm_nsd.yaml
index 427431843bb18707bed94179f82c27fd8cfa56f4..7cb449be6730b041cc95e667d12f67fa641d9210 100644
--- a/hackfest_k8sproxycharm_ns/hackfest_k8sproxycharm_nsd.yaml
+++ b/hackfest_k8sproxycharm_ns/hackfest_k8sproxycharm_nsd.yaml
@@ -1,39 +1,37 @@
-nsd-catalog:
-    nsd:
-    -   id: hackfest_k8sproxycharm-ns
-        name: hackfest_k8sproxycharm-ns
-        short-name: hackfest_k8sproxycharm-ns
-        description: NS with 2 VNFs with cloudinit connected by datanet and mgmtnet VLs
-        version: '1.0'
-        logo: osm.png
-        constituent-vnfd:
-        -   vnfd-id-ref: hackfest_k8sproxycharm-vnf
-            member-vnf-index: '1'
-        -   vnfd-id-ref: hackfest_k8sproxycharm-vnf
-            member-vnf-index: '2'
-        vld:
-        -   id: mgmtnet
-            name: mgmtnet
-            short-name: mgmtnet
-            type: ELAN
-            mgmt-network: true
-            vim-network-name: PUBLIC
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: hackfest_k8sproxycharm-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: vnf-mgmt
-            -   vnfd-id-ref: hackfest_k8sproxycharm-vnf
-                member-vnf-index-ref: '2'
-                vnfd-connection-point-ref: vnf-mgmt
-        -   id: datanet
-            name: datanet
-            short-name: datanet
-            type: ELAN
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: hackfest_k8sproxycharm-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: vnf-data
-            -   vnfd-id-ref: hackfest_k8sproxycharm-vnf
-                member-vnf-index-ref: '2'
-                vnfd-connection-point-ref: vnf-data
-
+nsd:
+  nsd:
+  - description: NS with 2 VNFs with cloudinit 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: mgmtnet
+        - constituent-cpd-id:
+          - constituent-base-element-id: '1'
+            constituent-cpd-id: vnf-data-ext
+          virtual-link-profile-id: datanet
+        vnfd-id: hackfest_k8sproxycharm-vnf
+      - id: '2'
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: '2'
+            constituent-cpd-id: vnf-mgmt-ext
+          virtual-link-profile-id: mgmtnet
+        - constituent-cpd-id:
+          - constituent-base-element-id: '2'
+            constituent-cpd-id: vnf-data-ext
+          virtual-link-profile-id: datanet
+        vnfd-id: hackfest_k8sproxycharm-vnf
+    id: hackfest_k8sproxycharm-ns
+    name: hackfest_k8sproxycharm-ns
+    version: '1.0'
+    virtual-link-desc:
+    - id: mgmtnet
+      mgmt-network: true
+    - id: datanet
+    vnfd-id:
+    - hackfest_k8sproxycharm-vnf
diff --git a/hackfest_k8sproxycharm_vnf/hackfest_k8sproxycharm_vnfd.yaml b/hackfest_k8sproxycharm_vnf/hackfest_k8sproxycharm_vnfd.yaml
index 41a9c312779ad00b12d4458d3f611a6c4481d5d8..903d8844540744832d2301b2836959dea78e0fe3 100644
--- a/hackfest_k8sproxycharm_vnf/hackfest_k8sproxycharm_vnfd.yaml
+++ b/hackfest_k8sproxycharm_vnf/hackfest_k8sproxycharm_vnfd.yaml
@@ -1,69 +1,89 @@
-vnfd-catalog:
-    vnfd:
-    -   id: hackfest_k8sproxycharm-vnf
-        name: hackfest_k8sproxycharm-vnf
-        short-name: hackfest_k8sproxycharm-vnf
-        version: '1.0'
-        description: A VNF consisting of 1 VDU connected to two external VL, and one for data and another one for management
-        logo: osm.png
-        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
-        mgmt-interface:
-            cp: vnf-mgmt
-        vdu:
-        -   id: mgmtVM
-            name: mgmtVM
-            image: "bionic"
-            count: '1'
-            vm-flavor:
-                vcpu-count: '1'
-                memory-mb: '1024'
-                storage-gb: '10'
-            interface:
-            -   name: mgmtVM-eth0
-                position: '1'
-                type: EXTERNAL
-                virtual-interface:
-                    type: VIRTIO
-                external-connection-point-ref: vnf-mgmt
-            -   name: dataVM-xe0
-                position: '2'
-                type: EXTERNAL
-                virtual-interface:
-                    type: VIRTIO
-                external-connection-point-ref: vnf-data
-            cloud-init-file: cloud-config.txt
-        vnf-configuration:
-            juju:
-                charm: charm-simple-k8s
-                proxy: True
-                cloud: k8s
-            initial-config-primitive:
-            -   seq: '1'
-                name: config
-                parameter:
-                -   name: ssh-hostname
-                    value: <rw_mgmt_ip>
-                -   name: ssh-username
-                    value: ubuntu
-                -   name: ssh-password
-                    value: osm4u
-            -   seq: '2'
-                name: touch
-                parameter:
-                -   name: filename
-                    data-type: STRING
-                    value: '/home/ubuntu/first-touch'
-            config-primitive:
-            -   name: touch
-                parameter:
-                -   name: filename
-                    data-type: STRING
-                    default-value: '/home/ubuntu/touched'
+vnfd:
+  description: A VNF consisting of 1 VDU connected to two external VL, and one for
+    data and another one for management
+  df:
+  - id: default-df
+    instantiation-level:
+    - id: default-instantiation-level
+      vdu-level:
+      - number-of-instances: 1
+        vdu-id: mgmtVM
+    vdu-profile:
+    - id: mgmtVM
+      min-number-of-instances: 1
+    vnf-configuration-id: default-vnf-configuration
+  ext-cpd:
+  - id: vnf-mgmt-ext
+    int-cpd:
+      cpd: mgmtVM-eth0-int
+      vdu-id: mgmtVM
+  - id: vnf-data-ext
+    int-cpd:
+      cpd: dataVM-xe0-int
+      vdu-id: mgmtVM
+  id: hackfest_k8sproxycharm-vnf
+  mgmt-cp: vnf-mgmt-ext
+  product-name: hackfest_k8sproxycharm-vnf
+  sw-image-desc:
+  - id: bionic
+    image: bionic
+    name: bionic
+  vdu:
+  - cloud-init-file: cloud-config.txt
+    id: mgmtVM
+    int-cpd:
+    - id: mgmtVM-eth0-int
+      virtual-network-interface-requirement:
+      - name: mgmtVM-eth0
+        position: 1
+        virtual-interface:
+          type: VIRTIO
+    - id: dataVM-xe0-int
+      virtual-network-interface-requirement:
+      - name: dataVM-xe0
+        position: 2
+        virtual-interface:
+          type: VIRTIO
+    name: mgmtVM
+    sw-image-desc: bionic
+    virtual-compute-desc: mgmtVM-compute
+    virtual-storage-desc:
+    - mgmtVM-storage
+  version: '1.0'
+  virtual-compute-desc:
+  - id: mgmtVM-compute
+    virtual-cpu:
+      num-virtual-cpu: 1
+    virtual-memory:
+      size: 1.0
+  virtual-storage-desc:
+  - id: mgmtVM-storage
+    size-of-storage: 10
+  vnf-configuration:
+  - config-primitive:
+    - name: touch
+      parameter:
+      - data-type: STRING
+        default-value: /home/ubuntu/touched
+        name: filename
+    id: default-vnf-configuration
+    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:
+      - data-type: STRING
+        name: filename
+        value: /home/ubuntu/first-touch
+      seq: '2'
+    juju:
+      charm: charm-simple-k8s
+      cloud: k8s
+      proxy: true
diff --git a/hackfest_multivdu_ns/hackfest_multivdu_nsd.yaml b/hackfest_multivdu_ns/hackfest_multivdu_nsd.yaml
old mode 100755
new mode 100644
index 4411a3799d726eef7329a0907df4efaf061ea75b..dcf32908e279d42c039a0820641d786d74943c98
--- a/hackfest_multivdu_ns/hackfest_multivdu_nsd.yaml
+++ b/hackfest_multivdu_ns/hackfest_multivdu_nsd.yaml
@@ -1,38 +1,37 @@
-nsd-catalog:
-    nsd:
-    -   id: hackfest_multivdu-ns
-        name: hackfest_multivdu-ns
-        short-name: hackfest_multivdu-ns
-        description: NS with 2 VNFs connected by datanet and mgmtnet VLs
-        version: '1.0'
-        logo: osm.png
-        constituent-vnfd:
-        -   vnfd-id-ref: hackfest_multivdu-vnf
-            member-vnf-index: '1'
-        -   vnfd-id-ref: hackfest_multivdu-vnf
-            member-vnf-index: '2'
-        vld:
-        -   id: mgmtnet
-            name: mgmtnet
-            short-name: mgmtnet
-            type: ELAN
-            mgmt-network: true
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: hackfest_multivdu-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: vnf-mgmt
-            -   vnfd-id-ref: hackfest_multivdu-vnf
-                member-vnf-index-ref: '2'
-                vnfd-connection-point-ref: vnf-mgmt
-        -   id: datanet
-            name: datanet
-            short-name: datanet
-            type: ELAN
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: hackfest_multivdu-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: vnf-data
-            -   vnfd-id-ref: hackfest_multivdu-vnf
-                member-vnf-index-ref: '2'
-                vnfd-connection-point-ref: vnf-data
-
+nsd:
+  nsd:
+  - description: NS with 2 VNFs 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: mgmtnet
+        - constituent-cpd-id:
+          - constituent-base-element-id: '1'
+            constituent-cpd-id: vnf-data-ext
+          virtual-link-profile-id: datanet
+        vnfd-id: hackfest_multivdu-vnf
+      - id: '2'
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: '2'
+            constituent-cpd-id: vnf-mgmt-ext
+          virtual-link-profile-id: mgmtnet
+        - constituent-cpd-id:
+          - constituent-base-element-id: '2'
+            constituent-cpd-id: vnf-data-ext
+          virtual-link-profile-id: datanet
+        vnfd-id: hackfest_multivdu-vnf
+    id: hackfest_multivdu-ns
+    name: hackfest_multivdu-ns
+    version: '1.0'
+    virtual-link-desc:
+    - id: mgmtnet
+      mgmt-network: true
+    - id: datanet
+    vnfd-id:
+    - hackfest_multivdu-vnf
diff --git a/hackfest_multivdu_vnf/hackfest_multivdu_vnfd.yaml b/hackfest_multivdu_vnf/hackfest_multivdu_vnfd.yaml
index dc3563c33333a66652f9dbe4b6008b973311239f..1ec95702e052f3baeb3c74fb7b19c09a82a3b27f 100644
--- a/hackfest_multivdu_vnf/hackfest_multivdu_vnfd.yaml
+++ b/hackfest_multivdu_vnf/hackfest_multivdu_vnfd.yaml
@@ -1,68 +1,92 @@
-vnfd-catalog:
-    vnfd:
-    -   id: hackfest_multivdu-vnf
-        name: hackfest_multivdu-vnf
-        short-name: hackfest_multivdu-vnf
-        version: '1.0'
-        description: A VNF consisting of 2 VDUs connected to an internal VL
-        logo: osm.png
-        connection-point:
-        -   name: vnf-mgmt
-        -   name: vnf-data
-        mgmt-interface:
-            cp: vnf-mgmt
-        internal-vld:
-        -   id: internal
-            name: internal
-            type: ELAN
-            internal-connection-point:
-            -   id-ref: mgmtVM-internal
-            -   id-ref: dataVM-internal
-        vdu:
-        -   id: mgmtVM
-            name: mgmtVM
-            image: US1604
-            count: 1
-            vm-flavor:
-                vcpu-count: 1
-                memory-mb: 1024
-                storage-gb: 10
-            interface:
-            -   name: mgmtVM-eth0
-                position: 1
-                type: EXTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                external-connection-point-ref: vnf-mgmt
-            -   name: mgmtVM-eth1
-                position: 2
-                type: INTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                internal-connection-point-ref: mgmtVM-internal
-            internal-connection-point:
-            -   id: mgmtVM-internal
-        -   id: dataVM
-            name: dataVM
-            image: US1604
-            count: 1
-            vm-flavor:
-                vcpu-count: 1
-                memory-mb: 1024
-                storage-gb: 10
-            interface:
-            -   name: dataVM-eth0
-                position: 1
-                type: INTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                internal-connection-point-ref: dataVM-internal
-            -   name: dataVM-xe0
-                position: 2
-                type: EXTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                external-connection-point-ref: vnf-data
-            internal-connection-point:
-            -   id: dataVM-internal
-
+vnfd:
+  description: A VNF consisting of 2 VDUs connected to an internal VL
+  df:
+  - id: default-df
+    instantiation-level:
+    - id: default-instantiation-level
+      vdu-level:
+      - number-of-instances: 1
+        vdu-id: mgmtVM
+      - number-of-instances: 1
+        vdu-id: dataVM
+    vdu-profile:
+    - id: mgmtVM
+      min-number-of-instances: 1
+    - id: dataVM
+      min-number-of-instances: 1
+  ext-cpd:
+  - id: vnf-mgmt-ext
+    int-cpd:
+      cpd: mgmtVM-eth0-int
+      vdu-id: mgmtVM
+  - id: vnf-data-ext
+    int-cpd:
+      cpd: dataVM-xe0-int
+      vdu-id: dataVM
+  id: hackfest_multivdu-vnf
+  int-virtual-link-desc:
+  - id: internal
+  mgmt-cp: vnf-mgmt-ext
+  product-name: hackfest_multivdu-vnf
+  sw-image-desc:
+  - id: US1604
+    image: US1604
+    name: US1604
+  vdu:
+  - id: mgmtVM
+    int-cpd:
+    - id: mgmtVM-eth0-int
+      virtual-network-interface-requirement:
+      - name: mgmtVM-eth0
+        position: 1
+        virtual-interface:
+          type: PARAVIRT
+    - id: mgmtVM-eth1-int
+      int-virtual-link-desc: internal
+      virtual-network-interface-requirement:
+      - name: mgmtVM-eth1
+        position: 2
+        virtual-interface:
+          type: PARAVIRT
+    name: mgmtVM
+    sw-image-desc: US1604
+    virtual-compute-desc: mgmtVM-compute
+    virtual-storage-desc:
+    - mgmtVM-storage
+  - id: dataVM
+    int-cpd:
+    - id: dataVM-eth0-int
+      int-virtual-link-desc: internal
+      virtual-network-interface-requirement:
+      - name: dataVM-eth0
+        position: 1
+        virtual-interface:
+          type: PARAVIRT
+    - id: dataVM-xe0-int
+      virtual-network-interface-requirement:
+      - name: dataVM-xe0
+        position: 2
+        virtual-interface:
+          type: PARAVIRT
+    name: dataVM
+    sw-image-desc: US1604
+    virtual-compute-desc: dataVM-compute
+    virtual-storage-desc:
+    - dataVM-storage
+  version: '1.0'
+  virtual-compute-desc:
+  - id: mgmtVM-compute
+    virtual-memory:
+      size: 1.0
+    virtual-cpu:
+      num-virtual-cpu: 1
+  - id: dataVM-compute
+    virtual-memory:
+      size: 1.0
+    virtual-cpu:
+      num-virtual-cpu: 1
+  virtual-storage-desc:
+  - id: mgmtVM-storage
+    size-of-storage: 10
+  - id: dataVM-storage
+    size-of-storage: 10
diff --git a/hackfest_proxycharm_ns/hackfest_simplecharm_nsd.yaml b/hackfest_proxycharm_ns/hackfest_simplecharm_nsd.yaml
old mode 100755
new mode 100644
index 6e6cb31fe8170b7019e027d23074d79ab9b6a75a..f6dcb6ba305f18da4406d705a1b11b815467641a
--- a/hackfest_proxycharm_ns/hackfest_simplecharm_nsd.yaml
+++ b/hackfest_proxycharm_ns/hackfest_simplecharm_nsd.yaml
@@ -1,39 +1,37 @@
-nsd-catalog:
-    nsd:
-    -   id: hackfest_proxycharm-ns
-        name: hackfest_proxycharm-ns
-        short-name: hackfest_proxycharm-ns
-        description: NS with 2 VNFs with cloudinit connected by datanet and mgmtnet VLs
-        version: '1.0'
-        logo: osm.png
-        constituent-vnfd:
-        -   vnfd-id-ref: hackfest_proxycharm-vnf
-            member-vnf-index: '1'
-        -   vnfd-id-ref: hackfest_proxycharm-vnf
-            member-vnf-index: '2'
-        vld:
-        -   id: mgmtnet
-            name: mgmtnet
-            short-name: mgmtnet
-            type: ELAN
-            mgmt-network: true
-            vim-network-name: PUBLIC
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: hackfest_proxycharm-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: vnf-mgmt
-            -   vnfd-id-ref: hackfest_proxycharm-vnf
-                member-vnf-index-ref: '2'
-                vnfd-connection-point-ref: vnf-mgmt
-        -   id: datanet
-            name: datanet
-            short-name: datanet
-            type: ELAN
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: hackfest_proxycharm-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: vnf-data
-            -   vnfd-id-ref: hackfest_proxycharm-vnf
-                member-vnf-index-ref: '2'
-                vnfd-connection-point-ref: vnf-data
-
+nsd:
+  nsd:
+  - description: NS with 2 VNFs with cloudinit 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: mgmtnet
+        - constituent-cpd-id:
+          - constituent-base-element-id: '1'
+            constituent-cpd-id: vnf-data-ext
+          virtual-link-profile-id: datanet
+        vnfd-id: hackfest_proxycharm-vnf
+      - id: '2'
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: '2'
+            constituent-cpd-id: vnf-mgmt-ext
+          virtual-link-profile-id: mgmtnet
+        - constituent-cpd-id:
+          - constituent-base-element-id: '2'
+            constituent-cpd-id: vnf-data-ext
+          virtual-link-profile-id: datanet
+        vnfd-id: hackfest_proxycharm-vnf
+    id: hackfest_proxycharm-ns
+    name: hackfest_proxycharm-ns
+    version: '1.0'
+    virtual-link-desc:
+    - id: mgmtnet
+      mgmt-network: true
+    - id: datanet
+    vnfd-id:
+    - hackfest_proxycharm-vnf
diff --git a/hackfest_proxycharm_vnf/hackfest_proxycharm_vnfd.yaml b/hackfest_proxycharm_vnf/hackfest_proxycharm_vnfd.yaml
index 950b6cc2aeb1e9035eca957f9084fcda6dad4d50..b017e0776f2d31bfd57d90f3b54ada07e5b6058f 100644
--- a/hackfest_proxycharm_vnf/hackfest_proxycharm_vnfd.yaml
+++ b/hackfest_proxycharm_vnf/hackfest_proxycharm_vnfd.yaml
@@ -1,67 +1,91 @@
-vnfd-catalog:
-    vnfd:
-    -   id: hackfest_proxycharm-vnf
-        name: hackfest_proxycharm-vnf
-        short-name: hackfest_proxycharm-vnf
-        version: '1.0'
-        description: A VNF consisting of 1 VDU connected to two external VL, and one for data and another one for management
-        logo: osm.png
-        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
-        mgmt-interface:
-            cp: vnf-mgmt
-        vdu:
-        -   id: mgmtVM
-            name: mgmtVM
-            image: ubuntu16.04
-            count: 1
-            vm-flavor:
-                vcpu-count: 1
-                memory-mb: 1024
-                storage-gb: 10
-            interface:
-            -   name: mgmtVM-eth0
-                position: 1
-                type: EXTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                external-connection-point-ref: vnf-mgmt
-            -   name: dataVM-xe0
-                position: 2
-                type: EXTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                external-connection-point-ref: vnf-data
-            cloud-init-file: cloud-config.txt
-        vnf-configuration:
-            juju:
-                charm: simple
-            initial-config-primitive:
-            -   seq: 1
-                name: config
-                parameter:
-                -   name: ssh-hostname
-                    value: <rw_mgmt_ip>
-                -   name: ssh-username
-                    value: ubuntu
-                -   name: ssh-password
-                    value: osm4u
-            -   seq: 2
-                name: touch
-                parameter:
-                -   name: filename
-                    data-type: STRING
-                    value: '/home/ubuntu/first-touch'
-            config-primitive:
-            -   name: touch
-                parameter:
-                -   name: filename
-                    data-type: STRING
-                    default-value: '/home/ubuntu/touched'
+vnfd:
+  description: A VNF consisting of 1 VDU connected to two external VL, and one for
+    data and another one for management
+  df:
+  - id: default-df
+    instantiation-level:
+    - id: default-instantiation-level
+      vdu-level:
+      - number-of-instances: 1
+        vdu-id: mgmtVM
+    vdu-profile:
+    - id: mgmtVM
+      min-number-of-instances: 1
+    vnf-configuration-id: default-vnf-configuration
+  ext-cpd:
+  - id: vnf-mgmt-ext
+    int-cpd:
+      cpd: mgmtVM-eth0-int
+      vdu-id: mgmtVM
+  - id: vnf-data-ext
+    int-cpd:
+      cpd: dataVM-xe0-int
+      vdu-id: mgmtVM
+  id: hackfest_proxycharm-vnf
+  mgmt-cp: vnf-mgmt-ext
+  product-name: hackfest_proxycharm-vnf
+  sw-image-desc:
+  - id: ubuntu16.04
+    image: ubuntu16.04
+    name: ubuntu16.04
+  vdu:
+  - cloud-init-file: cloud-config.txt
+    id: mgmtVM
+    int-cpd:
+    - id: mgmtVM-eth0-int
+      virtual-network-interface-requirement:
+      - name: mgmtVM-eth0
+        position: 1
+        virtual-interface:
+          type: PARAVIRT
+    - id: dataVM-xe0-int
+      virtual-network-interface-requirement:
+      - name: dataVM-xe0
+        position: 2
+        virtual-interface:
+          type: PARAVIRT
+    name: mgmtVM
+    sw-image-desc: ubuntu16.04
+    virtual-compute-desc: mgmtVM-compute
+    virtual-storage-desc:
+    - mgmtVM-storage
+  version: '1.0'
+  virtual-compute-desc:
+  - id: mgmtVM-compute
+    virtual-cpu:
+      num-virtual-cpu: 1
+    virtual-memory:
+      size: 1.0
+  virtual-storage-desc:
+  - id: mgmtVM-storage
+    size-of-storage: 10
+  vnf-configuration:
+  - config-primitive:
+    - name: touch
+      parameter:
+      - data-type: STRING
+        default-value: /home/ubuntu/touched
+        name: filename
+    id: default-vnf-configuration
+    config-access:
+      ssh-access:
+        default-user: ubuntu
+        required: true
+    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:
+      - data-type: STRING
+        name: filename
+        value: /home/ubuntu/first-touch
+      seq: 2
+    juju:
+      charm: simple
diff --git a/hackfest_simple_k8s_ns/hackfest_simple_k8s_nsd.yaml b/hackfest_simple_k8s_ns/hackfest_simple_k8s_nsd.yaml
index ebb6faef56c34eebfee41bacfbbac7b90ec83ba7..5f4ea7632a658effff72c47a4934d449e31ef15c 100644
--- a/hackfest_simple_k8s_ns/hackfest_simple_k8s_nsd.yaml
+++ b/hackfest_simple_k8s_ns/hackfest_simple_k8s_nsd.yaml
@@ -1,22 +1,21 @@
-nsd-catalog:
-    nsd:
-    -   id: hackfest-simple-k8s-ns
-        name: hackfest-simple-k8s-ns
-        short-name: hackfest-simple-k8s-ns
-        description: NS with 1 KDU connected to the mgmtnet VL
-        version: '1.0'
-        logo: osm.png
-        constituent-vnfd:
-        -   vnfd-id-ref: hackfest-simple-k8s-vnf
-            member-vnf-index: '1'
-        vld:
-        -   id: mgmtnet
-            name: mgmtnet
-            short-name: mgmtnet
-            type: ELAN
-            mgmt-network: true
-            vim-network-name: mgmt
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: hackfest-simple-k8s-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: mgmtnet
+nsd:
+  nsd:
+  - description: NS with 1 KDU connected to the mgmtnet VL
+    df:
+    - id: default-df
+      vnf-profile:
+      - id: '1'
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: '1'
+            constituent-cpd-id: mgmtnet-ext
+          virtual-link-profile-id: mgmtnet
+        vnfd-id: hackfest-simple-k8s-vnf
+    id: hackfest-simple-k8s-ns
+    name: hackfest-simple-k8s-ns
+    version: '1.0'
+    virtual-link-desc:
+    - id: mgmtnet
+      mgmt-network: true
+    vnfd-id:
+    - hackfest-simple-k8s-vnf
diff --git a/hackfest_simple_k8s_vnf/hackfest_simple_k8s_vnfd.yaml b/hackfest_simple_k8s_vnf/hackfest_simple_k8s_vnfd.yaml
index 40a719c287a27bd0501fd7d569991aee0ed47918..a4a72515be04598b4592c34fe9df5568a4d333fe 100644
--- a/hackfest_simple_k8s_vnf/hackfest_simple_k8s_vnfd.yaml
+++ b/hackfest_simple_k8s_vnf/hackfest_simple_k8s_vnfd.yaml
@@ -1,15 +1,21 @@
-vnfd-catalog:
-    vnfd:
-    -   id: hackfest-simple-k8s-vnf
-        name: hackfest-simple-k8s-vnf
-        connection-point:
-        -   name: mgmtnet
-        mgmt-interface:
-            cp: mgmt
-        kdu:
-        -   name: mykdu
-            juju-bundle: cs:~dominik.f/bundle/hf-k8s-bundle-0
-        k8s-cluster:
-            nets:
-            -   id: mgmtnet
-                external-connection-point-ref: mgmt
+vnfd:
+  df:
+  - id: default-df
+    kdu-profile:
+    - kdu-model-id: mykdu-model
+      name: mykdu
+  ext-cpd:
+  - id: mgmt-ext
+    k8s-cluster-net: mgmtnet
+  id: hackfest-simple-k8s-vnf
+  k8s-cluster:
+    nets:
+    - id: mgmtnet
+  kdu:
+  - name: mykdu
+  kdu-model:
+  - id: mykdu-model
+    kdu-model-locator: cs:~dominik.f/bundle/hf-k8s-bundle-0
+    kdu-model-type: juju-bundle
+  mgmt-cp: mgmt-ext
+  product-name: hackfest-simple-k8s-vnf
diff --git a/hackfest_vyos_ns/hackfest_vyos_nsd.yaml b/hackfest_vyos_ns/hackfest_vyos_nsd.yaml
index fa0941788ce1b05ab7145e7c74526cce821e02ae..74d02d296152634662a9faf2399724dd98df8aa6 100644
--- a/hackfest_vyos_ns/hackfest_vyos_nsd.yaml
+++ b/hackfest_vyos_ns/hackfest_vyos_nsd.yaml
@@ -1,41 +1,34 @@
-nsd-catalog:
-    nsd:
-    -   id: hackfest_vyos-ns
-        name: hackfest_vyos-ns
-        short-name: hackfest_vyos-ns
-        description: Simple NS with a single VyOS Router VNF
-        version: '1.0'
-        logo: osm.png
-        constituent-vnfd:
-        -   vnfd-id-ref: hackfest_vyos-vnf
-            member-vnf-index: '1'      
-        vld:
-        -   id: mgmtnet
-            name: mgmtnet
-            short-name: mgmtnet
-            type: ELAN
-            mgmt-network: true
-            vim-network-name: osm-ext
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: hackfest_vyos-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: vnf-mgmt
-                ip-address: 172.21.250.200
-        -   id: internal
-            name: internal
-            short-name: internal
-            type: ELAN
-            mgmt-network: true
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: hackfest_vyos-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: vnf-internal               
-        -   id: external
-            name: external
-            short-name: external
-            type: ELAN
-            mgmt-network: true
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: hackfest_vyos-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: vnf-external
+nsd:
+  nsd:
+  - description: Simple NS with a single VyOS Router VNF
+    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
+            ip-address: 172.21.250.200
+          virtual-link-profile-id: mgmtnet
+        - constituent-cpd-id:
+          - constituent-base-element-id: '1'
+            constituent-cpd-id: vnf-internal-ext
+          virtual-link-profile-id: internal
+        - constituent-cpd-id:
+          - constituent-base-element-id: '1'
+            constituent-cpd-id: vnf-external-ext
+          virtual-link-profile-id: external
+        vnfd-id: hackfest_vyos-vnf
+    id: hackfest_vyos-ns
+    name: hackfest_vyos-ns
+    version: '1.0'
+    virtual-link-desc:
+    - id: mgmtnet
+      mgmt-network: true
+    - id: internal
+      mgmt-network: true
+    - id: external
+      mgmt-network: true
+    vnfd-id:
+    - hackfest_vyos-vnf
diff --git a/hackfest_vyos_vnf/hackfest_vyos_vnfd.yaml b/hackfest_vyos_vnf/hackfest_vyos_vnfd.yaml
index 6b5b658750d6839cc948af6d2a8d525a33700590..c1b3033f91456aa1692075e1912da86d7dbfa382 100644
--- a/hackfest_vyos_vnf/hackfest_vyos_vnfd.yaml
+++ b/hackfest_vyos_vnf/hackfest_vyos_vnfd.yaml
@@ -1,50 +1,71 @@
-vnfd-catalog:
-    vnfd:
-    -   id: hackfest_vyos-vnf
-        name: hackfest_vyos-vnf
-        short-name: hackfest_vyos-vnf
-        version: '1.0'
-        description: A basic virtual router
-        connection-point:
-        -   name: vnf-mgmt
-            type: VPORT
-        -   name: vnf-internal
-            type: VPORT
-            port-security-enabled: false
-        -   name: vnf-external
-            type: VPORT
-            port-security-enabled: false
-        vdu:
-        -   id: vyos-VM
-            name: vyos-VM
-            cloud-init-file: vyos-userdata
-            image: vyos-1.1.7
-            count: 1
-            vm-flavor:
-                vcpu-count: 1
-                memory-mb: 2048
-                storage-gb: 10
-            interface:
-            -   name: vdu-eth0
-                type: EXTERNAL
-                position: 0
-                virtual-interface:
-                    type: PARAVIRT
-                external-connection-point-ref: vnf-mgmt
-            -   name: vdu-eth1
-                type: EXTERNAL
-                position: 1
-                virtual-interface:
-                    type: PARAVIRT
-                external-connection-point-ref: vnf-internal
-            -   name: vdu-eth2
-                type: EXTERNAL
-                position: 2
-                virtual-interface:
-                    type: PARAVIRT
-                external-connection-point-ref: vnf-external
-            supplemental-boot-data:
-              boot-data-drive: true
-        mgmt-interface:
-            cp: vnf-mgmt
-
+vnfd:
+  description: A basic virtual router
+  df:
+  - id: default-df
+    instantiation-level:
+    - id: default-instantiation-level
+      vdu-level:
+      - number-of-instances: 1
+        vdu-id: vyos-VM
+    vdu-profile:
+    - id: vyos-VM
+      min-number-of-instances: 1
+  ext-cpd:
+  - id: vnf-mgmt-ext
+    int-cpd:
+      cpd: vdu-eth0-int
+      vdu-id: vyos-VM
+  - id: vnf-internal-ext
+    int-cpd:
+      cpd: vdu-eth1-int
+      vdu-id: vyos-VM
+  - id: vnf-external-ext
+    int-cpd:
+      cpd: vdu-eth2-int
+      vdu-id: vyos-VM
+  id: hackfest_vyos-vnf
+  mgmt-cp: vnf-mgmt-ext
+  product-name: hackfest_vyos-vnf
+  sw-image-desc:
+  - id: vyos-1.1.7
+    image: vyos-1.1.7
+    name: vyos-1.1.7
+  vdu:
+  - cloud-init-file: vyos-userdata
+    id: vyos-VM
+    int-cpd:
+    - id: vdu-eth0-int
+      virtual-network-interface-requirement:
+      - name: vdu-eth0
+        position: 0
+        virtual-interface:
+          type: PARAVIRT
+    - id: vdu-eth1-int
+      virtual-network-interface-requirement:
+      - name: vdu-eth1
+        position: 1
+        virtual-interface:
+          type: PARAVIRT
+    - id: vdu-eth2-int
+      virtual-network-interface-requirement:
+      - name: vdu-eth2
+        position: 2
+        virtual-interface:
+          type: PARAVIRT
+    name: vyos-VM
+    supplemental-boot-data:
+      boot-data-drive: true
+    sw-image-desc: vyos-1.1.7
+    virtual-compute-desc: vyos-VM-compute
+    virtual-storage-desc:
+    - vyos-VM-storage
+  version: '1.0'
+  virtual-compute-desc:
+  - id: vyos-VM-compute
+    virtual-cpu:
+      num-virtual-cpu: 1
+    virtual-memory:
+      size: 2.0
+  virtual-storage-desc:
+  - id: vyos-VM-storage
+    size-of-storage: 10
diff --git a/k8s_juju_ns/k8s_juju_nsd.yaml b/k8s_juju_ns/k8s_juju_nsd.yaml
index 472b21cd854d6af4870e1f180723f03e97aca09c..2d83c3f9dc1e5f115e1065263ac781766bfd9d54 100644
--- a/k8s_juju_ns/k8s_juju_nsd.yaml
+++ b/k8s_juju_ns/k8s_juju_nsd.yaml
@@ -1,43 +1,52 @@
-nsd-catalog:
-    nsd:
-    -   id: k8s_juju
-        name: k8s_juju
-        short-name: k8s_juju
-        description: NS consisting of a 4 k8s_jujumachine VNFs and 1 k8s_jujucontroller VNF connected to mgmt network
-        vendor: OSM
-        version: '1.0'
-        logo: osm.png
-        constituent-vnfd:
-        -   member-vnf-index: k8s_vnf1
-            vnfd-id-ref: k8s_jujumachine_vnf
-        -   member-vnf-index: k8s_vnf2
-            vnfd-id-ref: k8s_jujumachine_vnf
-        -   member-vnf-index: k8s_vnf3
-            vnfd-id-ref: k8s_jujumachine_vnf
-        -   member-vnf-index: k8s_vnf4
-            vnfd-id-ref: k8s_jujumachine_vnf
-        -   member-vnf-index: k8s_juju
-            vnfd-id-ref: k8s_jujucontroller_vnf
-        vld:
-        -   id: mgmtnet
-            name: mgmtnet
-            type: ELAN
-            mgmt-network: 'true'
-            vim-network-name: mgmt
-            vnfd-connection-point-ref:
-            -   member-vnf-index-ref: k8s_vnf1
-                vnfd-id-ref: k8s_jujumachine_vnf
-                vnfd-connection-point-ref: mgmt
-            -   member-vnf-index-ref: k8s_vnf2
-                vnfd-id-ref: k8s_jujumachine_vnf
-                vnfd-connection-point-ref: mgmt
-            -   member-vnf-index-ref: k8s_vnf3
-                vnfd-id-ref: k8s_jujumachine_vnf
-                vnfd-connection-point-ref: mgmt
-            -   member-vnf-index-ref: k8s_vnf4
-                vnfd-id-ref: k8s_jujumachine_vnf
-                vnfd-connection-point-ref: mgmt
-            -   member-vnf-index-ref: k8s_juju
-                vnfd-id-ref: k8s_jujucontroller_vnf
-                vnfd-connection-point-ref: mgmt
-
+nsd:
+  nsd:
+  - description: NS consisting of a 4 k8s_jujumachine VNFs and 1 k8s_jujucontroller
+      VNF connected to mgmt network
+    designer: OSM
+    df:
+    - id: default-df
+      vnf-profile:
+      - id: k8s_vnf1
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: k8s_vnf1
+            constituent-cpd-id: mgmt-ext
+          virtual-link-profile-id: mgmtnet
+        vnfd-id: k8s_jujumachine_vnf
+      - id: k8s_vnf2
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: k8s_vnf2
+            constituent-cpd-id: mgmt-ext
+          virtual-link-profile-id: mgmtnet
+        vnfd-id: k8s_jujumachine_vnf
+      - id: k8s_vnf3
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: k8s_vnf3
+            constituent-cpd-id: mgmt-ext
+          virtual-link-profile-id: mgmtnet
+        vnfd-id: k8s_jujumachine_vnf
+      - id: k8s_vnf4
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: k8s_vnf4
+            constituent-cpd-id: mgmt-ext
+          virtual-link-profile-id: mgmtnet
+        vnfd-id: k8s_jujumachine_vnf
+      - id: k8s_juju
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: k8s_juju
+            constituent-cpd-id: mgmt-ext
+          virtual-link-profile-id: mgmtnet
+        vnfd-id: k8s_jujucontroller_vnf
+    id: k8s_juju
+    name: k8s_juju
+    version: '1.0'
+    virtual-link-desc:
+    - id: mgmtnet
+      mgmt-network: 'true'
+    vnfd-id:
+    - k8s_jujumachine_vnf
+    - k8s_jujucontroller_vnf
diff --git a/k8s_jujucontroller_vnf/k8s_jujucontroller_vnfd.yaml b/k8s_jujucontroller_vnf/k8s_jujucontroller_vnfd.yaml
index 370aff469fb3e037217f15e5457285d9f1c822db..f60b652ae303eb8e49b62f7f6ac47f9d46a3a4d8 100644
--- a/k8s_jujucontroller_vnf/k8s_jujucontroller_vnfd.yaml
+++ b/k8s_jujucontroller_vnf/k8s_jujucontroller_vnfd.yaml
@@ -1,173 +1,190 @@
-vnfd-catalog:
-    vnfd:
-    -   id: k8s_jujucontroller_vnf
-        name: k8s_jujucontroller_vnf
-        short-name: k8s_jujucontroller_vnf
-        version: 1.0
-        description: A VNF consisting of 1 VDU for juju to deploy K8s cluster
-        logo: osm.png
-        connection-point:
-        -   id: mgmt
-            name: mgmt
-            short-name: mgmt
-        mgmt-interface:
-            cp: mgmt
-        vdu:
-        -   id: k8svm
-            name: k8svm
-            image: ubuntu18.04
-            count: 1
-            vm-flavor:
-                vcpu-count: 2
-                memory-mb: 4096
-                storage-gb: 80
-            interface:
-            -   name: eth0
-                position: 1
-                type: EXTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                external-connection-point-ref: mgmt
-            cloud-init-file: cloud-config.txt
-        vnf-configuration:
-            config-access:
-                ssh-access:
-                    required: True
-                    default-user: ubuntu 
-            juju:
-                charm: tid-jujuk8s
-            initial-config-primitive:
-            -   seq: '1'
-                name: config
-                parameter:
-                -   name: ssh-hostname
-                    value: <rw_mgmt_ip>
-                -   name: ssh-username
-                    value: ubuntu
-            -   seq: '2'
-                name: setup-juju
-            -   seq: '3'
-                name: add-machines
-                parameter:
-                -   name: machine1
-                    value: <MACHINE1>
-                -   name: machine2
-                    value: <MACHINE2>
-                -   name: machine3
-                    value: <MACHINE3>
-                -   name: machine4
-                    value: <MACHINE4>
-                -   name: machine5
-                    value: <MACHINE5>
-                -   name: machine6
-                    value: <MACHINE6>
-                -   name: machine7
-                    value: <MACHINE7>
-                -   name: machine8
-                    value: <MACHINE8>
-                -   name: machine9
-                    value: <MACHINE9>
-                -   name: machine10
-                    value: <MACHINE10>
-            -   seq: '4'
-                name: deploy-bundle
-                parameter:
-                -   name: bundle
-                    value: <BUNDLE>
-            -   seq: '5'
-                name: post-deploy
-            -   seq: '6'
-                name: install-openebs-kubectl
-            # -   seq: '7'
-            #     name: init-helm
-            config-primitive:
-            -   name: setup-juju
-            -   name: deploy-bundle
-                parameter:
-                -   name: bundle
-                    data-type: STRING
-            -   name: undeploy-bundle
-            -   name: remove-machines
-            -   name: init-helm
-            -   name: install-openebs-chart
-            -   name: install-openebs-kubectl
-            -   name: post-deploy
-            -   name: add-machine
-                parameter:
-                -   name: machine
-                    data-type: STRING
-            -   name: add-machines
-                parameter:
-                -   name: machine1
-                    data-type: STRING
-                -   name: machine2
-                    data-type: STRING
-                -   name: machine3
-                    data-type: STRING
-                -   name: machine4
-                    data-type: STRING
-                -   name: machine5
-                    data-type: STRING
-                -   name: machine6
-                    data-type: STRING
-                -   name: machine7
-                    data-type: STRING
-                -   name: machine8
-                    data-type: STRING
-                -   name: machine9
-                    data-type: STRING
-                -   name: machine10
-                    data-type: STRING
-            -   name: remove-machines
-                parameter:
-                -   name: force
-                    data-type: STRING
-            -   name: add-repo
-                parameter:
-                -   name: name
-                    data-type: STRING
-                -   name: url
-                    data-type: STRING
-            -   name: remove-repo
-                parameter:
-                -   name: name
-                    data-type: STRING
-            -   name: install-chart
-                parameter:
-                -   name: chart
-                    data-type: STRING
-                -   name: name
-                    data-type: STRING
-                -   name: namespace
-                    data-type: STRING
-                -   name: atomic
-                    data-type: STRING
-                -   name: values
-                    data-type: STRING
-                -   name: valuesFile
-                    data-type: STRING
-            -   name: upgrade-release
-                parameter:
-                -   name: chart
-                    data-type: STRING
-                -   name: name
-                    data-type: STRING
-                -   name: namespace
-                    data-type: STRING
-                -   name: atomic
-                    data-type: STRING
-                -   name: values
-                    data-type: STRING
-                -   name: valuesFile
-                    data-type: STRING
-            -   name: rollback-release
-                parameter:
-                -   name: name
-                    data-type: STRING
-                -   name: revision
-                    data-type: STRING
-            -   name: delete-release
-                parameter:
-                -   name: name
-                    data-type: STRING
-
+vnfd:
+  description: A VNF consisting of 1 VDU for juju to deploy K8s cluster
+  df:
+  - id: default-df
+    instantiation-level:
+    - id: default-instantiation-level
+      vdu-level:
+      - number-of-instances: 1
+        vdu-id: k8svm
+    vdu-profile:
+    - id: k8svm
+      min-number-of-instances: 1
+    vnf-configuration-id: default-vnf-configuration
+  ext-cpd:
+  - id: mgmt-ext
+    int-cpd:
+      cpd: eth0-int
+      vdu-id: k8svm
+  id: k8s_jujucontroller_vnf
+  mgmt-cp: mgmt-ext
+  product-name: k8s_jujucontroller_vnf
+  sw-image-desc:
+  - id: ubuntu18.04
+    image: ubuntu18.04
+    name: ubuntu18.04
+  vdu:
+  - cloud-init-file: cloud-config.txt
+    id: k8svm
+    int-cpd:
+    - id: eth0-int
+      virtual-network-interface-requirement:
+      - name: eth0
+        position: 1
+        virtual-interface:
+          type: PARAVIRT
+    name: k8svm
+    sw-image-desc: ubuntu18.04
+    virtual-compute-desc: k8svm-compute
+    virtual-storage-desc:
+    - k8svm-storage
+  version: 1.0
+  virtual-compute-desc:
+  - id: k8svm-compute
+    virtual-cpu:
+      num-virtual-cpu: 2
+    virtual-memory:
+      size: 4.0
+  virtual-storage-desc:
+  - id: k8svm-storage
+    size-of-storage: 80
+  vnf-configuration:
+  - config-access:
+      ssh-access:
+        default-user: ubuntu
+        required: true
+    config-primitive:
+    - name: setup-juju
+    - name: deploy-bundle
+      parameter:
+      - data-type: STRING
+        name: bundle
+    - name: undeploy-bundle
+    - name: remove-machines
+    - name: init-helm
+    - name: install-openebs-chart
+    - name: install-openebs-kubectl
+    - name: post-deploy
+    - name: add-machine
+      parameter:
+      - data-type: STRING
+        name: machine
+    - name: add-machines
+      parameter:
+      - data-type: STRING
+        name: machine1
+      - data-type: STRING
+        name: machine2
+      - data-type: STRING
+        name: machine3
+      - data-type: STRING
+        name: machine4
+      - data-type: STRING
+        name: machine5
+      - data-type: STRING
+        name: machine6
+      - data-type: STRING
+        name: machine7
+      - data-type: STRING
+        name: machine8
+      - data-type: STRING
+        name: machine9
+      - data-type: STRING
+        name: machine10
+    - name: remove-machines
+      parameter:
+      - data-type: STRING
+        name: force
+    - name: add-repo
+      parameter:
+      - data-type: STRING
+        name: name
+      - data-type: STRING
+        name: url
+    - name: remove-repo
+      parameter:
+      - data-type: STRING
+        name: name
+    - name: install-chart
+      parameter:
+      - data-type: STRING
+        name: chart
+      - data-type: STRING
+        name: name
+      - data-type: STRING
+        name: namespace
+      - data-type: STRING
+        name: atomic
+      - data-type: STRING
+        name: values
+      - data-type: STRING
+        name: valuesFile
+    - name: upgrade-release
+      parameter:
+      - data-type: STRING
+        name: chart
+      - data-type: STRING
+        name: name
+      - data-type: STRING
+        name: namespace
+      - data-type: STRING
+        name: atomic
+      - data-type: STRING
+        name: values
+      - data-type: STRING
+        name: valuesFile
+    - name: rollback-release
+      parameter:
+      - data-type: STRING
+        name: name
+      - data-type: STRING
+        name: revision
+    - name: delete-release
+      parameter:
+      - data-type: STRING
+        name: name
+    id: default-vnf-configuration
+    initial-config-primitive:
+    - name: config
+      parameter:
+      - name: ssh-hostname
+        value: <rw_mgmt_ip>
+      - name: ssh-username
+        value: ubuntu
+      seq: '1'
+    - name: setup-juju
+      seq: '2'
+    - name: add-machines
+      parameter:
+      - name: machine1
+        value: <MACHINE1>
+      - name: machine2
+        value: <MACHINE2>
+      - name: machine3
+        value: <MACHINE3>
+      - name: machine4
+        value: <MACHINE4>
+      - name: machine5
+        value: <MACHINE5>
+      - name: machine6
+        value: <MACHINE6>
+      - name: machine7
+        value: <MACHINE7>
+      - name: machine8
+        value: <MACHINE8>
+      - name: machine9
+        value: <MACHINE9>
+      - name: machine10
+        value: <MACHINE10>
+      seq: '3'
+    - name: deploy-bundle
+      parameter:
+      - name: bundle
+        value: <BUNDLE>
+      seq: '4'
+    - name: post-deploy
+      seq: '5'
+    - name: install-openebs-kubectl
+      seq: '6'
+    juju:
+      charm: tid-jujuk8s
diff --git a/k8s_jujumachine_vnf/k8s_jujumachine_vnfd.yaml b/k8s_jujumachine_vnf/k8s_jujumachine_vnfd.yaml
index 05cd9693d66b2f1878a6d3515440ed349e44c362..85d6934d815c76b4687ba80086c2d0dbd1907a98 100644
--- a/k8s_jujumachine_vnf/k8s_jujumachine_vnfd.yaml
+++ b/k8s_jujumachine_vnf/k8s_jujumachine_vnfd.yaml
@@ -1,32 +1,49 @@
-vnfd-catalog:
-    vnfd:
-    -   id: k8s_jujumachine_vnf
-        name: k8s_jujumachine_vnf
-        short-name: k8s_jujumachine_vnf
-        version: 1.0
-        description: A VNF consisting of 1 VDUs to be configured as a K8s worker or master
-        logo: osm.png
-        connection-point:
-        -   id: mgmt
-            name: mgmt
-            short-name: mgmt
-        mgmt-interface:
-            cp: mgmt
-        vdu:
-        -   id: k8svm
-            name: k8svm
-            image: ubuntu18.04
-            count: 1
-            vm-flavor:
-                vcpu-count: 8
-                memory-mb: 16384
-                storage-gb: 80
-            interface:
-            -   name: eth0
-                position: 1
-                type: EXTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                external-connection-point-ref: mgmt
-            cloud-init-file: cloud-config.txt
-
+vnfd:
+  description: A VNF consisting of 1 VDUs to be configured as a K8s worker or master
+  df:
+  - id: default-df
+    instantiation-level:
+    - id: default-instantiation-level
+      vdu-level:
+      - number-of-instances: 1
+        vdu-id: k8svm
+    vdu-profile:
+    - id: k8svm
+      min-number-of-instances: 1
+  ext-cpd:
+  - id: mgmt-ext
+    int-cpd:
+      cpd: eth0-int
+      vdu-id: k8svm
+  id: k8s_jujumachine_vnf
+  mgmt-cp: mgmt-ext
+  product-name: k8s_jujumachine_vnf
+  sw-image-desc:
+  - id: ubuntu18.04
+    image: ubuntu18.04
+    name: ubuntu18.04
+  vdu:
+  - cloud-init-file: cloud-config.txt
+    id: k8svm
+    int-cpd:
+    - id: eth0-int
+      virtual-network-interface-requirement:
+      - name: eth0
+        position: 1
+        virtual-interface:
+          type: PARAVIRT
+    name: k8svm
+    sw-image-desc: ubuntu18.04
+    virtual-compute-desc: k8svm-compute
+    virtual-storage-desc:
+    - k8svm-storage
+  version: 1.0
+  virtual-compute-desc:
+  - id: k8svm-compute
+    virtual-cpu:
+      num-virtual-cpu: 8
+    virtual-memory:
+      size: 16.0
+  virtual-storage-desc:
+  - id: k8svm-storage
+    size-of-storage: 80
diff --git a/magma/fb_magma_knf/fb_magma_vnfd.yaml b/magma/fb_magma_knf/fb_magma_vnfd.yaml
index 86b73216b6d5228ea9500b7d58289e9cac2db690..2732a2121852489480086e731e2acdc210895908 100644
--- a/magma/fb_magma_knf/fb_magma_vnfd.yaml
+++ b/magma/fb_magma_knf/fb_magma_vnfd.yaml
@@ -1,20 +1,24 @@
-vnfd-catalog:
-  schema-version: '3.0'
-  vnfd:
-  - id: fb_magma_knf
-    name: fb_magma_knf
-    short-name: fb_magma_knf
-    description: KNF with KDU using a helm-chart for Facebook magma orc8r
-    vendor: ATOS
-    version: '1.0'
-    mgmt-interface:
-      cp: mgmt
-    connection-point:
-    - name: mgmt
-    k8s-cluster:
-      nets:
-      - id: mgmtnet
-        external-connection-point-ref: mgmt
-    kdu:
-    - name: orc8r
-      helm-chart: magma/orc8r
\ No newline at end of file
+vnfd:
+  description: KNF with KDU using a helm-chart for Facebook magma orc8r
+  df:
+  - id: default-df
+    kdu-profile:
+    - kdu-model-id: orc8r-model
+      name: orc8r
+  ext-cpd:
+  - id: mgmt-ext
+    k8s-cluster-net: mgmtnet
+  id: fb_magma_knf
+  k8s-cluster:
+    nets:
+    - id: mgmtnet
+  kdu:
+  - name: orc8r
+  kdu-model:
+  - id: orc8r-model
+    kdu-model-locator: magma/orc8r
+    kdu-model-type: helm-chart
+  mgmt-cp: mgmt-ext
+  product-name: fb_magma_knf
+  provider: ATOS
+  version: '1.0'
diff --git a/magma/fb_magma_ns/fb_magma_nsd.yaml b/magma/fb_magma_ns/fb_magma_nsd.yaml
index b8d3081ba1610a1a5dc3b0d86556034d384ee1ae..3cd817fc0106011558429fc782c3c98d5e5fffcc 100644
--- a/magma/fb_magma_ns/fb_magma_nsd.yaml
+++ b/magma/fb_magma_ns/fb_magma_nsd.yaml
@@ -1,24 +1,22 @@
-nsd-catalog:
-    nsd:
-    -   id: fb_magma_ns
-        name: fb_magma_ns
-        short-name: fb_magma_ns
-        description: NS consisting of a KNF fb_magma_knf connected to mgmt network
-        vendor: ATOS
-        version: '1.0'
-        constituent-vnfd:
-        -   member-vnf-index: orc8r
-            vnfd-id-ref: fb_magma_knf
-        connection-point:
-        -   name: nsd_cp_mgmt
-            vld-id-ref: mgmtnet
-        vld:
-        -   id: mgmtnet
-            name: mgmtnet
-            type: ELAN
-            mgmt-network: true
-            vnfd-connection-point-ref:
-            -   member-vnf-index-ref: orc8r
-                vnfd-id-ref: fb_magma_knf
-                vnfd-connection-point-ref: mgmt
-
+nsd:
+  nsd:
+  - description: NS consisting of a KNF fb_magma_knf connected to mgmt network
+    designer: ATOS
+    df:
+    - id: default-df
+      vnf-profile:
+      - id: orc8r
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: orc8r
+            constituent-cpd-id: mgmt-ext
+          virtual-link-profile-id: mgmtnet
+        vnfd-id: fb_magma_knf
+    id: fb_magma_ns
+    name: fb_magma_ns
+    version: '1.0'
+    virtual-link-desc:
+    - id: mgmtnet
+      mgmt-network: true
+    vnfd-id:
+    - fb_magma_knf
diff --git a/magma/hackfest_gateway_vnfd/hackfest_gateway_vnfd.yaml b/magma/hackfest_gateway_vnfd/hackfest_gateway_vnfd.yaml
index 25c2c8e9a84191cd90b28eb24dd375b201e2183a..40a8255bb2d00574784c81ddedd06d283ecec763 100644
--- a/magma/hackfest_gateway_vnfd/hackfest_gateway_vnfd.yaml
+++ b/magma/hackfest_gateway_vnfd/hackfest_gateway_vnfd.yaml
@@ -1,39 +1,54 @@
-vnfd-catalog:
-    vnfd:
-    -   connection-point:
-        -   name: gateway_public
-            type: VPORT
-        description: Gateway PNF
-        id: hackfest_gateway_vnfd
-        mgmt-interface:
-            cp: gateway_public
-        name: hackfest_gateway_vnfd
-        short-name: hackfest_gateway_vnfd
-        vdu:
-        -   description: gateway_pdu
-            id: gateway_pdu
-            interface:
-            -   external-connection-point-ref: gateway_public
-                name: eth0
-                type: EXTERNAL
-            pdu-type: gateway
-        vnf-configuration:
-            initial-config-primitive:
-            -   name: config
-                parameter:
-                -   name: ssh-username
-                    value: osm
-                -   name: ssh-password
-                    value: osm2020
-                -   name: ssh-hostname
-                    value: <rw_mgmt_ip>
-                seq: 1
-            config-primitive:
-            -   name: configure-remote
-                parameter:
-                -   name: magmaIP
-                    data-type: STRING
-                    default-value: '0.0.0.0'
-            juju:
-                charm: vyos-config
-        version: '1.0'
+vnfd:
+  description: Gateway PNF
+  df:
+  - id: default-df
+    instantiation-level:
+    - id: default-instantiation-level
+      vdu-level:
+      - number-of-instances: 1
+        vdu-id: gateway_pdu
+    vdu-profile:
+    - id: gateway_pdu
+      min-number-of-instances: 1
+    vnf-configuration-id: default-vnf-configuration
+  ext-cpd:
+  - id: gateway_public-ext
+    int-cpd:
+      cpd: eth0-int
+      vdu-id: gateway_pdu
+  id: hackfest_gateway_vnfd
+  mgmt-cp: gateway_public-ext
+  product-name: hackfest_gateway_vnfd
+  vdu:
+  - description: gateway_pdu
+    id: gateway_pdu
+    int-cpd:
+    - id: eth0-int
+      virtual-network-interface-requirement:
+      - name: eth0
+    pdu-type: gateway
+  version: '1.0'
+  vnf-configuration:
+  - config-primitive:
+    - name: configure-remote
+      parameter:
+      - data-type: STRING
+        default-value: 0.0.0.0
+        name: magmaIP
+    id: default-vnf-configuration
+    config-access:
+      ssh-access:
+        default-user: osm
+        required: true
+    initial-config-primitive:
+    - name: config
+      parameter:
+      - name: ssh-username
+        value: osm
+      - name: ssh-password
+        value: osm2020
+      - name: ssh-hostname
+        value: <rw_mgmt_ip>
+      seq: 1
+    juju:
+      charm: vyos-config
diff --git a/magma/hackfest_magma-agw-enb_nsd/magma-agw-enb_nsd.yaml b/magma/hackfest_magma-agw-enb_nsd/magma-agw-enb_nsd.yaml
index 4e2cdb9163804c74bb4d44106636ee0326a31ca1..43717cfe1f7d8796180166f0c9927dbd8fa54bfc 100644
--- a/magma/hackfest_magma-agw-enb_nsd/magma-agw-enb_nsd.yaml
+++ b/magma/hackfest_magma-agw-enb_nsd/magma-agw-enb_nsd.yaml
@@ -1,47 +1,42 @@
-nsd-catalog:
-    nsd:
-    -   id: hackfest_magma-agw-enb_nsd
-        name: hackfest_magma-agw-enb_nsd
-        short-name: hackfest_magma-agw-enb_nsd
-        description: Magma AGW 1.0.0 with tools & srsLTE connected to PNF Gateway
-        vendor: Whitestack
-        version: '1.0'
-        constituent-vnfd:
-        -   member-vnf-index: 'MagmaAGWsrsLTE'
-            vnfd-id-ref: hackfest_magma-agw-enb_vnfd
-        -   member-vnf-index: 'VYOS-PNF'
-            vnfd-id-ref: hackfest_gateway_vnfd
-        connection-point:
-        -   name: nsd_cp_mgmt
-            vld-id-ref: mgmt
-        -   name: nsd_cp_sgi
-            vld-id-ref: sgi
-        vld:
-        -   id: mgmt
-            name: mgmt
-            short-name: mgmt
-            type: ELAN
-            mgmt-network: true
-            vnfd-connection-point-ref:
-            -   member-vnf-index-ref: 'MagmaAGWsrsLTE'
-                vnfd-id-ref: hackfest_magma-agw-enb_vnfd
-                vnfd-connection-point-ref: agw-mgmt
-            -   member-vnf-index-ref: 'MagmaAGWsrsLTE'
-                vnfd-id-ref: hackfest_magma-agw-enb_vnfd
-                vnfd-connection-point-ref: srsLTE-mgmt
-            -   member-vnf-index-ref: 'VYOS-PNF'
-                vnfd-id-ref: hackfest_gateway_vnfd
-                vnfd-connection-point-ref: gateway_public
-        -   id: sgi
-            name: sgi
-            short-name: sgi
-            type: ELAN
-            mgmt-network: false
-            vim-network-name: sgi
-            vnfd-connection-point-ref:
-            -   member-vnf-index-ref: 'MagmaAGWsrsLTE'
-                vnfd-id-ref: hackfest_magma-agw-enb_vnfd
-                vnfd-connection-point-ref: agw-sgi
-            -   member-vnf-index-ref: 'VYOS-PNF'
-                vnfd-id-ref: hackfest_gateway_vnfd
-                vnfd-connection-point-ref: gateway_public
+nsd:
+  nsd:
+  - description: Magma AGW 1.0.0 with tools & srsLTE connected to PNF Gateway
+    designer: Whitestack
+    df:
+    - id: default-df
+      vnf-profile:
+      - id: MagmaAGWsrsLTE
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: MagmaAGWsrsLTE
+            constituent-cpd-id: agw-mgmt-ext
+          - constituent-base-element-id: MagmaAGWsrsLTE
+            constituent-cpd-id: srsLTE-mgmt-ext
+          virtual-link-profile-id: mgmt
+        - constituent-cpd-id:
+          - constituent-base-element-id: MagmaAGWsrsLTE
+            constituent-cpd-id: agw-sgi-ext
+          virtual-link-profile-id: sgi
+        vnfd-id: hackfest_magma-agw-enb_vnfd
+      - id: VYOS-PNF
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: VYOS-PNF
+            constituent-cpd-id: gateway_public-ext
+          virtual-link-profile-id: mgmt
+        - constituent-cpd-id:
+          - constituent-base-element-id: VYOS-PNF
+            constituent-cpd-id: gateway_public-ext
+          virtual-link-profile-id: sgi
+        vnfd-id: hackfest_gateway_vnfd
+    id: hackfest_magma-agw-enb_nsd
+    name: hackfest_magma-agw-enb_nsd
+    version: '1.0'
+    virtual-link-desc:
+    - id: mgmt
+      mgmt-network: true
+    - id: sgi
+      vim-network-name: sgi
+    vnfd-id:
+    - hackfest_magma-agw-enb_vnfd
+    - hackfest_gateway_vnfd
diff --git a/magma/hackfest_magma-agw-enb_vnfd/magma-agw-enb_vnfd.yaml b/magma/hackfest_magma-agw-enb_vnfd/magma-agw-enb_vnfd.yaml
index 23002849ecd0ad302e9cf9d880158d3cfd06983c..d5efb43b3308bc37e7a55041efa059cd1bc97f51 100644
--- a/magma/hackfest_magma-agw-enb_vnfd/magma-agw-enb_vnfd.yaml
+++ b/magma/hackfest_magma-agw-enb_vnfd/magma-agw-enb_vnfd.yaml
@@ -1,272 +1,270 @@
-vnfd-catalog:
-  vnfd:
-    - id: hackfest_magma-agw-enb_vnfd
-      name: hackfest_magma-agw-enb_vnfd
-      short-name: hackfest_magma-agw-enb_vnfd
-      description: Magma AGW v1.0.0 with tools & srsLTE VDU
-      vendor: Whitestack
-      version: "1.0"
-      mgmt-interface:
-        cp: agw-mgmt
-      vdu:
-        - id: magma-agw-vdu
-          name: magma-agw-vdu
-          description: magma-agw-vdu
-          count: 1
-          cloud-init-file: magmaagw_init
-          vm-flavor:
-            vcpu-count: 1
-            memory-mb: 4096
-            storage-gb: 50
-          image: "magma101_hfmr9"
-          interface:
-            - name: eth0
-              type: INTERNAL
-              position: 1
-              virtual-interface:
-                #type: SR-IOV
-                type: PARAVIRT
-              internal-connection-point-ref: agw-s1
-            - name: eth1
-              type: EXTERNAL
-              position: 2
-              virtual-interface:
-                type: PARAVIRT
-              external-connection-point-ref: agw-sgi
-            - name: eth2
-              type: EXTERNAL
-              position: 3
-              virtual-interface:
-                type: PARAVIRT
-              external-connection-point-ref: agw-mgmt
-          internal-connection-point:
-            - id: agw-s1
-              name: agw-s1
-              short-name: agw-s1
-              port-security-enabled: false
-          vdu-configuration:
-            juju:
-              charm: magmagw
-            config-access:
-              ssh-access:
-                required: true
-            initial-config-primitive:
-              - seq: 1
-                name: config
-                parameter:
-                  - name: ssh-hostname
-                    value: <rw_mgmt_ip>
-                  - name: ssh-username
-                    value: magma
-                  - name: ssh-password
-                    value: magma
-              - seq: 2
-                name: reset-id
-              - seq: 3
-                name: add-net
-                parameter:
-                  - name: orch_ip
-                    value: <orch_ip>
-                  - name: orch_net
-                    value: <orch_net>
-              - seq: 4
-                name: add-gw
-                parameter:
-                  - name: agw_id
-                    value: <agw_id>
-                  - name: agw_name
-                    value: <agw_name>
-                  - name: orch_ip
-                    value: <orch_ip>
-                  - name: orch_net
-                    value: <orch_net>
-              - seq: 5
-                name: add-test-subscriber
-                parameter:
-                  - name: orch_ip
-                    value: <orch_ip>
-                  - name: orch_net
-                    value: <orch_net>
-              - seq: 6
-                name: add-hosts
-                parameter:
-                  - name: orch_ip
-                    value: <orch_ip>
-              - seq: 7
-                name: restart-magma
-            config-primitive:
-              - name: add-gw
-                parameter:
-                  - name: agw_id
-                    default-value: <agw_id>
-                  - name: agw_name
-                    default-value: <agw_name>
-                  - name: orch_ip
-                    default-value: <orch_ip>
-                  - name: orch_net
-                    default-value: <orch_net>
-              - name: del-gw
-                parameter:
-                  - name: agw_id
-                    default-value: <agw_id>
-                  - name: orch_ip
-                    default-value: <orch_ip>
-                  - name: orch_net
-                    default-value: <orch_net>
-              - name: reset-id
-              - name: restart-magma
-          monitoring-param:
-            - id: agw_cpu_util
-              nfvi-metric: cpu_utilization
-            - id: agw_memory_util
-              nfvi-metric: average_memory_utilization
-            - id: agw_packets_received
-              nfvi-metric: packets_received
-            - id: agw_packets_sent
-              nfvi-metric: packets_sent
-          alarm:
-            - actions:
-                alarm:
-                  - url: https://webhook.site/4beb0430-7497-4112-a742-434e50e8081a
-              alarm-id: cpu-above-threshold
-              operation: GT
-              value: 80
-              vnf-monitoring-param-ref: agw_cpu_util
-        - id: srsLTE-vdu
-          name: srsLTE-vdu
-          description: srsLTE-vdu
-          count: 1
-          cloud-init-file: srslte_init
-          vm-flavor:
-            vcpu-count: 4
-            memory-mb: 6144
-            storage-gb: 8
-          image: "ubuntu20.04"
-          interface:
-            - name: eth0
-              type: EXTERNAL
-              virtual-interface:
-                type: PARAVIRT
-              external-connection-point-ref: srsLTE-mgmt
-              mgmt-interface: true
-            - name: eth1
-              type: INTERNAL
-              virtual-interface:
-                #type: SR-IOV
-                type: PARAVIRT
-              internal-connection-point-ref: srsLTE-s1
-          internal-connection-point:
-            - id: srsLTE-s1
-              name: srsLTE-s1
-              short-name: srsLTE-s1
-          vdu-configuration:
-            juju:
-              charm: srs-enb-ue
-              proxy: False
-            config-access:
-              ssh-access:
-                required: True
-                default-user: ubuntu
-            initial-config-primitive:
-              - seq: 1
-                name: config
-                parameter:
-                  - name: bind-address-subnet
-                    value: 192.168.100.0/24
-            config-primitive:
-              - name: attach-ue
-                parameter:
-                  - name: usim-imsi
-                    data-type: STRING
-                  - name: usim-k
-                    data-type: STRING
-                  - name: usim-opc
-                    data-type: STRING
-              - name: detach-ue
-      internal-vld:
-        - id: internalS1
-          name: internalS1
-          short-name: internalS1
-          type: ELAN
-          ip-profile-ref: internalS1
-          internal-connection-point:
-            - id-ref: agw-s1
-              ip-address: 192.168.100.254
-            - id-ref: srsLTE-s1
-              ip-address: 192.168.100.10
-      ip-profiles:
-        - name: internalS1
+vnfd:
+  description: Magma AGW v1.0.0 with tools & srsLTE VDU
+  df:
+  - id: default-df
+    instantiation-level:
+    - id: default-instantiation-level
+      vdu-level:
+      - number-of-instances: 1
+        vdu-id: magma-agw-vdu
+      - number-of-instances: 1
+        vdu-id: srsLTE-vdu
+    scaling-aspect:
+    - aspect-delta-details:
+        deltas:
+        - id: vdu_autoscale-delta
+          vdu-delta:
+          - id: magma-agw-vdu
+            number-of-instances: 1
+      id: vdu_autoscale
+      max-scale-level: 1
+      name: vdu_autoscale
+      scaling-policy:
+      - cooldown-time: 120
+        name: cpu_util_above_threshold
+        scaling-criteria:
+        - name: cpu_util_above_threshold
+          scale-in-relational-operation: LT
+          scale-in-threshold: 10
+          scale-out-relational-operation: GT
+          scale-out-threshold: 60
+          vnf-monitoring-param-ref: agw_cpu_util
+        scaling-type: automatic
+        threshold-time: 10
+    vdu-profile:
+    - id: magma-agw-vdu
+      max-number-of-instances: 1
+      min-number-of-instances: 1
+      vdu-configuration-id: magma-agw-vdu-vdu-configuration
+    - id: srsLTE-vdu
+      min-number-of-instances: 1
+      vdu-configuration-id: srsLTE-vdu-vdu-configuration
+    virtual-link-profile:
+    - flavour: ''
+      id: internalS1
+      virtual-link-protocol-data:
+        l3-protocol-data:
+          cidr: 192.168.100.0/24
           description: S1 test network
-          ip-profile-params:
-            ip-version: ipv4
-            subnet-address: 192.168.100.0/24
-            dhcp-params:
-              enabled: true
-      connection-point:
-        - name: agw-mgmt
-        - name: agw-sgi
-        - name: srsLTE-mgmt
-      vnf-configuration:
-        #  execution-environment-list:
-        #    - id: monitor
-        #      helm-chart: eechart
-        #      metric-service: snmpexporter
-        #      connection-point-ref: agw-mgmt
-        #  initial-config-primitive:
-        #    - seq: 1
-        #      name: generate_snmp
-        #      execution-environment-ref: monitor
-        #  config-primitive:
-        #    - name: generate_snmp
-        #      execution-environment-ref: monitor
-        relation:
-          - name: agw
-            entities:
-              - id: srsLTE-vdu
-                endpoint: mme
-              - id: magma-agw-vdu
-                endpoint: agw
-      monitoring-param:
-        - id: agw_cpu_util
-          name: agw_cpu_util
-          aggregation-type: AVERAGE
-          vdu-monitoring-param:
-            vdu-ref: magma-agw-vdu
-            vdu-monitoring-param-ref: agw_cpu_util
-        - id: agw_memory_util
-          name: agw_memory_util
-          aggregation-type: AVERAGE
-          vdu-monitoring-param:
-            vdu-ref: magma-agw-vdu
-            vdu-monitoring-param-ref: agw_memory_util
-        - id: agw_packets_received
-          name: agw_packets_received
-          aggregation-type: AVERAGE
-          vdu-monitoring-param:
-            vdu-ref: magma-agw-vdu
-            vdu-monitoring-param-ref: agw_packets_received
-        - id: agw_packets_sent
-          name: agw_packets_sent
-          aggregation-type: AVERAGE
-          vdu-monitoring-param:
-            vdu-ref: magma-agw-vdu
-            vdu-monitoring-param-ref: agw_packets_sent
-      scaling-group-descriptor:
-        - max-instance-count: 1
-          min-instance-count: 0
-          name: vdu_autoscale
-          scaling-policy:
-            - cooldown-time: 120
-              name: cpu_util_above_threshold
-              scaling-criteria:
-                - name: cpu_util_above_threshold
-                  scale-in-relational-operation: LT
-                  scale-in-threshold: 10
-                  scale-out-relational-operation: GT
-                  scale-out-threshold: 60
-                  vnf-monitoring-param-ref: agw_cpu_util
-              scaling-type: automatic
-              threshold-time: 10
-          vdu:
-            - count: 1
-              vdu-id-ref: magma-agw-vdu
+          dhcp-enabled: true
+          ip-version: ipv4
+          name: internalS1-l3-protocol-data
+    vnf-configuration-id: default-vnf-configuration
+  ext-cpd:
+  - id: agw-sgi-ext
+    int-cpd:
+      cpd: eth1-int
+      vdu-id: magma-agw-vdu
+  - id: agw-mgmt-ext
+    int-cpd:
+      cpd: eth2-int
+      vdu-id: magma-agw-vdu
+  - id: srsLTE-mgmt-ext
+    int-cpd:
+      cpd: eth0-int
+      vdu-id: srsLTE-vdu
+  id: hackfest_magma-agw-enb_vnfd
+  int-virtual-link-desc:
+  - id: internalS1
+  mgmt-cp: agw-mgmt-ext
+  product-name: hackfest_magma-agw-enb_vnfd
+  provider: Whitestack
+  sw-image-desc:
+  - id: magma101_hfmr9
+    image: magma101_hfmr9
+    name: magma101_hfmr9
+  - id: ubuntu20.04
+    image: ubuntu20.04
+    name: ubuntu20.04
+  vdu:
+  - alarm:
+    - actions:
+        alarm:
+        - url: https://webhook.site/4beb0430-7497-4112-a742-434e50e8081a
+      alarm-id: cpu-above-threshold
+      operation: GT
+      value: 80
+      vnf-monitoring-param-ref: agw_cpu_util
+    cloud-init-file: magmaagw_init
+    description: magma-agw-vdu
+    id: magma-agw-vdu
+    int-cpd:
+    - id: eth0-int
+      int-virtual-link-desc: internalS1
+      virtual-network-interface-requirement:
+      - name: eth0
+        position: 1
+        virtual-interface:
+          type: PARAVIRT
+    - id: eth1-int
+      virtual-network-interface-requirement:
+      - name: eth1
+        position: 2
+        virtual-interface:
+          type: PARAVIRT
+    - id: eth2-int
+      virtual-network-interface-requirement:
+      - name: eth2
+        position: 3
+        virtual-interface:
+          type: PARAVIRT
+    monitoring-parameter:
+    - id: agw_cpu_util
+      name: agw_cpu_util
+      performance-metric: cpu_utilization
+    - id: agw_memory_util
+      name: agw_memory_util
+      performance-metric: average_memory_utilization
+    - id: agw_packets_received
+      name: agw_packets_received
+      performance-metric: packets_received
+    - id: agw_packets_sent
+      name: agw_packets_sent
+      performance-metric: packets_sent
+    name: magma-agw-vdu
+    sw-image-desc: magma101_hfmr9
+    virtual-compute-desc: magma-agw-vdu-compute
+    virtual-storage-desc:
+    - magma-agw-vdu-storage
+  - cloud-init-file: srslte_init
+    description: srsLTE-vdu
+    id: srsLTE-vdu
+    int-cpd:
+    - id: eth0-int
+      virtual-network-interface-requirement:
+      - name: eth0
+        virtual-interface:
+          type: PARAVIRT
+    - id: eth1-int
+      int-virtual-link-desc: internalS1
+      virtual-network-interface-requirement:
+      - name: eth1
+        virtual-interface:
+          type: PARAVIRT
+    name: srsLTE-vdu
+    sw-image-desc: ubuntu20.04
+    virtual-compute-desc: srsLTE-vdu-compute
+    virtual-storage-desc:
+    - srsLTE-vdu-storage
+  vdu-configuration:
+  - config-access:
+      ssh-access:
+        required: true
+    config-primitive:
+    - name: add-gw
+      parameter:
+      - default-value: <agw_id>
+        name: agw_id
+      - default-value: <agw_name>
+        name: agw_name
+      - default-value: <orch_ip>
+        name: orch_ip
+      - default-value: <orch_net>
+        name: orch_net
+    - name: del-gw
+      parameter:
+      - default-value: <agw_id>
+        name: agw_id
+      - default-value: <orch_ip>
+        name: orch_ip
+      - default-value: <orch_net>
+        name: orch_net
+    - name: reset-id
+    - name: restart-magma
+    id: magma-agw-vdu-vdu-configuration
+    initial-config-primitive:
+    - name: config
+      parameter:
+      - name: ssh-hostname
+        value: <rw_mgmt_ip>
+      - name: ssh-username
+        value: magma
+      - name: ssh-password
+        value: magma
+      seq: 1
+    - name: reset-id
+      seq: 2
+    - name: add-net
+      parameter:
+      - name: orch_ip
+        value: <orch_ip>
+      - name: orch_net
+        value: <orch_net>
+      seq: 3
+    - name: add-gw
+      parameter:
+      - name: agw_id
+        value: <agw_id>
+      - name: agw_name
+        value: <agw_name>
+      - name: orch_ip
+        value: <orch_ip>
+      - name: orch_net
+        value: <orch_net>
+      seq: 4
+    - name: add-test-subscriber
+      parameter:
+      - name: orch_ip
+        value: <orch_ip>
+      - name: orch_net
+        value: <orch_net>
+      seq: 5
+    - name: add-hosts
+      parameter:
+      - name: orch_ip
+        value: <orch_ip>
+      seq: 6
+    - name: restart-magma
+      seq: 7
+    juju:
+      charm: magmagw
+  - config-access:
+      ssh-access:
+        default-user: ubuntu
+        required: true
+    config-primitive:
+    - name: attach-ue
+      parameter:
+      - data-type: STRING
+        name: usim-imsi
+      - data-type: STRING
+        name: usim-k
+      - data-type: STRING
+        name: usim-opc
+    - name: detach-ue
+    id: srsLTE-vdu-vdu-configuration
+    initial-config-primitive:
+    - name: config
+      parameter:
+      - name: bind-address-subnet
+        value: 192.168.100.0/24
+      seq: 1
+    juju:
+      charm: srs-enb-ue
+      proxy: false
+  version: '1.0'
+  virtual-compute-desc:
+  - id: magma-agw-vdu-compute
+    virtual-cpu:
+      num-virtual-cpu: 1
+    virtual-memory:
+      size: 4.0
+  - id: srsLTE-vdu-compute
+    virtual-cpu:
+      num-virtual-cpu: 4
+    virtual-memory:
+      size: 6.0
+  virtual-storage-desc:
+  - id: magma-agw-vdu-storage
+    size-of-storage: 50
+  - id: srsLTE-vdu-storage
+    size-of-storage: 8
+  vnf-configuration:
+  - id: default-vnf-configuration
+    relation:
+    - entities:
+      - endpoint: mme
+        id: srsLTE-vdu
+      - endpoint: agw
+        id: magma-agw-vdu
+      name: agw
diff --git a/magma/pdu.yaml b/magma/pdu.yaml
index 2132c42bad2543a2958e81da70b95dca9433f3bc..db4a5f231a98ea8ac547f6649003ccd9db138cc5 100644
--- a/magma/pdu.yaml
+++ b/magma/pdu.yaml
@@ -6,7 +6,6 @@ shared:         false
 interfaces:
  -  name:       eth0
     ip-address: 172.21.250.200
-    vim-network-name: osm-ext
     mgmt:       true
  -  name:       eth1
     ip-address: 192.168.239.7
diff --git a/magma/squid_cnf/squid_vnfd.yaml b/magma/squid_cnf/squid_vnfd.yaml
index 2f84d8a81836c8ba50f80ceaad44a84f26388b13..20e1a54f4e0c963e32e04e6cf0952afa3fb673d3 100644
--- a/magma/squid_cnf/squid_vnfd.yaml
+++ b/magma/squid_cnf/squid_vnfd.yaml
@@ -1,39 +1,44 @@
-vnfd-catalog:
-    schema-version: '3.0'
-    vnfd:
-    -   id: squid_cnf
-        name: squid_cnf
-        short-name: squid_cnf
-        description: K8s container deployment of Squid Web Proxy
-        vendor: Canonical
-        version: "1.0"
-        mgmt-interface:
-            cp: mgmt
-        connection-point:
-        -   name: mgmtnet
-        kdu:
-        -   name: squid-kdu
-            juju-bundle: bundle.yaml
-            kdu-configuration:
-                config-primitive:
-                -   name: addurl
-                    parameter:
-                    -   name: application-name
-                        data-type: STRING
-                        default-value: squid
-                    -   name: url
-                        data-type: STRING
-                        default-value: ""
-                -   name: deleteurl
-                    parameter:
-                    -   name: application-name
-                        data-type: STRING
-                        default-value: squid
-                    -   name: url
-                        data-type: STRING
-                        default-value: ""
-        k8s-cluster:
-            nets:
-            -   id: mgmtnet
-                external-connection-point-ref: mgmt
-
+vnfd:
+  description: K8s container deployment of Squid Web Proxy
+  df:
+  - id: default-df
+    kdu-profile:
+    - kdu-configuration-id: squid-kdu-kdu-configuration
+      kdu-model-id: squid-kdu-model
+      name: squid-kdu
+  ext-cpd:
+  - id: mgmt-ext
+    k8s-cluster-net: mgmtnet
+  id: squid_cnf
+  k8s-cluster:
+    nets:
+    - id: mgmtnet
+  kdu:
+  - name: squid-kdu
+  kdu-configuration:
+  - config-primitive:
+    - name: addurl
+      parameter:
+      - data-type: STRING
+        default-value: squid
+        name: application-name
+      - data-type: STRING
+        default-value: ''
+        name: url
+    - name: deleteurl
+      parameter:
+      - data-type: STRING
+        default-value: squid
+        name: application-name
+      - data-type: STRING
+        default-value: ''
+        name: url
+    id: squid-kdu-kdu-configuration
+  kdu-model:
+  - id: squid-kdu-model
+    kdu-model-locator: bundle.yaml
+    kdu-model-type: juju-bundle
+  mgmt-cp: mgmt-ext
+  product-name: squid_cnf
+  provider: Canonical
+  version: '1.0'
diff --git a/magma/squid_cnf_ns/squid_cnf_nsd.yaml b/magma/squid_cnf_ns/squid_cnf_nsd.yaml
index 195ba25ac821c9c389b72b67deac1a932c9135b0..871a35feeb39b777e13f0848c925f77894fc8bc0 100644
--- a/magma/squid_cnf_ns/squid_cnf_nsd.yaml
+++ b/magma/squid_cnf_ns/squid_cnf_nsd.yaml
@@ -1,23 +1,23 @@
-nsd-catalog:
-    nsd:
-    -   id: squid_cnf_ns
-        name: squid_cnf_ns
-        short-name: squid_cnf_ns
-        description: NS with 1 KDU connected to the mgmtnet VL
-        vendor: Canonical
-        version: '1.0'
-        logo: osm.png
-        constituent-vnfd:
-        -   vnfd-id-ref: squid_cnf
-            member-vnf-index: squid_cnf
-        vld:
-        -   id: mgmtnet
-            name: mgmtnet
-            short-name: mgmtnet
-            type: ELAN
-            mgmt-network: true
-            vim-network-name: mgmt
-            vnfd-connection-point-ref:
-            -   member-vnf-index-ref: squid_cnf
-                vnfd-id-ref: squid_cnf
-                vnfd-connection-point-ref: mgmtnet
\ No newline at end of file
+nsd:
+  nsd:
+  - description: NS with 1 KDU connected to the mgmtnet VL
+    designer: Canonical
+    df:
+    - id: default-df
+      vnf-profile:
+      - id: squid_cnf
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: squid_cnf
+            constituent-cpd-id: mgmtnet-ext
+          virtual-link-profile-id: mgmtnet
+        vnfd-id: squid_cnf
+    id: squid_cnf_ns
+    name: squid_cnf_ns
+    version: '1.0'
+    virtual-link-desc:
+    - id: mgmtnet
+      mgmt-network: true
+      vim-network-name: mgmt
+    vnfd-id:
+    - squid_cnf
diff --git a/nscharm_ns/nscharm_nsd.yaml b/nscharm_ns/nscharm_nsd.yaml
index deade8e3798289ee3ff7e153fb193f29c7a54da0..6af8d866e9a49444ee9ef43b636d74cbdfa7a5ee 100644
--- a/nscharm_ns/nscharm_nsd.yaml
+++ b/nscharm_ns/nscharm_nsd.yaml
@@ -1,50 +1,52 @@
-nsd:nsd-catalog:
-    nsd:
-    -   id: nscharm-ns
-        name: nscharm-ns
-        short-name: nscharm-ns
-        description: NS with 2 VNFs
-        version: '1.0'
-        logo: osm.png
-        constituent-vnfd:
-        -   vnfd-id-ref: nscharm-user-vnf
-            member-vnf-index: '1'
-        -   vnfd-id-ref: nscharm-policy-vnf
-            member-vnf-index: '2'
-        vld:
-        -   id: mgmtnet
-            name: mgmtnet
-            short-name: mgmtnet
-            type: ELAN
-            mgmt-network: 'true'
-            vim-network-name: mgmt
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: nscharm-user-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: vnf-mgmt
-            -   vnfd-id-ref: nscharm-policy-vnf
-                member-vnf-index-ref: '2'
-                vnfd-connection-point-ref: vnf-mgmt
-
-        ns-configuration:
-            juju:
-                charm: ns
-            initial-config-primitive:
-            -   seq: '1'
-                name: config
-                parameter:
-                # Configure Juju credentials
-                -   name: juju-username
-                    value: 'admin'
-                -   name: juju-password
-                    value: 'd55ce8ab4efa59e7f1b865bce53f55ed'
-            -   seq: '2'
-                name: add-user
-                parameter:
-                -   name: username
-                    value: root
-            config-primitive:
-            -   name: add-user
-                parameter:
-                -   name: username
-                    data-type: STRING
+nsd:
+  nsd:
+  - description: NS with 2 VNFs
+    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: mgmtnet
+        vnfd-id: nscharm-user-vnf
+      - id: '2'
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: '2'
+            constituent-cpd-id: vnf-mgmt-ext
+          virtual-link-profile-id: mgmtnet
+        vnfd-id: nscharm-policy-vnf
+    id: nscharm-ns
+    name: nscharm-ns
+    version: '1.0'
+    virtual-link-desc:
+    - id: mgmtnet
+      mgmt-network: 'true'
+      vim-network-name: mgmt
+    vnfd-id:
+    - nscharm-user-vnf
+    - nscharm-policy-vnf
+    ns-configuration:
+      juju:
+        charm: ns
+      initial-config-primitive:
+      - seq: '1'
+        name: config
+        parameter:
+        # Configure Juju credentials
+        - name: juju-username
+          value: 'admin'
+        - name: juju-password
+          value: 'd55ce8ab4efa59e7f1b865bce53f55ed'
+      - seq: '2'
+        name: add-user
+        parameter:
+        - name: username
+          value: root
+      config-primitive:
+      - name: add-user
+        parameter:
+        - name: username
+          data-type: STRING
diff --git a/nscharm_policy_vnf/nscharm_policy_vnfd.yaml b/nscharm_policy_vnf/nscharm_policy_vnfd.yaml
index 895c24c9265ed307ef90f76f6fffd6fbc2f278fd..817b841151f9595e216e0b4dd861a515ccb22345 100644
--- a/nscharm_policy_vnf/nscharm_policy_vnfd.yaml
+++ b/nscharm_policy_vnf/nscharm_policy_vnfd.yaml
@@ -1,68 +1,74 @@
-vnfd:vnfd-catalog:
-    vnfd:
-    -   id: nscharm-policy-vnf
-        name: nscharm-policy-vnf
-        short-name: nscharm-policy-vnf
-        version: '1.0'
-        description: A VNF consisting of 2 VDUs w/proxy charm
-        logo: osm.png
-        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
-        mgmt-interface:
-            cp: vnf-mgmt
-        internal-vld:
-        -   id: internal
-            name: internal
-            short-name: internal
-            type: ELAN
-            internal-connection-point:
-            -   id-ref: policyVM-internal
-        vdu:
-        -   id: policyVM
-            name: policyVM
-            image: ubuntu1604
-            count: '1'
-            vm-flavor:
-                vcpu-count: '1'
-                memory-mb: '1024'
-                storage-gb: '10'
-            interface:
-            -   name: policyVM-eth0
-                position: '1'
-                type: EXTERNAL
-                virtual-interface:
-                    type: VIRTIO
-                external-connection-point-ref: vnf-mgmt
-            -   name: policyVM-eth1
-                position: '2'
-                type: INTERNAL
-                virtual-interface:
-                    type: VIRTIO
-                internal-connection-point-ref: policyVM-internal
-            internal-connection-point:
-            -   id: policyVM-internal
-                name: policyVM-internal
-                short-name: policyVM-internal
-                type: VPORT
-            cloud-init-file: cloud-config.txt
-            vdu-configuration:
-                juju:
-                    charm: vnf-policy
-                    proxy: true
-                initial-config-primitive:
-                -   seq: '1'
-                    name: config
-                    parameter:
-                    -   name: ssh-hostname
-                        value: <rw_mgmt_ip>
-                    -   name: ssh-username
-                        value: ubuntu
-                    -   name: ssh-password
-                        value: osm4u                    
\ No newline at end of file
+vnfd:
+  description: A VNF consisting of 2 VDUs w/proxy charm
+  df:
+  - id: default-df
+    instantiation-level:
+    - id: default-instantiation-level
+      vdu-level:
+      - number-of-instances: 1
+        vdu-id: policyVM
+    vdu-profile:
+    - id: policyVM
+      min-number-of-instances: 1
+      vdu-configuration-id: policyVM-vdu-configuration
+  ext-cpd:
+  - id: vnf-mgmt-ext
+    int-cpd:
+      cpd: policyVM-eth0-int
+      vdu-id: policyVM
+  id: nscharm-policy-vnf
+  int-virtual-link-desc:
+  - id: internal
+  mgmt-cp: vnf-mgmt-ext
+  product-name: nscharm-policy-vnf
+  sw-image-desc:
+  - id: ubuntu1604
+    image: ubuntu1604
+    name: ubuntu1604
+  vdu:
+  - cloud-init-file: cloud-config.txt
+    id: policyVM
+    int-cpd:
+    - id: policyVM-eth0-int
+      virtual-network-interface-requirement:
+      - name: policyVM-eth0
+        position: 1
+        virtual-interface:
+          type: VIRTIO
+    - id: policyVM-eth1-int
+      int-virtual-link-desc: internal
+      virtual-network-interface-requirement:
+      - name: policyVM-eth1
+        position: 2
+        virtual-interface:
+          type: VIRTIO
+    name: policyVM
+    sw-image-desc: ubuntu1604
+    virtual-compute-desc: policyVM-compute
+    virtual-storage-desc:
+    - policyVM-storage
+  vdu-configuration:
+  - id: policyVM-vdu-configuration
+    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'
+    juju:
+      charm: vnf-policy
+      proxy: true
+  version: '1.0'
+  virtual-compute-desc:
+  - id: policyVM-compute
+    virtual-cpu:
+      num-virtual-cpu: 1
+    virtual-memory:
+      size: 1.0
+  virtual-storage-desc:
+  - id: policyVM-storage
+    size-of-storage: 10
diff --git a/nscharm_user_vnf/nscharm_user_vnfd.yaml b/nscharm_user_vnf/nscharm_user_vnfd.yaml
index 93be6a963b3e61368f9858566f24b323b28644e9..443095bc126613f298028288c88acdb3b19e735f 100644
--- a/nscharm_user_vnf/nscharm_user_vnfd.yaml
+++ b/nscharm_user_vnf/nscharm_user_vnfd.yaml
@@ -1,64 +1,74 @@
-vnfd:vnfd-catalog:
-    vnfd:
-    -   id: nscharm-user-vnf
-        name: nscharm-user-vnf
-        short-name: nscharm-user-vnf
-        version: '1.0'
-        description: A VNF consisting of 2 VDUs w/proxy charm
-        logo: osm.png
-        connection-point:
-        -   id: vnf-mgmt
-            name: vnf-mgmt
-            short-name: vnf-mgmt
-            type: VPORT
-        mgmt-interface:
-            cp: vnf-mgmt
-        internal-vld:
-        -   id: internal
-            name: internal
-            short-name: internal
-            type: ELAN
-            internal-connection-point:
-            -   id-ref: userVM-internal
-        vdu:
-        -   id: userVM
-            name: userVM
-            image: ubuntu1604
-            count: '1'
-            vm-flavor:
-                vcpu-count: '1'
-                memory-mb: '1024'
-                storage-gb: '10'
-            interface:
-            -   name: userVM-eth0
-                position: '1'
-                type: EXTERNAL
-                virtual-interface:
-                    type: VIRTIO
-                external-connection-point-ref: vnf-mgmt
-            -   name: userVM-eth1
-                position: '2'
-                type: INTERNAL
-                virtual-interface:
-                    type: VIRTIO
-                internal-connection-point-ref: userVM-internal
-            internal-connection-point:
-            -   id: userVM-internal
-                name: userVM-internal
-                short-name: userVM-internal
-                type: VPORT
-            cloud-init-file: cloud-config.txt
-            vdu-configuration:
-                juju:
-                    charm: vnf-user
-                    proxy: true
-                initial-config-primitive:
-                -   seq: '1'
-                    name: config
-                    parameter:
-                    -   name: ssh-hostname
-                        value: <rw_mgmt_ip>
-                    -   name: ssh-username
-                        value: ubuntu
-                    -   name: ssh-password
-                        value: osm4u
\ No newline at end of file
+vnfd:
+  description: A VNF consisting of 2 VDUs w/proxy charm
+  df:
+  - id: default-df
+    instantiation-level:
+    - id: default-instantiation-level
+      vdu-level:
+      - number-of-instances: 1
+        vdu-id: userVM
+    vdu-profile:
+    - id: userVM
+      min-number-of-instances: 1
+      vdu-configuration-id: userVM-vdu-configuration
+  ext-cpd:
+  - id: vnf-mgmt-ext
+    int-cpd:
+      cpd: userVM-eth0-int
+      vdu-id: userVM
+  id: nscharm-user-vnf
+  int-virtual-link-desc:
+  - id: internal
+  mgmt-cp: vnf-mgmt-ext
+  product-name: nscharm-user-vnf
+  sw-image-desc:
+  - id: ubuntu1604
+    image: ubuntu1604
+    name: ubuntu1604
+  vdu:
+  - cloud-init-file: cloud-config.txt
+    id: userVM
+    int-cpd:
+    - id: userVM-eth0-int
+      virtual-network-interface-requirement:
+      - name: userVM-eth0
+        position: 1
+        virtual-interface:
+          type: VIRTIO
+    - id: userVM-eth1-int
+      int-virtual-link-desc: internal
+      virtual-network-interface-requirement:
+      - name: userVM-eth1
+        position: 2
+        virtual-interface:
+          type: VIRTIO
+    name: userVM
+    sw-image-desc: ubuntu1604
+    virtual-compute-desc: userVM-compute
+    virtual-storage-desc:
+    - userVM-storage
+  vdu-configuration:
+  - id: userVM-vdu-configuration
+    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'
+    juju:
+      charm: vnf-user
+      proxy: true
+  version: '1.0'
+  virtual-compute-desc:
+  - id: userVM-compute
+    virtual-cpu:
+      num-virtual-cpu: 1
+    virtual-memory:
+      size: 1.0
+  virtual-storage-desc:
+  - id: userVM-storage
+    size-of-storage: 10
diff --git a/openldap_knf/openldap_vnfd.yaml b/openldap_knf/openldap_vnfd.yaml
index c599cce7257bbdc78bc25c80453b4b397b4f089f..f0e9502d7514d62586d344b79a361d6f45b195b2 100644
--- a/openldap_knf/openldap_vnfd.yaml
+++ b/openldap_knf/openldap_vnfd.yaml
@@ -1,21 +1,24 @@
-vnfd-catalog:
-  schema-version: '3.0'
-  vnfd:
-  - id: openldap_knf
-    name: openldap_knf
-    short-name: openldap_knf
-    description: KNF with single KDU using a helm-chart for openldap version 1.2.3
-    vendor: Telefonica
-    version: '1.0'
-    mgmt-interface:
-      cp: mgmt
-    connection-point:
-    - name: mgmt
-    k8s-cluster:
-      nets:
-      - id: mgmtnet
-        external-connection-point-ref: mgmt
-    kdu:
-    - name: ldap
-      helm-chart: stable/openldap:1.2.3
-
+vnfd:
+  description: KNF with single KDU using a helm-chart for openldap version 1.2.3
+  df:
+  - id: default-df
+    kdu-profile:
+    - kdu-model-id: ldap-model
+      name: ldap
+  ext-cpd:
+  - id: mgmt-ext
+    k8s-cluster-net: mgmtnet
+  id: openldap_knf
+  k8s-cluster:
+    nets:
+    - id: mgmtnet
+  kdu:
+  - name: ldap
+  kdu-model:
+  - id: ldap-model
+    kdu-model-locator: stable/openldap:1.2.3
+    kdu-model-type: helm-chart
+  mgmt-cp: mgmt-ext
+  product-name: openldap_knf
+  provider: Telefonica
+  version: '1.0'
diff --git a/openldap_ns/openldap_nsd.yaml b/openldap_ns/openldap_nsd.yaml
index 535a54d56b290495fd2558135616ffbf8ac3adfe..b995164c2e9783383d8f2f571a19aa281f060c1e 100644
--- a/openldap_ns/openldap_nsd.yaml
+++ b/openldap_ns/openldap_nsd.yaml
@@ -1,22 +1,22 @@
-nsd-catalog:
-    nsd:
-    -   id: openldap_ns
-        name: openldap_ns
-        short-name: openldap_ns
-        description: NS consisting of a single KNF openldap_knf connected to mgmt network
-        vendor: OSM
-        version: '1.0'
-        logo: osm.png
-        constituent-vnfd:
-        -   member-vnf-index: openldap
-            vnfd-id-ref: openldap_knf
-        vld:
-        -   id: mgmtnet
-            name: mgmtnet
-            type: ELAN
-            mgmt-network: 'true'
-            vnfd-connection-point-ref:
-            -   member-vnf-index-ref: openldap
-                vnfd-id-ref: openldap_knf
-                vnfd-connection-point-ref: mgmt
-
+nsd:
+  nsd:
+  - description: NS consisting of a single KNF openldap_knf connected to mgmt network
+    designer: OSM
+    df:
+    - id: default-df
+      vnf-profile:
+      - id: openldap
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: openldap
+            constituent-cpd-id: mgmt-ext
+          virtual-link-profile-id: mgmtnet
+        vnfd-id: openldap_knf
+    id: openldap_ns
+    name: openldap_ns
+    version: '1.0'
+    virtual-link-desc:
+    - id: mgmtnet
+      mgmt-network: 'true'
+    vnfd-id:
+    - openldap_knf
diff --git a/simple_ee_ns/simple_ee_nsd.yaml b/simple_ee_ns/simple_ee_nsd.yaml
index 8809f107aabc2e49d238fd49f0df28f2da56f1b5..1321f126a1af35b77c81e01cec19d911cb397914 100644
--- a/simple_ee_ns/simple_ee_nsd.yaml
+++ b/simple_ee_ns/simple_ee_nsd.yaml
@@ -1,22 +1,21 @@
-nsd-catalog:
-    nsd:
-    -   id: simple_ee-ns
-        name: simple_ee-ns
-        short-name: simple_ee-ns
-        description: NS with 2 VNFs with cloudinit connected by datanet and mgmtnet VLs
-        version: 1.0
-        logo: osm.png
-        constituent-vnfd:
-        -   vnfd-id-ref: simple_ee-vnf
-            member-vnf-index: simple
-        vld:
-        -   id: mgmtnet
-            name: mgmtnet
-            short-name: mgmtnet
-            type: ELAN
-            mgmt-network: true
-            vim-network-name: osm-ext
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: simple_ee-vnf
-                member-vnf-index-ref: simple
-                vnfd-connection-point-ref: vnf-mgmt
+nsd:
+  nsd:
+  - description: NS with 2 VNFs with cloudinit connected by datanet and mgmtnet VLs
+    df:
+    - id: default-df
+      vnf-profile:
+      - id: simple
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: simple
+            constituent-cpd-id: vnf-mgmt-ext
+          virtual-link-profile-id: mgmtnet
+        vnfd-id: simple_ee-vnf
+    id: simple_ee-ns
+    name: simple_ee-ns
+    version: 1.0
+    virtual-link-desc:
+    - id: mgmtnet
+      mgmt-network: true
+    vnfd-id:
+    - simple_ee-vnf
diff --git a/simple_ee_vnf/simple_ee_vnfd.yaml b/simple_ee_vnf/simple_ee_vnfd.yaml
index 7960bd10e177afc951226eb69129ec8a5034d623..6be9c35f2ba0e3b835c60e0630c002a207858efe 100644
--- a/simple_ee_vnf/simple_ee_vnfd.yaml
+++ b/simple_ee_vnf/simple_ee_vnfd.yaml
@@ -1,79 +1,98 @@
-vnfd-catalog:
-    vnfd:
-    -   id: simple_ee-vnf
-        name: simple_ee-vnf
-        short-name: simple_ee-vnf
-        version: "1.0"
-        description: A VNF consisting of 1 VDU with cloud-init, and a monitoring ee
-        logo: osm.png
-        connection-point:
-        -   id: vnf-mgmt
-            name: vnf-mgmt
-            short-name: vnf-mgmt
-            type: VPORT
-        mgmt-interface:
-            cp: vnf-mgmt
-        vdu:
-        -   id: mgmtVM
-            name: mgmtVM
-            image: ubuntu16.04
-            count: 1
-            vm-flavor:
-                vcpu-count: 1
-                memory-mb: 1024
-                storage-gb: 20
-            guest-epa:
-                cpu-pinning-policy: DEDICATED
-                cpu-thread-pinning-policy: PREFER
-                mempage-size: LARGE
-                numa-node-policy:
-                    mem-policy: STRICT
-                    node-cnt: '1'
-                    node:
-                    -   id: '1'
-            interface:
-            -   name: mgmtVM-eth0
-                position: 1
-                type: EXTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                external-connection-point-ref: vnf-mgmt
-            cloud-init-file: cloud-config.txt
-        vnf-configuration:
-            config-access:
-                ssh-access:
-                    default-user: ubuntu
-                    required: true
-            execution-environment-list:
-            -   id: monitor
-                helm-chart: eechart
-                connection-point-ref: vnf-mgmt
-            initial-config-primitive:
-            -   seq: "1"
-                name: config
-                execution-environment-ref: monitor
-                parameter:
-                -   name: ssh-hostname
-                    value: <rw_mgmt_ip>
-                -   name: ssh-username
-                    value: ubuntu
-                -   name: ssh-password
-                    value: osm2020
-            -   seq: "2"
-                name: touch
-                execution-environment-ref: monitor
-                parameter:
-                -   name: file-path
-                    value: "/home/ubuntu/first-touch"
-            config-primitive:
-            -   name: touch
-                execution-environment-ref: monitor
-                execution-environment-primitive: touch
-                parameter:
-                -   name: file-path
-                    default-value: "/home/ubuntu/touched"
-                    data-type: STRING
-            -   name: sleep
-                execution-environment-ref: monitor
-                execution-environment-primitive: sleep
-    
+vnfd:
+  description: A VNF consisting of 1 VDU with cloud-init, and a monitoring ee
+  df:
+  - id: default-df
+    instantiation-level:
+    - id: default-instantiation-level
+      vdu-level:
+      - number-of-instances: 1
+        vdu-id: mgmtVM
+    vdu-profile:
+    - id: mgmtVM
+      min-number-of-instances: 1
+    vnf-configuration-id: default-vnf-configuration
+  ext-cpd:
+  - id: vnf-mgmt-ext
+    int-cpd:
+      cpd: mgmtVM-eth0-int
+      vdu-id: mgmtVM
+  id: simple_ee-vnf
+  mgmt-cp: vnf-mgmt-ext
+  product-name: simple_ee-vnf
+  sw-image-desc:
+  - id: ubuntu16.04
+    image: ubuntu16.04
+    name: ubuntu16.04
+  vdu:
+  - cloud-init-file: cloud-config.txt
+    id: mgmtVM
+    int-cpd:
+    - id: mgmtVM-eth0-int
+      virtual-network-interface-requirement:
+      - name: mgmtVM-eth0
+        position: 1
+        virtual-interface:
+          type: PARAVIRT
+    name: mgmtVM
+    sw-image-desc: ubuntu16.04
+    virtual-compute-desc: mgmtVM-compute
+    virtual-storage-desc:
+    - mgmtVM-storage
+  version: '1.0'
+  virtual-compute-desc:
+  - id: mgmtVM-compute
+    virtual-cpu:
+      num-virtual-cpu: 1
+      pinning:
+        policy: static
+        thread-policy: PREFER
+    virtual-memory:
+      mempage-size: LARGE
+      numa-enabled: true
+      numa-node-policy:
+        mem-policy: STRICT
+        node:
+        - id: '1'
+        node-cnt: '1'
+      size: 1.0
+  virtual-storage-desc:
+  - id: mgmtVM-storage
+    size-of-storage: 20
+  vnf-configuration:
+  - config-access:
+      ssh-access:
+        default-user: ubuntu
+        required: true
+    config-primitive:
+    - execution-environment-primitive: touch
+      execution-environment-ref: monitor
+      name: touch
+      parameter:
+      - data-type: STRING
+        default-value: /home/ubuntu/touched
+        name: file-path
+    - execution-environment-primitive: sleep
+      execution-environment-ref: monitor
+      name: sleep
+    execution-environment-list:
+    - connection-point-ref: vnf-mgmt
+      helm-chart: eechart
+      id: monitor
+    id: default-vnf-configuration
+    initial-config-primitive:
+    - execution-environment-ref: monitor
+      name: config
+      parameter:
+      - name: ssh-hostname
+        value: <rw_mgmt_ip>
+      - name: ssh-username
+        value: ubuntu
+      - name: ssh-password
+        value: osm2020
+      seq: '1'
+    - execution-environment-ref: monitor
+      name: touch
+      parameter:
+      - name: file-path
+        value: /home/ubuntu/first-touch
+      seq: '2'
diff --git a/simple_nopasswd_ns/simple_nopasswd_nsd.yaml b/simple_nopasswd_ns/simple_nopasswd_nsd.yaml
index d4e111ff65c068dae371e36c2b5a5f81c32d2b8b..3190ed042f17a69e03efe7b25badc9fc00017d04 100644
--- a/simple_nopasswd_ns/simple_nopasswd_nsd.yaml
+++ b/simple_nopasswd_ns/simple_nopasswd_nsd.yaml
@@ -1,39 +1,27 @@
-nsd-catalog:
-    nsd:
-    -   id: simple_nopasswd-ns
-        name: simple_nopasswd-ns
-        short-name: simple_nopasswd-ns
-        description: NS with 2 VNFs simple_nopasswd-vnf connected by datanet and mgmtnet VLs
-        version: '1.0'
-        logo: osm.png
-        constituent-vnfd:
-        -   vnfd-id-ref: simple_nopasswd-vnf
-            member-vnf-index: '1'
-        # -   vnfd-id-ref: hackfest-simplecharm-vnf
-        #     member-vnf-index: '2'
-        vld:
-        -   id: mgmtnet
-            name: mgmtnet
-            short-name: mgmtnet
-            type: ELAN
-            mgmt-network: true
-            vim-network-name: mgmt
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: simple_nopasswd-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: vnf-mgmt
-            # -   vnfd-id-ref: hackfest-simplecharm-vnf
-            #     member-vnf-index-ref: '2'
-            #     vnfd-connection-point-ref: vnf-mgmt
-        -   id: datanet
-            name: datanet
-            short-name: datanet
-            type: ELAN
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: simple_nopasswd-vnf
-                member-vnf-index-ref: '1'
-                vnfd-connection-point-ref: vnf-data
-            # -   vnfd-id-ref: hackfest-simplecharm-vnf
-            #     member-vnf-index-ref: '2'
-            #     vnfd-connection-point-ref: vnf-data
-
+nsd:
+  nsd:
+  - description: NS with 2 VNFs simple_nopasswd-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: mgmtnet
+        - constituent-cpd-id:
+          - constituent-base-element-id: '1'
+            constituent-cpd-id: vnf-data-ext
+          virtual-link-profile-id: datanet
+        vnfd-id: simple_nopasswd-vnf
+    id: simple_nopasswd-ns
+    name: simple_nopasswd-ns
+    version: '1.0'
+    virtual-link-desc:
+    - id: mgmtnet
+      mgmt-network: true
+    - id: datanet
+    vnfd-id:
+    - simple_nopasswd-vnf
diff --git a/simple_nopasswd_vnf/simple_nopasswd_vnfd.yaml b/simple_nopasswd_vnf/simple_nopasswd_vnfd.yaml
index be3a2d41ea42bab370dfd54d843a1b4f95b8116c..716bce9394362ca9ec1c0fe0716654ef5d165d3e 100644
--- a/simple_nopasswd_vnf/simple_nopasswd_vnfd.yaml
+++ b/simple_nopasswd_vnf/simple_nopasswd_vnfd.yaml
@@ -1,108 +1,122 @@
-vnfd-catalog:
-  vnfd:
-  - 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: simple_nopasswd-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
-    name: simple_nopasswd-vnf
-    short-name: simple_nopasswd-vnf
-    vdu:
-    - cloud-init-file: cloud-config.txt
-      count: '1'
-      id: mgmtVM
-      image: ubuntu16.04
-      interface:
-      - external-connection-point-ref: vnf-mgmt
-        name: mgmtVM-eth0
-        position: '1'
-        type: EXTERNAL
+vnfd:
+  description: A VNF consisting of 2 VDUs connected to an internal VL, and one VDU
+    with cloud-init
+  df:
+  - id: default-df
+    instantiation-level:
+    - id: default-instantiation-level
+      vdu-level:
+      - number-of-instances: 1
+        vdu-id: mgmtVM
+      - number-of-instances: 1
+        vdu-id: dataVM
+    vdu-profile:
+    - id: mgmtVM
+      min-number-of-instances: 1
+    - id: dataVM
+      min-number-of-instances: 1
+    vnf-configuration-id: default-vnf-configuration
+  ext-cpd:
+  - id: vnf-mgmt-ext
+    int-cpd:
+      cpd: mgmtVM-eth0-int
+      vdu-id: mgmtVM
+  - id: vnf-data-ext
+    int-cpd:
+      cpd: dataVM-xe0-int
+      vdu-id: dataVM
+  id: simple_nopasswd-vnf
+  int-virtual-link-desc:
+  - id: internal
+  mgmt-cp: vnf-mgmt-ext
+  product-name: simple_nopasswd-vnf
+  sw-image-desc:
+  - id: ubuntu16.04
+    image: ubuntu16.04
+    name: ubuntu16.04
+  vdu:
+  - cloud-init-file: cloud-config.txt
+    id: mgmtVM
+    int-cpd:
+    - id: mgmtVM-eth0-int
+      virtual-network-interface-requirement:
+      - name: mgmtVM-eth0
+        position: 1
         virtual-interface:
           type: PARAVIRT
-      - internal-connection-point-ref: mgmtVM-internal
-        name: mgmtVM-eth1
-        position: '2'
-        type: INTERNAL
+    - id: mgmtVM-eth1-int
+      int-virtual-link-desc: internal
+      virtual-network-interface-requirement:
+      - name: mgmtVM-eth1
+        position: 2
         virtual-interface:
           type: PARAVIRT
-      internal-connection-point:
-      - id: mgmtVM-internal
-        name: mgmtVM-internal
-        short-name: mgmtVM-internal
-        type: VPORT
-      name: mgmtVM
-      vm-flavor:
-        memory-mb: '1024'
-        storage-gb: '10'
-        vcpu-count: '1'
-    - count: '1'
-      id: dataVM
-      image: ubuntu16.04
-      interface:
-      - internal-connection-point-ref: dataVM-internal
-        name: dataVM-eth0
-        position: '1'
-        type: INTERNAL
+    name: mgmtVM
+    sw-image-desc: ubuntu16.04
+    virtual-compute-desc: mgmtVM-compute
+    virtual-storage-desc:
+    - mgmtVM-storage
+  - id: dataVM
+    int-cpd:
+    - id: dataVM-eth0-int
+      int-virtual-link-desc: internal
+      virtual-network-interface-requirement:
+      - name: dataVM-eth0
+        position: 1
         virtual-interface:
           type: PARAVIRT
-      - external-connection-point-ref: vnf-data
-        name: dataVM-xe0
-        position: '2'
-        type: EXTERNAL
+    - id: dataVM-xe0-int
+      virtual-network-interface-requirement:
+      - name: dataVM-xe0
+        position: 2
         virtual-interface:
           type: PARAVIRT
-      internal-connection-point:
-      - id: dataVM-internal
-        name: dataVM-internal
-        short-name: dataVM-internal
-        type: VPORT
-      name: dataVM
-      vm-flavor:
-        memory-mb: '1024'
-        storage-gb: '10'
-        vcpu-count: '1'
-    version: '1.0'
-    vnf-configuration:
-      config-access:
-        ssh-access:
-          default-user: ubuntu
-          required: true
-      config-primitive:
-      - name: touch
-        parameter:
-        - data-type: STRING
-          default-value: /home/ubuntu/touched
-          name: filename
-      initial-config-primitive:
-      - name: config
-        parameter:
-        - name: ssh-hostname
-          value: <rw_mgmt_ip>
-        - name: ssh-username
-          value: ubuntu
-        seq: '1'
-      - name: touch
-        parameter:
-        - name: filename
-          value: /home/ubuntu/first-touch
-        seq: '2'
-      juju:
-        charm: simple
+    name: dataVM
+    sw-image-desc: ubuntu16.04
+    virtual-compute-desc: dataVM-compute
+    virtual-storage-desc:
+    - dataVM-storage
+  version: '1.0'
+  virtual-compute-desc:
+  - id: mgmtVM-compute
+    virtual-cpu:
+      num-virtual-cpu: 1
+    virtual-memory:
+      size: 1.0
+  - id: dataVM-compute
+    virtual-cpu:
+      num-virtual-cpu: 1
+    virtual-memory:
+      size: 1.0
+  virtual-storage-desc:
+  - id: mgmtVM-storage
+    size-of-storage: 10
+  - id: dataVM-storage
+    size-of-storage: 10
+  vnf-configuration:
+  - config-access:
+      ssh-access:
+        default-user: ubuntu
+        required: true
+    config-primitive:
+    - name: touch
+      parameter:
+      - data-type: STRING
+        default-value: /home/ubuntu/touched
+        name: filename
+    id: default-vnf-configuration
+    initial-config-primitive:
+    - name: config
+      parameter:
+      - name: ssh-hostname
+        value: <rw_mgmt_ip>
+      - name: ssh-username
+        value: ubuntu
+      seq: '1'
+    - name: touch
+      parameter:
+      - name: filename
+        value: /home/ubuntu/first-touch
+      seq: '2'
+    juju:
+      charm: simple
diff --git a/slice_basic_middle_ns/slice_basic_middle_nsd.yaml b/slice_basic_middle_ns/slice_basic_middle_nsd.yaml
old mode 100755
new mode 100644
index eaf4a98dc11b3a371600e2d3a96f718e1a37acf8..f6d20d9cdf15d1619780ef1b3413b57ff12971d0
--- a/slice_basic_middle_ns/slice_basic_middle_nsd.yaml
+++ b/slice_basic_middle_ns/slice_basic_middle_nsd.yaml
@@ -1,63 +1,32 @@
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-# implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-nsd-catalog:
-    nsd:
-    -   id: slice_basic_middle_ns
-        name: slice_basic_middle_ns
-        short-name: slice_basic_middle_ns
-        description: NSD to be used on Slice Testing
-        vendor: OSM
-        version: '1.0'
-        logo: osm_2x.png
-
-        constituent-vnfd:
-        -   member-vnf-index: middle
-            vnfd-id-ref: slice_basic_middle_vnf
-
-        connection-point:
-        -   name: nsd_cp_mgmt
-            vld-id-ref: nsd_vnfd_vld_mgmt
-        -   name: nsd_cp_data1
-            vld-id-ref: nsd_vnfd_vld_data1
-        -   name: nsd_cp_data2
-            vld-id-ref: nsd_vnfd_vld_data2
-
-        vld:
-        -   id: nsd_vnfd_vld_mgmt
-            name: nsd_vnfd_vld_mgmt
-            short-name: nsd_vnfd_vld_mgmt
-            type: ELAN
-            mgmt-network: true
-            vnfd-connection-point-ref:
-            -   member-vnf-index-ref: middle
-                vnfd-id-ref: slice_basic_middle_vnf
-                vnfd-connection-point-ref: eth0
-        -   id: nsd_vnfd_vld_data1
-            name: nsd_vnfd_vld_data1
-            short-name: nsd_vnfd_vld_data1
-            type: ELAN
-            mgmt-network: false
-            vnfd-connection-point-ref:
-            -   member-vnf-index-ref: middle
-                vnfd-id-ref: slice_basic_middle_vnf
-                vnfd-connection-point-ref: eth1
-        -   id: nsd_vnfd_vld_data2
-            name: nsd_vnfd_vld_data2
-            short-name: nsd_vnfd_vld_data2
-            type: ELAN
-            mgmt-network: false
-            vnfd-connection-point-ref:
-            -   member-vnf-index-ref: middle
-                vnfd-id-ref: slice_basic_middle_vnf
-                vnfd-connection-point-ref: eth2
+nsd:
+  nsd:
+  - description: NSD to be used on Slice Testing
+    designer: OSM
+    df:
+    - id: default-df
+      vnf-profile:
+      - id: middle
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: middle
+            constituent-cpd-id: eth0-ext
+          virtual-link-profile-id: nsd_vnfd_vld_mgmt
+        - constituent-cpd-id:
+          - constituent-base-element-id: middle
+            constituent-cpd-id: eth1-ext
+          virtual-link-profile-id: nsd_vnfd_vld_data1
+        - constituent-cpd-id:
+          - constituent-base-element-id: middle
+            constituent-cpd-id: eth2-ext
+          virtual-link-profile-id: nsd_vnfd_vld_data2
+        vnfd-id: slice_basic_middle_vnf
+    id: slice_basic_middle_ns
+    name: slice_basic_middle_ns
+    version: '1.0'
+    virtual-link-desc:
+    - id: nsd_vnfd_vld_mgmt
+      mgmt-network: true
+    - id: nsd_vnfd_vld_data1
+    - id: nsd_vnfd_vld_data2
+    vnfd-id:
+    - slice_basic_middle_vnf
diff --git a/slice_basic_middle_vnf/slice_basic_middle_vnfd.yaml b/slice_basic_middle_vnf/slice_basic_middle_vnfd.yaml
old mode 100755
new mode 100644
index 64bf2e703efd6fc6604eeb459fa9d8cee419a7f5..a3ba8c83787353f94207857940f685bcafffbed0
--- a/slice_basic_middle_vnf/slice_basic_middle_vnfd.yaml
+++ b/slice_basic_middle_vnf/slice_basic_middle_vnfd.yaml
@@ -1,77 +1,74 @@
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-# implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-vnfd-catalog:
-    vnfd:
-    -   id: slice_basic_middle_vnf
-        name: slice_basic_middle_vnf
-        short-name: slice_basic_middle_vnf
-        description: VNFD with 3 CPs to be used on Slice Testing
-        vendor: OSM
-        version: '1.0'
-
-        # Management interface
-        mgmt-interface:
-            cp: eth0
-
-        # Atleast one VDU need to be specified
-        vdu:
-        -   id: ubuntu_slice-VM
-            name: ubuntu_slice-VM
-            description: ubuntu_slice-VM
-            count: 1
-            cloud-init-file: cloud-config.txt
-            
-            # Flavour of the VM to be instantiated for the VDU
-            # flavor below can fit into m1.micro
-            vm-flavor:
-                vcpu-count: 1
-                memory-mb: 1024
-                storage-gb: 10
-
-            # Image/checksum or image including the full path
-            image: 'ubuntu18.04'
-            #checksum: 
-
-            interface:
-            # Specify the external interfaces
-            # There can be multiple interfaces defined
-            -   name: eth0
-                type: EXTERNAL
-                virtual-interface:
-                    type: VIRTIO
-                    bandwidth: 0
-                    vpci: 0000:00:0a.0
-                external-connection-point-ref: eth0
-            -   name: eth1
-                type: EXTERNAL
-                virtual-interface:
-                    type: VIRTIO
-                    bandwidth: 0
-                    vpci: 0000:00:0a.0
-                external-connection-point-ref: eth1
-            -   name: eth2
-                type: EXTERNAL
-                virtual-interface:
-                    type: VIRTIO
-                    bandwidth: 0
-                    vpci: 0000:00:0a.0
-                external-connection-point-ref: eth2
-
-        connection-point:
-        -   name: eth0
-            type: VPORT
-        -   name: eth1
-            type: VPORT
-        -   name: eth2
-            type: VPORT
+vnfd:
+  description: VNFD with 3 CPs to be used on Slice Testing
+  df:
+  - id: default-df
+    instantiation-level:
+    - id: default-instantiation-level
+      vdu-level:
+      - number-of-instances: 1
+        vdu-id: ubuntu_slice-VM
+    vdu-profile:
+    - id: ubuntu_slice-VM
+      min-number-of-instances: 1
+  ext-cpd:
+  - id: eth0-ext
+    int-cpd:
+      cpd: eth0-int
+      vdu-id: ubuntu_slice-VM
+  - id: eth1-ext
+    int-cpd:
+      cpd: eth1-int
+      vdu-id: ubuntu_slice-VM
+  - id: eth2-ext
+    int-cpd:
+      cpd: eth2-int
+      vdu-id: ubuntu_slice-VM
+  id: slice_basic_middle_vnf
+  mgmt-cp: eth0-ext
+  product-name: slice_basic_middle_vnf
+  provider: OSM
+  sw-image-desc:
+  - id: ubuntu18.04
+    image: ubuntu18.04
+    name: ubuntu18.04
+  vdu:
+  - cloud-init-file: cloud-config.txt
+    description: ubuntu_slice-VM
+    id: ubuntu_slice-VM
+    int-cpd:
+    - id: eth0-int
+      virtual-network-interface-requirement:
+      - name: eth0
+        virtual-interface:
+          bandwidth: 0
+          type: VIRTIO
+          vpci: 0000:00:0a.0
+    - id: eth1-int
+      virtual-network-interface-requirement:
+      - name: eth1
+        virtual-interface:
+          bandwidth: 0
+          type: VIRTIO
+          vpci: 0000:00:0a.0
+    - id: eth2-int
+      virtual-network-interface-requirement:
+      - name: eth2
+        virtual-interface:
+          bandwidth: 0
+          type: VIRTIO
+          vpci: 0000:00:0a.0
+    name: ubuntu_slice-VM
+    sw-image-desc: ubuntu18.04
+    virtual-compute-desc: ubuntu_slice-VM-compute
+    virtual-storage-desc:
+    - ubuntu_slice-VM-storage
+  version: '1.0'
+  virtual-compute-desc:
+  - id: ubuntu_slice-VM-compute
+    virtual-cpu:
+      num-virtual-cpu: 1
+    virtual-memory:
+      size: 1.0
+  virtual-storage-desc:
+  - id: ubuntu_slice-VM-storage
+    size-of-storage: 10
diff --git a/slice_basic_ns/slice_basic_nsd.yaml b/slice_basic_ns/slice_basic_nsd.yaml
index 714e161f1c12db0129410a9909bd137e62e4a299..0f40f740122a1cd5c4fd1463ad0a184400999197 100644
--- a/slice_basic_ns/slice_basic_nsd.yaml
+++ b/slice_basic_ns/slice_basic_nsd.yaml
@@ -1,52 +1,27 @@
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-# implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-nsd-catalog:
-    nsd:
-    -   id: slice_basic_ns
-        name: slice_basic_ns
-        short-name: slice_basic_ns
-        description: NSD to be used on Slice Testing
-        vendor: OSM
-        version: '1.0'
-        logo: osm_2x.png
-
-        constituent-vnfd:
-        -   member-vnf-index: edge
-            vnfd-id-ref: slice_basic_vnf
-
-        connection-point:
-        -   name: nsd_cp_mgmt
-            vld-id-ref: nsd_vnfd_vld_mgmt
-        -   name: nsd_cp_data
-            vld-id-ref: nsd_vnfd_vld_data
-
-        vld:
-        -   id: nsd_vnfd_vld_mgmt
-            name: nsd_vnfd_vld_mgmt
-            short-name: nsd_vnfd_vld_mgmt
-            type: ELAN
-            mgmt-network: true
-            vnfd-connection-point-ref:
-            -   member-vnf-index-ref: edge
-                vnfd-id-ref: slice_basic_vnf
-                vnfd-connection-point-ref: eth0
-        -   id: nsd_vnfd_vld_data
-            name: nsd_vnfd_vld_data
-            short-name: nsd_vnfd_vld_data
-            type: ELAN
-            mgmt-network: false
-            vnfd-connection-point-ref:
-            -   member-vnf-index-ref: edge
-                vnfd-id-ref: slice_basic_vnf
-                vnfd-connection-point-ref: eth1
+nsd:
+  nsd:
+  - description: NSD to be used on Slice Testing
+    designer: OSM
+    df:
+    - id: default-df
+      vnf-profile:
+      - id: edge
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: edge
+            constituent-cpd-id: eth0-ext
+          virtual-link-profile-id: nsd_vnfd_vld_mgmt
+        - constituent-cpd-id:
+          - constituent-base-element-id: edge
+            constituent-cpd-id: eth1-ext
+          virtual-link-profile-id: nsd_vnfd_vld_data
+        vnfd-id: slice_basic_vnf
+    id: slice_basic_ns
+    name: slice_basic_ns
+    version: '1.0'
+    virtual-link-desc:
+    - id: nsd_vnfd_vld_mgmt
+      mgmt-network: true
+    - id: nsd_vnfd_vld_data
+    vnfd-id:
+    - slice_basic_vnf
diff --git a/slice_basic_vnf/slice_basic_vnfd.yaml b/slice_basic_vnf/slice_basic_vnfd.yaml
index fb4c3d7135915d30eef3817ef32d782c0a16f8f0..ab17e0d95f9ad28a3ed0ffb77c32c914fab1b7cc 100644
--- a/slice_basic_vnf/slice_basic_vnfd.yaml
+++ b/slice_basic_vnf/slice_basic_vnfd.yaml
@@ -1,68 +1,63 @@
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-# implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-vnfd-catalog:
-    vnfd:
-    -   id: slice_basic_vnf
-        name: slice_basic_vnf
-        short-name: slice_basic_vnf
-        description: VNFD with 2 CPs to be used on Slice Testing
-        vendor: OSM
-        version: '1.0'
-
-        # Management interface
-        mgmt-interface:
-            cp: eth0
-
-        # Atleast one VDU need to be specified
-        vdu:
-        -   id: ubuntu_slice-VM
-            name: ubuntu_slice-VM
-            description: ubuntu_slice-VM
-            count: 1
-            cloud-init-file: cloud-config.txt
-
-            # Flavour of the VM to be instantiated for the VDU
-            # flavor below can fit into m1.micro
-            vm-flavor:
-                vcpu-count: 1
-                memory-mb: 1024
-                storage-gb: 10
-
-            # Image/checksum or image including the full path
-            image: 'ubuntu18.04'
-            #checksum: 
-
-            interface:
-            # Specify the external interfaces
-            # There can be multiple interfaces defined
-            -   name: eth0
-                type: EXTERNAL
-                virtual-interface:
-                    type: VIRTIO
-                    bandwidth: 0
-                    vpci: 0000:00:0a.0
-                external-connection-point-ref: eth0
-            -   name: eth1
-                type: EXTERNAL
-                virtual-interface:
-                    type: VIRTIO
-                    bandwidth: 0
-                    vpci: 0000:00:0a.0
-                external-connection-point-ref: eth1
-
-        connection-point:
-        -   name: eth0
-            type: VPORT
-        -   name: eth1
-            type: VPORT
+vnfd:
+  description: VNFD with 2 CPs to be used on Slice Testing
+  df:
+  - id: default-df
+    instantiation-level:
+    - id: default-instantiation-level
+      vdu-level:
+      - number-of-instances: 1
+        vdu-id: ubuntu_slice-VM
+    vdu-profile:
+    - id: ubuntu_slice-VM
+      min-number-of-instances: 1
+  ext-cpd:
+  - id: eth0-ext
+    int-cpd:
+      cpd: eth0-int
+      vdu-id: ubuntu_slice-VM
+  - id: eth1-ext
+    int-cpd:
+      cpd: eth1-int
+      vdu-id: ubuntu_slice-VM
+  id: slice_basic_vnf
+  mgmt-cp: eth0-ext
+  product-name: slice_basic_vnf
+  provider: OSM
+  sw-image-desc:
+  - id: ubuntu18.04
+    image: ubuntu18.04
+    name: ubuntu18.04
+  vdu:
+  - cloud-init-file: cloud-config.txt
+    description: ubuntu_slice-VM
+    id: ubuntu_slice-VM
+    int-cpd:
+    - id: eth0-int
+      virtual-network-interface-requirement:
+      - name: eth0
+        virtual-interface:
+          bandwidth: 0
+          type: VIRTIO
+          vpci: 0000:00:0a.0
+    - id: eth1-int
+      virtual-network-interface-requirement:
+      - name: eth1
+        virtual-interface:
+          bandwidth: 0
+          type: VIRTIO
+          vpci: 0000:00:0a.0
+    name: ubuntu_slice-VM
+    sw-image-desc: ubuntu18.04
+    virtual-compute-desc: ubuntu_slice-VM-compute
+    virtual-storage-desc:
+    - ubuntu_slice-VM-storage
+  version: '1.0'
+  virtual-compute-desc:
+  - id: ubuntu_slice-VM-compute
+    virtual-cpu:
+      num-virtual-cpu: 1
+    virtual-memory:
+      size: 1.0
+  virtual-storage-desc:
+  - id: ubuntu_slice-VM-storage
+    size-of-storage: 10
diff --git a/snmp_ee_ns/snmp_ee_nsd.yaml b/snmp_ee_ns/snmp_ee_nsd.yaml
index 4c5c695dadc1eb987f3ff236301ba0518d8e7654..ae6de4d5d719b0f9acae5f032404c72b3e9a960e 100644
--- a/snmp_ee_ns/snmp_ee_nsd.yaml
+++ b/snmp_ee_ns/snmp_ee_nsd.yaml
@@ -1,38 +1,31 @@
-nsd-catalog:
-    nsd:
-        - id: snmp_ee-ns
-          name: snmp_ee-ns
-          short-name: snmp_ee-ns
-          description: Single VyOS Router VNF with SNMP metrics
-          version: "1.0"
-          logo: osm.png
-          constituent-vnfd:
-              - vnfd-id-ref: snmp_ee-vnf
-                member-vnf-index: "VyOS Router"
-          vld:
-              - id: mgmtnet
-                name: mgmtnet
-                short-name: mgmtnet
-                type: ELAN
-                mgmt-network: true
-                vim-network-name: osm-ext
-                vnfd-connection-point-ref:
-                    - vnfd-id-ref: snmp_ee-vnf
-                      member-vnf-index-ref: "VyOS Router"
-                      vnfd-connection-point-ref: vnf-mgmt
-              - id: internal
-                name: internal
-                short-name: internal
-                type: ELAN
-                vnfd-connection-point-ref:
-                    - vnfd-id-ref: snmp_ee-vnf
-                      member-vnf-index-ref: "VyOS Router"
-                      vnfd-connection-point-ref: vnf-internal
-              - id: external
-                name: external
-                short-name: external
-                type: ELAN
-                vnfd-connection-point-ref:
-                    - vnfd-id-ref: snmp_ee-vnf
-                      member-vnf-index-ref: "VyOS Router"
-                      vnfd-connection-point-ref: vnf-external
+nsd:
+  nsd:
+  - description: Single VyOS Router VNF with SNMP metrics
+    df:
+    - id: default-df
+      vnf-profile:
+      - id: VyOS Router
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: VyOS Router
+            constituent-cpd-id: vnf-mgmt-ext
+          virtual-link-profile-id: mgmtnet
+        - constituent-cpd-id:
+          - constituent-base-element-id: VyOS Router
+            constituent-cpd-id: vnf-internal-ext
+          virtual-link-profile-id: internal
+        - constituent-cpd-id:
+          - constituent-base-element-id: VyOS Router
+            constituent-cpd-id: vnf-external-ext
+          virtual-link-profile-id: external
+        vnfd-id: snmp_ee-vnf
+    id: snmp_ee-ns
+    name: snmp_ee-ns
+    version: '1.0'
+    virtual-link-desc:
+    - id: mgmtnet
+      mgmt-network: true
+    - id: internal
+    - id: external
+    vnfd-id:
+    - snmp_ee-vnf
diff --git a/snmp_ee_vnf/snmp_ee_vnfd.yaml b/snmp_ee_vnf/snmp_ee_vnfd.yaml
index 8246a6362bb7d28887cf6c4eb4f52384120941cf..11354a8b562bb560ac6f17f26b3c2d4a193b3073 100644
--- a/snmp_ee_vnf/snmp_ee_vnfd.yaml
+++ b/snmp_ee_vnf/snmp_ee_vnfd.yaml
@@ -1,72 +1,96 @@
-vnfd-catalog:
-    vnfd:
-        - id: snmp_ee-vnf
-          name: snmp_ee-vnf
-          short-name: snmp_ee-vnf
-          version: "1.0"
-          description: A basic virtual router with SNMP metrics collection
-          connection-point:
-              - name: vnf-mgmt
-                type: VPORT
-              - name: vnf-internal
-                type: VPORT
-                port-security-enabled: false
-              - name: vnf-external
-                type: VPORT
-                port-security-enabled: false
-          vdu:
-              - id: vyos-VM
-                name: vyos-VM
-                cloud-init-file: vyos-userdata
-                image: vyos-1.1.7
-                count: 1
-                vm-flavor:
-                    vcpu-count: 1
-                    memory-mb: 2048
-                    storage-gb: 10
-                interface:
-                    - name: vdu-eth0
-                      type: EXTERNAL
-                      position: 0
-                      virtual-interface:
-                          type: PARAVIRT
-                      external-connection-point-ref: vnf-mgmt
-                    - name: vdu-eth1
-                      type: EXTERNAL
-                      position: 1
-                      virtual-interface:
-                          type: PARAVIRT
-                      external-connection-point-ref: vnf-internal
-                    - name: vdu-eth2
-                      type: EXTERNAL
-                      position: 2
-                      virtual-interface:
-                          type: PARAVIRT
-                      external-connection-point-ref: vnf-external
-                supplemental-boot-data:
-                    boot-data-drive: true
-          mgmt-interface:
-              cp: vnf-mgmt
-          vnf-configuration:
-              execution-environment-list:
-                  - id: monitor
-                    helm-chart: eechart
-                    metric-service: snmpexporter
-                    connection-point-ref: vnf-mgmt
-              initial-config-primitive:
-                  - seq: 1
-                    name: config
-                    execution-environment-ref: monitor
-                    parameter:
-                        - name: ssh-hostname
-                          value: <rw_mgmt_ip>
-                        - name: ssh-username
-                          value: osm
-                        - name: ssh-password
-                          value: osm2020
-                  - seq: 2
-                    name: generate_snmp
-                    execution-environment-ref: monitor
-              config-primitive:
-                  - name: generate_snmp
-                    execution-environment-ref: monitor
+vnfd:
+  description: A basic virtual router with SNMP metrics collection
+  df:
+  - id: default-df
+    instantiation-level:
+    - id: default-instantiation-level
+      vdu-level:
+      - number-of-instances: 1
+        vdu-id: vyos-VM
+    vdu-profile:
+    - id: vyos-VM
+      min-number-of-instances: 1
+    vnf-configuration-id: default-vnf-configuration
+  ext-cpd:
+  - id: vnf-mgmt-ext
+    int-cpd:
+      cpd: vdu-eth0-int
+      vdu-id: vyos-VM
+  - id: vnf-internal-ext
+    int-cpd:
+      cpd: vdu-eth1-int
+      vdu-id: vyos-VM
+  - id: vnf-external-ext
+    int-cpd:
+      cpd: vdu-eth2-int
+      vdu-id: vyos-VM
+  id: snmp_ee-vnf
+  mgmt-cp: vnf-mgmt-ext
+  product-name: snmp_ee-vnf
+  sw-image-desc:
+  - id: vyos-1.1.7
+    image: vyos-1.1.7
+    name: vyos-1.1.7
+  vdu:
+  - cloud-init-file: vyos-userdata
+    id: vyos-VM
+    int-cpd:
+    - id: vdu-eth0-int
+      virtual-network-interface-requirement:
+      - name: vdu-eth0
+        position: 0
+        virtual-interface:
+          type: PARAVIRT
+    - id: vdu-eth1-int
+      virtual-network-interface-requirement:
+      - name: vdu-eth1
+        position: 1
+        virtual-interface:
+          type: PARAVIRT
+    - id: vdu-eth2-int
+      virtual-network-interface-requirement:
+      - name: vdu-eth2
+        position: 2
+        virtual-interface:
+          type: PARAVIRT
+    name: vyos-VM
+    supplemental-boot-data:
+      boot-data-drive: true
+    sw-image-desc: vyos-1.1.7
+    virtual-compute-desc: vyos-VM-compute
+    virtual-storage-desc:
+    - vyos-VM-storage
+  version: '1.0'
+  virtual-compute-desc:
+  - id: vyos-VM-compute
+    virtual-cpu:
+      num-virtual-cpu: 1
+    virtual-memory:
+      size: 2.0
+  virtual-storage-desc:
+  - id: vyos-VM-storage
+    size-of-storage: 10
+  vnf-configuration:
+  - config-primitive:
+    - execution-environment-ref: monitor
+      name: generate_snmp
+    execution-environment-list:
+    - connection-point-ref: vnf-mgmt
+      helm-chart: eechart
+      id: monitor
+      metric-service: snmpexporter
+    id: default-vnf-configuration
+    initial-config-primitive:
+    - execution-environment-ref: monitor
+      name: config
+      parameter:
+      - name: ssh-hostname
+        value: <rw_mgmt_ip>
+      - name: ssh-username
+        value: osm
+      - name: ssh-password
+        value: osm2020
+      seq: 1
+    - execution-environment-ref: monitor
+      name: generate_snmp
+      seq: 2
diff --git a/snmp_setcomm_ee_ns/snmp_setcomm_ee_nsd.yaml b/snmp_setcomm_ee_ns/snmp_setcomm_ee_nsd.yaml
index 43bdb28e5c8bf72a67778434c68e4d376380b3a0..8576e17f7c1d4a799c392ea6553cf7de6bfb0fb2 100644
--- a/snmp_setcomm_ee_ns/snmp_setcomm_ee_nsd.yaml
+++ b/snmp_setcomm_ee_ns/snmp_setcomm_ee_nsd.yaml
@@ -1,38 +1,31 @@
-nsd-catalog:
-    nsd:
-        - id: snmp_setcomm_ee-ns
-          name: snmp_setcomm_ee-ns
-          short-name: snmp_setcomm_ee-ns
-          description: Single VyOS Router VNF with SNMP metrics
-          version: "1.0"
-          logo: osm.png
-          constituent-vnfd:
-              - vnfd-id-ref: snmp_setcomm_ee-vnf
-                member-vnf-index: "VyOS Router"
-          vld:
-              - id: mgmtnet
-                name: mgmtnet
-                short-name: mgmtnet
-                type: ELAN
-                mgmt-network: true
-                vim-network-name: osm-ext
-                vnfd-connection-point-ref:
-                    - vnfd-id-ref: snmp_setcomm_ee-vnf
-                      member-vnf-index-ref: "VyOS Router"
-                      vnfd-connection-point-ref: vnf-mgmt
-              - id: internal
-                name: internal
-                short-name: internal
-                type: ELAN
-                vnfd-connection-point-ref:
-                    - vnfd-id-ref: snmp_setcomm_ee-vnf
-                      member-vnf-index-ref: "VyOS Router"
-                      vnfd-connection-point-ref: vnf-internal
-              - id: external
-                name: external
-                short-name: external
-                type: ELAN
-                vnfd-connection-point-ref:
-                    - vnfd-id-ref: snmp_setcomm_ee-vnf
-                      member-vnf-index-ref: "VyOS Router"
-                      vnfd-connection-point-ref: vnf-external
+nsd:
+  nsd:
+  - description: Single VyOS Router VNF with SNMP metrics
+    df:
+    - id: default-df
+      vnf-profile:
+      - id: VyOS Router
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: VyOS Router
+            constituent-cpd-id: vnf-mgmt-ext
+          virtual-link-profile-id: mgmtnet
+        - constituent-cpd-id:
+          - constituent-base-element-id: VyOS Router
+            constituent-cpd-id: vnf-internal-ext
+          virtual-link-profile-id: internal
+        - constituent-cpd-id:
+          - constituent-base-element-id: VyOS Router
+            constituent-cpd-id: vnf-external-ext
+          virtual-link-profile-id: external
+        vnfd-id: snmp_setcomm_ee-vnf
+    id: snmp_setcomm_ee-ns
+    name: snmp_setcomm_ee-ns
+    version: '1.0'
+    virtual-link-desc:
+    - id: mgmtnet
+      mgmt-network: true
+    - id: internal
+    - id: external
+    vnfd-id:
+    - snmp_setcomm_ee-vnf
diff --git a/snmp_setcomm_ee_vnf/snmp_setcomm_ee_vnfd.yaml b/snmp_setcomm_ee_vnf/snmp_setcomm_ee_vnfd.yaml
index 461b9067831a9b4332558ce0df8feaee0f68fcbf..5f478a80fa75df3309e983a77de00328e082775f 100644
--- a/snmp_setcomm_ee_vnf/snmp_setcomm_ee_vnfd.yaml
+++ b/snmp_setcomm_ee_vnf/snmp_setcomm_ee_vnfd.yaml
@@ -1,87 +1,111 @@
-vnfd-catalog:
-    vnfd:
-        - id: snmp_setcomm_ee-vnf
-          name: snmp_setcomm_ee-vnf
-          short-name: snmp_setcomm_ee-vnf
-          version: "1.0"
-          description: A basic virtual router with SNMP metrics collection
-          connection-point:
-              - name: vnf-mgmt
-                type: VPORT
-              - name: vnf-internal
-                type: VPORT
-                port-security-enabled: false
-              - name: vnf-external
-                type: VPORT
-                port-security-enabled: false
-          vdu:
-              - id: vyos-VM
-                name: vyos-VM
-                cloud-init-file: vyos-userdata
-                image: vyos-1.1.7
-                count: 1
-                vm-flavor:
-                    vcpu-count: 1
-                    memory-mb: 2048
-                    storage-gb: 10
-                interface:
-                    - name: vdu-eth0
-                      type: EXTERNAL
-                      position: 0
-                      virtual-interface:
-                          type: PARAVIRT
-                      external-connection-point-ref: vnf-mgmt
-                    - name: vdu-eth1
-                      type: EXTERNAL
-                      position: 1
-                      virtual-interface:
-                          type: PARAVIRT
-                      external-connection-point-ref: vnf-internal
-                    - name: vdu-eth2
-                      type: EXTERNAL
-                      position: 2
-                      virtual-interface:
-                          type: PARAVIRT
-                      external-connection-point-ref: vnf-external
-                supplemental-boot-data:
-                    boot-data-drive: true
-          mgmt-interface:
-              cp: vnf-mgmt
-          vnf-configuration:
-              execution-environment-list:
-                  - id: monitor
-                    helm-chart: eechart
-                    metric-service: snmpexporter
-                    connection-point-ref: vnf-mgmt
-              initial-config-primitive:
-                  - seq: 1
-                    name: config
-                    execution-environment-ref: monitor
-                    parameter:
-                        - name: ssh-hostname
-                          value: <rw_mgmt_ip>
-                        - name: ssh-username
-                          value: osm
-                        - name: ssh-password
-                          value: osm2020
-                  - seq: 2
-                    name: generate_snmp
-                    execution-environment-ref: monitor
-                  - seq: 3
-                    name: ansible_playbook
-                    execution-environment-ref: monitor
-                    parameter:
-                        - name: playbook-name
-                          value: community.yaml
-                        - name: snmp_community
-                          value: secret
-              config-primitive:
-                  - name: generate_snmp
-                    execution-environment-ref: monitor
-                  - name: ansible_playbook
-                    execution-environment-ref: monitor
-                    execution-environment-primitive: ansible_playbook
-                    parameter:
-                        - name: playbook-name
-                          default-value: playbook.yaml
-                          data-type: STRING
+vnfd:
+  description: A basic virtual router with SNMP metrics collection
+  df:
+  - id: default-df
+    instantiation-level:
+    - id: default-instantiation-level
+      vdu-level:
+      - number-of-instances: 1
+        vdu-id: vyos-VM
+    vdu-profile:
+    - id: vyos-VM
+      min-number-of-instances: 1
+    vnf-configuration-id: default-vnf-configuration
+  ext-cpd:
+  - id: vnf-mgmt-ext
+    int-cpd:
+      cpd: vdu-eth0-int
+      vdu-id: vyos-VM
+  - id: vnf-internal-ext
+    int-cpd:
+      cpd: vdu-eth1-int
+      vdu-id: vyos-VM
+  - id: vnf-external-ext
+    int-cpd:
+      cpd: vdu-eth2-int
+      vdu-id: vyos-VM
+  id: snmp_setcomm_ee-vnf
+  mgmt-cp: vnf-mgmt-ext
+  product-name: snmp_setcomm_ee-vnf
+  sw-image-desc:
+  - id: vyos-1.1.7
+    image: vyos-1.1.7
+    name: vyos-1.1.7
+  vdu:
+  - cloud-init-file: vyos-userdata
+    id: vyos-VM
+    int-cpd:
+    - id: vdu-eth0-int
+      virtual-network-interface-requirement:
+      - name: vdu-eth0
+        position: 0
+        virtual-interface:
+          type: PARAVIRT
+    - id: vdu-eth1-int
+      virtual-network-interface-requirement:
+      - name: vdu-eth1
+        position: 1
+        virtual-interface:
+          type: PARAVIRT
+    - id: vdu-eth2-int
+      virtual-network-interface-requirement:
+      - name: vdu-eth2
+        position: 2
+        virtual-interface:
+          type: PARAVIRT
+    name: vyos-VM
+    supplemental-boot-data:
+      boot-data-drive: true
+    sw-image-desc: vyos-1.1.7
+    virtual-compute-desc: vyos-VM-compute
+    virtual-storage-desc:
+    - vyos-VM-storage
+  version: '1.0'
+  virtual-compute-desc:
+  - id: vyos-VM-compute
+    virtual-cpu:
+      num-virtual-cpu: 1
+    virtual-memory:
+      size: 2.0
+  virtual-storage-desc:
+  - id: vyos-VM-storage
+    size-of-storage: 10
+  vnf-configuration:
+  - config-primitive:
+    - execution-environment-ref: monitor
+      name: generate_snmp
+    - execution-environment-primitive: ansible_playbook
+      execution-environment-ref: monitor
+      name: ansible_playbook
+      parameter:
+      - data-type: STRING
+        default-value: playbook.yaml
+        name: playbook-name
+    execution-environment-list:
+    - connection-point-ref: vnf-mgmt
+      helm-chart: eechart
+      id: monitor
+      metric-service: snmpexporter
+    id: default-vnf-configuration
+    initial-config-primitive:
+    - execution-environment-ref: monitor
+      name: config
+      parameter:
+      - name: ssh-hostname
+        value: <rw_mgmt_ip>
+      - name: ssh-username
+        value: osm
+      - name: ssh-password
+        value: osm2020
+      seq: 1
+    - execution-environment-ref: monitor
+      name: generate_snmp
+      seq: 2
+    - execution-environment-ref: monitor
+      name: ansible_playbook
+      parameter:
+      - name: playbook-name
+        value: community.yaml
+      - name: snmp_community
+        value: secret
+      seq: 3
diff --git a/ubuntu_cloudinit_ns/ubuntu_cloudinit_nsd.yaml b/ubuntu_cloudinit_ns/ubuntu_cloudinit_nsd.yaml
index fab7df60dcad675b2039830563e68079ce2bcee5..ea9b4239978cd58fbdbafd47ae7f31156a7e27e7 100644
--- a/ubuntu_cloudinit_ns/ubuntu_cloudinit_nsd.yaml
+++ b/ubuntu_cloudinit_ns/ubuntu_cloudinit_nsd.yaml
@@ -1,26 +1,22 @@
-nsd-catalog:
-    nsd:
-    -   id: ubuntu_cloudinit-ns
-        name: ubuntu_cloudinit-ns
-        short-name: ubuntu_cloudinit-ns
-        description: Generated by OSM package generator
-        vendor: OSM
-        version: '1.0'
-
-
-        constituent-vnfd:
-        -   member-vnf-index: 1
-            vnfd-id-ref: ubuntu_cloudinit-vnf
-
-        vld:
-        # Networks for the VNFs
-        -   id: mgmtnet
-            name: mgmtnet
-            short-name: mgmtnet
-            type: ELAN
-            mgmt-network: true
-            # vim-network-name: <update>
-            vnfd-connection-point-ref:
-            -   member-vnf-index-ref: 1
-                vnfd-id-ref: ubuntu_cloudinit-vnf
-                vnfd-connection-point-ref: vnf-cp0
+nsd:
+  nsd:
+  - description: Generated by OSM package generator
+    designer: OSM
+    df:
+    - id: default-df
+      vnf-profile:
+      - id: '1'
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: '1'
+            constituent-cpd-id: vnf-cp0-ext
+          virtual-link-profile-id: mgmtnet
+        vnfd-id: ubuntu_cloudinit-vnf
+    id: ubuntu_cloudinit-ns
+    name: ubuntu_cloudinit-ns
+    version: '1.0'
+    virtual-link-desc:
+    - id: mgmtnet
+      mgmt-network: true
+    vnfd-id:
+    - ubuntu_cloudinit-vnf
diff --git a/ubuntu_cloudinit_vnf/ubuntu_cloudinit_vnfd.yaml b/ubuntu_cloudinit_vnf/ubuntu_cloudinit_vnfd.yaml
index 566f281935090aa2471f61d7b37e4baf5d7d4c71..5159b5a900b23a809e03786d4b2d60808d9b9ef2 100644
--- a/ubuntu_cloudinit_vnf/ubuntu_cloudinit_vnfd.yaml
+++ b/ubuntu_cloudinit_vnf/ubuntu_cloudinit_vnfd.yaml
@@ -1,38 +1,50 @@
-vnfd-catalog:
-    vnfd:
-    -   id: ubuntu_cloudinit-vnf
-        name: ubuntu_cloudinit-vnf
-        short-name: ubuntu_cloudinit-vnf
-        description: Generated by OSM package generator
-        vendor: OSM
-        version: '1.0'
-
-        # Management interface
-        mgmt-interface:
-            cp: vnf-cp0
-
-        vdu:
-        -   id: ubuntu_cloudinit-vnf-VM
-            name: ubuntu_cloudinit-vnf-VM
-            description: ubuntu_cloudinit-vnf-VM
-            count: 1
-            cloud-init-file: cloud-init.cfg
-
-            vm-flavor:
-                vcpu-count: 2
-                memory-mb: 2048
-                storage-gb: 10
-
-            # Image including the full path
-            image: 'ubuntu16.04'
-
-            interface:
-            -   name: eth0
-                type: EXTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                external-connection-point-ref: vnf-cp0
-
-        connection-point:
-        -   name: vnf-cp0
-
+vnfd:
+  description: Generated by OSM package generator
+  df:
+  - id: default-df
+    instantiation-level:
+    - id: default-instantiation-level
+      vdu-level:
+      - number-of-instances: 1
+        vdu-id: ubuntu_cloudinit-vnf-VM
+    vdu-profile:
+    - id: ubuntu_cloudinit-vnf-VM
+      min-number-of-instances: 1
+  ext-cpd:
+  - id: vnf-cp0-ext
+    int-cpd:
+      cpd: eth0-int
+      vdu-id: ubuntu_cloudinit-vnf-VM
+  id: ubuntu_cloudinit-vnf
+  mgmt-cp: vnf-cp0-ext
+  product-name: ubuntu_cloudinit-vnf
+  provider: OSM
+  sw-image-desc:
+  - id: ubuntu16.04
+    image: ubuntu16.04
+    name: ubuntu16.04
+  vdu:
+  - cloud-init-file: cloud-init.cfg
+    description: ubuntu_cloudinit-vnf-VM
+    id: ubuntu_cloudinit-vnf-VM
+    int-cpd:
+    - id: eth0-int
+      virtual-network-interface-requirement:
+      - name: eth0
+        virtual-interface:
+          type: PARAVIRT
+    name: ubuntu_cloudinit-vnf-VM
+    sw-image-desc: ubuntu16.04
+    virtual-compute-desc: ubuntu_cloudinit-vnf-VM-compute
+    virtual-storage-desc:
+    - ubuntu_cloudinit-vnf-VM-storage
+  version: '1.0'
+  virtual-compute-desc:
+  - id: ubuntu_cloudinit-vnf-VM-compute
+    virtual-cpu:
+      num-virtual-cpu: 2
+    virtual-memory:
+      size: 2.0
+  virtual-storage-desc:
+  - id: ubuntu_cloudinit-vnf-VM-storage
+    size-of-storage: 10
diff --git a/vdu_replicas_ns/vdu_replicas_nsd.yaml b/vdu_replicas_ns/vdu_replicas_nsd.yaml
old mode 100755
new mode 100644
index 3c9b91cd01fc53169a27a4ce90e1e811d63c4d54..a3f2599c68805730730b8228baeb1a3ce35bbe4c
--- a/vdu_replicas_ns/vdu_replicas_nsd.yaml
+++ b/vdu_replicas_ns/vdu_replicas_nsd.yaml
@@ -1,38 +1,37 @@
-nsd-catalog:
-    nsd:
-    -   id: vdu-replicas-ns
-        name: vdu-replicas-ns
-        short-name: vdu-replicas-ns
-        description: NS with 2 VNFs connected by datanet and mgmtnet VLs
-        version: '1.0'
-        logo: osm.png
-        constituent-vnfd:
-        -   vnfd-id-ref: vdu-replicas-vnf
-            member-vnf-index: 'vnf1'
-        -   vnfd-id-ref: vdu-replicas-vnf
-            member-vnf-index: 'vnf2'
-        vld:
-        -   id: mgmtnet
-            name: mgmtnet
-            short-name: mgmtnet
-            type: ELAN
-            mgmt-network: true
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: vdu-replicas-vnf
-                member-vnf-index-ref: 'vnf1'
-                vnfd-connection-point-ref: vnf-mgmt
-            -   vnfd-id-ref: vdu-replicas-vnf
-                member-vnf-index-ref: 'vnf2'
-                vnfd-connection-point-ref: vnf-mgmt
-        -   id: datanet
-            name: datanet
-            short-name: datanet
-            type: ELAN
-            vnfd-connection-point-ref:
-            -   vnfd-id-ref: vdu-replicas-vnf
-                member-vnf-index-ref: 'vnf1'
-                vnfd-connection-point-ref: vnf-data
-            -   vnfd-id-ref: vdu-replicas-vnf
-                member-vnf-index-ref: 'vnf2'
-                vnfd-connection-point-ref: vnf-data
-
+nsd:
+  nsd:
+  - description: NS with 2 VNFs connected by datanet and mgmtnet VLs
+    df:
+    - id: default-df
+      vnf-profile:
+      - id: vnf1
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: vnf1
+            constituent-cpd-id: vnf-mgmt-ext
+          virtual-link-profile-id: mgmtnet
+        - constituent-cpd-id:
+          - constituent-base-element-id: vnf1
+            constituent-cpd-id: vnf-data-ext
+          virtual-link-profile-id: datanet
+        vnfd-id: vdu-replicas-vnf
+      - id: vnf2
+        virtual-link-connectivity:
+        - constituent-cpd-id:
+          - constituent-base-element-id: vnf2
+            constituent-cpd-id: vnf-mgmt-ext
+          virtual-link-profile-id: mgmtnet
+        - constituent-cpd-id:
+          - constituent-base-element-id: vnf2
+            constituent-cpd-id: vnf-data-ext
+          virtual-link-profile-id: datanet
+        vnfd-id: vdu-replicas-vnf
+    id: vdu-replicas-ns
+    name: vdu-replicas-ns
+    version: '1.0'
+    virtual-link-desc:
+    - id: mgmtnet
+      mgmt-network: true
+    - id: datanet
+    vnfd-id:
+    - vdu-replicas-vnf
diff --git a/vdu_replicas_vnf/vdu_replicas_vnfd.yaml b/vdu_replicas_vnf/vdu_replicas_vnfd.yaml
index a9af5a18e276baa66429c2c5304f2a4eaf375e6f..5b24362f2dd9f1eae5169bb243af966074f3145c 100644
--- a/vdu_replicas_vnf/vdu_replicas_vnfd.yaml
+++ b/vdu_replicas_vnf/vdu_replicas_vnfd.yaml
@@ -1,106 +1,129 @@
-vnfd-catalog:
-    vnfd:
-    -   id: vdu-replicas-vnf
-        name: vdu-replicas-vnf
-        short-name: vdu-replicas-vnf
-        version: '1.0'
-        description: A VNF with 2 replicas of vdu, internal vld and scaling
-        logo: osm.png
-        connection-point:
-        -   name: vnf-mgmt
-        -   name: vnf-data
-        mgmt-interface:
-            cp: vnf-mgmt
-        internal-vld:
-        -   id: internal
-            name: internal
-            type: ELAN
-            internal-connection-point:
-            -   id-ref: mgmtVM-internal
-            -   id-ref: dataVM-internal
-        -   id: interdata
-            name: interdata
-            type: ELAN
-            ip-profile-ref: interdataip
-            internal-connection-point:
-            -   id-ref: dataVM-interdata
-                ip-address: 192.168.101.20
-        ip-profiles:
-        - name: interdataip
-          description: internal data 
-          ip-profile-params:
-            ip-version: ipv4
-            subnet-address: 192.168.101.0/24
-            dhcp-params:
-              enabled: false
-        vdu:
-        -   id: mgmtVM
-            name: mgmtVM
-            image: ubuntu18.04
-            count: 1
-            vm-flavor:
-                vcpu-count: 1
-                memory-mb: 2048
-                storage-gb: 10
-            interface:
-            -   name: mgmtVM-eth0
-                position: 1
-                type: EXTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                external-connection-point-ref: vnf-mgmt
-            -   name: mgmtVM-eth1
-                position: 2
-                type: INTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                internal-connection-point-ref: mgmtVM-internal
-            internal-connection-point:
-            -   id: mgmtVM-internal
-            cloud-init-file: cloud-config.txt
-        -   id: dataVM
-            name: dataVM
-            image: ubuntu18.04
-            count: 2
-            vm-flavor:
-                vcpu-count: 1
-                memory-mb: 2048
-                storage-gb: 10
-            interface:
-            -   name: dataVM-eth0
-                position: 1
-                type: INTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                internal-connection-point-ref: dataVM-internal
-                mgmt-interface: True
-            -   name: dataVM-eth1
-                position: 2
-                type: INTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                internal-connection-point-ref: dataVM-interdata
-                mac-address: "00:11:22:33:aa:20"
-            -   name: dataVM-xe0
-                position: 3
-                type: EXTERNAL
-                virtual-interface:
-                    type: PARAVIRT
-                external-connection-point-ref: vnf-data
-            internal-connection-point:
-            -   id: dataVM-internal
-            -   id: dataVM-interdata
-            cloud-init-file: cloud-config.txt
-
-        scaling-group-descriptor:
-        -   max-instance-count: 10
-            name: scale_dataVM
-            vdu:
-            -   count: 2
-                vdu-id-ref: dataVM
-
-        vnf-configuration:
-            config-access:
-                ssh-access:
-                    default-user: ubuntu
-                    required: true
+vnfd:
+  description: A VNF with 2 replicas of vdu, internal vld and scaling
+  df:
+  - id: default-df
+    instantiation-level:
+    - id: default-instantiation-level
+      vdu-level:
+      - number-of-instances: 1
+        vdu-id: mgmtVM
+      - number-of-instances: 1
+        vdu-id: dataVM
+    scaling-aspect:
+    - aspect-delta-details:
+        deltas:
+        - id: scale_dataVM-delta
+          vdu-delta:
+          - id: dataVM
+            number-of-instances: 2
+      id: scale_dataVM
+      max-scale-level: 10
+      name: scale_dataVM
+    vdu-profile:
+    - id: mgmtVM
+      min-number-of-instances: 1
+    - id: dataVM
+      max-number-of-instances: 10
+      min-number-of-instances: 2
+    virtual-link-profile:
+    - flavour: ''
+      id: interdata
+      virtual-link-protocol-data:
+        l3-protocol-data:
+          cidr: 192.168.101.0/24
+          description: internal data
+          ip-version: ipv4
+          name: interdata-l3-protocol-data
+    vnf-configuration-id: default-vnf-configuration
+  ext-cpd:
+  - id: vnf-mgmt-ext
+    int-cpd:
+      cpd: mgmtVM-eth0-int
+      vdu-id: mgmtVM
+  - id: vnf-data-ext
+    int-cpd:
+      cpd: dataVM-xe0-int
+      vdu-id: dataVM
+  id: vdu-replicas-vnf
+  int-virtual-link-desc:
+  - id: internal
+  - id: interdata
+  mgmt-cp: vnf-mgmt-ext
+  product-name: vdu-replicas-vnf
+  sw-image-desc:
+  - id: ubuntu18.04
+    image: ubuntu18.04
+    name: ubuntu18.04
+  vdu:
+  - cloud-init-file: cloud-config.txt
+    id: mgmtVM
+    int-cpd:
+    - id: mgmtVM-eth0-int
+      virtual-network-interface-requirement:
+      - name: mgmtVM-eth0
+        position: 1
+        virtual-interface:
+          type: PARAVIRT
+    - id: mgmtVM-eth1-int
+      int-virtual-link-desc: internal
+      virtual-network-interface-requirement:
+      - name: mgmtVM-eth1
+        position: 2
+        virtual-interface:
+          type: PARAVIRT
+    name: mgmtVM
+    sw-image-desc: ubuntu18.04
+    virtual-compute-desc: mgmtVM-compute
+    virtual-storage-desc:
+    - mgmtVM-storage
+  - cloud-init-file: cloud-config.txt
+    id: dataVM
+    int-cpd:
+    - id: dataVM-eth0-int
+      int-virtual-link-desc: internal
+      virtual-network-interface-requirement:
+      - name: dataVM-eth0
+        position: 1
+        virtual-interface:
+          type: PARAVIRT
+    - id: dataVM-eth1-int
+      int-virtual-link-desc: interdata
+      virtual-network-interface-requirement:
+      - name: dataVM-eth1
+        position: 2
+        virtual-interface:
+          type: PARAVIRT
+    - id: dataVM-xe0-int
+      virtual-network-interface-requirement:
+      - name: dataVM-xe0
+        position: 3
+        virtual-interface:
+          type: PARAVIRT
+    name: dataVM
+    sw-image-desc: ubuntu18.04
+    virtual-compute-desc: dataVM-compute
+    virtual-storage-desc:
+    - dataVM-storage
+  version: '1.0'
+  virtual-compute-desc:
+  - id: mgmtVM-compute
+    virtual-cpu:
+      num-virtual-cpu: 1
+    virtual-memory:
+      size: 2.0
+  - id: dataVM-compute
+    virtual-cpu:
+      num-virtual-cpu: 1
+    virtual-memory:
+      size: 2.0
+  virtual-storage-desc:
+  - id: mgmtVM-storage
+    size-of-storage: 10
+  - id: dataVM-storage
+    size-of-storage: 10
+  vnf-configuration:
+  - config-access:
+      ssh-access:
+        default-user: ubuntu
+        required: true
+    id: default-vnf-configuration