From 0d20edf964883009f4883c9f8c4b814fa21080e6 Mon Sep 17 00:00:00 2001 From: montesmoreno Date: Tue, 17 Oct 2017 15:53:35 +0000 Subject: [PATCH] Additional descriptors for R3 testing Signed-off-by: montesmoreno --- descriptor-packages/nsd/dns_aws_vnfd/Makefile | 19 +++++++ .../src/cloud_init/cloud_init.cfg | 23 +++++++++ .../nsd/dns_aws_vnfd/src/dns_aws_vnfd.yaml | 38 ++++++++++++++ .../nsd/dns_aws_vnfd/src/icons/dns.jpg | Bin 0 -> 6930 bytes .../ubuntu_1iface_cloudinit_new_vnf/Makefile | 19 +++++++ .../src/cloud_init/cloud_init.cfg | 14 +++++ .../src/icons/ubuntu-logo14.png | Bin 0 -> 10499 bytes .../src/keys/test4.pem | 27 ++++++++++ .../src/keys/test4.pub | 1 + .../ubuntu_1iface_cloudinit_newfile_vnfd.yaml | 48 ++++++++++++++++++ descriptor-packages/vnfd/dns_aws_ns/Makefile | 20 ++++++++ .../vnfd/dns_aws_ns/src/dns_aws_nsd.yaml | 19 +++++++ .../vnfd/dns_aws_ns/src/icons/dns.jpg | Bin 0 -> 6930 bytes .../vnfd/ubuntu_cloudinit_ns/Makefile | 20 ++++++++ .../src/ubuntu_cloudinit_nsd.yaml | 18 +++++++ 15 files changed, 266 insertions(+) create mode 100644 descriptor-packages/nsd/dns_aws_vnfd/Makefile create mode 100644 descriptor-packages/nsd/dns_aws_vnfd/src/cloud_init/cloud_init.cfg create mode 100755 descriptor-packages/nsd/dns_aws_vnfd/src/dns_aws_vnfd.yaml create mode 100644 descriptor-packages/nsd/dns_aws_vnfd/src/icons/dns.jpg create mode 100644 descriptor-packages/nsd/ubuntu_1iface_cloudinit_new_vnf/Makefile create mode 100644 descriptor-packages/nsd/ubuntu_1iface_cloudinit_new_vnf/src/cloud_init/cloud_init.cfg create mode 100644 descriptor-packages/nsd/ubuntu_1iface_cloudinit_new_vnf/src/icons/ubuntu-logo14.png create mode 100644 descriptor-packages/nsd/ubuntu_1iface_cloudinit_new_vnf/src/keys/test4.pem create mode 100644 descriptor-packages/nsd/ubuntu_1iface_cloudinit_new_vnf/src/keys/test4.pub create mode 100644 descriptor-packages/nsd/ubuntu_1iface_cloudinit_new_vnf/src/ubuntu_1iface_cloudinit_newfile_vnfd.yaml create mode 100644 descriptor-packages/vnfd/dns_aws_ns/Makefile create mode 100755 descriptor-packages/vnfd/dns_aws_ns/src/dns_aws_nsd.yaml create mode 100644 descriptor-packages/vnfd/dns_aws_ns/src/icons/dns.jpg create mode 100644 descriptor-packages/vnfd/ubuntu_cloudinit_ns/Makefile create mode 100755 descriptor-packages/vnfd/ubuntu_cloudinit_ns/src/ubuntu_cloudinit_nsd.yaml diff --git a/descriptor-packages/nsd/dns_aws_vnfd/Makefile b/descriptor-packages/nsd/dns_aws_vnfd/Makefile new file mode 100644 index 00000000..ad4b68cb --- /dev/null +++ b/descriptor-packages/nsd/dns_aws_vnfd/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/nsd/dns_aws_vnfd/src/cloud_init/cloud_init.cfg b/descriptor-packages/nsd/dns_aws_vnfd/src/cloud_init/cloud_init.cfg new file mode 100644 index 00000000..00c41b73 --- /dev/null +++ b/descriptor-packages/nsd/dns_aws_vnfd/src/cloud_init/cloud_init.cfg @@ -0,0 +1,23 @@ +#cloud-config + +password: c0mpl3xp4ssw0rd +chpasswd: { expire: False } +ssh_pwauth: True + +write_files: +- content: | + # My new helloworld file + sudo apt update + sudo apt install dnsmasq -y + sudo bash -c 'cat << EOF > /etc/dnsmasq.conf + strict-order + interface=eth0 + no-dhcp-interface=eth0 + EOF' + owner: root:root + permissions: '0774' + path: /tmp/configure_dns + +runcmd: + - /tmp/configure_dns + diff --git a/descriptor-packages/nsd/dns_aws_vnfd/src/dns_aws_vnfd.yaml b/descriptor-packages/nsd/dns_aws_vnfd/src/dns_aws_vnfd.yaml new file mode 100755 index 00000000..d70d2b96 --- /dev/null +++ b/descriptor-packages/nsd/dns_aws_vnfd/src/dns_aws_vnfd.yaml @@ -0,0 +1,38 @@ +vnfd:vnfd-catalog: + vnfd:vnfd: + - rw-vnfd:meta: '{"containerPositionMap":{"dns_forwarder":{"top":30,"left":260,"right":510,"bottom":85,"width":250,"height":55},"dns_forwarder/dns_forwarder-VM":{"top":130,"left":260,"right":510,"bottom":185,"width":250,"height":55}}}' + vnfd:connection-point: + - vnfd:name: eth0 + vnfd:type: VPORT + vnfd:description: Simple VNF example with a DNS forwarder + vnfd:id: dns_forwarder + vnfd:logo: dns.jpg + vnfd:mgmt-interface: + vnfd:vdu-id: dns_forwarder-VM + vnfd:name: dns_forwarder + vnfd:service-function-chain: UNAWARE + vnfd:short-name: dns_forwarder + vnfd:vdu: + - vnfd:count: '1' + vnfd:description: dns_forwarder-VM + vnfd:interface: + - vnfd:name: eth0 + vnfd:virtual-interface: + vnfd:bandwidth: '0' + vnfd:type: OM-MGMT + vnfd:vpci: 0000:00:0a.0 + vnfd:external-connection-point-ref: eth0 + vnfd:guest-epa: + vnfd:cpu-pinning-policy: ANY + vnfd:id: dns_forwarder-VM + vnfd:image: ubuntu/images/hvm-ssd/ubuntu-zesty-17.04-amd64-server-20170619.1 + vnfd:cloud-init-file: cloud_init.cfg + vnfd:name: dns_forwarder-VM + vnfd:supplemental-boot-data: + vnfd:boot-data-drive: 'false' + vnfd:vm-flavor: + vnfd:memory-mb: '1024' + vnfd:storage-gb: '1' + vnfd:vcpu-count: '1' + vnfd:vendor: OSM + vnfd:version: '1.0' diff --git a/descriptor-packages/nsd/dns_aws_vnfd/src/icons/dns.jpg b/descriptor-packages/nsd/dns_aws_vnfd/src/icons/dns.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6cec5e1a0db1a4bd950adaa27e99ee4c23f93edd GIT binary patch literal 6930 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 literal 0 HcmV?d00001 diff --git a/descriptor-packages/nsd/ubuntu_1iface_cloudinit_new_vnf/Makefile b/descriptor-packages/nsd/ubuntu_1iface_cloudinit_new_vnf/Makefile new file mode 100644 index 00000000..ad4b68cb --- /dev/null +++ b/descriptor-packages/nsd/ubuntu_1iface_cloudinit_new_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/nsd/ubuntu_1iface_cloudinit_new_vnf/src/cloud_init/cloud_init.cfg b/descriptor-packages/nsd/ubuntu_1iface_cloudinit_new_vnf/src/cloud_init/cloud_init.cfg new file mode 100644 index 00000000..ddc6f933 --- /dev/null +++ b/descriptor-packages/nsd/ubuntu_1iface_cloudinit_new_vnf/src/cloud_init/cloud_init.cfg @@ -0,0 +1,14 @@ +#cloud-config + +# Add public key to the default user's authorized_keys file +ssh_authorized_keys: +- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDXYVPzII6lwC/hb1PHsgJcf11mYKI1pEeHzcjQ8X8P7YwOj2ihikhy6IRtm38HzP7udMWjQolPUbIzNBmldt8fy6EFkZEpf7R3QziDbqw3FH6wIbQnLpCZWa9OCGRyPyPdBY//K0Ya5b/IBfG4t+KoIVwkJuSG+oYRGhCYhnAwRZ/IUwxhtbNVsS26wN+jGsaUKIWCEBbS5ccFeb9k3eovIFkELNDJVWVJsh2tyGrUd+HQ1+xQGtBUcnipJV75lwL2Z2rprnMIIuVc+A1tTNWArHccLSyfxf2kANy5jGCkwNAH1ETp3r8A5BgoFYd7NSLxK3ob3XycXvYvt/XMrUDP test4 + +write_files: +- content: | + # My new helloworld file + + owner: root:root + permissions: '0644' + path: /root/helloworld.txt + diff --git a/descriptor-packages/nsd/ubuntu_1iface_cloudinit_new_vnf/src/icons/ubuntu-logo14.png b/descriptor-packages/nsd/ubuntu_1iface_cloudinit_new_vnf/src/icons/ubuntu-logo14.png new file mode 100644 index 0000000000000000000000000000000000000000..e966783957c267898a0383159c8dbb5c81ea1da2 GIT binary patch literal 10499 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 literal 0 HcmV?d00001 diff --git a/descriptor-packages/vnfd/ubuntu_cloudinit_ns/Makefile b/descriptor-packages/vnfd/ubuntu_cloudinit_ns/Makefile new file mode 100644 index 00000000..c5f5f691 --- /dev/null +++ b/descriptor-packages/vnfd/ubuntu_cloudinit_ns/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/ubuntu_cloudinit_ns/src/ubuntu_cloudinit_nsd.yaml b/descriptor-packages/vnfd/ubuntu_cloudinit_ns/src/ubuntu_cloudinit_nsd.yaml new file mode 100755 index 00000000..9b442824 --- /dev/null +++ b/descriptor-packages/vnfd/ubuntu_cloudinit_ns/src/ubuntu_cloudinit_nsd.yaml @@ -0,0 +1,18 @@ +nsd:nsd-catalog: + nsd:nsd: + - nsd:constituent-vnfd: + - nsd:member-vnf-index: '1' + nsd:start-by-default: 'true' + nsd:vnfd-id-ref: ubuntu_1iface_cloudinit_newfile_vnfd + nsd:id: ubuntu_cloudinit + nsd:name: ubuntu_cloudinit + nsd:short-name: ubuntu_cloudinit + nsd:vld: + - nsd:id: mgmt + nsd:mgmt-network: 'false' + nsd:name: mgmt + nsd:short-name: mgmt + nsd:vnfd-connection-point-ref: + - nsd:member-vnf-index-ref: '1' + nsd:vnfd-connection-point-ref: eth0 + nsd:vnfd-id-ref: ubuntu_1iface_cloudinit_newfile_vnfd -- 2.25.1