import os import subprocess import sys import time import argparse import paramiko import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as ft_utils import functest.utils.openstack_utils as os_utils import SSHUtils as ssh_utils import ovs_utils parser = argparse.ArgumentParser() parser.add_argument("-r", "--report", help="Create json result file", action="store_true") args = parser.parse_args() """ logging configuration """ logger = ft_logger.Logger("ODL_SFC").getLogger() FUNCTEST_RESULTS_DIR = '/home/opnfv/functest/results/odl-sfc' FUNCTEST_REPO = ft_utils.FUNCTEST_REPO HOME = os.environ['HOME'] + "/" VM_BOOT_TIMEOUT = 180 INSTANCE_NAME = "client" FLAVOR = "custom" IMAGE_NAME = "sf_nsh_colorado" IMAGE_FILENAME = "sf_nsh_colorado.qcow2" IMAGE_FORMAT = "qcow2" IMAGE_PATH = "/home/opnfv/functest/data" + "/" + IMAGE_FILENAME # NEUTRON Private Network parameters NET_NAME = "example-net" SUBNET_NAME = "example-subnet" SUBNET_CIDR = "11.0.0.0/24" ROUTER_NAME = "example-router" SECGROUP_NAME = "example-sg" SECGROUP_DESCR = "Example Security group" INSTANCE_NAME_2 = "server" # TEST_DB = ft_utils.get_parameter_from_yaml("results.test_db_url") PRE_SETUP_SCRIPT = 'sfc_pre_setup.bash' TACKER_SCRIPT = 'sfc_tacker.bash' TEARDOWN_SCRIPT = "sfc_teardown.bash" TACKER_CHANGECLASSI = "sfc_change_classi.bash" ssh_options = '-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' PROXY = { 'ip': '10.20.0.2', 'username': 'root', 'password': 'r00tme' } def check_ssh(ip): cmd = "sshpass -p opnfv ssh " + ssh_options + " -q " + ip + " exit" success = subprocess.call(cmd, shell=True) == 0 if not success: logger.debug("Wating for SSH connectivity in SF with IP: %s" % ip) return success def main(): # Allow any port so that tacker commands reaches the server. # This will be deleted when tacker is included in OPNFV installation status = "PASS" failures = 0 start_time = time.time() json_results = {} contr_cmd = ("sshpass -p r00tme ssh " + ssh_options + " root@10.20.0.2" " 'fuel node'|grep controller|awk '{print $10}'") logger.info("Executing script to get ip_server: '%s'" % contr_cmd) process = subprocess.Popen(contr_cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) ip_server = process.stdout.readline().rstrip() comp_cmd = ("sshpass -p r00tme ssh " + ssh_options + " root@10.20.0.2" " 'fuel node'|grep compute|awk '{print $10}'") logger.info("Executing script to get compute IPs: '%s'" % comp_cmd) process = subprocess.Popen(comp_cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) ip_computes = [ip.strip() for ip in process.stdout.readlines()] iptable_cmd1 = ("sshpass -p r00tme ssh " + ssh_options + " root@10.20.0.2" " ssh " + ip_server + " iptables -P INPUT ACCEPT ") iptable_cmd2 = ("sshpass -p r00tme ssh " + ssh_options + " root@10.20.0.2" " ssh " + ip_server + " iptables -t nat -P INPUT ACCEPT ") iptable_cmd3 = ("sshpass -p r00tme ssh " + ssh_options + " root@10.20.0.2" " ssh " + ssh_options + " " + ip_server + " iptables -A INPUT -m state" " --state NEW,ESTABLISHED,RELATED -j ACCEPT") logger.info("Changing firewall policy in controller: '%s'" % iptable_cmd1) subprocess.call(iptable_cmd1, shell=True, stderr=subprocess.PIPE) logger.info("Changing firewall policy in controller: '%s'" % iptable_cmd2) subprocess.call(iptable_cmd2, shell=True, stderr=subprocess.PIPE) logger.info("Changing firewall policy in controller: '%s'" % iptable_cmd3) subprocess.c
org.onosproject.bgp.controller*
org.onosproject.bgpio*