From: Adam Israel Date: Mon, 18 Jun 2018 19:40:24 +0000 (-0400) Subject: An example of a multi-charm, multi-vdu VNF X-Git-Tag: v5.0.0~19^2~1 X-Git-Url: https://osm.etsi.org/gitweb/?a=commitdiff_plain;ds=sidebyside;h=f52f42c54c8c4b9d249401a22648e8660c587750;hp=-c;p=osm%2Fdevops.git 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 --- f52f42c54c8c4b9d249401a22648e8660c587750 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 00000000..9c180829 --- /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 00000000..62012d2a Binary files /dev/null and b/descriptor-packages/nsd/simple_multi-charm_multi-vdu-ns/src/icons/osm.png 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 00000000..bd21706d --- /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 00000000..3e88db72 --- /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 00000000..6957e185 --- /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: + - 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: + - 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'