diff --git a/descriptor-packages/Makefile b/descriptor-packages/Makefile
new file mode 100644
index 0000000..793f30c
--- /dev/null
+++ b/descriptor-packages/Makefile
@@ -0,0 +1,149 @@
+#
+#   Copyright 2016 RIFT.IO Inc
+#
+#   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.
+#
+# Author(s): Austin Cormier
+# Creation Date: 2016/05/23
+#
+BUILD_DIR = build
+
+NSDS := \
+    gw_corpa_ns \
+    ims_allin1_corpa \
+    mwc16_gen_ns \
+    mwc16_pe_ns \
+    VyOS_ns \
+    cirros_ns \
+    cirros_2vnf_ns \
+    ubuntu_xenial_ns \
+    ping_pong_ns \
+    knt_flownac_ns \
+    knt_flownac-us_ns \
+    sandvine_pts_ns \
+    sonussbc_ns \
+    ref1_ns \
+    ref2_ns \
+    ubuntu_cirros_multidisk_ns
+
+NSD_SRC_DIR := src/nsd
+NSD_BUILD_DIR := $(BUILD_DIR)/nsd
+
+NSD_SRC_DIRS := $(addprefix $(NSD_SRC_DIR)/, $(NSDS))
+NSD_BUILD_DIRS := $(addprefix $(NSD_BUILD_DIR)/, $(NSDS))
+NSD_PKGS := $(addsuffix .tar.gz, $(NSDS))
+NSD_BUILD_PKGS := $(addprefix $(NSD_BUILD_DIR)_pkgs/, $(NSD_PKGS))
+
+VNFDS := \
+    6wind_vnf \
+    gw_corpa_pe1_vnf \
+    gw_corpa_pe2_vnf \
+    ims_allin1_2p_vnf \
+    tidgen_mwc16_vnf \
+    VyOS_vnf \
+    cirros_vnf \
+    ubuntu_xenial_vnf \
+    ping_vnf \
+    pong_vnf \
+    knt_fnc_vnf \
+    knt_fne_vnf \
+    knt_fnu_vnf \
+    knt_fnd_vnf \
+    sandvine_pts_vnf \
+    sonus_sbc_vnf \
+    sonus_test_vnf \
+    ref11_vnf \
+    ref21_vnf \
+    ref12_vnf \
+    ref22_vnf \
+    ubuntu_cirros_multidisk_vnf
+
+VNFD_SRC_DIR := src/vnfd
+VNFD_BUILD_DIR := $(BUILD_DIR)/vnfd
+
+VNFD_SRC_DIRS := $(addprefix $(VNFD_SRC_DIR)/, $(VNFDS))
+VNFD_BUILD_DIRS := $(addprefix $(VNFD_BUILD_DIR)/, $(VNFDS))
+VNFD_PKGS := $(addsuffix .tar.gz, $(VNFDS))
+VNFD_BUILD_PKGS := $(addprefix $(VNFD_BUILD_DIR)_pkgs/, $(VNFD_PKGS))
+
+IMS_GITHUB="https://github.com/Metaswitch/clearwater-juju.git"
+CHARM_REPO="https://osm.etsi.org/gerrit/osm/juju-charms.git"
+
+all: $(VNFD_BUILD_PKGS) ${NSD_BUILD_PKGS}
+	echo $@
+
+clean:
+	-@ $(RM) -rf $(BUILD_DIR)
+
+$(VNFD_BUILD_DIR)/%: $(VNFD_SRC_DIR)/%
+	mkdir -p $(VNFD_BUILD_DIR)
+	cp -rf $< $(VNFD_BUILD_DIR)
+
+	src/gen_vnfd_pkg.sh $< $@
+
+$(BUILD_DIR)/clearwater-juju:
+	mkdir -p $(BUILD_DIR)
+	-cd $(BUILD_DIR) && (test -e clearwater-juju || git clone $(IMS_GITHUB))
+
+$(BUILD_DIR)/juju-charms:
+	mkdir -p $(BUILD_DIR)
+	-cd $(BUILD_DIR) && (test -e juju-charms || git clone $(CHARM_REPO))
+	-cd $(BUILD_DIR)/juju-charms && make
+
+$(NSD_BUILD_DIR)/%: $(NSD_SRC_DIR)/%
+	mkdir -p $(NSD_BUILD_DIR)
+	cp -rf $< $(NSD_BUILD_DIR)
+
+	src/gen_nsd_pkg.sh $< $@
+
+$(BUILD_DIR)/nsd_pkgs/%.tar.gz: $(NSD_BUILD_DIR)/%
+	src/generate_descriptor_pkg.sh -d $(BUILD_DIR)/nsd_pkgs $<
+
+$(VNFD_BUILD_DIR)/ims_allin1_2p_vnf/charms/clearwater-aio-proxy: $(VNFD_BUILD_DIR)/ims_allin1_2p_vnf $(BUILD_DIR)/clearwater-juju
+	# Copy the IMS Charm into the IMS vnf package directory before packaging
+	cp -rf $(BUILD_DIR)/clearwater-juju/charms/trusty/clearwater-aio-proxy $(VNFD_BUILD_DIR)/ims_allin1_2p_vnf/charms
+
+$(VNFD_BUILD_DIR)/6wind_vnf/charms/vpe-router: $(VNFD_BUILD_DIR)/6wind_vnf $(BUILD_DIR)/juju-charms
+	# Copy the PE Charm into the PE vnf package directory before packaging
+	cp -rf $(BUILD_DIR)/juju-charms/builds/vpe-router $(VNFD_BUILD_DIR)/6wind_vnf/charms
+
+$(VNFD_BUILD_DIR)/VyOS_vnf/charms/vyos-proxy: $(VNFD_BUILD_DIR)/VyOS_vnf $(BUILD_DIR)/juju-charms
+	# Copy the PE Charm into the PE vnf package directory before packaging
+	cp -rf $(BUILD_DIR)/juju-charms/builds/vyos-proxy $(VNFD_BUILD_DIR)/VyOS_vnf/charms
+
+$(VNFD_BUILD_DIR)/ping_vnf/charms/pingpong: $(VNFD_BUILD_DIR)/ping_vnf $(BUILD_DIR)/juju-charms
+	# Copy the pingpong Charm into the ping vnf package directory before packaging
+	cp -rf $(BUILD_DIR)/juju-charms/builds/pingpong $(VNFD_BUILD_DIR)/ping_vnf/charms
+
+$(VNFD_BUILD_DIR)/pong_vnf/charms/pingpong: $(VNFD_BUILD_DIR)/pong_vnf $(BUILD_DIR)/juju-charms
+	# Copy the pingpong Charm into the pong vnf package directory before packaging
+	cp -rf $(BUILD_DIR)/juju-charms/builds/pingpong $(VNFD_BUILD_DIR)/pong_vnf/charms
+
+$(VNFD_BUILD_DIR)/knt_fnc_vnf/charms/flownac: $(VNFD_BUILD_DIR)/knt_fnc_vnf $(BUILD_DIR)/juju-charms
+	# Copy the FlowNAC Charm into the FNC vnf package directory before packaging
+	cp -rf $(BUILD_DIR)/juju-charms/builds/flownac $(VNFD_BUILD_DIR)/knt_fnc_vnf/charms
+
+$(VNFD_BUILD_DIR)/knt_fne_vnf/charms/flownac: $(VNFD_BUILD_DIR)/knt_fne_vnf $(BUILD_DIR)/juju-charms
+	# Copy the FlowNAC Charm into the FNE vnf package directory before packaging
+	cp -rf $(BUILD_DIR)/juju-charms/builds/flownac $(VNFD_BUILD_DIR)/knt_fne_vnf/charms
+
+$(VNFD_BUILD_DIR)/knt_fnd_vnf/charms/flownac: $(VNFD_BUILD_DIR)/knt_fnd_vnf $(BUILD_DIR)/juju-charms
+	# Copy the FlowNAC Charm into the FND vnf package directory before packaging
+	cp -rf $(BUILD_DIR)/juju-charms/builds/flownac $(VNFD_BUILD_DIR)/knt_fnd_vnf/charms
+
+$(VNFD_BUILD_DIR)/knt_fnu_vnf/charms/flownac: $(VNFD_BUILD_DIR)/knt_fnu_vnf $(BUILD_DIR)/juju-charms
+	# Copy the FlowNAC Charm into the FNU vnf package directory before packaging
+	cp -rf $(BUILD_DIR)/juju-charms/builds/flownac $(VNFD_BUILD_DIR)/knt_fnu_vnf/charms
+
+$(BUILD_DIR)/vnfd_pkgs/%.tar.gz: $(VNFD_BUILD_DIR)/% $(VNFD_BUILD_DIR)/ims_allin1_2p_vnf/charms/clearwater-aio-proxy $(VNFD_BUILD_DIR)/6wind_vnf/charms/vpe-router $(VNFD_BUILD_DIR)/VyOS_vnf/charms/vyos-proxy $(VNFD_BUILD_DIR)/ping_vnf/charms/pingpong $(VNFD_BUILD_DIR)/pong_vnf/charms/pingpong $(VNFD_BUILD_DIR)/knt_fnc_vnf/charms/flownac $(VNFD_BUILD_DIR)/knt_fne_vnf/charms/flownac $(VNFD_BUILD_DIR)/knt_fnd_vnf/charms/flownac $(VNFD_BUILD_DIR)/knt_fnu_vnf/charms/flownac
+	src/generate_descriptor_pkg.sh -d $(BUILD_DIR)/vnfd_pkgs $<
diff --git a/descriptor-packages/README b/descriptor-packages/README
new file mode 100644
index 0000000..9d3482d
--- /dev/null
+++ b/descriptor-packages/README
@@ -0,0 +1,34 @@
+#
+#   Copyright 2016 RIFT.IO Inc
+#
+#   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.
+#
+# Author(s): Austin Cormier
+# Creation Date: 2016/05/23
+
+
+Generates the MWC16 NSD and VNFD descriptor packages from source.
+
+To generate the packages type "make". The VNF and NSD packages will be located
+build/vnfd_pkgs and build/nsd_pkgs.
+
+To clean, type 'make clean'.
+
+You need to install charm tools to compile the charms required for the packages.
+On Fedora, install using: pip install charm-tools
+On Ubuntu, install using: apt install charm-tools
+For other platforms, check https://jujucharms.com/docs/2.0/tools-charm-tools
+
+Due to license issues, for the IMS VNFD package, the IMS charm is fetched
+extracted from the respective git repository prior to packaging.  Because of
+this, internet access is required to reach github.
diff --git a/descriptor-packages/src/gen_nsd_pkg.sh b/descriptor-packages/src/gen_nsd_pkg.sh
new file mode 100755
index 0000000..07761d2
--- /dev/null
+++ b/descriptor-packages/src/gen_nsd_pkg.sh
@@ -0,0 +1,65 @@
+#!/bin/bash
+#
+#   Copyright 2016 RIFT.IO Inc
+#
+#   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.
+#
+# Author(s): Austin Cormier
+# Creation Date: 2016/05/23
+#
+
+# Generates a NSD descriptor package from a source directory
+# Usage:
+# gen_nsd_pkg.sh <pkg_src_dir> <pkg_dest_dir>
+
+set -o nounset
+
+if [ $# -ne 2 ]; then
+	echo "Error: Must provide 2 parameters" >@2
+	exit 1
+fi
+
+pkg_src_dir="$1"
+pkg_dest_dir="$2"
+
+if [ ! -e ${pkg_src_dir} ]; then
+    echo "Error: ${pkg_src_dir} does not exist"
+    exit 1
+fi
+
+if [ ! -e ${pkg_dest_dir} ]; then
+    echo "Error: ${pkg_src_dir} does not exist"
+    exit 1
+fi
+
+echo "Generating package in directory: ${pkg_dest_dir}"
+
+# Create any missing directories/files so each package has
+# a complete hierachy
+nsd_dirs=( ns_config vnf_config icons scripts )
+nsd_files=( README )
+
+nsd_dir="${pkg_src_dir}"
+echo $(pwd)
+
+mkdir -p "${pkg_dest_dir}"
+cp -rf ${nsd_dir}/* "${pkg_dest_dir}"
+for sub_dir in ${nsd_dirs[@]}; do
+    dir_path=${pkg_dest_dir}/${sub_dir}
+    mkdir -p ${dir_path}
+done
+
+for file in ${nsd_files[@]}; do
+    file_path=${pkg_dest_dir}/${file}
+    touch ${file_path}
+done
diff --git a/descriptor-packages/src/gen_vnfd_pkg.sh b/descriptor-packages/src/gen_vnfd_pkg.sh
new file mode 100755
index 0000000..81a655c
--- /dev/null
+++ b/descriptor-packages/src/gen_vnfd_pkg.sh
@@ -0,0 +1,65 @@
+#!/bin/bash
+#
+#   Copyright 2016 RIFT.IO Inc
+#
+#   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.
+#
+# Author(s): Austin Cormier
+# Creation Date: 2016/05/23
+#
+
+# Generates a NSD descriptor package from a source directory
+# Usage:
+# gen_vnfd_pkg.sh <pkg_src_dir> <pkg_dest_dir>
+
+set -o nounset
+
+if [ $# -ne 2 ]; then
+	echo "Error: Must provide 2 parameters" >@2
+	exit 1
+fi
+
+pkg_src_dir="$1"
+pkg_dest_dir="$2"
+
+if [ ! -e ${pkg_src_dir} ]; then
+    echo "Error: ${pkg_src_dir} does not exist"
+    exit 1
+fi
+
+if [ ! -e ${pkg_dest_dir} ]; then
+    echo "Error: ${pkg_src_dir} does not exist"
+    exit 1
+fi
+
+echo "Generating package in directory: ${pkg_dest_dir}"
+
+# Create any missing directories/files so each package has
+# a complete hierachy
+vnfd_dirs=( charms icons scripts images )
+vnfd_files=( README )
+
+vnfd_dir="${pkg_src_dir}"
+echo $(pwd)
+
+mkdir -p "${pkg_dest_dir}"
+cp -rf ${vnfd_dir}/* "${pkg_dest_dir}"
+for sub_dir in ${vnfd_dirs[@]}; do
+    dir_path=${pkg_dest_dir}/${sub_dir}
+    mkdir -p ${dir_path}
+done
+
+for file in ${vnfd_files[@]}; do
+    file_path=${pkg_dest_dir}/${file}
+    touch ${file_path}
+done
diff --git a/descriptor-packages/src/generate_descriptor_pkg.sh b/descriptor-packages/src/generate_descriptor_pkg.sh
new file mode 100755
index 0000000..a09fb6a
--- /dev/null
+++ b/descriptor-packages/src/generate_descriptor_pkg.sh
@@ -0,0 +1,828 @@
+#!/bin/bash
+
+############################################################################
+# Copyright 2016 RIFT.io Inc                                               #
+#                                                                          #
+# 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.                                           #
+############################################################################
+
+#
+# This shell script is used to create a descriptor package
+# The main functions of this script include:
+# - Generate checksums.txt file
+# - Generate a tar.gz file
+# This script can be used to create the required folders for
+# a descriptor package and a template descriptor
+
+# Usage: generate_descriptor_pkg.sh <base-directory> <package-directory>
+
+# Descriptor names should be
+#   - (nsd|vnfd).(yaml|yml|json|xml)
+#   - *_(nsd|vnfd).(yaml|yml|json|xml)
+#   - *_(nsd|vnfd)_*.(yaml|yml|json|xml)
+#   - (nsd|vnfd)/*.(yaml|yml|json|xml)
+#
+
+SCRIPTNAME=`basename $0`
+
+# From https://osm.etsi.org/wikipub/index.php/Release_0_Data_Model_Details
+# Supported folders for VNFD
+# cloud_init - Rel 4.3, not yet part of OSM
+VNFD_FOLDERS=(images scripts icons charms cloud_init)
+
+# Supported folders for NSD
+# OSM document specifies (ns|vnf)-config folder, while Rel 4.3
+# is using (ns|vnf)_config.
+NSD_FOLDERS=(scripts icons ns_config vnf_config)
+
+# Other files allowed in the descriptor base directory
+ALLOWED_FILES=(README)
+
+DESC_TYPES=(vnfd nsd)
+DESC_EXTN=(yml yaml json xml)
+CHKSUM='checksums.txt'
+
+VERBOSE=false
+DRY_RUN=false
+CREATE=false
+RM="--remove-files"
+DEBUG=false
+
+ARCHIVE=false
+CREATE_NSD=false
+VENDOR='OSM'
+INTF_TYPE='VIRTIO'
+VCPU=2
+MEMORY=4096
+STORAGE=10
+INTERFACES=1
+
+function usage() {
+    cat <<EOF
+Usage:
+     $SCRIPTNAME [-t <type>] [-N] [-c] [base-directory] <package-name>
+
+        -h|--help : show this message
+
+        -t|--package-type <nsd|vnfd> : Descriptor package type
+                                       is NSD or VNFD. Script will try to
+                                       determine the type if not provided.
+                                       Default is vnfd for create-folders.
+
+        -d|--destination-dir <destination directory>: Directory to create the
+                                                      archived file.
+                                                      Default is base-directory
+
+        -N|--no-remove-files : Do not remove the package files after creating
+                               archive
+
+        Options specifc for create descriptor:
+
+            -c|--create-folder : Create folder with the structure for the
+                                 package type using the base-dir and package-dir
+                                 and a descriptor template
+
+            -a|--archive: Create package for the descriptor
+
+            --nsd : Generate NSD descriptor package also.
+
+            --vendor : Vendor name for descriptor. Default OSM
+
+            --interface-type : Interface type [VIRTIO|SR-IOV|PCI-PASSTHROUGH|E1000]
+                               Default VIRTIO
+
+          VM Flavour options:
+
+            --vcpu : Virtual CPU count. Default 2
+
+            --memory : Memory for VM in MB. Default 4096MB
+
+            --storage : Storage size for VM in GB. Default 10GB
+
+          VDU Parameters:
+
+            --image : Location URI of the image
+
+            --cloud-init-file : Cloud init file
+
+            --cloud-init : Cloud init script. Will be ignored if
+                           cloud-init-file is specified
+
+            --interfaces : Number of external interfaces in additon to OM-MGMT. Default 1.
+
+        End of create descriptor specific options
+
+        -v| --verbose : Generate progress details
+
+        -n| --dry-run : Validate the package dir
+
+        base-dir : Directory where the archive file or folders are created,
+                   if destination directory is not specified.
+                   Default is current directory
+
+        package-name : The descriptor name (full path if base-dir not specified)
+EOF
+}
+
+CP_TYPE='VPORT'
+function get_cp_type() {
+    case ${INTF_TYPE} in
+        VIRTIO ) CP_TYPE='VPORT';;
+        SR-IOV ) CP_TYPE='VPORT';;
+        PCI-PASSTHROUGH ) CP_TYPE='VPORT';;
+        OM-MGMT ) CP_TYPE='VPORT';;
+        E1000 ) CP_TYPE='VPORT';;
+        * ) echo "ERROR: Unknown interface type ${INTF_TYPE}"; exit 1;;
+    esac
+}
+
+# Get pci number starting from 0x0a
+get_pci() {
+   printf '%02x' $((10 + $1)) | tr '[:upper:]' '[:lower:]'
+}
+
+function write_readme() {
+    dir=$1
+    file=${dir}/README
+    date=$(date)
+
+    cat >$file <<EOF
+Descriptor created by OSM descriptor package generated
+Created on $date
+EOF
+
+}
+
+function write_vnfd_tmpl() {
+    name=$(basename $1)
+    desc_file="${name}.yaml"
+
+    cat >$desc_file <<EOF
+vnfd:vnfd-catalog:
+    vnfd:
+    -   id: ${name}
+        name: ${name}
+        short-name: ${name}
+        description: Generated by OSM pacakage generator
+        vendor: ${VENDOR}
+        version: '1.0'
+
+        # Place the logo as png in icons directory and provide the name here
+        # logo: <update, optional>
+
+        # Management interface
+        mgmt-interface:
+            vdu-id: ${name}-VM
+
+        # Atleast one VDU need to be specified
+        vdu:
+        # Additional VDUs can be created by copying the
+        # VDU descriptor below
+        -   id: ${name}-VM
+            name: ${name}-VM
+            description: ${name}-VM
+            count: 1
+
+            # Flavour of the VM to be instantiated for the VDU
+            vm-flavor:
+                vcpu-count: ${VCPU}
+                memory-mb: ${MEMORY}
+                storage-gb: ${STORAGE}
+
+            # Image including the full path
+            image: '${IMAGE}'
+
+EOF
+
+    # Add the cloud init file or script
+    if [[ -n ${CLOUD_INIT_FILE} ]]; then
+        cif=$(basename ${CLOUD_INIT_FILE})
+        cat >>$desc_file <<EOF
+            # Cloud init file
+            cloud-init-file: '${cif}'
+EOF
+    elif [[ -n ${CLOUD_INIT} ]]; then
+        cat >>$desc_file <<EOF
+            # Cloud init to use
+            cloud-init: '${CLOUD_INIT}'
+EOF
+    fi
+
+    # Add external interfaces
+    cat >>$desc_file <<EOF
+            external-interface:
+            # Specify the external interfaces
+            # There can be multiple interfaces defined
+EOF
+
+    # Add mgmt interface
+    cat >>$desc_file <<EOF
+            -   name: eth0
+                virtual-interface:
+                    type: VIRTIO
+                    bandwidth: '0'
+                    vpci: '0000:00:0a.0'
+                vnfd-connection-point-ref: eth0
+EOF
+
+    # Add external interfaces
+    for i in `seq 1 ${INTERFACES}`; do
+        eth=$(($i))
+        pci=$(get_pci $eth)
+        cat >>$desc_file <<EOF
+            -   name: eth${eth}
+                virtual-interface:
+                    type: ${INTF_TYPE}
+                    bandwidth: '0'
+                    vpci: '0000:00:${pci}.0'
+                vnfd-connection-point-ref: eth${eth}
+EOF
+    done
+
+    # Add connection points
+    cat >>$desc_file <<EOF
+
+        connection-point:
+EOF
+
+    for i in `seq 0 ${INTERFACES}`; do
+        eth=$(($i))
+        cat >>$desc_file <<EOF
+            -   name: eth${eth}
+                type: ${CP_TYPE}
+EOF
+    done
+
+    cat >>$desc_file <<EOF
+
+        # Uncomment and update below to enable juju
+        # charm configuration for the VNF
+        # vnf-configuration:
+        #     juju:
+        #         charm: <charm name>
+        #     service-primitive:
+        #     -   name: config
+        #         parameter:
+        #         -   name: <config parameter>
+        #             data-type: [STRING|INTEGER]
+        #             mandatory: [true|false]
+        #             default-value: <value>
+        #     -   name: <action name>
+        #         parameter:
+        #         -   name: <action parameter>
+        #             data-type: [STRING|INTEGER]
+        #             mandatory: [true|false]
+        #             default-value: <value>
+        #     initial-config-primitive:
+        #     -   name: config
+        #         parameter:
+        #         -   name: <config name>
+        #             value: <value>
+        #     -   name: <action name>
+        #         parameter:
+        #         -   name: <action parameter>
+        #             value: <value>
+EOF
+
+    if [ $VERBOSE == true ]; then
+        echo "INFO: Created $desc_file"
+    fi
+}
+
+function write_nsd_tmpl() {
+    name=$(basename $1)
+    vnfd=$2
+    desc_file="${name}.yaml"
+
+    cat >$desc_file <<EOF
+nsd:nsd-catalog:
+    nsd:
+    -   id: ${name}
+        name: ${name}
+        short-name: ${name}
+        description: Generated by OSM pacakage generator
+        vendor: ${VENDOR}
+        version: '1.0'
+
+        # Place the logo as png in icons directory and provide the name here
+        # logo: <update, optional>
+
+        # Specify the VNFDs that are part of this NSD
+        constituent-vnfd:
+            # The member-vnf-index needs to be unique, starting from 1
+            # vnfd-id-ref is the id of the VNFD
+            # Multiple constituent VNFDs can be specified
+        -   member-vnf-index: 1
+            vnfd-id-ref: ${vnfd}
+
+EOF
+
+    cat >>$desc_file <<EOF
+        vld:
+        # Networks for the VNFs
+EOF
+
+    # Add management VLD
+    cat >>$desc_file <<EOF
+            -   id: ${name}_vld0
+                name: management
+                short-name: management
+                type: ELAN
+                mgmt-network: 'true'
+                # vim-network-name: <update>
+                # provider-network:
+                #     overlay-type: VLAN
+                #     segmentation_id: <update>
+                vnfd-connection-point-ref:
+                # Specify the constituent VNFs
+                # member-vnf-index-ref - entry from constituent vnf
+                # vnfd-id-ref - VNFD id
+                # vnfd-connection-point-ref - connection point name in the VNFD
+                -   nsd:member-vnf-index-ref: 1
+                    nsd:vnfd-id-ref: ${vnfd}
+                    # NOTE: Validate the entry below
+                    nsd:vnfd-connection-point-ref: eth0
+EOF
+
+    # Add rest of VLDs
+    for i in `seq 1 ${INTERFACES}`; do
+        eth=$(($i))
+        cat >>$desc_file <<EOF
+            -   id: ${name}_vld${i}
+                name: ${name}_vld${i}
+                short-name: ${name}_vld${i}
+                type: ELAN
+                # vim-network-name: <update>
+                # provider-network:
+                #     overlay-type: VLAN
+                #     segmentation_id: <update>
+                vnfd-connection-point-ref:
+                # Specify the constituent VNFs
+                # member-vnf-index-ref - entry from constituent vnf
+                # vnfd-id-ref - VNFD id
+                # vnfd-connection-point-ref - connection point name in the VNFD
+                -   nsd:member-vnf-index-ref: 1
+                    nsd:vnfd-id-ref: ${vnfd}
+                    # NOTE: Validate the entry below
+                    nsd:vnfd-connection-point-ref: eth${eth}
+EOF
+        done
+
+    if [ $VERBOSE == true ]; then
+        echo "INFO: Created $desc_file"
+    fi
+}
+
+function write_nsd_config_tmpl() {
+    name=$(basename $1)
+    cfg_file="ns_config/$name.yaml"
+
+    cat >$cfg_file <<EOF
+
+EOF
+
+    if [ $VERBOSE == true ]; then
+        echo "INFO: Created $cfg_file"
+    fi
+}
+
+cur_dir=`pwd`
+
+# Check if the array contains a specific value
+# Taken from
+# http://stackoverflow.com/questions/3685970/check-if-an-array-contains-a-value
+function contains() {
+    local n=$#
+    local value=${!n}
+    for ((i=1;i < $#;i++)); do
+        if [ "${!i}" == "${value}" ]; then
+            echo "y"
+            return 0
+        fi
+    done
+    echo "n"
+    return 1
+}
+
+function check_type() {
+    type=$1
+    if [ $(contains "${DESC_TYPES[@]}" $type) == "y" ]; then
+        TYPE=$type
+    else
+        echo "ERROR: Unknown descriptor type $type!" >&2
+        exit 1
+    fi
+}
+
+function get_expr(){
+    # First argument is to specify if this is a negative match or not
+    # Rest are filename expressions without extension
+
+    local regex=" "
+    local n=$#
+    local neg="${1}"
+    local first="true"
+    for ((i=2;i <= $#;i++)); do
+        for extn in "${DESC_EXTN[@]}"; do
+            if [ $first == true ]; then
+                if [ $neg == true ]; then
+                    subexpr='! -name'
+                else
+                    subexpr='-name'
+                fi
+                first=false
+            else
+                if [ $neg == true ]; then
+                    subexpr=' -a ! -name'
+                else
+                    subexpr=' -o -name'
+                fi
+            fi
+
+            regex="$regex $subexpr ${!i}.$extn"
+        done
+    done
+
+    echo "$regex"
+}
+
+function generate_package(){
+    type=$1
+    name="${2}_${type}"
+    vnfd="${2}_vnfd" # Required for NSD
+    dest_dir=$3
+
+    dir="${dest_dir}/${name}"
+
+    # Create the folders for the descriptor
+    if [ $VERBOSE == true ]; then
+        echo "INFO: Creating folders for $PKG in $dest_dir"
+    fi
+
+    # Remove any existing directory
+    if [ -d $dir ]; then
+        rm -rf $dir >/dev/null 2>&1
+    fi
+
+    mkdir -p $dir && cd $dir
+    if [ $? -ne 0 ]; then
+        rc=$?
+        echo "ERROR: creating directory $dir ($rc)" >&2
+        exit $rc
+    fi
+
+    if [ $type == 'nsd' ]; then
+        folders=("${NSD_FOLDERS[@]}")
+    else
+        folders=("${VNFD_FOLDERS[@]}")
+    fi
+
+    for d in ${folders[@]}; do
+        mkdir -p $dir/$d
+        if [ $? -ne 0 ]; then
+            rc=$?
+            echo "ERROR: creating directory $dir/$d ($rc)" >&2
+            exit $rc
+        fi
+        if [ $VERBOSE == true ]; then
+            echo "Created folder $d in $dir"
+        fi
+    done
+
+    if [ $VERBOSE == true ]; then
+        echo "INFO: Created folders for in $dir"
+    fi
+
+    # Write a descriptor template file
+    if [ $type == 'vnfd' ]; then
+
+        # Copy cloud init file to correct folder
+        if [[ -n ${CLOUD_INIT_FILE} ]]; then
+            if [[ -e ${CLOUD_INIT_FILE} ]]; then
+                cp ${CLOUD_INIT_FILE} $dir/cloud_init
+            else
+                echo "ERROR: Unable to find cloud-init-file ${CLOUD_INIT_FILE}"
+                exit 1
+            fi
+        fi
+
+        write_vnfd_tmpl $dir
+    else
+        write_nsd_tmpl $dir $vnfd
+    fi
+
+    write_readme $dir
+
+    if [ $ARCHIVE == true ]; then
+        # Create archive of the package
+        cd $dest_dir
+        if [ $VERBOSE == true ]; then
+            tar zcvf ${name}.tar.gz ${name}
+            echo "Created package ${name}.tar.gz in $dest_dir"
+        else
+            tar zcvf ${name}.tar.gz ${name} >/dev/null 2>&1
+        fi
+
+        if [ $? -ne 0 ]; then
+            echo "ERROR: Creating archive for ${name} in $dest_dir" >&2
+            exit 1
+        fi
+
+        echo "$dest_dir/${name}.tar.gz" >&2
+
+        if [ $RM == true ]; then
+            rm -rf ${name}
+        fi
+    fi
+}
+
+OPTS=`getopt -o vhnt:d:caN --long verbose,dry-run,help,package-type:,destination-dir,create-folder,no-remove-files,archive,nsd,vendor:,interface-type:,vcpu:,memory:,storage:,image:,cloud-init-file:,cloud-init:,interfaces:,debug -n $SCRIPTNAME -- "$@"`
+
+if [ $? != 0 ] ; then
+    echo "ERROR: Failed parsing options ($?)." >&2
+    usage
+    exit 1
+fi
+
+echo "$OPTS"
+eval set -- "$OPTS >/dev/null 2>&1"
+
+while true; do
+    case "$1" in
+        -v | --verbose ) VERBOSE=true; shift ;;
+        -h | --help )    usage; exit 0; shift ;;
+        -n | --dry-run ) DRY_RUN=true; shift ;;
+        -t | --package-type ) check_type "$2"; shift; shift ;;
+        -d | --destination-dir ) DEST_DIR=$2; shift; shift;;
+        -c | --create-folder ) CREATE=true; shift;;
+        -N | --no-remove-files ) RM=''; shift;;
+        -a | --archive ) ARCHIVE=true; shift;;
+        --nsd ) CREATE_NSD=true; shift;;
+        --vendor ) VENDOR=$2; shift; shift;;
+        --interface-type ) INTF_TYPE=$2; shift; shift;;
+        --vcpu ) VCPU=$2; shift; shift;;
+        --memory ) MEMORY=$2; shift; shift;;
+        --storage ) STORAGE=$2; shift; shift;;
+        --image ) IMAGE=$2; shift; shift;;
+        --cloud-init ) CLOUD_INIT=$2; shift; shift;;
+        --cloud-init-file ) CLOUD_INIT_FILE=$2; shift; shift;;
+        --interfaces ) INTERFACES=$2; shift; shift;;
+        --debug ) DEBUG=true; shift;;
+        -- ) shift; break ;;
+        * ) break ;;
+    esac
+done
+
+if [ $DEBUG == true ]; then
+    echo "INFO: Debugging ON"
+    set -x
+fi
+
+if [ $VERBOSE == true ]; then
+    echo "INFO: Descriptor type: $TYPE"
+fi
+
+# Dry run is to validate existing descriptor folders
+if [ $DRY_RUN == true ] && [ $CREATE == true ]; then
+    echo "ERROR: Option dry-run with create-folders not supported!" >&2
+    exit 1
+fi
+
+if [ $# -gt 1 ]; then
+    BASE_DIR=$1
+    PKG=$(basename $2)
+else
+    BASE_DIR=$(dirname $1)
+    PKG=$(basename $1)
+fi
+
+if [ $VERBOSE == true ]; then
+    echo "INFO: Using base dir: $BASE_DIR"
+fi
+
+if [ $VERBOSE == true ]; then
+    echo "INFO: Using package: $PKG"
+fi
+
+if [[ -z "$PKG" ]]; then
+    echo "ERROR: Need to specify the package name" >&2
+    usage >&2
+    exit 1
+fi
+
+if [[ ! -d $BASE_DIR ]]; then
+    if [ $CREATE == true ]; then
+        mkdir -p $BASE_DIR
+        if [ $? -ne 0 ]; then
+            echo "ERROR: Unable to create base directory $BASE_DIR" >&2
+            exit 1
+        fi
+    fi
+fi
+cd $BASE_DIR
+if [ $? -ne 0 ]; then
+    echo "ERROR: Unable to change to base directory $BASE_DIR!" >&2
+    exit 1
+fi
+
+# Get full base dir path
+BASE_DIR=`pwd`
+cd $cur_dir
+
+if [[ -z $DEST_DIR ]]; then
+    DEST_DIR=$BASE_DIR # Default to base directory
+fi
+
+mkdir -p $DEST_DIR
+
+cd $DEST_DIR
+if [ $? -ne 0 ]; then
+    echo "ERROR: Not able to access destination directory $DEST_DIR!" >&2
+    exit 1
+fi
+
+# Get the full destination dir path
+DEST_DIR=`pwd`
+cd $cur_dir
+
+dir=${BASE_DIR}/${PKG}
+
+function add_chksum() {
+    if [ $VERBOSE == true ]; then
+        echo "INFO: Add file $1 to $CHKSUM"
+    fi
+
+    md5sum $1 >> $CHKSUM
+}
+
+if [ $CREATE == false ]; then
+    if [ ! -d $dir ]; then
+        echo "INFO: Package folder $dir not found!" >&2
+        exit 1
+    fi
+
+    cd $dir
+    if [ $? -ne 0 ]; then
+        rc=$?
+        echo "ERROR: changing directory to $dir ($rc)" >&2
+        exit $rc
+    fi
+
+    # Remove checksum file, if present
+    rm -f $CHKSUM
+
+    # Check if the descriptor file is present
+    if [[ -z $TYPE ]]; then
+        # Desc type not specified, look for the desc file and guess the type
+        # Required for backward compatibility
+        for ty in ${DESC_TYPES[@]}; do
+            re=$(get_expr false "$ty" "*_$ty" "*_${ty}_*")
+            desc=$(find * -maxdepth 0 -type f $re 2>/dev/null)
+
+            if [[ -z $desc ]] || [ ${#desc[@]} -eq 0 ]; then
+                # Check the vnfd|nsd folder
+                if [ ! -d $ty ]; then
+                    continue
+                fi
+                re=$(get_expr false "*")
+                desc=$(find $ty/* -maxdepth 0 -type f $re 2>/dev/null)
+                if [[ -z $desc ]] || [ ${#desc[@]} -eq 0 ]; then
+                    continue
+                elif [ ${#desc[@]} -gt 1 ]; then
+                    echo "ERROR: Found multiple descriptor files: ${desc[@]}" >&2
+                    exit 1
+                fi
+                # Descriptor sub directory
+                desc_sub_dir=$ty
+            fi
+
+            TYPE=$ty
+            if [ $TYPE == 'nsd' ]; then
+                folders=("${NSD_FOLDERS[@]}")
+            else
+                folders=("${VNFD_FOLDERS[@]}")
+            fi
+
+            if [ $VERBOSE == true ]; then
+                echo "INFO: Determined descriptor is of type $TYPE"
+            fi
+            break
+        done
+
+        if [[ -z $TYPE ]]; then
+            echo "ERROR: Unable to determine the descriptor type!" >&2
+            exit 1
+        fi
+    else
+        if [ $TYPE == 'nsd' ]; then
+            folders=("${NSD_FOLDERS[@]}")
+        else
+            folders=("${VNFD_FOLDERS[@]}")
+        fi
+
+        # Check for descriptor of type provided on command line
+        re=$(get_expr false "$TYPE" "*_${TYPE}" "*_${TYPE}_*")
+        desc=$(find * -maxdepth 0 -type f $re 2>/dev/null)
+
+        if [[ -z $desc ]] || [ ${#desc[@]} -eq 0 ]; then
+            # Check if it is under vnfd/nsd subdirectory
+            # Backward compatibility support
+            re=$(get_expr false "*")
+            desc=$(find $TYPE/* -maxdepth 0 -type f $re 2>/dev/null)
+            if [[ -z $desc ]] || [ ${#desc[@]} -eq 0 ]; then
+                echo "ERROR: Did not find descriptor file of type $TYPE" \
+                     " in $dir" >&2
+                exit 1
+            fi
+            desc_sub_dir=$ty
+        fi
+    fi
+
+    if [ ${#desc[@]} -gt 1 ]; then
+        echo "ERROR: Found multiple files of type $TYPE in $dir: $desc" >&2
+        exit 1
+    fi
+
+    descriptor=${desc[0]}
+
+    # Check if there are files not supported
+    files=$(find * -maxdepth 0 -type f ! -name $descriptor 2>/dev/null)
+
+    for f in ${files[@]}; do
+        if [ $(contains "${ALLOWED_FILES[@]}" $f)  == "n" ]; then
+            echo "WARN: Unsupported file $f found"
+        fi
+    done
+
+    if [ $VERBOSE == true ]; then
+        echo "INFO: Found descriptor package: ${desc_sub_dir} ${descriptor}"
+    fi
+
+    if [ $DRY_RUN == false ]; then
+        add_chksum ${descriptor}
+    fi
+
+    # Check the folders are supported ones
+    dirs=$( find * -maxdepth 0 -type d )
+
+    for d in ${dirs[@]}; do
+        if [ $(contains "${folders[@]}" $d) == "y" ]; then
+            if [ $DRY_RUN == false ]; then
+                find $d/* -type f  2>/dev/null|
+                    while read file; do
+                        add_chksum $file
+                    done
+            fi
+        elif [[ -z $desc_sub_dir ]] || [ $d != $desc_sub_dir ]; then
+            echo "WARN: $d is not part of standard folders " \
+                 "for descriptor type $TYPE in $PKG"
+        fi
+    done
+
+    if [ $VERBOSE == true ]; then
+        echo "INFO: Creating archive for $PKG"
+    fi
+
+    cd $BASE_DIR
+    if [ $DRY_RUN == false ]; then
+        tar zcvf "$DEST_DIR/$PKG.tar.gz" "${PKG}" ${RM}
+        if [ $? -ne 0 ]; then
+            rc=$?
+            echo "ERROR: creating archive for $PKG ($rc)" >&2
+            exit $rc
+        fi
+    fi
+else
+    # Create, default to VNFD if no type is defined
+    if [[ -z $TYPE ]]; then
+        TYPE=vnfd
+        if [ $VERBOSE == true ]; then
+            echo "WARNING: Defaulting to descriptor type $TYPE"
+        fi
+    fi
+
+    if [ $TYPE == 'vnfd' ]; then
+        if [[ -z $IMAGE ]]; then
+            echo "ERROR: Image file need to be specified for VNF"
+            exit 1
+        fi
+        generate_package vnfd $PKG $DEST_DIR
+    fi
+
+    if [ $TYPE == 'nsd' -o  $CREATE_NSD == true ]; then
+        generate_package nsd $PKG $DEST_DIR
+    fi
+
+fi
+
+cd $cur_dir
diff --git a/descriptor-packages/src/nsd/VyOS_ns/VyOS_nsd.yaml b/descriptor-packages/src/nsd/VyOS_ns/VyOS_nsd.yaml
new file mode 100644
index 0000000..4b833fe
--- /dev/null
+++ b/descriptor-packages/src/nsd/VyOS_ns/VyOS_nsd.yaml
@@ -0,0 +1,50 @@
+nsd:nsd-catalog:
+    nsd:
+    -   id: VyOS
+        name: VyOS
+        short-name: VyOS
+        description: VyOS NS Example NS
+        logo: osm_2x.png
+        constituent-vnfd:
+        -   member-vnf-index: '1'
+            vnfd-id-ref: VyOS
+        vld:
+        -   id: data
+            name: data
+            short-name: data
+            type: ELAN
+            vim-network-name: net-corp
+            provider-network:
+                overlay-type: VLAN
+            vnfd-connection-point-ref:
+            -   member-vnf-index-ref: '1'
+                vnfd-connection-point-ref: eth1
+                vnfd-id-ref: VyOS
+        -   id: management
+            name: management
+            short-name: management
+            type: ELAN
+            vim-network-name: net-mgmtOS
+            provider-network:
+                overlay-type: VLAN
+            vnfd-connection-point-ref:
+            -   member-vnf-index-ref: '1'
+                vnfd-connection-point-ref: eth0
+                vnfd-id-ref: VyOS
+        service-primitive:
+        -   name: Config VyOS
+            vnf-primitive-group:
+            -   member-vnf-index-ref: '1'
+                vnfd-id-ref: VyOS
+                vnfd-name: VyOS
+                primitive:
+                -   index: '1'
+                    name: config
+        -   name: ping
+            vnf-primitive-group:
+            -   member-vnf-index-ref: '1'
+                vnfd-id-ref: VyOS
+                vnfd-name: VyOS
+                primitive:
+                -   index: '1'
+                    name: ping
diff --git a/descriptor-packages/src/nsd/VyOS_ns/icons/osm_2x.png b/descriptor-packages/src/nsd/VyOS_ns/icons/osm_2x.png
new file mode 100644
index 0000000..62012d2
--- /dev/null
+++ b/descriptor-packages/src/nsd/VyOS_ns/icons/osm_2x.png
Binary files differ
diff --git a/descriptor-packages/src/nsd/cirros_2vnf_ns/cirros_2vnf_nsd.yaml b/descriptor-packages/src/nsd/cirros_2vnf_ns/cirros_2vnf_nsd.yaml
new file mode 100644
index 0000000..ed9433f
--- /dev/null
+++ b/descriptor-packages/src/nsd/cirros_2vnf_ns/cirros_2vnf_nsd.yaml
@@ -0,0 +1,44 @@
+nsd:nsd-catalog:
+    nsd:
+    -   id: cirros_2vnf_nsd
+        name: cirros_2vnf_ns
+        short-name: cirros_2vnf_ns
+        description: Generated by OSM pacakage generator
+        vendor: OSM
+        version: '1.0'
+
+        # Place the logo as png in icons directory and provide the name here
+        logo: osm_2x.png
+
+        # Specify the VNFDs that are part of this NSD
+        constituent-vnfd:
+            # The member-vnf-index needs to be unique, starting from 1
+            # vnfd-id-ref is the id of the VNFD
+            # Multiple constituent VNFDs can be specified
+        -   member-vnf-index: 1
+            vnfd-id-ref: cirros_vnfd
+        -   member-vnf-index: 2
+            vnfd-id-ref: cirros_vnfd
+
+
+        vld:
+        # Networks for the VNFs
+            -   id: cirros_2vnf_nsd_vld1
+                name: cirros_2vnf_nsd_vld1
+                short-name: cirros_2vnf_nsd_vld1
+                type: ELAN
+                # vim-network-name: <update>
+                # provider-network:
+                #     overlay-type: VLAN
+                #     segmentation_id: <update>
+                vnfd-connection-point-ref:
+                # Specify the constituent VNFs
+                # member-vnf-index-ref - entry from constituent vnf
+                # vnfd-id-ref - VNFD id
+                # vnfd-connection-point-ref - connection point name in the VNFD
+                -   nsd:member-vnf-index-ref: 1
+                    nsd:vnfd-id-ref: cirros_vnfd
+                    nsd:vnfd-connection-point-ref: eth0
+                -   nsd:member-vnf-index-ref: 2
+                    nsd:vnfd-id-ref: cirros_vnfd
+                    nsd:vnfd-connection-point-ref: eth0
diff --git a/descriptor-packages/src/nsd/cirros_2vnf_ns/icons/osm_2x.png b/descriptor-packages/src/nsd/cirros_2vnf_ns/icons/osm_2x.png
new file mode 100644
index 0000000..62012d2
--- /dev/null
+++ b/descriptor-packages/src/nsd/cirros_2vnf_ns/icons/osm_2x.png
Binary files differ
diff --git a/descriptor-packages/src/nsd/cirros_ns/cirros_nsd.yaml b/descriptor-packages/src/nsd/cirros_ns/cirros_nsd.yaml
new file mode 100644
index 0000000..9ec4e27
--- /dev/null
+++ b/descriptor-packages/src/nsd/cirros_ns/cirros_nsd.yaml
@@ -0,0 +1,49 @@
+nsd:nsd-catalog:
+    nsd:
+    -   id: cirros_nsd
+        name: cirros_ns
+        short-name: cirros_ns
+        description: Generated by OSM pacakage generator
+        vendor: OSM
+        version: '1.0'
+
+        # Place the logo as png in icons directory and provide the name here
+        logo: osm_2x.png
+
+        # Specify the VNFDs that are part of this NSD
+        constituent-vnfd:
+            # The member-vnf-index needs to be unique, starting from 1
+            # vnfd-id-ref is the id of the VNFD
+            # Multiple constituent VNFDs can be specified
+        -   member-vnf-index: 1
+            vnfd-id-ref: cirros_vnfd
+        scaling-group-descriptor:
+        -   name: "scaling_cirros"
+            vnfd-member:
+            -   count: 1
+                member-vnf-index-ref: 1
+            min-instance-count: 0
+            max-instance-count: 10
+            scaling-policy:
+            -   scaling-type: "manual"
+                cooldown-time: 10
+                threshold-time: 10
+                name: manual_scale
+        vld:
+        # Networks for the VNFs
+            -   id: cirros_nsd_vld1
+                name: cirros_nsd_vld1
+                type: ELAN
+                # vim-network-name: <update>
+                # provider-network:
+                #     overlay-type: VLAN
+                #     segmentation_id: <update>
+                vnfd-connection-point-ref:
+                # Specify the constituent VNFs
+                # member-vnf-index-ref - entry from constituent vnf
+                # vnfd-id-ref - VNFD id
+                # vnfd-connection-point-ref - connection point name in the VNFD
+                -   nsd:member-vnf-index-ref: 1
+                    nsd:vnfd-id-ref: cirros_vnfd
+                    # NOTE: Validate the entry below
+                    nsd:vnfd-connection-point-ref: eth0
diff --git a/descriptor-packages/src/nsd/cirros_ns/icons/osm_2x.png b/descriptor-packages/src/nsd/cirros_ns/icons/osm_2x.png
new file mode 100644
index 0000000..62012d2
--- /dev/null
+++ b/descriptor-packages/src/nsd/cirros_ns/icons/osm_2x.png
Binary files differ
diff --git a/descriptor-packages/src/nsd/ims_allin1_corpa/IMS-corpA__nsd.yaml b/descriptor-packages/src/nsd/ims_allin1_corpa/IMS-corpA__nsd.yaml
new file mode 100644
index 0000000..cc613b3
--- /dev/null
+++ b/descriptor-packages/src/nsd/ims_allin1_corpa/IMS-corpA__nsd.yaml
@@ -0,0 +1,60 @@
+nsd:nsd-catalog:
+    nsd:
+    -   id: IMS-corpA
+        name: IMS-corpA
+        short-name: IMS-corpA
+        description: All in one Clearwater IMS for corporation A in MWC16
+        logo: osm_2x.png
+        constituent-vnfd:
+        -   member-vnf-index: '1'
+            vnfd-id-ref: IMS-ALLIN1_2p
+        vld:
+        -   id: data
+            name: data
+            short-name: data
+            type: ELAN
+            vim-network-name: net-corp:108
+            provider-network:
+                overlay-type: VLAN
+                physical-network: net-corp
+                segmentation_id: '108'
+            vnfd-connection-point-ref:
+            -   member-vnf-index-ref: '1'
+                vnfd-connection-point-ref: eth0
+                vnfd-id-ref: IMS-ALLIN1_2p
+        -   id: management
+            name: management
+            short-name: management
+            type: ELAN
+            vim-network-name: net-mgmtOS
+            provider-network:
+                overlay-type: VLAN
+            vnfd-connection-point-ref:
+            -   member-vnf-index-ref: '1'
+                vnfd-connection-point-ref: eth1
+                vnfd-id-ref: IMS-ALLIN1_2p
+        service-primitive:
+        -   name: Update Domain
+            vnf-primitive-group:
+            -   member-vnf-index-ref: '1'
+                vnfd-id-ref: IMS-ALLIN1_2p
+                vnfd-name: cwims_vnfd
+                primitive:
+                -   index: '1'
+                    name: config
+        -   name: Add User
+            vnf-primitive-group:
+            -   member-vnf-index-ref: '1'
+                vnfd-id-ref: IMS-ALLIN1_2p
+                vnfd-name: cwims_vnfd
+                primitive:
+                -   index: '1'
+                    name: create-update-user
+        -   name: Delete User
+            vnf-primitive-group:
+            -   member-vnf-index-ref: '1'
+                vnfd-id-ref: IMS-ALLIN1_2p
+                vnfd-name: cwims_vnfd
+                primitive:
+                -   index: '1'
+                    name: delete-user
diff --git a/descriptor-packages/src/nsd/ims_allin1_corpa/icons/osm_2x.png b/descriptor-packages/src/nsd/ims_allin1_corpa/icons/osm_2x.png
new file mode 100644
index 0000000..62012d2
--- /dev/null
+++ b/descriptor-packages/src/nsd/ims_allin1_corpa/icons/osm_2x.png
Binary files differ
diff --git a/descriptor-packages/src/nsd/ims_allin1_corpa/vnf_config/IMS-ALLIN1_2p__1.yaml b/descriptor-packages/src/nsd/ims_allin1_corpa/vnf_config/IMS-ALLIN1_2p__1.yaml
new file mode 100644
index 0000000..33c5ef9
--- /dev/null
+++ b/descriptor-packages/src/nsd/ims_allin1_corpa/vnf_config/IMS-ALLIN1_2p__1.yaml
@@ -0,0 +1,4 @@
+initial_config_primitive:
+- name: config
+  parameter:
+    proxied_ip: <rw_mgmt_ip>
diff --git a/descriptor-packages/src/nsd/ping_pong_ns/icons/rift_logo.png b/descriptor-packages/src/nsd/ping_pong_ns/icons/rift_logo.png
new file mode 100644
index 0000000..09b47c7
--- /dev/null
+++ b/descriptor-packages/src/nsd/ping_pong_ns/icons/rift_logo.png
Binary files differ
diff --git a/descriptor-packages/src/nsd/ping_pong_ns/ping_pong_nsd.yaml b/descriptor-packages/src/nsd/ping_pong_ns/ping_pong_nsd.yaml
new file mode 100644
index 0000000..268504c
--- /dev/null
+++ b/descriptor-packages/src/nsd/ping_pong_ns/ping_pong_nsd.yaml
@@ -0,0 +1,102 @@
+#
+#   Copyright 2016 RIFT.io Inc
+#
+#   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:nsd-catalog:
+    nsd:nsd:
+     -  nsd:id: rift_ping_pong_ns
+        nsd:logo: rift_logo.png
+        nsd:name: ping_pong_ns
+        nsd:short-name: ping_pong_ns
+        nsd:vendor: RIFT.io
+        nsd:version: '1.1'
+        nsd:description: RIFT.io sample ping pong network service
+        nsd:constituent-vnfd:
+        -   nsd:member-vnf-index: '1'
+            nsd:vnfd-id-ref: rift_ping_vnf
+        -   nsd:member-vnf-index: '2'
+            nsd:vnfd-id-ref: rift_pong_vnf
+        nsd:initial-config-primitive:
+        -   nsd:name: start traffic
+            nsd:parameter:
+            -   nsd:name: port
+                nsd:value: 5555
+            -   nsd:name: ssh-username
+                nsd:value: fedora
+            -   nsd:name: ssh-password
+                nsd:value: fedora
+            nsd:seq: '1'
+            nsd:user-defined-script: start_traffic.py
+        nsd:input-parameter-xpath:
+        -   nsd:xpath: /nsd:nsd-catalog/nsd:nsd/nsd:vendor
+        nsd:ip-profiles:
+        -   nsd:description: Inter VNF Link
+            nsd:ip-profile-params:
+                nsd:gateway-address: 31.31.31.210
+                nsd:ip-version: ipv4
+                nsd:subnet-address: 31.31.31.0/24
+                nsd:dhcp-params:
+                  nsd:count: 200
+                  nsd:start-address: 31.31.31.2
+            nsd:name: InterVNFLink
+        nsd:placement-groups:
+        -   nsd:member-vnfd:
+            -   nsd:member-vnf-index-ref: '1'
+                nsd:vnfd-id-ref: rift_ping_vnf
+            -   nsd:member-vnf-index-ref: '2'
+                nsd:vnfd-id-ref: rift_pong_vnf
+            nsd:name: Orcus
+            nsd:requirement: Place this VM on the Kuiper belt object Orcus
+            nsd:strategy: COLOCATION
+        -   nsd:member-vnfd:
+            -   nsd:member-vnf-index-ref: '1'
+                nsd:vnfd-id-ref: rift_ping_vnf
+            -   nsd:member-vnf-index-ref: '2'
+                nsd:vnfd-id-ref: rift_pong_vnf
+            nsd:name: Quaoar
+            nsd:requirement: Place this VM on the Kuiper belt object Quaoar
+            nsd:strategy: COLOCATION
+        nsd:vld:
+        -   nsd:id: mgmt_vl
+            nsd:description: Management VL
+            nsd:name: mgmt_vl
+            nsd:short-name: mgmt_vl
+            nsd:type: ELAN
+            nsd:vendor: RIFT.io
+            nsd:version: '1.0'
+            nsd:mgmt-network: 'true'
+            nsd:vnfd-connection-point-ref:
+            -   nsd:member-vnf-index-ref: '1'
+                nsd:vnfd-connection-point-ref: ping_vnfd/cp0
+                nsd:vnfd-id-ref: rift_ping_vnf
+            -   nsd:member-vnf-index-ref: '2'
+                nsd:vnfd-connection-point-ref: pong_vnfd/cp0
+                nsd:vnfd-id-ref: rift_pong_vnf
+        -   nsd:id: ping_pong_vl1
+            nsd:description: Data VL
+            nsd:ip-profile-ref: InterVNFLink
+            nsd:name: data_vl
+            nsd:short-name: data_vl
+            nsd:type: ELAN
+            nsd:vendor: RIFT.io
+            nsd:version: '1.0'
+            nsd:vnfd-connection-point-ref:
+            -   nsd:member-vnf-index-ref: '1'
+                nsd:vnfd-connection-point-ref: ping_vnfd/cp1
+                nsd:vnfd-id-ref: rift_ping_vnf
+            -   nsd:member-vnf-index-ref: '2'
+                nsd:vnfd-connection-point-ref: pong_vnfd/cp1
+                nsd:vnfd-id-ref: rift_pong_vnf
diff --git a/descriptor-packages/src/nsd/ping_pong_ns/scripts/start_traffic.py b/descriptor-packages/src/nsd/ping_pong_ns/scripts/start_traffic.py
new file mode 100755
index 0000000..87c309f
--- /dev/null
+++ b/descriptor-packages/src/nsd/ping_pong_ns/scripts/start_traffic.py
@@ -0,0 +1,223 @@
+#!/usr/bin/env python3
+
+############################################################################
+# Copyright 2016 RIFT.IO Inc                                               #
+#                                                                          #
+# 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.                                           #
+############################################################################
+
+
+import argparse
+import logging
+import paramiko
+import os
+import subprocess
+import sys
+import time
+
+import yaml
+
+
+def ssh(cmd, host, user, password):
+    """ Run an arbitrary command over SSH. """
+
+    client = paramiko.SSHClient()
+    client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
+
+    client.connect(host, port=22, username=user, password=password)
+
+    stdin, stdout, stderr = client.exec_command(cmd, get_pty=True)
+    retcode = stdout.channel.recv_exit_status()
+    client.close()
+
+    return (
+        retcode,
+        stdout.read().decode('utf-8').strip(),
+        stderr.read().decode('utf-8').strip()
+    )
+
+
+def start_traffic(yaml_cfg, logger):
+    '''Use curl and set admin status to enable on pong and ping vnfs'''
+
+    curl_fmt = 'curl -D /dev/stdout -H "Accept: application/vnd.yang.data' \
+                   '+xml" -H "Content-Type: application/vnd.yang.data+json" ' \
+                   '-X POST -d "{{ {data} }}" http://127.0.0.1:' \
+                   '{mgmt_port}/api/v1/{vnf_type}/{url}'
+
+    # Get userid and password for the VNF
+    user = yaml_cfg['parameter']['ssh-username']
+    passwd = yaml_cfg['parameter']['ssh-password']
+
+    # Get port from user parameter
+    service_port = yaml_cfg['parameter']['port']
+
+    service_ip = None
+
+    def exec_cmd(vnf_type, mgmt_ip, port, url, data):
+        curl_cmd = curl_fmt.format(
+            mgmt_port=port,
+            vnf_type=vnf_type,
+            data=data,
+            url=url
+        )
+
+        logger.debug("Executing cmd: %s", curl_cmd)
+        rc, out, err = ssh(curl_cmd, mgmt_ip, user, passwd)
+
+        if rc != 0:
+            logger.error("cmd={}, rc={}, stderr={}, stdout={}".
+                         format(curl_cmd, rc, err, out))
+        else:
+            logger.debug("cmd={}, rc={}, stderr={}, stdout={}".
+                         format(curl_cmd, rc, err, out))
+
+        return rc
+
+    def setup_service(mgmt_ip, port, vnf_type):
+        data = '\\"ip\\":\\"{}\\", \\"port\\":5555'.format(service_ip)
+        return exec_cmd(vnf_type, mgmt_ip, port, 'server', data)
+
+    def enable_service(mgmt_ip, port, vnf_type):
+        data='\\"enable\\":true'
+        url='adminstatus/state'
+        return exec_cmd(vnf_type, mgmt_ip, port, url, data)
+
+    # Enable pong service first
+    for index, vnfr in yaml_cfg['vnfr'].items():
+        logger.debug("VNFR {}: {}".format(index, vnfr))
+
+        def get_cp_ip(cp_name):
+            for cp in vnfr['connection_point']:
+                if cp['name'].endswith(cp_name):
+                    return cp['ip_address']
+
+        # Check if it is pong vnf
+        if 'pong_vnf' in vnfr['name']:
+            vnf_type = 'pong'
+            mgmt_ip = vnfr['mgmt_ip_address']
+            port = vnfr['mgmt_port']
+            service_ip = get_cp_ip('cp1')
+
+            max_tries = 60
+            tries = 0
+            while tries < max_tries:
+                rc = setup_service(mgmt_ip, port, vnf_type)
+                tries += 1
+                if rc != 0:
+                    logger.error("Setup service for pong failed ({}): {}".
+                                 format(tries, rc))
+                    if rc != 7:
+                        return rc
+                    else:
+                        time.sleep(1) # Sleep for 1 seconds
+                else:
+                    break
+
+            rc = enable_service(mgmt_ip, port, vnf_type)
+            if rc != 0:
+                logger.error("Enable service for pong failed: {}".
+                             format(rc))
+                return rc
+
+    # Add a delay to provide pong port to come up
+    time.sleep(1)
+
+    # Enable ping service next
+    for index, vnfr in yaml_cfg['vnfr'].items():
+        logger.debug("VNFR {}: {}".format(index, vnfr))
+
+        # Check if it is pong vnf
+        if 'ping_vnf' in vnfr['name']:
+            vnf_type = 'ping'
+            mgmt_ip = vnfr['mgmt_ip_address']
+            port = vnfr['mgmt_port']
+            if service_ip is None:
+                logger.error("Did not find pong ip!!")
+                return 1
+
+            max_tries = 30
+            tries = 0
+            while tries < max_tries:
+                rc = setup_service(mgmt_ip, port, vnf_type)
+                tries += 1
+                if rc != 0:
+                    logger.error("Setup service for ping failed ({}): {}".
+                                 format(tries, rc))
+                    if rc != 7:
+                        return rc
+                    else:
+                        time.sleep(1) # Sleep for 1 seconds
+                else:
+                    break
+
+            rc = enable_service(mgmt_ip, port, vnf_type)
+            if rc != 0:
+                logger.error("Enable service for ping failed: {}".
+                             format(rc))
+
+    return rc
+
+
+def main(argv=sys.argv[1:]):
+    try:
+        parser = argparse.ArgumentParser()
+        parser.add_argument("yaml_cfg_file", type=argparse.FileType('r'))
+        parser.add_argument("-q", "--quiet", dest="verbose", action="store_false")
+        args = parser.parse_args()
+
+        run_dir = os.path.join(os.environ['RIFT_INSTALL'], "var/run/rift")
+        if not os.path.exists(run_dir):
+            os.makedirs(run_dir)
+        log_file = "{}/ping_pong_start_traffic-{}.log".format(run_dir, time.strftime("%Y%m%d%H%M%S"))
+
+        # logging.basicConfig(filename=log_file, level=logging.DEBUG)
+        logger = logging.getLogger('ping-pong-start-traffic')
+        logger.setLevel(logging.DEBUG)
+
+        fh = logging.FileHandler(log_file)
+        fh.setLevel(logging.DEBUG)
+
+        ch = logging.StreamHandler()
+        if args.verbose:
+            ch.setLevel(logging.DEBUG)
+        else:
+            ch.setLevel(logging.INFO)
+
+        # create formatter and add it to the handlers
+        formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
+        fh.setFormatter(formatter)
+        ch.setFormatter(formatter)
+        logger.addHandler(fh)
+        logger.addHandler(ch)
+
+    except Exception as e:
+        logger.exception("Exception in {}: {}".format(__file__, e))
+        sys.exit(1)
+
+    try:
+        logger.debug("Input file: {}".format(args.yaml_cfg_file.name))
+        yaml_str = args.yaml_cfg_file.read()
+        yaml_cfg = yaml.load(yaml_str)
+        logger.debug("Input YAML: {}".format(yaml_cfg))
+
+        rc = start_traffic(yaml_cfg, logger)
+        logger.info("Return code: {}".format(rc))
+        sys.exit(rc)
+
+    except Exception as e:
+        logger.exception("Exception in {}: {}".format(__file__, e))
+        sys.exit(1)
+
+if __name__ == "__main__":
+    main()
diff --git a/descriptor-packages/src/nsd/ref1_ns/ref1_nsd.yaml b/descriptor-packages/src/nsd/ref1_ns/ref1_nsd.yaml
new file mode 100644
index 0000000..465537c
--- /dev/null
+++ b/descriptor-packages/src/nsd/ref1_ns/ref1_nsd.yaml
@@ -0,0 +1,39 @@
+nsd:nsd-catalog:
+    nsd:
+    -   constituent-vnfd:
+        -   member-vnf-index: '1'
+            start-by-default: 'true'
+            vnfd-id-ref: Ref_Vnf_11
+        -   member-vnf-index: '2'
+            vnfd-id-ref: Ref_Vnf_21
+        description: Reference NS 1
+        id: Ref_NS_1
+        name: Ref_NS_1
+        vendor: ETSI
+        vld:
+        -   description: Mgmt VL
+            id: 54c04
+            name: VL1
+            short-name: VL1
+            type: ELAN
+            vendor: ETSI
+            vnfd-connection-point-ref:
+            -   member-vnf-index-ref: '1'
+                vnfd-id-ref: Ref_Vnf_11
+                vnfd-connection-point-ref: mgmt0
+            -   member-vnf-index-ref: '2'
+                vnfd-id-ref: Ref_Vnf_21
+                vnfd-connection-point-ref: mgmt
+        -   description: Data VL
+            id: 54c03
+            name: VL2
+            short-name: VL2
+            type: ELAN
+            vendor: ETSI
+            vnfd-connection-point-ref:
+            -   member-vnf-index-ref: '1'
+                vnfd-connection-point-ref: west
+                vnfd-id-ref: Ref_Vnf_11
+            -   member-vnf-index-ref: '2'
+                vnfd-connection-point-ref: data
+                vnfd-id-ref: Ref_Vnf_21
diff --git a/descriptor-packages/src/nsd/ref2_ns/ref2_nsd.yaml b/descriptor-packages/src/nsd/ref2_ns/ref2_nsd.yaml
new file mode 100644
index 0000000..281fdee
--- /dev/null
+++ b/descriptor-packages/src/nsd/ref2_ns/ref2_nsd.yaml
@@ -0,0 +1,40 @@
+nsd:nsd-catalog:
+    nsd:
+    -   constituent-vnfd:
+        -   member-vnf-index: '1'
+            vnfd-id-ref: Ref_Vnf_12
+        -   member-vnf-index: '2'
+            vnfd-id-ref: Ref_Vnf_22
+        description: Reference NS2
+        id: Ref_NS_2
+        name: Ref_NS_2
+        vendor: ETSI
+        vld:
+        -   id: '97465'
+            name: VL1
+            vnfd-connection-point-ref:
+            -   member-vnf-index-ref: '1'
+                vnfd-connection-point-ref: mgmt0
+                vnfd-id-ref: Ref_Vnf_12
+            -   member-vnf-index-ref: '2'
+                vnfd-connection-point-ref: mgmt
+                vnfd-id-ref: Ref_Vnf_22
+        -   id: f66e6
+            name: VL2
+            vnfd-connection-point-ref:
+            -   member-vnf-index-ref: '1'
+                vnfd-connection-point-ref: east
+                vnfd-id-ref: Ref_Vnf_12
+            -   member-vnf-index-ref: '2'
+                vnfd-connection-point-ref: east
+                vnfd-id-ref: Ref_Vnf_22
+        -   id: b72e9
+            name: VL3
+            vnfd-connection-point-ref:
+            -   member-vnf-index-ref: '1'
+                vnfd-connection-point-ref: west
+                vnfd-id-ref: Ref_Vnf_12
+            -   member-vnf-index-ref: '2'
+                vnfd-connection-point-ref: west
+                vnfd-id-ref: Ref_Vnf_22
+
diff --git a/descriptor-packages/src/nsd/ubuntu_cirros_multidisk_ns/icons/osm_2x.png b/descriptor-packages/src/nsd/ubuntu_cirros_multidisk_ns/icons/osm_2x.png
new file mode 100644
index 0000000..62012d2
--- /dev/null
+++ b/descriptor-packages/src/nsd/ubuntu_cirros_multidisk_ns/icons/osm_2x.png
Binary files differ
diff --git a/descriptor-packages/src/nsd/ubuntu_cirros_multidisk_ns/ubuntu_cirros_multidisk_nsd.yaml b/descriptor-packages/src/nsd/ubuntu_cirros_multidisk_ns/ubuntu_cirros_multidisk_nsd.yaml
new file mode 100644
index 0000000..cbbe6a2
--- /dev/null
+++ b/descriptor-packages/src/nsd/ubuntu_cirros_multidisk_ns/ubuntu_cirros_multidisk_nsd.yaml
@@ -0,0 +1,32 @@
+nsd:nsd-catalog:
+    nsd:
+    -   id: ubuntu_cirros_multidisk_nsd
+        name: ubuntu_cirros_multidisk_nsd
+        short-name: ubuntu_cirros_multidisk_nsd
+        description: Generated by OSM pacakage generator
+        vendor: OSM
+        version: '1.0'
+
+        # Place the logo as png in icons directory and provide the name here
+        logo: osm_2x.png
+
+        # Specify the VNFDs that are part of this NSD
+        constituent-vnfd:
+            # The member-vnf-index needs to be unique, starting from 1
+            # vnfd-id-ref is the id of the VNFD
+            # Multiple constituent VNFDs can be specified
+        -   member-vnf-index: 1
+            vnfd-id-ref: ubuntu_cirros_multidisk_vnfd
+
+        vld:
+        # Networks for the VNFs
+            -   id: ubuntu_cirros_multidisk_nsd_vld1
+                name: management
+                short-name: management
+                type: ELAN
+                vnfd-connection-point-ref:
+                # Specify the constituent VNFs
+                -   member-vnf-index-ref: 1
+                    vnfd-id-ref: ubuntu_cirros_multidisk_vnfd
+                    # NOTE: Validate the entry below
+                    vnfd-connection-point-ref: eth0
diff --git a/descriptor-packages/src/nsd/ubuntu_xenial_ns/icons/osm_2x.png b/descriptor-packages/src/nsd/ubuntu_xenial_ns/icons/osm_2x.png
new file mode 100644
index 0000000..62012d2
--- /dev/null
+++ b/descriptor-packages/src/nsd/ubuntu_xenial_ns/icons/osm_2x.png
Binary files differ
diff --git a/descriptor-packages/src/nsd/ubuntu_xenial_ns/ubuntu_xenial_nsd.yaml b/descriptor-packages/src/nsd/ubuntu_xenial_ns/ubuntu_xenial_nsd.yaml
new file mode 100644
index 0000000..7f91d43
--- /dev/null
+++ b/descriptor-packages/src/nsd/ubuntu_xenial_ns/ubuntu_xenial_nsd.yaml
@@ -0,0 +1,40 @@
+nsd:nsd-catalog:
+    nsd:
+    -   id: ubuntu_xenial_nsd
+        name: ubuntu_xenial_ns
+        short-name: ubuntu_xenial_ns
+        description: Generated by OSM pacakage generator
+        vendor: OSM
+        version: '1.0'
+
+        # Place the logo as png in icons directory and provide the name here
+        logo: osm_2x.png
+
+        # Specify the VNFDs that are part of this NSD
+        constituent-vnfd:
+            # The member-vnf-index needs to be unique, starting from 1
+            # vnfd-id-ref is the id of the VNFD
+            # Multiple constituent VNFDs can be specified
+        -   member-vnf-index: 1
+            vnfd-id-ref: ubuntu_xenial_vnfd
+
+        vld:
+        # Networks for the VNFs
+            -   id: ubuntu_xenial_nsd_vld1
+                name: management
+                short-name: management
+                type: ELAN
+                vim-network-name: net-mgmtOS
+                # vim-network-name: <update>
+                # provider-network:
+                #     overlay-type: VLAN
+                #     segmentation_id: <update>
+                vnfd-connection-point-ref:
+                # Specify the constituent VNFs
+                # member-vnf-index-ref - entry from constituent vnf
+                # vnfd-id-ref - VNFD id
+                # vnfd-connection-point-ref - connection point name in the VNFD
+                -   nsd:member-vnf-index-ref: 1
+                    nsd:vnfd-id-ref: ubuntu_xenial_vnfd
+                    # NOTE: Validate the entry below
+                    nsd:vnfd-connection-point-ref: eth0
diff --git a/descriptor-packages/src/vnfd/VyOS_vnf/VyOS__vnfd.yaml b/descriptor-packages/src/vnfd/VyOS_vnf/VyOS__vnfd.yaml
new file mode 100644
index 0000000..0ac926f
--- /dev/null
+++ b/descriptor-packages/src/vnfd/VyOS_vnf/VyOS__vnfd.yaml
@@ -0,0 +1,106 @@
+vnfd:vnfd-catalog:
+    vnfd:
+    -   id: VyOS
+        name: VyOS
+        short-name: VyOS
+        description: VyOS Router
+        logo: osm_2x.png
+        mgmt-interface:
+            vdu-id: VyOS-VM
+        vnf-configuration:
+            config-attributes:
+                config-delay: '0'
+                config-priority: '1'
+            service-primitive:
+            -   name: config
+                parameter:
+                -   name: user
+                    data-type: STRING
+                    mandatory: 'true'
+                    default-value: vyos
+                -   name: pass
+                    data-type: STRING
+                    mandatory: 'true'
+                    default-value: vyos
+            -   name: ping
+                parameter:
+                -   name: destination
+                    data-type: STRING
+                    mandatory: 'true'
+                -   name: count
+                    data-type: INTEGER
+                    mandatory: 'false'
+                    default-value: 5
+            initial-config-primitive:
+            -   name: config
+                parameter:
+                -   name: hostname
+                    value: <rw_mgmt_ip>
+                -   name: pass
+                    value: vyos
+                seq: '1'
+            juju:
+                charm: vyos-proxy
+        connection-point:
+        -   name: eth0
+            type: VPORT
+        -   name: eth1
+            type: VPORT
+        -   name: eth2
+            type: VPORT
+        -   name: eth3
+            type: VPORT
+        -   name: eth4
+            type: VPORT
+        vdu:
+        -   id: VyOS-VM
+            name: VyOS-VM
+            description: VyOS-VM
+            image: /mnt/powervault/virtualization/osm/VyOS/VyOS-1.1.7-signed-disk1.qcow2
+            vm-flavor:
+                memory-mb: '1024'
+                storage-gb: '40'
+                vcpu-count: '1'
+            mgmt-vpci: 0000:00:0a.0
+            external-interface:
+            -   name: eth0
+                virtual-interface:
+                    bandwidth: '0'
+                    type: OM-MGMT
+                    vpci: 0000:00:0a.0
+                vnfd-connection-point-ref: eth0
+            -   name: eth1
+                virtual-interface:
+                    bandwidth: '0'
+                    type: VIRTIO
+                    vpci: 0000:00:0b.0
+                vnfd-connection-point-ref: eth1
+            -   name: eth2
+                virtual-interface:
+                    bandwidth: '0'
+                    type: VIRTIO
+                    vpci: 0000:00:0c.0
+                vnfd-connection-point-ref: eth2
+            -   name: eth3
+                virtual-interface:
+                    bandwidth: '0'
+                    type: VIRTIO
+                    vpci: 0000:00:0d.0
+                vnfd-connection-point-ref: eth3
+            -   name: eth4
+                virtual-interface:
+                    bandwidth: '0'
+                    type: VIRTIO
+                    vpci: 0000:00:0e.0
+                vnfd-connection-point-ref: eth4
+            guest-epa:
+                cpu-pinning-policy: DEDICATED
+                cpu-thread-pinning-policy: PREFER
+                mempage-size: LARGE
+                numa-node-policy:
+                    mem-policy: STRICT
+                    node:
+                    -   id: '0'
+                        paired-threads:
+                            num-paired-threads: '1'
+                    node-cnt: '1'
diff --git a/descriptor-packages/src/vnfd/VyOS_vnf/icons/osm_2x.png b/descriptor-packages/src/vnfd/VyOS_vnf/icons/osm_2x.png
new file mode 100644
index 0000000..62012d2
--- /dev/null
+++ b/descriptor-packages/src/vnfd/VyOS_vnf/icons/osm_2x.png
Binary files differ
diff --git a/descriptor-packages/src/vnfd/cirros_vnf/cirros_vnfd.yaml b/descriptor-packages/src/vnfd/cirros_vnf/cirros_vnfd.yaml
new file mode 100644
index 0000000..e643b38
--- /dev/null
+++ b/descriptor-packages/src/vnfd/cirros_vnf/cirros_vnfd.yaml
@@ -0,0 +1,47 @@
+vnfd:vnfd-catalog:
+    vnfd:
+    -   id: cirros_vnfd
+        name: cirros_vnf
+        short-name: cirros_vnf
+        description: Simple VNF example with a cirros 
+        vendor: OSM
+        version: '1.0'
+
+        # Place the logo as png in icons directory and provide the name here
+        logo: cirros-64.png
+
+        # Management interface
+        mgmt-interface:
+            vdu-id: cirros_vnfd-VM
+
+        # Atleast one VDU need to be specified
+        vdu:
+        -   id: cirros_vnfd-VM
+            name: cirros_vnfd-VM
+            description: cirros_vnfd-VM
+            count: 1
+
+            # Flavour of the VM to be instantiated for the VDU
+            # flavor below can fit into m1.micro
+            vm-flavor:
+                vcpu-count: 1
+                memory-mb: 256
+                storage-gb: 2
+
+            # Image/checksum or image including the full path
+            image: 'CirrOS 0.3.4 64-bit'
+            #checksum: 
+
+            external-interface:
+            # Specify the external interfaces
+            # There can be multiple interfaces defined
+            -   name: eth0
+                virtual-interface:
+                    type: OM-MGMT
+                    bandwidth: '0'
+                    vpci: 0000:00:0a.0
+                vnfd-connection-point-ref: eth0
+
+        connection-point:
+            -   name: eth0
+                type: VPORT
diff --git a/descriptor-packages/src/vnfd/cirros_vnf/icons/cirros-64.png b/descriptor-packages/src/vnfd/cirros_vnf/icons/cirros-64.png
new file mode 100644
index 0000000..5725d29
--- /dev/null
+++ b/descriptor-packages/src/vnfd/cirros_vnf/icons/cirros-64.png
Binary files differ
diff --git a/descriptor-packages/src/vnfd/ims_allin1_2p_vnf/IMS-ALLIN1__vnfd.yaml b/descriptor-packages/src/vnfd/ims_allin1_2p_vnf/IMS-ALLIN1__vnfd.yaml
new file mode 100644
index 0000000..b73e110
--- /dev/null
+++ b/descriptor-packages/src/vnfd/ims_allin1_2p_vnf/IMS-ALLIN1__vnfd.yaml
@@ -0,0 +1,84 @@
+vnfd:vnfd-catalog:
+    vnfd:
+    -   id: IMS-ALLIN1_2p
+        name: IMS-ALLIN1_2p
+        short-name: IMS-ALLIN1_2p
+        description: IMS-ALLIN1_2p
+        logo: metaswitch_2x.png
+        mgmt-interface:
+            vdu-id: IMS-ALLIN1_2p-VM
+        vnf-configuration:
+            config-attributes:
+                config-delay: '0'
+                config-priority: '1'
+            service-primitive:
+            -   name: config
+                parameter:
+                -   name: home_domain
+                    data-type: STRING
+                    mandatory: 'true'
+                    default-value: ims.com
+                -   name: password
+                    data-type: string
+                    mandatory: 'true'
+                    default-value: cw-aio
+            -   name: create-update-user
+                parameter:
+                -   name: number
+                    data-type: STRING
+                    mandatory: 'true'
+                -   name: password
+                    data-type: STRING
+                    mandatory: 'true'
+            -   name: delete-user
+                parameter:
+                -   name: number
+                    data-type: STRING
+                    mandatory: 'true'
+            initial-config-primitive:
+            -   name: config
+                parameter:
+                -   name: proxied_ip
+                    value: <rw_mgmt_ip>
+                seq: '1'
+            juju:
+                charm: clearwater-aio-proxy
+        connection-point:
+        -   name: eth0
+            type: VPORT
+        -   name: eth1
+            type: VPORT
+        vdu:
+        -   id: IMS-ALLIN1_2p-VM
+            name: IMS-ALLIN1_2p-VM
+            description: IMS-ALLIN1_2p-VM
+            image: /mnt/powervault/virtualization/vnfs/demos/mwc2016/allin1.qcow2
+            vm-flavor:
+                memory-mb: '4096'
+                storage-gb: '10'
+                vcpu-count: '2'
+            mgmt-vpci: 0000:00:0a.0
+            external-interface:
+            -   name: eth0
+                virtual-interface:
+                    bandwidth: '0'
+                    type: VIRTIO
+                    vpci: 0000:00:0a.0
+                vnfd-connection-point-ref: eth0
+            -   name: eth1
+                virtual-interface:
+                    bandwidth: '0'
+                    type: OM-MGMT
+                    vpci: 0000:00:0b.0
+                vnfd-connection-point-ref: eth1
+            guest-epa:
+                cpu-pinning-policy: DEDICATED
+                cpu-thread-pinning-policy: PREFER
+                mempage-size: LARGE
+                numa-node-policy:
+                    mem-policy: STRICT
+                    node:
+                    -   id: '0'
+                        paired-threads:
+                            num-paired-threads: '1'
+                    node-cnt: '1'
diff --git a/descriptor-packages/src/vnfd/ims_allin1_2p_vnf/icons/metaswitch_2x.png b/descriptor-packages/src/vnfd/ims_allin1_2p_vnf/icons/metaswitch_2x.png
new file mode 100644
index 0000000..a899bc8
--- /dev/null
+++ b/descriptor-packages/src/vnfd/ims_allin1_2p_vnf/icons/metaswitch_2x.png
Binary files differ
diff --git a/descriptor-packages/src/vnfd/ping_vnf/cloud_init/ping_cloud_init.cfg b/descriptor-packages/src/vnfd/ping_vnf/cloud_init/ping_cloud_init.cfg
new file mode 100644
index 0000000..81a13ed
--- /dev/null
+++ b/descriptor-packages/src/vnfd/ping_vnf/cloud_init/ping_cloud_init.cfg
@@ -0,0 +1,4 @@
+#cloud-config
+password: fedora
+chpasswd: { expire: False }
+ssh_pwauth: True
diff --git a/descriptor-packages/src/vnfd/ping_vnf/icons/rift_logo.png b/descriptor-packages/src/vnfd/ping_vnf/icons/rift_logo.png
new file mode 100644
index 0000000..09b47c7
--- /dev/null
+++ b/descriptor-packages/src/vnfd/ping_vnf/icons/rift_logo.png
Binary files differ
diff --git a/descriptor-packages/src/vnfd/ping_vnf/ping_vnfd.yaml b/descriptor-packages/src/vnfd/ping_vnf/ping_vnfd.yaml
new file mode 100644
index 0000000..60f00cf
--- /dev/null
+++ b/descriptor-packages/src/vnfd/ping_vnf/ping_vnfd.yaml
@@ -0,0 +1,119 @@
+#
+#   Copyright 2016 RIFT.io Inc
+#
+#   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:vnfd-catalog:
+    vnfd:vnfd:
+     -  id: rift_ping_vnf
+        name: ping_vnf
+        short-name: ping_vnf
+        logo: rift_logo.png
+        vendor: RIFT.io
+        version: '1.1'
+        description: This is an example RIFT.ware VNF
+        connection-point:
+        -   name: ping_vnfd/cp0
+            type: VPORT
+        -   name: ping_vnfd/cp1
+            type: VPORT
+        http-endpoint:
+        -   path: api/v1/ping/stats
+            polling_interval_secs: '2'
+            port: '18888'
+        mgmt-interface:
+            dashboard-params:
+                path: api/v1/ping/stats
+                port: '18888'
+            port: '18888'
+            vdu-id: iovdu_0
+        placement-groups:
+        -   member-vdus:
+            -   member-vdu-ref: iovdu_0
+            name: Eris
+            requirement: Place this VM on the Kuiper belt object Eris
+            strategy: COLOCATION
+        vdu:
+        -   cloud-init-file: ping_cloud_init.cfg
+            count: '1'
+            external-interface:
+            -   name: eth0
+                virtual-interface:
+                    type: VIRTIO
+                vnfd-connection-point-ref: ping_vnfd/cp0
+            -   name: eth1
+                virtual-interface:
+                    type: VIRTIO
+                vnfd-connection-point-ref: ping_vnfd/cp1
+            id: iovdu_0
+            image: Fedora-x86_64-20-20131211.1-sda-ping.qcow2
+            name: iovdu_0
+            vm-flavor:
+                memory-mb: '512'
+                storage-gb: '4'
+                vcpu-count: '1'
+        vnf-configuration:
+            config-attributes:
+                config-delay: 10
+            service-primitive:
+            -   name: start
+            -   name: stop
+            -   name: restart
+            -   name: config
+                parameter:
+                -   data-type: STRING
+                    default-value: <rw_mgmt_ip>
+                    name: ssh-hostname
+                -   data-type: STRING
+                    default-value: fedora
+                    name: ssh-username
+                -   data-type: STRING
+                    default-value: fedora
+                    name: ssh-password
+                -   data-type: STRING
+                    name: ssh-private-key
+                -   data-type: STRING
+                    default-value: ping
+                    name: mode
+                    read-only: 'true'
+            -   name: set-server
+                parameter:
+                -   data-type: STRING
+                    name: server-ip
+                -   data-type: INTEGER
+                    name: server-port
+            -   name: set-rate
+                parameter:
+                -   data-type: INTEGER
+                    default-value: '5'
+                    name: rate
+            -   name: start-traffic
+            -   name: stop-traffic
+            initial-config-primitive:
+            -   name: config
+                parameter:
+                -   name: ssh-hostname
+                    value: <rw_mgmt_ip>
+                -   name: ssh-username
+                    value: fedora
+                -   name: ssh-password
+                    value: fedora
+                -   name: mode
+                    value: ping
+                seq: '1'
+            -   name: start
+                seq: '2'
+            juju:
+                charm: pingpong
diff --git a/descriptor-packages/src/vnfd/pong_vnf/cloud_init/pong_cloud_init.cfg b/descriptor-packages/src/vnfd/pong_vnf/cloud_init/pong_cloud_init.cfg
new file mode 100644
index 0000000..81a13ed
--- /dev/null
+++ b/descriptor-packages/src/vnfd/pong_vnf/cloud_init/pong_cloud_init.cfg
@@ -0,0 +1,4 @@
+#cloud-config
+password: fedora
+chpasswd: { expire: False }
+ssh_pwauth: True
diff --git a/descriptor-packages/src/vnfd/pong_vnf/icons/rift_logo.png b/descriptor-packages/src/vnfd/pong_vnf/icons/rift_logo.png
new file mode 100644
index 0000000..09b47c7
--- /dev/null
+++ b/descriptor-packages/src/vnfd/pong_vnf/icons/rift_logo.png
Binary files differ
diff --git a/descriptor-packages/src/vnfd/pong_vnf/pong_vnfd.yaml b/descriptor-packages/src/vnfd/pong_vnf/pong_vnfd.yaml
new file mode 100644
index 0000000..b6bc9a1
--- /dev/null
+++ b/descriptor-packages/src/vnfd/pong_vnf/pong_vnfd.yaml
@@ -0,0 +1,114 @@
+#
+#   Copyright 2016 RIFT.io Inc
+#
+#   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:vnfd-catalog:
+    vnfd:
+     -  id: rift_pong_vnf
+        name: pong_vnf
+        short-name: pong_vnf
+        logo: rift_logo.png
+        vendor: RIFT.io
+        version: '1.1'
+        description: This is an example RIFT.ware VNF
+        connection-point:
+        -   name: pong_vnfd/cp0
+            type: VPORT
+        -   name: pong_vnfd/cp1
+            type: VPORT
+        http-endpoint:
+        -   path: api/v1/pong/stats
+            polling_interval_secs: '2'
+            port: '18889'
+        mgmt-interface:
+            dashboard-params:
+                path: api/v1/pong/stats
+                port: '18889'
+            port: '18889'
+            vdu-id: iovdu_0
+        placement-groups:
+        -   member-vdus:
+            -   member-vdu-ref: iovdu_0
+            name: Weywot
+            requirement: Place this VM on the Kuiper belt object Weywot
+            strategy: COLOCATION
+        vdu:
+        -   cloud-init-file: pong_cloud_init.cfg
+            count: '1'
+            external-interface:
+            -   name: eth0
+                virtual-interface:
+                    type: VIRTIO
+                vnfd-connection-point-ref: pong_vnfd/cp0
+            -   name: eth1
+                virtual-interface:
+                    type: VIRTIO
+                vnfd-connection-point-ref: pong_vnfd/cp1
+            id: iovdu_0
+            image: Fedora-x86_64-20-20131211.1-sda-pong.qcow2
+            name: iovdu_0
+            vm-flavor:
+                memory-mb: '512'
+                storage-gb: '4'
+                vcpu-count: '1'
+        vnf-configuration:
+            config-attributes:
+                config-delay: 10
+            service-primitive:
+            -   name: start
+            -   name: stop
+            -   name: restart
+            -   name: config
+                parameter:
+                -   data-type: STRING
+                    default-value: <rw_mgmt_ip>
+                    name: ssh-hostname
+                -   data-type: STRING
+                    default-value: fedora
+                    name: ssh-username
+                -   data-type: STRING
+                    default-value: fedora
+                    name: ssh-password
+                -   data-type: STRING
+                    name: ssh-private-key
+                -   data-type: STRING
+                    default-value: pong
+                    name: mode
+                    read-only: 'true'
+            -   name: set-server
+                parameter:
+                -   data-type: STRING
+                    name: server-ip
+                -   data-type: INTEGER
+                    name: server-port
+            -   name: start-traffic
+            -   name: stop-traffic
+            initial-config-primitive:
+            -   name: config
+                parameter:
+                -   name: ssh-hostname
+                    value: <rw_mgmt_ip>
+                -   name: ssh-username
+                    value: fedora
+                -   name: ssh-password
+                    value: fedora
+                -   name: mode
+                    value: pong
+                seq: '1'
+            -   name: start
+                seq: '2'
+            juju:
+                charm: pingpong
diff --git a/descriptor-packages/src/vnfd/ref11_vnf/ref11_vnfd.yaml b/descriptor-packages/src/vnfd/ref11_vnf/ref11_vnfd.yaml
new file mode 100644
index 0000000..f308282
--- /dev/null
+++ b/descriptor-packages/src/vnfd/ref11_vnf/ref11_vnfd.yaml
@@ -0,0 +1,66 @@
+vnfd:vnfd-catalog:
+    vnfd:
+    -   connection-point:
+        -   name: mgmt0
+            type: VPORT
+        -   name: west
+            type: VPORT
+        description: A simple VNF descriptor w/ VM1 and VM2
+        id: Ref_Vnf_11
+        name: Ref_VNF_11
+        short-name: Ref_VNF_11
+        internal-vld:
+        -   description: Internal VL
+            id: VL12
+            name: VL12
+            short-name: VL12
+            type: ELAN
+            vendor: ETSI
+            internal-connection-point:
+            -   id-ref: 'iface11'
+            -   id-ref: 'iface21'
+        vdu:
+        -   external-interface:
+            -   name: iface10
+                virtual-interface:
+                    type: OM-MGMT
+                vnfd-connection-point-ref: mgmt0
+            internal-interface:
+            -   name: iface11
+                virtual-interface:
+                    type: VIRTIO
+                vdu-internal-connection-point-ref: iface11
+            internal-connection-point:
+            -   name: iface11
+                id: iface11
+                type: VPORT
+            id: Ref_VM1
+            image: ref_vm1.qcow2
+            name: Ref_VM1
+            vm-flavor:
+                memory-mb: '2048'
+                storage-gb: '8'
+                vcpu-count: '2'
+        -   external-interface:
+            -   name: iface22
+                virtual-interface:
+                    type: VIRTIO
+                vnfd-connection-point-ref: west
+            internal-interface:
+            -   name: iface21
+                virtual-interface:
+                    type: VIRTIO
+                vdu-internal-connection-point-ref: iface21
+            internal-connection-point:
+            -   name: iface21
+                id: iface21
+                type: VPORT
+            id: Ref_VM2
+            image: ref_vm2.qcow2
+            name: Ref_VM2
+            vm-flavor:
+                memory-mb: '4096'
+                storage-gb: '16'
+                vcpu-count: '2'
+        vendor: ETSI
+        version: '1.0'
diff --git a/descriptor-packages/src/vnfd/ref12_vnf/ref12_vnfd.yaml b/descriptor-packages/src/vnfd/ref12_vnf/ref12_vnfd.yaml
new file mode 100644
index 0000000..2901c4a
--- /dev/null
+++ b/descriptor-packages/src/vnfd/ref12_vnf/ref12_vnfd.yaml
@@ -0,0 +1,73 @@
+vnfd:vnfd-catalog:
+    vnfd:
+    -   connection-point:
+        -   name: mgmt0
+            type: VPORT
+        -   name: west
+            type: VPORT
+        -   name: east
+            type: VPORT
+        description: A simple VNF descriptor w/ two VDU
+        id: Ref_Vnf_12
+        name: Ref_Vnf_12
+        short-name: Ref_Vnf_12
+        internal-vld:
+        -   description: Internal VL
+            id: VL34
+            name: VL34
+            short-name: VL34
+            type: ELAN
+            vendor: ETSI
+            internal-connection-point:
+            -   id-ref: 'iface31'
+            -   id-ref: 'iface41'
+        vdu:
+        -   description: Middlepoint
+            external-interface:
+            -   name: iface30
+                virtual-interface:
+                    type: OM-MGMT
+                vnfd-connection-point-ref: mgmt0
+            guest-epa:
+                cpu-pinning-policy: DEDICATED
+                mempage-size: "LARGE"
+            id: a3a2f
+            image: ref_vm3.qcow2
+            internal-connection-point:
+            -   id: iface31
+                name: iface31
+                type: VPORT
+            internal-interface:
+            -   name: iface31
+                vdu-internal-connection-point-ref: iface31
+                virtual-interface:
+                    type: VIRTIO
+            name: Ref_VM3
+            vm-flavor:
+                memory-mb: '2048'
+                storage-gb: '8'
+                vcpu-count: '2'
+        -   external-interface:
+            -   name: iface42
+                virtual-interface:
+                    type: PCI-PASSTHROUGH
+                vnfd-connection-point-ref: west
+            -   name: iface43
+                virtual-interface:
+                    type: SR-IOV
+                vnfd-connection-point-ref: east
+            guest-epa:
+                cpu-pinning-policy: DEDICATED
+            id: e526e
+            internal-connection-point:
+            -   id: iface41
+                name: iface41
+                type: VPORT
+            name: Ref_VM4
+            internal-interface:
+            -   name: iface41
+                vdu-internal-connection-point-ref: iface41
+                virtual-interface:
+                    type: VIRTIO
+        vendor: ETSI
+        version: '1.0'
diff --git a/descriptor-packages/src/vnfd/ref21_vnf/ref21_vnfd.yaml b/descriptor-packages/src/vnfd/ref21_vnf/ref21_vnfd.yaml
new file mode 100644
index 0000000..390ab9d
--- /dev/null
+++ b/descriptor-packages/src/vnfd/ref21_vnf/ref21_vnfd.yaml
@@ -0,0 +1,30 @@
+vnfd:vnfd-catalog:
+    vnfd:
+    -   connection-point:
+        -   name: mgmt
+            type: VPORT
+        -   name: data
+            type: VPORT
+        description: A simple VNF descriptor w/ one VDU
+        id: Ref_Vnf_21
+        name: Ref_Vnf_21
+        short-name: Ref_Vnf_21
+        vdu:
+        -   external-interface:
+            -   name: iface50
+                virtual-interface:
+                    type: OM-MGMT
+                vnfd-connection-point-ref: mgmt
+            -   name: iface51
+                virtual-interface:
+                    type: VIRTIO
+                vnfd-connection-point-ref: data
+            id: ref_vm21
+            image: ref_vm21.qcow2
+            name: Ref_VM_5
+            vm-flavor:
+                memory-mb: '1024'
+                storage-gb: '16'
+                vcpu-count: '1'
+        vendor: ETSI
+        version: '1.0'
diff --git a/descriptor-packages/src/vnfd/ref22_vnf/ref22_vnfd.yaml b/descriptor-packages/src/vnfd/ref22_vnf/ref22_vnfd.yaml
new file mode 100644
index 0000000..7dddc6f
--- /dev/null
+++ b/descriptor-packages/src/vnfd/ref22_vnf/ref22_vnfd.yaml
@@ -0,0 +1,39 @@
+vnfd:vnfd-catalog:
+    vnfd:
+    -   connection-point:
+        -   name: mgmt
+            type: VPORT
+        -   name: west
+            type: VPORT
+        -   name: east
+            type: VPORT
+        description: A simple VNF descriptor w/ one VDU
+        id: Ref_Vnf_22
+        name: Ref_VNF_22
+        short-name: Ref_VNF_22
+        vdu:
+        -   external-interface:
+            -   name: iface60
+                virtual-interface:
+                    type: OM-MGMT
+                vnfd-connection-point-ref: mgmt
+            -   name: iface61
+                virtual-interface:
+                    type: PCI-PASSTHROUGH
+                vnfd-connection-point-ref: west
+            -   name: iface62
+                virtual-interface:
+                    type: SR-IOV
+                vnfd-connection-point-ref: east
+            id: abd6831e-f811-4580-9aad-1de9c6424180
+            image: ref_vm22.qcow2
+            name: Ref_VM6
+            guest-epa:
+                cpu-pinning-policy: DEDICATED
+                mempage-size: "LARGE"
+            vm-flavor:
+                memory-mb: '1024'
+                storage-gb: '16'
+                vcpu-count: '1'
+        vendor: ETSI
+        version: '1.0'
diff --git a/descriptor-packages/src/vnfd/ubuntu_cirros_multidisk_vnf/cloud_init/cloud_init.cfg b/descriptor-packages/src/vnfd/ubuntu_cirros_multidisk_vnf/cloud_init/cloud_init.cfg
new file mode 100644
index 0000000..d1c2188
--- /dev/null
+++ b/descriptor-packages/src/vnfd/ubuntu_cirros_multidisk_vnf/cloud_init/cloud_init.cfg
@@ -0,0 +1,5 @@
+#cloud-config
+password: ubuntu
+chpasswd: { expire: False }
+ssh_pwauth: True
+
diff --git a/descriptor-packages/src/vnfd/ubuntu_cirros_multidisk_vnf/ubuntu_cirros_multidisk_vnfd.yaml b/descriptor-packages/src/vnfd/ubuntu_cirros_multidisk_vnf/ubuntu_cirros_multidisk_vnfd.yaml
new file mode 100644
index 0000000..da037b1
--- /dev/null
+++ b/descriptor-packages/src/vnfd/ubuntu_cirros_multidisk_vnf/ubuntu_cirros_multidisk_vnfd.yaml
@@ -0,0 +1,53 @@
+vnfd:vnfd-catalog:
+    vnfd:
+    -   id: ubuntu_cirros_multidisk_vnfd
+        name: ubuntu_cirros_multidisk_vnfd
+        short-name: ubuntu_cirros_multidisk_vnfd
+        description: Generated by OSM pacakage generator
+        vendor: OSM
+        version: '1.0'
+
+        # Management interface
+        mgmt-interface:
+            vdu-id: ubuntu_cirros_multidisk_vnfd-VM
+
+        # Atleast one VDU need to be specified
+        vdu:
+        -   id: ubuntu_cirros_multidisk_vnfd-VM
+            name: ubuntu_cirros_multidisk_vnfd-VM
+            description: ubuntu_cirros_multidisk_vnfd-VM
+            count: 1
+
+            # Flavour of the VM to be instantiated for the VDU
+            vm-flavor:
+                vcpu-count: 2
+                memory-mb: 4096
+                storage-gb: 10
+
+            # User-data injection
+            cloud-init-file: cloud_init.cfg
+
+            external-interface:
+            # Specify the external interfaces
+            # There can be multiple interfaces defined
+            -   name: eth0
+                virtual-interface:
+                    type: OM-MGMT
+                vnfd-connection-point-ref: eth0
+            # Specify the volume
+            # There can be multiple interfaces defined
+            volumes:
+            -   name: vda
+                device-type: disk
+                image: UbuntuXenial
+                image-checksum: 4a293322f18827af81a9450e3792947c
+                size: 10
+            -   name: vdb
+                device-type: disk
+                image: cirros-0.3.4-x86_64-disk.img
+                image-checksum: ee1eca47dc88f4879d8a229cc70a07c6
+                size: 8
+
+        connection-point:
+            -   name: eth0
+                type: VPORT
diff --git a/descriptor-packages/src/vnfd/ubuntu_xenial_vnf/cloud_init/cloud_init.cfg b/descriptor-packages/src/vnfd/ubuntu_xenial_vnf/cloud_init/cloud_init.cfg
new file mode 100644
index 0000000..d1c2188
--- /dev/null
+++ b/descriptor-packages/src/vnfd/ubuntu_xenial_vnf/cloud_init/cloud_init.cfg
@@ -0,0 +1,5 @@
+#cloud-config
+password: ubuntu
+chpasswd: { expire: False }
+ssh_pwauth: True
+
diff --git a/descriptor-packages/src/vnfd/ubuntu_xenial_vnf/icons/ubuntu-logo14.png b/descriptor-packages/src/vnfd/ubuntu_xenial_vnf/icons/ubuntu-logo14.png
new file mode 100644
index 0000000..e966783
--- /dev/null
+++ b/descriptor-packages/src/vnfd/ubuntu_xenial_vnf/icons/ubuntu-logo14.png
Binary files differ
diff --git a/descriptor-packages/src/vnfd/ubuntu_xenial_vnf/ubuntu_xenial_vnfd.yaml b/descriptor-packages/src/vnfd/ubuntu_xenial_vnf/ubuntu_xenial_vnfd.yaml
new file mode 100644
index 0000000..ee6a3ac
--- /dev/null
+++ b/descriptor-packages/src/vnfd/ubuntu_xenial_vnf/ubuntu_xenial_vnfd.yaml
@@ -0,0 +1,48 @@
+vnfd:vnfd-catalog:
+    vnfd:
+    -   id: ubuntu_xenial_vnfd
+        name: ubuntu_xenial_vnf
+        short-name: ubuntu_xenial_vnf
+        description: Generated by OSM pacakage generator
+        vendor: OSM
+        version: '1.0'
+
+        # Place the logo as png in icons directory and provide the name here
+        logo: ubuntu-logo14.png
+
+        # Management interface
+        mgmt-interface:
+            vdu-id: ubuntu_xenial_vnfd-VM
+
+        # Atleast one VDU need to be specified
+        vdu:
+        -   id: ubuntu_xenial_vnfd-VM
+            name: ubuntu_xenial_vnfd-VM
+            description: ubuntu_xenial_vnfd-VM
+            count: 1
+
+            # Flavour of the VM to be instantiated for the VDU
+            vm-flavor:
+                vcpu-count: 2
+                memory-mb: 4096
+                storage-gb: 10
+
+            # Image including the full path
+            image: '/mnt/powervault/virtualization/vnfs/demos/ubuntu/ubuntu-16.04.img'
+
+            # User-data injection
+            cloud-init-file: cloud_init.cfg
+
+            external-interface:
+            # Specify the external interfaces
+            # There can be multiple interfaces defined
+            -   name: eth0
+                virtual-interface:
+                    type: OM-MGMT
+                    bandwidth: '0'
+                    vpci: 0000:00:0a.0
+                vnfd-connection-point-ref: eth0
+
+        connection-point:
+            -   name: eth0
+                type: VPORT
