diff options
-rw-r--r-- | docker/requirements.pip | 1 | ||||
-rwxr-xr-x | testcases/security_scan/security_scan.py | 13 | ||||
-rwxr-xr-x | utils/openstack_clean.py | 11 | ||||
-rwxr-xr-x | utils/openstack_utils.py | 5 |
4 files changed, 24 insertions, 6 deletions
diff --git a/docker/requirements.pip b/docker/requirements.pip index 25ec795f3..7ba1a350c 100644 --- a/docker/requirements.pip +++ b/docker/requirements.pip @@ -11,6 +11,7 @@ pyyaml==3.10 gitpython==1.0.1 python-openstackclient==2.3.0 python-ceilometerclient==1.5.1 +python-keystoneclient==2.3.1 virtualenv==1.11.4 pexpect==4.0 requests==2.8.0 diff --git a/testcases/security_scan/security_scan.py b/testcases/security_scan/security_scan.py index 7b9250215..ac7b78ed6 100755 --- a/testcases/security_scan/security_scan.py +++ b/testcases/security_scan/security_scan.py @@ -12,18 +12,19 @@ # nominated node. Post scan a report is downloaded and if '--clean' is passed # all trace of the scan is removed from the remote system. + +import argparse +import connect import datetime import os import sys -from ConfigParser import SafeConfigParser -import argparse +from ConfigParser import SafeConfigParser from functest.utils.functest_utils import FUNCTEST_REPO as FUNCTEST_REPO from keystoneclient import session from keystoneclient.auth.identity import v2 from novaclient import client -import connect __version__ = 0.1 __author__ = 'Luke Hinds (lhinds@redhat.com)' @@ -80,16 +81,16 @@ def run_tests(host, nodetype): connect.logger.info("Internet Connection OK.") connect.logger.info("Creating temp file structure..") createfiles(host, port, user, localkey) - connect.logger.info("Installing OpenSCAP...") + connect.logger.debug("Installing OpenSCAP...") install_pkg(host, port, user, localkey) - connect.logger.info("Running scan...") + connect.logger.debug("Running scan...") run_scanner(host, port, user, localkey, nodetype) clean = cfgparse.get(nodetype, 'clean') connect.logger.info("Post installation tasks....") post_tasks(host, port, user, localkey, nodetype) if clean: connect.logger.info("Cleaning down environment....") - connect.logger.info("Removing OpenSCAP....") + connect.logger.debug("Removing OpenSCAP....") removepkg(host, port, user, localkey, nodetype) connect.logger.info("Deleting tmp file and reports (remote)...") cleandir(host, port, user, localkey, nodetype) diff --git a/utils/openstack_clean.py b/utils/openstack_clean.py index 8aba763ce..3b937c917 100755 --- a/utils/openstack_clean.py +++ b/utils/openstack_clean.py @@ -202,9 +202,20 @@ def remove_networks(neutron_client, default_networks, default_routers): else: remove_routers(neutron_client, routers, default_routers) + # trozet: wait for Neutron to auto-cleanup HA networks when HA router is + # deleted + time.sleep(5) + # remove networks if network_ids is not None: for net_id in network_ids: + networks = os_utils.get_network_list(neutron_client) + if networks is None: + logger.debug("No networks left to remove") + break + elif not any(network['id'] == net_id for network in networks): + logger.debug("Network %s has already been removed" % net_id) + continue logger.debug("Removing network %s ..." % net_id) if os_utils.delete_neutron_net(neutron_client, net_id): logger.debug(" > Done!") diff --git a/utils/openstack_utils.py b/utils/openstack_utils.py index 21e00d9b9..ff9b54a58 100755 --- a/utils/openstack_utils.py +++ b/utils/openstack_utils.py @@ -705,6 +705,11 @@ def create_network_association(neutron_client, bgpvpn_id, neutron_network_id): return neutron_client.create_network_association(bgpvpn_id, json_body) +def create_router_association(neutron_client, bgpvpn_id, router_id): + json_body = {"router_association": {"router_id": router_id}} + return neutron_client.create_router_association(bgpvpn_id, json_body) + + def update_bgpvpn(neutron_client, bgpvpn_id, **kwargs): json_body = {"bgpvpn": kwargs} return neutron_client.update_bgpvpn(bgpvpn_id, json_body) |