aboutsummaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorEduardo Gonzalez <dabarren@gmail.com>2017-04-03 14:16:06 +0100
committerEduardo Gonzalez <dabarren@gmail.com>2017-04-03 14:49:19 +0100
commit4fae4bbd7864b4332ff7168725c292f8f116458c (patch)
tree9a7df70be73be82f950237b50694845ae07af62a /contrib
parentff46e0908f1c53b2766a2b09061cb020ea413b70 (diff)
downloadkolla-ansible-4fae4bbd7864b4332ff7168725c292f8f116458c.tar.gz
kolla-ansible-4fae4bbd7864b4332ff7168725c292f8f116458c.zip
Add tacker contrib demo
Add tacker deployment demo. Generate sample config, register vim and vnfd. Deploy demo vnf service. Cleanup deployment demo. Change-Id: If707a89bd675e3298357360125cd6487588a2fb2
Diffstat (limited to 'contrib')
-rw-r--r--contrib/demos/tacker/README.rst20
-rw-r--r--contrib/demos/tacker/cleanup-tacker13
-rw-r--r--contrib/demos/tacker/deploy-tacker-demo69
3 files changed, 102 insertions, 0 deletions
diff --git a/contrib/demos/tacker/README.rst b/contrib/demos/tacker/README.rst
new file mode 100644
index 000000000..22138c000
--- /dev/null
+++ b/contrib/demos/tacker/README.rst
@@ -0,0 +1,20 @@
+A Kolla Demo using Tacker
+=========================
+
+By default, the deploy script will spawn 1 Nova instance on a Neutron
+network created from the tools/init-runonce script.
+
+Then run the deploy script:
+
+::
+
+ $ ./deploy-tacker-demo
+
+After the demo is deployed, a cleanup script can be used to remove
+resources created by deploy script.
+
+To run the cleanup script:
+
+::
+
+ $ ./cleanup-tacker
diff --git a/contrib/demos/tacker/cleanup-tacker b/contrib/demos/tacker/cleanup-tacker
new file mode 100644
index 000000000..781b8396f
--- /dev/null
+++ b/contrib/demos/tacker/cleanup-tacker
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+echo "Deleting sample VNF"
+tacker vnf-delete kolla-sample-vnf
+while tacker vnf-list | grep -q kolla-sample-vnf; do
+ sleep 1
+done
+echo "Deleting sample VNFD"
+tacker vnfd-delete kolla-sample-vnfd
+echo "Deleting sample VIM"
+tacker vim-delete kolla-sample-vim
+echo "Removing sample config"
+rm -rf ./kolla-sample-*.yaml
diff --git a/contrib/demos/tacker/deploy-tacker-demo b/contrib/demos/tacker/deploy-tacker-demo
new file mode 100644
index 000000000..eb3f13995
--- /dev/null
+++ b/contrib/demos/tacker/deploy-tacker-demo
@@ -0,0 +1,69 @@
+#!/bin/bash
+
+function gen_config {
+ echo "Generating sample config"
+ DEMO_NET=$(openstack network list | awk '/demo-net/ { print $2 }')
+ IMAGE_ID=$(openstack image list | awk '/cirros/ { print $2 }')
+ cat > ./kolla-sample-vim.yaml <<EOF
+auth_url: ${OS_AUTH_URL}
+username: ${OS_USERNAME}
+password: ${OS_PASSWORD}
+project_name: ${OS_PROJECT_NAME}
+project_domain_name: ${OS_PROJECT_DOMAIN_NAME}
+user_domain_name: ${OS_USER_DOMAIN_NAME}
+EOF
+ cat > ./kolla-sample-vnfd.yaml <<EOF
+tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
+
+description: Demo example
+
+metadata:
+ template_name: sample-tosca-vnfd
+
+topology_template:
+ node_templates:
+ VDU1:
+ type: tosca.nodes.nfv.VDU.Tacker
+ capabilities:
+ nfv_compute:
+ properties:
+ num_cpus: 1
+ mem_size: 512 MB
+ disk_size: 0 GB
+ properties:
+ image: ${IMAGE_ID}
+ availability_zone: nova
+ mgmt_driver: noop
+
+ CP1:
+ type: tosca.nodes.nfv.CP.Tacker
+ properties:
+ management: true
+ order: 0
+ anti_spoofing_protection: false
+ requirements:
+ - virtualLink:
+ node: VL1
+ - virtualBinding:
+ node: VDU1
+
+ VL1:
+ type: tosca.nodes.nfv.VL
+ properties:
+ network_name: ${DEMO_NET}
+ vendor: Tacker
+EOF
+}
+
+function deploy {
+ echo "Registering sample VIM"
+ tacker vim-register --is-default --config-file ./kolla-sample-vim.yaml --description "kolla sample vim" kolla-sample-vim
+ echo "Creating sample VNFD"
+ tacker vnfd-create --vnfd-file ./kolla-sample-vnfd.yaml kolla-sample-vnfd
+ echo "Creating sample VNF"
+ VNFD_ID=$(tacker vnfd-list | awk '/kolla-sample-vnfd/ { print $2 }')
+ tacker vnf-create --vnfd-id ${VNFD_ID} kolla-sample-vnf
+}
+
+gen_config
+deploy