diff options
-rw-r--r-- | docker/bottleneck-compose/docker-compose.yml | 1 | ||||
-rw-r--r-- | testsuites/posca/testcase_cfg/posca_stress_ping.yaml | 2 | ||||
-rw-r--r-- | testsuites/posca/testcase_script/posca_stress_ping.py | 10 | ||||
-rw-r--r-- | utils/env_prepare/quota_prepare.py | 76 | ||||
-rw-r--r-- | utils/env_prepare/stack_prepare.py | 4 |
5 files changed, 88 insertions, 5 deletions
diff --git a/docker/bottleneck-compose/docker-compose.yml b/docker/bottleneck-compose/docker-compose.yml index 6dbf8999..7745f41f 100644 --- a/docker/bottleneck-compose/docker-compose.yml +++ b/docker/bottleneck-compose/docker-compose.yml @@ -36,3 +36,4 @@ bottlenecks: environment: - INSTALLER_IP=192.168.200.2 - INSTALLER_TYPE=compass + - DEBUG=true diff --git a/testsuites/posca/testcase_cfg/posca_stress_ping.yaml b/testsuites/posca/testcase_cfg/posca_stress_ping.yaml index a60a8832..75eba97d 100644 --- a/testsuites/posca/testcase_cfg/posca_stress_ping.yaml +++ b/testsuites/posca/testcase_cfg/posca_stress_ping.yaml @@ -7,7 +7,7 @@ load_manager: tool: ping test_times: 100 package_size: - num_stack: 2, 5, 10 + num_stack: 5, 10, 20 package_loss: 10% contexts: diff --git a/testsuites/posca/testcase_script/posca_stress_ping.py b/testsuites/posca/testcase_script/posca_stress_ping.py index 02244a37..732422ea 100644 --- a/testsuites/posca/testcase_script/posca_stress_ping.py +++ b/testsuites/posca/testcase_script/posca_stress_ping.py @@ -18,8 +18,9 @@ import os import multiprocessing import docker import datetime -import utils.infra_setup.runner.yardstick as Runner from utils.parser import Parser as conf_parser +import utils.env_prepare.quota_prepare as quota_prepare +import utils.env_prepare.stack_prepare as stack_prepare import testsuites.posca.testcase_dashboard.posca_stress_ping as DashBoard # -------------------------------------------------- # logging configuration @@ -40,9 +41,12 @@ testcase, file_format = os.path.splitext(testfile) def env_pre(con_dic): + stack_prepare._prepare_env_daemon() + quota_prepare.quota_env_prepare() client = docker.from_env() con = client.containers.get('bottleneckcompose_yardstick_1') cmd = ('yardstick env prepare') + LOG.info("yardstick envrionment prepare!") stdout = con.exec_run(cmd) LOG.debug(stdout) @@ -99,14 +103,16 @@ def run(test_config): LOG.info("Create Dashboard data") DashBoard.posca_stress_ping(test_config["dashboard"]) - LOG.info("yardstick envrionment prepare!") + LOG.info("bottlenecks envrionment prepare!") env_pre(con_dic) + LOG.info("yardstick envrionment prepare done!") for value in test_num: result = [] out_num = 0 num = int(value) pool = multiprocessing.Pool(processes=num) + LOG.info("begin to run %s thread" % num) starttime = datetime.datetime.now() for i in range(0, int(num)): diff --git a/utils/env_prepare/quota_prepare.py b/utils/env_prepare/quota_prepare.py new file mode 100644 index 00000000..e52a3e32 --- /dev/null +++ b/utils/env_prepare/quota_prepare.py @@ -0,0 +1,76 @@ +#!/usr/bin/env python +############################################################################## +# Copyright (c) 2016 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + + +import os +import commands +import utils.logger as log +import utils.infra_setup.heat.manager as client_manager + +LOG = log.Logger(__name__).getLogger() + +neutron_quota = {"subnet": -1, + "network": -1, + "floatingip": -1, + "subnetpool": -1, + "router": -1, + "port": -1} + +nova_quota = {"ram": -1, + "cores": -1, + "instances": -1, + "key_pairs": -1, + "fixed_ips": -1, + "floating_ips": -1, + "server_groups": -1, + "injected_files": -1, + "metadata_items": -1, + "security_groups": -1, + "security_group_rules": -1, + "server_group_members": -1, + "injected_file_content_bytes": -1, + "injected_file_path_bytes": -1} + + +def quota_env_prepare(): + tenant_name = os.getenv("OS_TENANT_NAME") + cmd = ("openstack project list | grep " + + tenant_name + + " | awk '{print $2}'") + + result = commands.getstatusoutput(cmd) + if result[0] == 0: + LOG.info(result[1]) + else: + LOG.error("can't get openstack project id") + return 1 + + openstack_id = result[1] + + nova_client = client_manager._get_nova_client() + neutron_client = client_manager._get_neutron_client() + + nova_q = nova_client.quotas.get(openstack_id).to_dict() + neutron_q = neutron_client.show_quota(openstack_id) + LOG.info(tenant_name + "tenant nova and neutron quota(previous) :") + LOG.info(nova_q) + LOG.info(neutron_q) + + nova_client.quotas.update(openstack_id, **nova_quota) + neutron_client.update_quota(openstack_id, + {'quota': neutron_quota}) + LOG.info("Quota has been changed!") + + nova_q = nova_client.quotas.get(openstack_id).to_dict() + neutron_q = neutron_client.show_quota(openstack_id) + LOG.info(tenant_name + "tenant nova and neutron quota(now) :") + LOG.info(nova_q) + LOG.info(neutron_q) + return 0 diff --git a/utils/env_prepare/stack_prepare.py b/utils/env_prepare/stack_prepare.py index 37b523d1..3c706fad 100644 --- a/utils/env_prepare/stack_prepare.py +++ b/utils/env_prepare/stack_prepare.py @@ -28,10 +28,10 @@ def _prepare_env_daemon(): _source_file(rc_file) - _append_external_network(rc_file) + # _append_external_network(rc_file) # update the external_network - _source_file(rc_file) + # _source_file(rc_file) def _get_remote_rc_file(rc_file, installer_ip, installer_type): |