Skip to content
Snippets Groups Projects
Commit 6aa63bdc authored by Eduardo Gonzalez's avatar Eduardo Gonzalez
Browse files

Add tacker sfc contrib demo

Create demo SFC environment.
Usage docs will be added in a global tacker
documentation PS.

Change-Id: Ia8fe54a1657e76c090b3f6f03bb13d53cf8ac2f2
parent be5ae825
No related branches found
No related tags found
No related merge requests found
#!/bin/bash #!/bin/bash
if [[ -f kolla-sample-vnffgd.yaml ]]; then
echo "Deleting VNFFG"
tacker vnffg-delete kolla-sample-vnffg
echo "Deleting VNFFGD"
tacker vnffgd-delete kolla-sample-vnffgd
echo "Deleting sample sfc instances"
openstack server delete kolla_sfc_server kolla_sfc_client
fi
echo "Deleting sample VNF" echo "Deleting sample VNF"
tacker vnf-delete kolla-sample-vnf tacker vnf-delete kolla-sample-vnf
while tacker vnf-list | grep -q kolla-sample-vnf; do while tacker vnf-list | grep -q kolla-sample-vnf; do
...@@ -10,4 +17,4 @@ tacker vnfd-delete kolla-sample-vnfd ...@@ -10,4 +17,4 @@ tacker vnfd-delete kolla-sample-vnfd
echo "Deleting sample VIM" echo "Deleting sample VIM"
tacker vim-delete kolla-sample-vim tacker vim-delete kolla-sample-vim
echo "Removing sample config" echo "Removing sample config"
rm -rf ./kolla-sample-*.yaml rm -rf ./kolla-sample-*
...@@ -34,8 +34,12 @@ topology_template: ...@@ -34,8 +34,12 @@ topology_template:
image: ${IMAGE_ID} image: ${IMAGE_ID}
availability_zone: nova availability_zone: nova
mgmt_driver: noop mgmt_driver: noop
user_data_format: RAW
user_data: |
#!/bin/sh
echo 1 > /proc/sys/net/ipv4/ip_forward
CP1: CP11:
type: tosca.nodes.nfv.CP.Tacker type: tosca.nodes.nfv.CP.Tacker
properties: properties:
management: true management: true
......
#!/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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment