An example of a multi-charm, multi-vdu VNF
These descriptors are for a multi-charm, multi-vdu vnf, using the simple
charm, to serve as a very basic example for test and development
purposes.
Signed-off-by: Adam Israel <adam.israel@canonical.com>
diff --git a/descriptor-packages/nsd/simple_multi-charm_multi-vdu-ns/Makefile b/descriptor-packages/nsd/simple_multi-charm_multi-vdu-ns/Makefile
new file mode 100644
index 0000000..9c18082
--- /dev/null
+++ b/descriptor-packages/nsd/simple_multi-charm_multi-vdu-ns/Makefile
@@ -0,0 +1,20 @@
+#
+# Copyright 2018 Telefonica
+#
+# 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/nsd/simple_multi-charm_multi-vdu-ns/src/icons/osm.png b/descriptor-packages/nsd/simple_multi-charm_multi-vdu-ns/src/icons/osm.png
new file mode 100644
index 0000000..62012d2
--- /dev/null
+++ b/descriptor-packages/nsd/simple_multi-charm_multi-vdu-ns/src/icons/osm.png
Binary files differ
diff --git a/descriptor-packages/nsd/simple_multi-charm_multi-vdu-ns/src/simple_multi-charm_multi-vdu_nsd.yaml b/descriptor-packages/nsd/simple_multi-charm_multi-vdu-ns/src/simple_multi-charm_multi-vdu_nsd.yaml
new file mode 100644
index 0000000..bd21706
--- /dev/null
+++ b/descriptor-packages/nsd/simple_multi-charm_multi-vdu-ns/src/simple_multi-charm_multi-vdu_nsd.yaml
@@ -0,0 +1,38 @@
+nsd:nsd-catalog:
+ nsd:
+ - id: multicharmvdu-ns
+ name: multicharmvdu-ns
+ short-name: multicharmvdu-ns
+ description: NS with 2 VNFs multicharmvdu-vnf connected by datanet and mgmtnet VLs
+ version: '1.0'
+ logo: osm.png
+ constituent-vnfd:
+ - vnfd-id-ref: multicharmvdu-vnf
+ member-vnf-index: '1'
+ - vnfd-id-ref: multicharmvdu-vnf
+ member-vnf-index: '2'
+ vld:
+ - id: mgmtnet
+ name: mgmtnet
+ short-name: mgmtnet
+ type: ELAN
+ mgmt-network: 'true'
+ vim-network-name: mgmt
+ vnfd-connection-point-ref:
+ - vnfd-id-ref: multicharmvdu-vnf
+ member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: vnf-mgmt
+ - vnfd-id-ref: multicharmvdu-vnf
+ member-vnf-index-ref: '2'
+ vnfd-connection-point-ref: vnf-mgmt
+ - id: datanet
+ name: datanet
+ short-name: datanet
+ type: ELAN
+ vnfd-connection-point-ref:
+ - vnfd-id-ref: multicharmvdu-vnf
+ member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: vnf-data
+ - vnfd-id-ref: multicharmvdu-vnf
+ member-vnf-index-ref: '2'
+ vnfd-connection-point-ref: vnf-data
diff --git a/descriptor-packages/vnfd/simple_multi-charm_multi-vdu_vnf/Makefile b/descriptor-packages/vnfd/simple_multi-charm_multi-vdu_vnf/Makefile
new file mode 100644
index 0000000..3e88db7
--- /dev/null
+++ b/descriptor-packages/vnfd/simple_multi-charm_multi-vdu_vnf/Makefile
@@ -0,0 +1,21 @@
+#
+# Copyright 2018 Telefonica
+#
+# 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 = simple
+include $(DESCRIPTORS_TOPDIR)/mk/pkg.mk
+
+all: $(BUILD_DIR)/$(PKG_NAME)
diff --git a/descriptor-packages/vnfd/simple_multi-charm_multi-vdu_vnf/src/simple_multi-charm_multi-vdu_vnfd.yaml b/descriptor-packages/vnfd/simple_multi-charm_multi-vdu_vnf/src/simple_multi-charm_multi-vdu_vnfd.yaml
new file mode 100644
index 0000000..6957e18
--- /dev/null
+++ b/descriptor-packages/vnfd/simple_multi-charm_multi-vdu_vnf/src/simple_multi-charm_multi-vdu_vnfd.yaml
@@ -0,0 +1,130 @@
+vnfd:vnfd-catalog:
+ vnfd:
+ - id: multicharmvdu-vnf
+ name: multicharmvdu-vnf
+ short-name: multicharmvdu-vnf
+ version: '1.0'
+ description: A VNF consisting of 2 VDUs w/charms connected to an internal VL, and one VDU with cloud-init
+ logo: osm.png
+ connection-point:
+ - id: vnf-mgmt
+ name: vnf-mgmt
+ short-name: vnf-mgmt
+ type: VPORT
+ - id: vnf-data
+ name: vnf-data
+ short-name: vnf-data
+ type: VPORT
+ mgmt-interface:
+ cp: vnf-mgmt
+ internal-vld:
+ - id: internal
+ name: internal
+ short-name: internal
+ type: ELAN
+ internal-connection-point:
+ - id-ref: mgmtVM-internal
+ - id-ref: dataVM-internal
+ vdu:
+ - id: mgmtVM
+ name: mgmtVM
+ image: xenial
+ count: '1'
+ vm-flavor:
+ vcpu-count: '1'
+ memory-mb: '1024'
+ storage-gb: '10'
+ interface:
+ - name: mgmtVM-eth0
+ position: '1'
+ type: EXTERNAL
+ virtual-interface:
+ type: VIRTIO
+ external-connection-point-ref: vnf-mgmt
+ - name: mgmtVM-eth1
+ position: '2'
+ type: INTERNAL
+ virtual-interface:
+ type: VIRTIO
+ internal-connection-point-ref: mgmtVM-internal
+ internal-connection-point:
+ - id: mgmtVM-internal
+ name: mgmtVM-internal
+ short-name: mgmtVM-internal
+ type: VPORT
+ cloud-init-file: cloud-config.txt
+ vdu-configuration:
+ juju:
+ charm: simple
+ initial-config-primitive:
+ - seq: '1'
+ name: config
+ parameter:
+ - name: ssh-hostname
+ value: <rw_mgmt_ip>
+ - name: ssh-username
+ value: ubuntu
+ - name: ssh-password
+ value: osm4u
+ - seq: '2'
+ name: touch
+ parameter:
+ - name: filename
+ value: '/home/ubuntu/first-touch-mgmtVM'
+ config-primitive:
+ - name: touch
+ parameter:
+ - name: filename
+ data-type: STRING
+ default-value: '/home/ubuntu/touched'
+
+ - id: dataVM
+ name: dataVM
+ image: xenial
+ count: '1'
+ vm-flavor:
+ vcpu-count: '1'
+ memory-mb: '1024'
+ storage-gb: '10'
+ interface:
+ - name: dataVM-eth0
+ position: '1'
+ type: INTERNAL
+ virtual-interface:
+ type: VIRTIO
+ internal-connection-point-ref: dataVM-internal
+ - name: dataVM-xe0
+ position: '2'
+ type: EXTERNAL
+ virtual-interface:
+ type: VIRTIO
+ external-connection-point-ref: vnf-data
+ internal-connection-point:
+ - id: dataVM-internal
+ name: dataVM-internal
+ short-name: dataVM-internal
+ type: VPORT
+ vdu-configuration:
+ juju:
+ charm: simple
+ initial-config-primitive:
+ - seq: '1'
+ name: config
+ parameter:
+ - name: ssh-hostname
+ value: <rw_mgmt_ip>
+ - name: ssh-username
+ value: ubuntu
+ - name: ssh-password
+ value: osm4u
+ - seq: '2'
+ name: touch
+ parameter:
+ - name: filename
+ value: '/home/ubuntu/first-touch-dataVM'
+ config-primitive:
+ - name: touch
+ parameter:
+ - name: filename
+ data-type: STRING
+ default-value: '/home/ubuntu/touched'