update descriptor-packages build process

Change-Id: I937d0897a051b655f9de87f49a88610a37c9297e
Signed-off-by: Mike Marchetti <mmarchetti@sandvine.com>
diff --git a/descriptor-packages/vnfd/Makefile b/descriptor-packages/vnfd/Makefile
new file mode 100644
index 0000000..fdd2045
--- /dev/null
+++ b/descriptor-packages/vnfd/Makefile
@@ -0,0 +1,18 @@
+#
+#   Copyright 2017 Sandvine
+#
+#   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.
+#
+SUBDIRS = $(wildcard */)
+TOPDIR ?= ../
+include $(TOPDIR)/mk/dirs.mk
diff --git a/descriptor-packages/vnfd/VyOS_vnf/Makefile b/descriptor-packages/vnfd/VyOS_vnf/Makefile
new file mode 100644
index 0000000..a08d588
--- /dev/null
+++ b/descriptor-packages/vnfd/VyOS_vnf/Makefile
@@ -0,0 +1,21 @@
+#
+#   Copyright 2017 Sandvine
+#
+#   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.
+#
+
+DESCRIPTORS_TOPDIR ?= ../..
+
+include $(DESCRIPTORS_TOPDIR)/mk/pkg.mk
+
+all: $(BUILD_DIR)/$(PKG_NAME)
diff --git a/descriptor-packages/vnfd/VyOS_vnf/src/VyOS__vnfd.yaml b/descriptor-packages/vnfd/VyOS_vnf/src/VyOS__vnfd.yaml
new file mode 100644
index 0000000..0ac926f
--- /dev/null
+++ b/descriptor-packages/vnfd/VyOS_vnf/src/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/vnfd/VyOS_vnf/src/icons/osm_2x.png b/descriptor-packages/vnfd/VyOS_vnf/src/icons/osm_2x.png
new file mode 100644
index 0000000..62012d2
--- /dev/null
+++ b/descriptor-packages/vnfd/VyOS_vnf/src/icons/osm_2x.png
Binary files differ
diff --git a/descriptor-packages/vnfd/cirros_vnf/Makefile b/descriptor-packages/vnfd/cirros_vnf/Makefile
new file mode 100644
index 0000000..ad4b68c
--- /dev/null
+++ b/descriptor-packages/vnfd/cirros_vnf/Makefile
@@ -0,0 +1,19 @@
+#
+#   Copyright 2017 Sandvine
+#
+#   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.
+#
+DESCRIPTORS_TOPDIR ?= ../..
+include $(DESCRIPTORS_TOPDIR)/mk/pkg.mk
+
+all: $(BUILD_DIR)/$(PKG_NAME)
diff --git a/descriptor-packages/vnfd/cirros_vnf/src/cirros_vnfd.yaml b/descriptor-packages/vnfd/cirros_vnf/src/cirros_vnfd.yaml
new file mode 100644
index 0000000..e643b38
--- /dev/null
+++ b/descriptor-packages/vnfd/cirros_vnf/src/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/vnfd/cirros_vnf/src/icons/cirros-64.png b/descriptor-packages/vnfd/cirros_vnf/src/icons/cirros-64.png
new file mode 100644
index 0000000..5725d29
--- /dev/null
+++ b/descriptor-packages/vnfd/cirros_vnf/src/icons/cirros-64.png
Binary files differ
diff --git a/descriptor-packages/vnfd/ims_allin1_2p_vnf/Makefile b/descriptor-packages/vnfd/ims_allin1_2p_vnf/Makefile
new file mode 100644
index 0000000..52d95b5
--- /dev/null
+++ b/descriptor-packages/vnfd/ims_allin1_2p_vnf/Makefile
@@ -0,0 +1,20 @@
+#
+#   Copyright 2017 Sandvine
+#
+#   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.
+#
+DESCRIPTORS_TOPDIR ?= ../..
+
+include $(DESCRIPTORS_TOPDIR)/mk/pkg.mk
+
+all: $(BUILD_DIR)/$(PKG_NAME)
diff --git a/descriptor-packages/vnfd/ims_allin1_2p_vnf/src/IMS-ALLIN1__vnfd.yaml b/descriptor-packages/vnfd/ims_allin1_2p_vnf/src/IMS-ALLIN1__vnfd.yaml
new file mode 100644
index 0000000..b73e110
--- /dev/null
+++ b/descriptor-packages/vnfd/ims_allin1_2p_vnf/src/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/vnfd/ims_allin1_2p_vnf/src/icons/metaswitch_2x.png b/descriptor-packages/vnfd/ims_allin1_2p_vnf/src/icons/metaswitch_2x.png
new file mode 100644
index 0000000..a899bc8
--- /dev/null
+++ b/descriptor-packages/vnfd/ims_allin1_2p_vnf/src/icons/metaswitch_2x.png
Binary files differ
diff --git a/descriptor-packages/vnfd/ping_vnf/Makefile b/descriptor-packages/vnfd/ping_vnf/Makefile
new file mode 100644
index 0000000..8c50a0a
--- /dev/null
+++ b/descriptor-packages/vnfd/ping_vnf/Makefile
@@ -0,0 +1,21 @@
+#
+#   Copyright 2017 Sandvine
+#
+#   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.
+#
+DESCRIPTORS_TOPDIR ?= ../..
+
+VNFD_CHARM = pingpong
+include $(DESCRIPTORS_TOPDIR)/mk/pkg.mk
+
+all: $(BUILD_DIR)/$(PKG_NAME)
diff --git a/descriptor-packages/vnfd/ping_vnf/src/cloud_init/ping_cloud_init.cfg b/descriptor-packages/vnfd/ping_vnf/src/cloud_init/ping_cloud_init.cfg
new file mode 100644
index 0000000..81a13ed
--- /dev/null
+++ b/descriptor-packages/vnfd/ping_vnf/src/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/vnfd/ping_vnf/src/icons/rift_logo.png b/descriptor-packages/vnfd/ping_vnf/src/icons/rift_logo.png
new file mode 100644
index 0000000..09b47c7
--- /dev/null
+++ b/descriptor-packages/vnfd/ping_vnf/src/icons/rift_logo.png
Binary files differ
diff --git a/descriptor-packages/vnfd/ping_vnf/src/ping_vnfd.yaml b/descriptor-packages/vnfd/ping_vnf/src/ping_vnfd.yaml
new file mode 100644
index 0000000..60f00cf
--- /dev/null
+++ b/descriptor-packages/vnfd/ping_vnf/src/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/vnfd/pong_vnf/Makefile b/descriptor-packages/vnfd/pong_vnf/Makefile
new file mode 100644
index 0000000..8c50a0a
--- /dev/null
+++ b/descriptor-packages/vnfd/pong_vnf/Makefile
@@ -0,0 +1,21 @@
+#
+#   Copyright 2017 Sandvine
+#
+#   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.
+#
+DESCRIPTORS_TOPDIR ?= ../..
+
+VNFD_CHARM = pingpong
+include $(DESCRIPTORS_TOPDIR)/mk/pkg.mk
+
+all: $(BUILD_DIR)/$(PKG_NAME)
diff --git a/descriptor-packages/vnfd/pong_vnf/src/cloud_init/pong_cloud_init.cfg b/descriptor-packages/vnfd/pong_vnf/src/cloud_init/pong_cloud_init.cfg
new file mode 100644
index 0000000..81a13ed
--- /dev/null
+++ b/descriptor-packages/vnfd/pong_vnf/src/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/vnfd/pong_vnf/src/icons/rift_logo.png b/descriptor-packages/vnfd/pong_vnf/src/icons/rift_logo.png
new file mode 100644
index 0000000..09b47c7
--- /dev/null
+++ b/descriptor-packages/vnfd/pong_vnf/src/icons/rift_logo.png
Binary files differ
diff --git a/descriptor-packages/vnfd/pong_vnf/src/pong_vnfd.yaml b/descriptor-packages/vnfd/pong_vnf/src/pong_vnfd.yaml
new file mode 100644
index 0000000..b6bc9a1
--- /dev/null
+++ b/descriptor-packages/vnfd/pong_vnf/src/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/vnfd/ref11_vnf/Makefile b/descriptor-packages/vnfd/ref11_vnf/Makefile
new file mode 100644
index 0000000..52d95b5
--- /dev/null
+++ b/descriptor-packages/vnfd/ref11_vnf/Makefile
@@ -0,0 +1,20 @@
+#
+#   Copyright 2017 Sandvine
+#
+#   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.
+#
+DESCRIPTORS_TOPDIR ?= ../..
+
+include $(DESCRIPTORS_TOPDIR)/mk/pkg.mk
+
+all: $(BUILD_DIR)/$(PKG_NAME)
diff --git a/descriptor-packages/vnfd/ref11_vnf/src/ref11_vnfd.yaml b/descriptor-packages/vnfd/ref11_vnf/src/ref11_vnfd.yaml
new file mode 100644
index 0000000..f308282
--- /dev/null
+++ b/descriptor-packages/vnfd/ref11_vnf/src/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/vnfd/ref12_vnf/Makefile b/descriptor-packages/vnfd/ref12_vnf/Makefile
new file mode 100644
index 0000000..52d95b5
--- /dev/null
+++ b/descriptor-packages/vnfd/ref12_vnf/Makefile
@@ -0,0 +1,20 @@
+#
+#   Copyright 2017 Sandvine
+#
+#   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.
+#
+DESCRIPTORS_TOPDIR ?= ../..
+
+include $(DESCRIPTORS_TOPDIR)/mk/pkg.mk
+
+all: $(BUILD_DIR)/$(PKG_NAME)
diff --git a/descriptor-packages/vnfd/ref12_vnf/src/ref12_vnfd.yaml b/descriptor-packages/vnfd/ref12_vnf/src/ref12_vnfd.yaml
new file mode 100644
index 0000000..2901c4a
--- /dev/null
+++ b/descriptor-packages/vnfd/ref12_vnf/src/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/vnfd/ref21_vnf/Makefile b/descriptor-packages/vnfd/ref21_vnf/Makefile
new file mode 100644
index 0000000..a08d588
--- /dev/null
+++ b/descriptor-packages/vnfd/ref21_vnf/Makefile
@@ -0,0 +1,21 @@
+#
+#   Copyright 2017 Sandvine
+#
+#   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.
+#
+
+DESCRIPTORS_TOPDIR ?= ../..
+
+include $(DESCRIPTORS_TOPDIR)/mk/pkg.mk
+
+all: $(BUILD_DIR)/$(PKG_NAME)
diff --git a/descriptor-packages/vnfd/ref21_vnf/src/ref21_vnfd.yaml b/descriptor-packages/vnfd/ref21_vnf/src/ref21_vnfd.yaml
new file mode 100644
index 0000000..390ab9d
--- /dev/null
+++ b/descriptor-packages/vnfd/ref21_vnf/src/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/vnfd/ref22_vnf/Makefile b/descriptor-packages/vnfd/ref22_vnf/Makefile
new file mode 100644
index 0000000..a08d588
--- /dev/null
+++ b/descriptor-packages/vnfd/ref22_vnf/Makefile
@@ -0,0 +1,21 @@
+#
+#   Copyright 2017 Sandvine
+#
+#   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.
+#
+
+DESCRIPTORS_TOPDIR ?= ../..
+
+include $(DESCRIPTORS_TOPDIR)/mk/pkg.mk
+
+all: $(BUILD_DIR)/$(PKG_NAME)
diff --git a/descriptor-packages/vnfd/ref22_vnf/src/ref22_vnfd.yaml b/descriptor-packages/vnfd/ref22_vnf/src/ref22_vnfd.yaml
new file mode 100644
index 0000000..7dddc6f
--- /dev/null
+++ b/descriptor-packages/vnfd/ref22_vnf/src/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/vnfd/ubuntu_cirros_multidisk_vnf/Makefile b/descriptor-packages/vnfd/ubuntu_cirros_multidisk_vnf/Makefile
new file mode 100644
index 0000000..a08d588
--- /dev/null
+++ b/descriptor-packages/vnfd/ubuntu_cirros_multidisk_vnf/Makefile
@@ -0,0 +1,21 @@
+#
+#   Copyright 2017 Sandvine
+#
+#   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.
+#
+
+DESCRIPTORS_TOPDIR ?= ../..
+
+include $(DESCRIPTORS_TOPDIR)/mk/pkg.mk
+
+all: $(BUILD_DIR)/$(PKG_NAME)
diff --git a/descriptor-packages/vnfd/ubuntu_cirros_multidisk_vnf/src/cloud_init/cloud_init.cfg b/descriptor-packages/vnfd/ubuntu_cirros_multidisk_vnf/src/cloud_init/cloud_init.cfg
new file mode 100644
index 0000000..d1c2188
--- /dev/null
+++ b/descriptor-packages/vnfd/ubuntu_cirros_multidisk_vnf/src/cloud_init/cloud_init.cfg
@@ -0,0 +1,5 @@
+#cloud-config
+password: ubuntu
+chpasswd: { expire: False }
+ssh_pwauth: True
+
diff --git a/descriptor-packages/vnfd/ubuntu_cirros_multidisk_vnf/src/ubuntu_cirros_multidisk_vnfd.yaml b/descriptor-packages/vnfd/ubuntu_cirros_multidisk_vnf/src/ubuntu_cirros_multidisk_vnfd.yaml
new file mode 100644
index 0000000..da037b1
--- /dev/null
+++ b/descriptor-packages/vnfd/ubuntu_cirros_multidisk_vnf/src/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/vnfd/ubuntu_xenial_vnf/Makefile b/descriptor-packages/vnfd/ubuntu_xenial_vnf/Makefile
new file mode 100644
index 0000000..a08d588
--- /dev/null
+++ b/descriptor-packages/vnfd/ubuntu_xenial_vnf/Makefile
@@ -0,0 +1,21 @@
+#
+#   Copyright 2017 Sandvine
+#
+#   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.
+#
+
+DESCRIPTORS_TOPDIR ?= ../..
+
+include $(DESCRIPTORS_TOPDIR)/mk/pkg.mk
+
+all: $(BUILD_DIR)/$(PKG_NAME)
diff --git a/descriptor-packages/vnfd/ubuntu_xenial_vnf/src/cloud_init/cloud_init.cfg b/descriptor-packages/vnfd/ubuntu_xenial_vnf/src/cloud_init/cloud_init.cfg
new file mode 100644
index 0000000..d1c2188
--- /dev/null
+++ b/descriptor-packages/vnfd/ubuntu_xenial_vnf/src/cloud_init/cloud_init.cfg
@@ -0,0 +1,5 @@
+#cloud-config
+password: ubuntu
+chpasswd: { expire: False }
+ssh_pwauth: True
+
diff --git a/descriptor-packages/vnfd/ubuntu_xenial_vnf/src/icons/ubuntu-logo14.png b/descriptor-packages/vnfd/ubuntu_xenial_vnf/src/icons/ubuntu-logo14.png
new file mode 100644
index 0000000..e966783
--- /dev/null
+++ b/descriptor-packages/vnfd/ubuntu_xenial_vnf/src/icons/ubuntu-logo14.png
Binary files differ
diff --git a/descriptor-packages/vnfd/ubuntu_xenial_vnf/src/ubuntu_xenial_vnfd.yaml b/descriptor-packages/vnfd/ubuntu_xenial_vnf/src/ubuntu_xenial_vnfd.yaml
new file mode 100644
index 0000000..ee6a3ac
--- /dev/null
+++ b/descriptor-packages/vnfd/ubuntu_xenial_vnf/src/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