From e7c4d05b182e834fe55164315fc9b36a322578a2 Mon Sep 17 00:00:00 2001 From: liyin Date: Tue, 21 Feb 2017 17:20:28 +0800 Subject: quota limit for posca_stress_ping JIRA:BOTTLENECK-140 Those code will update an action of quota. Before out test begin we will make quota no limit. so we could do stress test. Those quota limit will change openstack forever. maybe will create damage for openstack. Change-Id: I0a6a06c6c303589881cb2ab7b754213ecf1a845f Signed-off-by: liyin --- utils/env_prepare/quota_prepare.py | 76 ++++++++++++++++++++++++++++++++++++++ utils/env_prepare/stack_prepare.py | 4 +- 2 files changed, 78 insertions(+), 2 deletions(-) create mode 100644 utils/env_prepare/quota_prepare.py (limited to 'utils') 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): -- cgit 1.2.3-korg