From 34ac334f68ad52feb34b5503a16d4f1eccffdc14 Mon Sep 17 00:00:00 2001 From: George Paraskevopoulos Date: Tue, 29 Nov 2016 10:05:04 +0200 Subject: Pythonize tacker script calls JIRA: SFC-52 Clean up the repo from bash scripts using the python modules we have in place. DEPENDS ON: https://gerrit.opnfv.org/gerrit/#/c/25075/ Change-Id: I785c6df58391eab215e8e8918714f85bfadef747 Signed-off-by: George Paraskevopoulos --- tests/functest/odl-sfc/sfc.py | 43 +++++++++++++++++++++++++++++++--- tests/functest/odl-sfc/sfc_tacker.bash | 31 ------------------------ 2 files changed, 40 insertions(+), 34 deletions(-) delete mode 100755 tests/functest/odl-sfc/sfc_tacker.bash diff --git a/tests/functest/odl-sfc/sfc.py b/tests/functest/odl-sfc/sfc.py index 09c7cca9..edc1aaaa 100755 --- a/tests/functest/odl-sfc/sfc.py +++ b/tests/functest/odl-sfc/sfc.py @@ -1,6 +1,5 @@ import argparse import os -import subprocess import sys import time import functest.utils.functest_logger as ft_logger @@ -42,7 +41,6 @@ ROUTER_NAME = "example-router" SECGROUP_NAME = "example-sg" SECGROUP_DESCR = "Example Security group" SFC_TEST_DIR = os.path.join(REPO_PATH, "tests/functest/odl-sfc/") -TACKER_SCRIPT = os.path.join(SFC_TEST_DIR, "sfc_tacker.bash") ssh_options = '-q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' json_results = {"tests": 4, "failures": 0} @@ -119,7 +117,46 @@ def main(): srv_prv_ip = srv_instance.networks.get(NET_NAME)[0] - subprocess.call(TACKER_SCRIPT, shell=True) + os_tacker.create_vnfd( + tacker_client, + tosca_file=os.path.join(SFC_TEST_DIR, 'test-vnfd1.yaml')) + os_tacker.create_vnfd( + tacker_client, + tosca_file=os.path.join(SFC_TEST_DIR, 'test-vnfd2.yaml')) + + os_tacker.create_vnf( + tacker_client, 'testVNF1', vnfd_name='test-vnfd1') + os_tacker.create_vnf( + tacker_client, 'testVNF2', vnfd_name='test-vnfd2') + + try: + os_tacker.wait_for_vnf(tacker_client, vnf_name='testVNF1') + os_tacker.wait_for_vnf(tacker_client, vnf_name='testVNF2') + except: + logger.error('ERROR while booting vnfs') + sys.exit(1) + + os_tacker.create_sfc(tacker_client, 'red', chain_vnf_names=['testVNF1']) + os_tacker.create_sfc(tacker_client, 'blue', chain_vnf_names=['testVNF2']) + + os_tacker.create_sfc_classifier( + tacker_client, 'red_http', sfc_name='red', + match={ + 'source_port': 0, + 'dest_port': 80, + 'protocol': 6 + }) + + os_tacker.create_sfc_classifier( + tacker_client, 'red_ssh', sfc_name='red', + match={ + 'source_port': 0, + 'dest_port': 22, + 'protocol': 6 + }) + + logger.info(test_utils.run_cmd('tacker sfc-list')) + logger.info(test_utils.run_cmd('tacker sfc-classifier-list')) # Start measuring the time it takes to implement the classification rules t1 = threading.Thread(target=test_utils.capture_time_log, diff --git a/tests/functest/odl-sfc/sfc_tacker.bash b/tests/functest/odl-sfc/sfc_tacker.bash deleted file mode 100755 index 690d5f52..00000000 --- a/tests/functest/odl-sfc/sfc_tacker.bash +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash -BASEDIR=`dirname $0` - -#import VNF descriptor -tacker vnfd-create --vnfd-file ${BASEDIR}/test-vnfd1.yaml -tacker vnfd-create --vnfd-file ${BASEDIR}/test-vnfd2.yaml - -#create instances of the imported VNF -tacker vnf-create --name testVNF1 --vnfd-name test-vnfd1 -tacker vnf-create --name testVNF2 --vnfd-name test-vnfd2 - -key=true -while $key;do - sleep 3 - active=`tacker vnf-list | grep -E 'PENDING|ERROR'` - echo -e "checking if SFs are up: $active" - if [ -z "$active" ]; then - key=false - fi -done - -#create service chain -tacker sfc-create --name red --chain testVNF1 -tacker sfc-create --name blue --chain testVNF2 - -#create classifier -tacker sfc-classifier-create --name red_http --chain red --match source_port=0,dest_port=80,protocol=6 -tacker sfc-classifier-create --name red_ssh --chain red --match source_port=0,dest_port=22,protocol=6 - -tacker sfc-list -tacker sfc-classifier-list -- cgit 1.2.3-korg