aboutsummaryrefslogtreecommitdiff
path: root/contrib/demos/tacker/deploy-tacker-demo-sfc
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/demos/tacker/deploy-tacker-demo-sfc')
-rw-r--r--contrib/demos/tacker/deploy-tacker-demo-sfc81
1 files changed, 81 insertions, 0 deletions
diff --git a/contrib/demos/tacker/deploy-tacker-demo-sfc b/contrib/demos/tacker/deploy-tacker-demo-sfc
new file mode 100644
index 000000000..fe755556b
--- /dev/null
+++ b/contrib/demos/tacker/deploy-tacker-demo-sfc
@@ -0,0 +1,81 @@
+#!/bin/bash
+
+function create_servers {
+ echo "Creating SFC demo instances"
+ DEMO_NET=$(openstack network list | awk '/demo-net/ { print $2 }')
+ IMAGE_ID=$(openstack image list | awk '/cirros/ { print $2 }')
+ FLOATING_IP_CLIENT=$(openstack floating ip create public1 -c floating_ip_address -f value)
+ FLOATING_IP_SERVER=$(openstack floating ip create public1 -c floating_ip_address -f value)
+ openstack server create --wait --flavor m1.tiny --image $IMAGE_ID --nic net-id=$DEMO_NET kolla_sfc_server
+ openstack server create --wait --flavor m1.tiny --image $IMAGE_ID --nic net-id=$DEMO_NET kolla_sfc_client
+ openstack server add floating ip kolla_sfc_client $FLOATING_IP_CLIENT
+ openstack server add floating ip kolla_sfc_server $FLOATING_IP_SERVER
+ KOLLA_SFC_CLIENT_PORT=$(openstack port list --server kolla_sfc_client | awk '/ACTIVE/ {print $2}')
+}
+
+function sfc_gen_config {
+ echo "Tacker SFC config files"
+ cat > ./kolla-sample-vnffgd.yaml <<EOF
+tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
+
+description: Sample VNFFG template
+
+topology_template:
+ description: Sample VNFFG template
+
+ node_templates:
+
+ Forwarding_path1:
+ type: tosca.nodes.nfv.FP.Tacker
+ description: creates path (CP12->CP12)
+ properties:
+ id: 51
+ policy:
+ type: ACL
+ criteria:
+ - network_src_port_id: ${KOLLA_SFC_CLIENT_PORT}
+ - network_id: ${DEMO_NET}
+ - ip_proto: 6
+ - destination_port_range: 80-80
+ path:
+ - forwarder: kolla-sample-vnfd
+ capability: CP11
+
+ groups:
+ VNFFG1:
+ type: tosca.groups.nfv.VNFFG
+ description: HTTP to Corporate Net
+ properties:
+ vendor: tacker
+ version: 1.0
+ number_of_endpoints: 1
+ dependent_virtual_link: [VL1]
+ connection_point: [CP11]
+ constituent_vnfs: [kolla-sample-vnfd]
+ members: [Forwarding_path1]
+EOF
+}
+
+function deploy_sfc {
+ sh ./deploy-tacker-demo
+ create_servers
+ sfc_gen_config
+ echo "Creating VNFFGD"
+ tacker vnffgd-create --vnffgd-file kolla-sample-vnffgd.yaml kolla-sample-vnffgd
+ echo "Creating VNFFG"
+ tacker vnffg-create --vnffgd-name kolla-sample-vnffgd kolla-sample-vnffg
+ echo "Tacker sfc client floating ip address: $FLOATING_IP_CLIENT"
+ echo "Tacker sfc server floating ip address: $FLOATING_IP_SERVER"
+ cat << EOF
+
+Done.
+
+To create simple HTTP server in tacker_sfc_server instance run:
+
+ssh cirros@$FLOATING_IP_SERVER 'while true; \\
+ do echo -e "HTTP/1.0 200 OK\r\n\r\nW00t from Kolla HTTP server!" | sudo nc -l -p 80 ; done &'
+
+EOF
+}
+
+deploy_sfc