diff options
author | Bryan Sullivan <bryan.sullivan@att.com> | 2016-10-11 22:42:35 -0700 |
---|---|---|
committer | Bryan Sullivan <bryan.sullivan@att.com> | 2016-10-11 22:42:35 -0700 |
commit | b2e526f7469e3f7214442a1cc8d4cbcfea6901ca (patch) | |
tree | 585f01cf43e5d20c8cd48f4f77622fd30a2ae5ae /tests/blueprints/tosca-vnfd-hello-ves | |
parent | b192ba22c01390703d6cdce3c701df9ae5ef8ca4 (diff) |
Baseline of tests
JIRA: VES-1
Change-Id: I1a78a179414f6bccc93934639554c4fb7d65c64a
Signed-off-by: Bryan Sullivan <bryan.sullivan@att.com>
Diffstat (limited to 'tests/blueprints/tosca-vnfd-hello-ves')
-rwxr-xr-x | tests/blueprints/tosca-vnfd-hello-ves/blueprint.yaml | 107 | ||||
-rwxr-xr-x | tests/blueprints/tosca-vnfd-hello-ves/start.sh | 84 |
2 files changed, 191 insertions, 0 deletions
diff --git a/tests/blueprints/tosca-vnfd-hello-ves/blueprint.yaml b/tests/blueprints/tosca-vnfd-hello-ves/blueprint.yaml new file mode 100755 index 0000000..fc9e1b8 --- /dev/null +++ b/tests/blueprints/tosca-vnfd-hello-ves/blueprint.yaml @@ -0,0 +1,107 @@ +tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0 + +description: Hello VES + +metadata: + template_name: tosca-vnfd-hello-ves + +topology_template: + node_templates: + VDU1: + type: tosca.nodes.nfv.VDU.Tacker + capabilities: + nfv_compute: + properties: + num_cpus: 1 + mem_size: 1024 MB + disk_size: 4 GB + properties: + image: models-xenial-server + availability_zone: nova + mgmt_driver: noop + config: | + param0: key1 + param1: key2 + + CP1: + type: tosca.nodes.nfv.CP.Tacker + properties: + management: true + anti_spoofing_protection: false + requirements: + - virtualLink: + node: VL1 + - virtualBinding: + node: VDU1 + + CP2: + type: tosca.nodes.nfv.CP.Tacker + properties: + anti_spoofing_protection: false + requirements: + - virtualLink: + node: VL2 + - virtualBinding: + node: VDU1 + + VL1: + type: tosca.nodes.nfv.VL + properties: + network_name: vnf_mgmt + vendor: Tacker + + VL2: + type: tosca.nodes.nfv.VL + properties: + network_name: vnf_private + vendor: Tacker + + VDU2: + type: tosca.nodes.nfv.VDU.Tacker + capabilities: + nfv_compute: + properties: + num_cpus: 1 + mem_size: 1024 MB + disk_size: 4 GB + properties: + image: models-xenial-server + availability_zone: nova + mgmt_driver: noop + config: | + param0: key1 + param1: key2 + + CP3: + type: tosca.nodes.nfv.CP.Tacker + properties: + management: true + anti_spoofing_protection: false + requirements: + - virtualLink: + node: VL3 + - virtualBinding: + node: VDU2 + + CP4: + type: tosca.nodes.nfv.CP.Tacker + properties: + anti_spoofing_protection: false + requirements: + - virtualLink: + node: VL4 + - virtualBinding: + node: VDU2 + + VL3: + type: tosca.nodes.nfv.VL + properties: + network_name: vnf_mgmt + vendor: Tacker + + VL4: + type: tosca.nodes.nfv.VL + properties: + network_name: vnf_private + vendor: Tacker + diff --git a/tests/blueprints/tosca-vnfd-hello-ves/start.sh b/tests/blueprints/tosca-vnfd-hello-ves/start.sh new file mode 100755 index 0000000..6c8fbeb --- /dev/null +++ b/tests/blueprints/tosca-vnfd-hello-ves/start.sh @@ -0,0 +1,84 @@ +#!/bin/bash +# Copyright 2016 AT&T Intellectual Property, 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. +# +# What this is: Startup script for a simple web server as part of the +# vHello_VES test of the OPNFV VES project. +# +# Status: this is a work in progress, under test. +# +# How to use: +# $ bash start.sh IP ID +# IP: IP address of the collector +# ID: username:password to use in REST +# + +echo "$0: Setup website and dockerfile" +mkdir ~/www +mkdir ~/www/html + +# ref: https://hub.docker.com/_/nginx/ +cat > ~/www/Dockerfile <<EOM +FROM nginx +COPY html /usr/share/nginx/html +EOM + +cat > ~/www/html/index.html <<EOM +<!DOCTYPE html> +<html> +<head> +<title>Hello World!</title> +<meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1"/> +<style> +body { width: 100%; background-color: white; color: black; padding: 0px; margin: 0px; font-family: sans-serif; font-size:100%; } +</style> +</head> +<body> +Hello World!<br> +<a href="http://wiki.opnfv.org"><img src="https://www.opnfv.org/sites/all/themes/opnfv/logo.png"></a> +</body></html> +EOM + +echo "$0: Install docker" +# Per https://docs.docker.com/engine/installation/linux/ubuntulinux/ +# Per https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04 +sudo apt-get install apt-transport-https ca-certificates +sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D +echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" | sudo tee /etc/apt/sources.list.d/docker.list +sudo apt-get update +sudo apt-get purge lxc-docker +sudo apt-get install -y linux-image-extra-$(uname -r) linux-image-extra-virtual +sudo apt-get install -y docker-engine + +echo "$0: Get nginx container and start website in docker" +# Per https://hub.docker.com/_/nginx/ +sudo docker pull nginx +cd ~/www +sudo docker build -t vhello . +sudo docker run --name vHello -d -p 80:80 vhello + +echo "$0: setup VES event delivery for the nginx server" + +# id=$(sudo ls /var/lib/docker/containers) +# sudo tail -f /var/lib/docker/containers/$id/$id-json.log + +export COL_IP=$1 +export COL_ID=$2 + +while true +do + sleep 30 + curl --user $COL_ID -H "Content-Type: application/json" -X POST -d '{ "event": { "commonEventHeader": { "domain": "fault", "eventType": "Fault_MobileCallRecording_PilotNumberPoolExhaustion", "eventId": "ab305d54-85b4-a31b-7db2-fb6b9e546015", "sequence": "0", "priority": "High", "sourceId": "de305d54-75b4-431b-adb2-eb6b9e546014", "sourceName": "EricssonECE", "functionalRole": "SCF", "startEpochMicrosec": "1413378172000000", "lastEpochMicrosec": "1413378172000000", "reportingEntityId": "de305d54-75b4-431b-adb2-eb6b9e546014", "reportingEntityName": "EricssonECE" }, "faultFields": { "alarmCondition": "PilotNumberPoolExhaustion", "eventSourceType": "other(0)", "specificProblem": "Calls cannot complete because pilot numbers are unavailable", "eventSeverity": "CRITICAL", "vfStatus": "Active" } } }' http://$COL_IP:30000/eventListener/v1 +done + |