Merge "Auto venv via path module"
This commit is contained in:
commit
3ed03f737a
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,11 +1,11 @@
|
|||||||
*.py[cod]
|
*.py[cod]
|
||||||
|
.tox
|
||||||
|
|
||||||
# Virtual Environments:
|
# Virtual Environments:
|
||||||
.browbeat-venv
|
.browbeat-venv
|
||||||
.perfkit-venv
|
.perfkit-venv
|
||||||
.rally-venv
|
.rally-venv
|
||||||
.shaker-venv
|
.shaker-venv
|
||||||
.yoda-venv
|
|
||||||
|
|
||||||
# OpenStack Environment Files
|
# OpenStack Environment Files
|
||||||
stackrc
|
stackrc
|
||||||
|
@ -25,25 +25,22 @@ overcloudrc: "{{home_dir}}/overcloudrc"
|
|||||||
# overcloud_ca_path: /etc/pki/ca-trust/source/anchors/overcloud.crt.pem
|
# overcloud_ca_path: /etc/pki/ca-trust/source/anchors/overcloud.crt.pem
|
||||||
|
|
||||||
# The default Browbeat venv
|
# The default Browbeat venv
|
||||||
browbeat_venv: "{{home_dir}}/browbeat-venv"
|
browbeat_venv: "{{browbeat_path}}/.browbeat-venv"
|
||||||
|
|
||||||
# The default Rally venv
|
# The default Rally venv
|
||||||
rally_venv: "{{home_dir}}/rally-venv"
|
rally_venv: "{{browbeat_path}}/.rally-venv"
|
||||||
|
|
||||||
# Rally version to install
|
# Rally version to install
|
||||||
rally_version: 0.8.1
|
rally_version: 0.8.1
|
||||||
|
|
||||||
# The default Shaker venv
|
# The default Shaker venv
|
||||||
shaker_venv: "{{home_dir}}/shaker-venv"
|
shaker_venv: "{{browbeat_path}}/.shaker-venv"
|
||||||
|
|
||||||
# Shaker version to Install
|
# Shaker version to Install
|
||||||
shaker_version: 1.1.0
|
shaker_version: 1.1.0
|
||||||
|
|
||||||
# The default YODA venv
|
|
||||||
yoda_venv: /home/stack/yoda-venv
|
|
||||||
|
|
||||||
# PerfKitBenchmarker Settings
|
# PerfKitBenchmarker Settings
|
||||||
perfkit_venv: "{{home_dir}}/perfkit-venv"
|
perfkit_venv: "{{browbeat_path}}/.perfkit-venv"
|
||||||
perfkit_version: v1.12.0
|
perfkit_version: v1.12.0
|
||||||
|
|
||||||
# Configuration items to adjust browbeat results served through httpd
|
# Configuration items to adjust browbeat results served through httpd
|
||||||
|
@ -2,6 +2,6 @@
|
|||||||
|
|
||||||
- name: Run Browbeat
|
- name: Run Browbeat
|
||||||
shell:
|
shell:
|
||||||
"source {{ ansible_env.HOME }}/browbeat-venv/bin/activate; \
|
"source {{ ansible_env.HOME }}/browbeat/.browbeat-venv/bin/activate; \
|
||||||
cd {{ ansible_env.HOME }}/browbeat/; \
|
cd {{ ansible_env.HOME }}/browbeat/; \
|
||||||
python browbeat.py all"
|
python browbeat.py all"
|
||||||
|
@ -2,7 +2,6 @@ browbeat:
|
|||||||
results : results/
|
results : results/
|
||||||
rerun: 3
|
rerun: 3
|
||||||
cloud_name: {{ browbeat_cloud_name }}
|
cloud_name: {{ browbeat_cloud_name }}
|
||||||
overcloud_credentials: /home/stack/overcloudrc
|
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
enabled: {{ elastic_enabled }}
|
enabled: {{ elastic_enabled }}
|
||||||
host: {{ elastic_host }}
|
host: {{ elastic_host }}
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
# Tests to be compleated for the install-and-check.sh script minimal and short workloads are performed
|
# Tests to be completed for the install-and-check.sh script minimal and short workloads are performed
|
||||||
# to confirm functionality.
|
# to confirm functionality.
|
||||||
browbeat:
|
browbeat:
|
||||||
results : results/
|
results : results/
|
||||||
rerun: 1
|
rerun: 1
|
||||||
cloud_name: {{ browbeat_cloud_name }}
|
cloud_name: {{ browbeat_cloud_name }}
|
||||||
overcloud_credentials: /home/stack/overcloudrc
|
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
enabled: {{ elastic_enabled }}
|
enabled: {{ elastic_enabled }}
|
||||||
host: {{ elastic_host }}
|
host: {{ elastic_host }}
|
||||||
|
@ -4,7 +4,6 @@ browbeat:
|
|||||||
results : results/
|
results : results/
|
||||||
rerun: 1
|
rerun: 1
|
||||||
cloud_name: {{ browbeat_cloud_name }}
|
cloud_name: {{ browbeat_cloud_name }}
|
||||||
overcloud_credentials: /home/stack/overcloudrc
|
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
enabled: {{ elastic_enabled }}
|
enabled: {{ elastic_enabled }}
|
||||||
host: {{ elastic_host }}
|
host: {{ elastic_host }}
|
||||||
|
@ -3,7 +3,6 @@ browbeat:
|
|||||||
results : results/
|
results : results/
|
||||||
rerun: 3
|
rerun: 3
|
||||||
cloud_name: openstack
|
cloud_name: openstack
|
||||||
overcloud_credentials: /home/stack/overcloudrc
|
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
enabled: false
|
enabled: false
|
||||||
regather: false
|
regather: false
|
||||||
@ -40,7 +39,6 @@ perfkit:
|
|||||||
enabled: true
|
enabled: true
|
||||||
sleep_before: 0
|
sleep_before: 0
|
||||||
sleep_after: 0
|
sleep_after: 0
|
||||||
venv: /home/stack/perfkit-venv
|
|
||||||
default:
|
default:
|
||||||
image: centos7
|
image: centos7
|
||||||
machine_type: m1.small
|
machine_type: m1.small
|
||||||
@ -59,7 +57,6 @@ rally:
|
|||||||
enabled: true
|
enabled: true
|
||||||
sleep_before: 5
|
sleep_before: 5
|
||||||
sleep_after: 5
|
sleep_after: 5
|
||||||
venv: /home/stack/rally-venv
|
|
||||||
plugins:
|
plugins:
|
||||||
- netcreate-boot: rally/rally-plugins/netcreate-boot
|
- netcreate-boot: rally/rally-plugins/netcreate-boot
|
||||||
- netcreate-boot-ping: rally/rally-plugins/netcreate-boot-ping
|
- netcreate-boot-ping: rally/rally-plugins/netcreate-boot-ping
|
||||||
@ -275,7 +272,6 @@ shaker:
|
|||||||
join_timeout: 600
|
join_timeout: 600
|
||||||
sleep_before: 5
|
sleep_before: 5
|
||||||
sleep_after: 5
|
sleep_after: 5
|
||||||
venv: /home/stack/shaker-venv
|
|
||||||
shaker_region: regionOne
|
shaker_region: regionOne
|
||||||
external_host: 2.2.2.2
|
external_host: 2.2.2.2
|
||||||
scenarios:
|
scenarios:
|
||||||
@ -371,7 +367,6 @@ yoda:
|
|||||||
enabled: false
|
enabled: false
|
||||||
instackenv: "/home/stack/instackenv.json"
|
instackenv: "/home/stack/instackenv.json"
|
||||||
stackrc: "/home/stack/stackrc"
|
stackrc: "/home/stack/stackrc"
|
||||||
venv: "/home/stack/yoda-venv/bin/activate"
|
|
||||||
benchmarks:
|
benchmarks:
|
||||||
- name: scale-deploy
|
- name: scale-deploy
|
||||||
type: overcloud
|
type: overcloud
|
||||||
|
@ -3,7 +3,6 @@ browbeat:
|
|||||||
results : results/
|
results : results/
|
||||||
rerun: 1
|
rerun: 1
|
||||||
cloud_name: openstack
|
cloud_name: openstack
|
||||||
overcloud_credentials: /home/stack/overcloudrc
|
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
enabled: true
|
enabled: true
|
||||||
host: 1.1.1.1
|
host: 1.1.1.1
|
||||||
@ -40,7 +39,6 @@ perfkit:
|
|||||||
enabled: false
|
enabled: false
|
||||||
sleep_before: 0
|
sleep_before: 0
|
||||||
sleep_after: 0
|
sleep_after: 0
|
||||||
venv: /home/stack/perfkit-venv
|
|
||||||
default:
|
default:
|
||||||
image: centos7
|
image: centos7
|
||||||
machine_type: m1.small
|
machine_type: m1.small
|
||||||
@ -63,7 +61,6 @@ shaker:
|
|||||||
join_timeout: 600
|
join_timeout: 600
|
||||||
sleep_before: 5
|
sleep_before: 5
|
||||||
sleep_after: 5
|
sleep_after: 5
|
||||||
venv: /home/stack/shaker-venv
|
|
||||||
shaker_region: regionOne
|
shaker_region: regionOne
|
||||||
external_host: 2.2.2.2
|
external_host: 2.2.2.2
|
||||||
scenarios:
|
scenarios:
|
||||||
@ -92,7 +89,6 @@ rally:
|
|||||||
enabled: true
|
enabled: true
|
||||||
sleep_before: 5
|
sleep_before: 5
|
||||||
sleep_after: 5
|
sleep_after: 5
|
||||||
venv: /home/stack/rally-venv
|
|
||||||
plugins:
|
plugins:
|
||||||
- netcreate-boot: rally/rally-plugins/netcreate-boot
|
- netcreate-boot: rally/rally-plugins/netcreate-boot
|
||||||
- netcreate-boot-ping: rally/rally-plugins/netcreate-boot-ping
|
- netcreate-boot-ping: rally/rally-plugins/netcreate-boot-ping
|
||||||
|
11
browbeat.py
11
browbeat.py
@ -13,18 +13,15 @@
|
|||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
import datetime
|
import datetime
|
||||||
import browbeat.elastic
|
|
||||||
import browbeat.perfkit
|
|
||||||
import browbeat.rally
|
|
||||||
import browbeat.shaker
|
|
||||||
import browbeat.yoda
|
|
||||||
import browbeat.workloadbase
|
|
||||||
import browbeat.tools
|
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import time
|
import time
|
||||||
|
|
||||||
|
import browbeat.elastic
|
||||||
|
import browbeat.tools
|
||||||
|
import browbeat.workloadbase
|
||||||
|
|
||||||
_workload_opts = ['perfkit', 'rally', 'shaker', 'yoda']
|
_workload_opts = ['perfkit', 'rally', 'shaker', 'yoda']
|
||||||
_config_file = 'browbeat-config.yaml'
|
_config_file = 'browbeat-config.yaml'
|
||||||
debug_log_file = 'log/debug.log'
|
debug_log_file = 'log/debug.log'
|
||||||
|
@ -11,16 +11,17 @@
|
|||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
from collections import deque
|
from collections import deque
|
||||||
import elasticsearch
|
|
||||||
from elasticsearch import helpers
|
|
||||||
import logging
|
|
||||||
import json
|
|
||||||
import datetime
|
import datetime
|
||||||
import uuid
|
import json
|
||||||
import sys
|
import logging
|
||||||
import time
|
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
|
import sys
|
||||||
|
import time
|
||||||
|
import uuid
|
||||||
|
|
||||||
|
import elasticsearch
|
||||||
|
from elasticsearch import helpers
|
||||||
|
|
||||||
browbeat_uuid = uuid.uuid4()
|
browbeat_uuid = uuid.uuid4()
|
||||||
|
|
||||||
|
69
browbeat/path.py
Normal file
69
browbeat/path.py
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
import logging
|
||||||
|
import os
|
||||||
|
|
||||||
|
|
||||||
|
_logger = logging.getLogger('browbeat.path')
|
||||||
|
|
||||||
|
# Browbeat's project modules path, typically /home/stack/browbeat/browbeat
|
||||||
|
browbeat_project_path = os.path.dirname(os.path.realpath(__file__))
|
||||||
|
|
||||||
|
# Path to Browbeat, typically /home/stack/browbeat
|
||||||
|
browbeat_path = os.path.abspath(os.path.join(browbeat_project_path, os.pardir))
|
||||||
|
|
||||||
|
# Base Path, typically /home/stack
|
||||||
|
base_path = os.path.abspath(os.path.join(browbeat_path, os.pardir))
|
||||||
|
|
||||||
|
conf_path = os.path.join(browbeat_path, 'conf')
|
||||||
|
|
||||||
|
log_path = os.path.join(browbeat_path, 'log')
|
||||||
|
|
||||||
|
results_path = os.path.join(browbeat_path, 'results')
|
||||||
|
|
||||||
|
def get_overcloudrc():
|
||||||
|
"""Check the several expected locations for the overcloudrc file:
|
||||||
|
* $base_path/overcloudrc
|
||||||
|
* $browbeat_path/overcloudrc
|
||||||
|
"""
|
||||||
|
paths = [
|
||||||
|
os.path.join(base_path, 'overcloudrc'),
|
||||||
|
os.path.join(browbeat_path, 'overcloudrc')
|
||||||
|
]
|
||||||
|
for overcloudrc_file in paths:
|
||||||
|
if os.path.exists(overcloudrc_file):
|
||||||
|
return overcloudrc_file
|
||||||
|
else:
|
||||||
|
_logger.debug("overcloudrc not found in {}".format(overcloudrc_file))
|
||||||
|
_logger.error('overcloudrc file can not be found')
|
||||||
|
|
||||||
|
def get_workload_venv(workload, path_activate):
|
||||||
|
"""Check the several expected locations for a workload's venv and return the existing venv:
|
||||||
|
* $base_path/$workload-venv
|
||||||
|
* $base_path/.$workload-venv
|
||||||
|
* $browbeat_path/.$workload-venv
|
||||||
|
"""
|
||||||
|
paths = [
|
||||||
|
os.path.join(base_path, '{}-venv'.format(workload)),
|
||||||
|
os.path.join(base_path, '.{}-venv'.format(workload)),
|
||||||
|
os.path.join(browbeat_path, '.{}-venv'.format(workload))
|
||||||
|
]
|
||||||
|
for workload_venv_path in paths:
|
||||||
|
if os.path.isdir(workload_venv_path):
|
||||||
|
if path_activate and os.path.exists(os.path.join(workload_venv_path, 'bin/activate')):
|
||||||
|
return os.path.join(workload_venv_path, 'bin/activate')
|
||||||
|
else:
|
||||||
|
return workload_venv_path
|
||||||
|
else:
|
||||||
|
_logger.debug("{} not installed in {}".format(workload, workload_venv_path))
|
||||||
|
_logger.error('{} does not appear to be installed correctly'.format(workload))
|
@ -11,24 +11,27 @@
|
|||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
import ast
|
import ast
|
||||||
import connmon
|
|
||||||
import datetime
|
import datetime
|
||||||
import elastic
|
|
||||||
import glob
|
import glob
|
||||||
import grafana
|
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
import shutil
|
import shutil
|
||||||
import subprocess
|
import subprocess
|
||||||
import time
|
import time
|
||||||
|
|
||||||
|
import connmon
|
||||||
|
import elastic
|
||||||
|
import grafana
|
||||||
|
from path import get_overcloudrc
|
||||||
|
from path import get_workload_venv
|
||||||
import tools
|
import tools
|
||||||
import workloadbase
|
import workloadbase
|
||||||
|
|
||||||
|
|
||||||
class PerfKit(workloadbase.WorkloadBase):
|
class PerfKit(workloadbase.WorkloadBase):
|
||||||
|
|
||||||
def __init__(self, config):
|
def __init__(self, config):
|
||||||
self.logger = logging.getLogger('browbeat.perfkit')
|
self.logger = logging.getLogger('browbeat.perfkit')
|
||||||
|
self.overcloudrc = get_overcloudrc()
|
||||||
self.config = config
|
self.config = config
|
||||||
self.error_count = 0
|
self.error_count = 0
|
||||||
self.tools = tools.Tools(self.config)
|
self.tools = tools.Tools(self.config)
|
||||||
@ -125,11 +128,12 @@ class PerfKit(workloadbase.WorkloadBase):
|
|||||||
# Build command to run
|
# Build command to run
|
||||||
if 'enabled' in benchmark_config:
|
if 'enabled' in benchmark_config:
|
||||||
del benchmark_config['enabled']
|
del benchmark_config['enabled']
|
||||||
cmd = ("source {0}/bin/activate; source {1} "
|
cmd = ("source {0}; source {1}; "
|
||||||
"/home/stack/perfkit-venv/PerfKitBenchmarker/pkb.py "
|
"{2}/PerfKitBenchmarker/pkb.py "
|
||||||
"--cloud={2} --run_uri=browbeat".format(
|
"--cloud={3} --run_uri=browbeat".format(
|
||||||
self.config['perfkit']['venv'],
|
get_workload_venv('perfkit', True),
|
||||||
self.config['browbeat']['overcloud_credentials'], cloud_type))
|
self.overcloudrc,
|
||||||
|
get_workload_venv('perfkit', False), cloud_type))
|
||||||
for parameter, value in benchmark_config.iteritems():
|
for parameter, value in benchmark_config.iteritems():
|
||||||
if not parameter == 'name':
|
if not parameter == 'name':
|
||||||
self.logger.debug(
|
self.logger.debug(
|
||||||
|
@ -11,19 +11,21 @@
|
|||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
import collections
|
import collections
|
||||||
import connmon
|
|
||||||
import datetime
|
import datetime
|
||||||
import elastic
|
|
||||||
import glob
|
import glob
|
||||||
import grafana
|
import json
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import shutil
|
import shutil
|
||||||
import time
|
import time
|
||||||
import tools
|
|
||||||
|
import connmon
|
||||||
|
import elastic
|
||||||
|
import grafana
|
||||||
|
from path import get_workload_venv
|
||||||
import workloadbase
|
import workloadbase
|
||||||
import json
|
import tools
|
||||||
|
|
||||||
|
|
||||||
class Rally(workloadbase.WorkloadBase):
|
class Rally(workloadbase.WorkloadBase):
|
||||||
@ -61,7 +63,7 @@ class Rally(workloadbase.WorkloadBase):
|
|||||||
plugin_string = ""
|
plugin_string = ""
|
||||||
if len(plugins) > 0:
|
if len(plugins) > 0:
|
||||||
plugin_string = "--plugin-paths {}".format(",".join(plugins))
|
plugin_string = "--plugin-paths {}".format(",".join(plugins))
|
||||||
cmd = "source {}/bin/activate; ".format(self.config['rally']['venv'])
|
cmd = "source {}; ".format(get_workload_venv('rally', True))
|
||||||
cmd += "rally {} task start {} --task-args \'{}\' 2>&1 | tee {}.log".format(
|
cmd += "rally {} task start {} --task-args \'{}\' 2>&1 | tee {}.log".format(
|
||||||
plugin_string, task_file, task_args, test_name)
|
plugin_string, task_file, task_args, test_name)
|
||||||
from_time = time.time()
|
from_time = time.time()
|
||||||
@ -104,18 +106,18 @@ class Rally(workloadbase.WorkloadBase):
|
|||||||
|
|
||||||
def gen_scenario_html(self, task_ids, test_name):
|
def gen_scenario_html(self, task_ids, test_name):
|
||||||
all_task_ids = ' '.join(task_ids)
|
all_task_ids = ' '.join(task_ids)
|
||||||
cmd = "source {}/bin/activate; ".format(self.config['rally']['venv'])
|
cmd = "source {}; ".format(get_workload_venv('rally', True))
|
||||||
cmd += "rally task report --task {} --out {}.html".format(
|
cmd += "rally task report --task {} --out {}.html".format(
|
||||||
all_task_ids, test_name)
|
all_task_ids, test_name)
|
||||||
return self.tools.run_cmd(cmd)['stdout']
|
return self.tools.run_cmd(cmd)['stdout']
|
||||||
|
|
||||||
def gen_scenario_json(self, task_id):
|
def gen_scenario_json(self, task_id):
|
||||||
cmd = "source {}/bin/activate; ".format(self.config['rally']['venv'])
|
cmd = "source {}; ".format(get_workload_venv('rally', True))
|
||||||
cmd += "rally task results {}".format(task_id)
|
cmd += "rally task results {}".format(task_id)
|
||||||
return self.tools.run_cmd(cmd)['stdout']
|
return self.tools.run_cmd(cmd)['stdout']
|
||||||
|
|
||||||
def gen_scenario_json_file(self, task_id, test_name):
|
def gen_scenario_json_file(self, task_id, test_name):
|
||||||
cmd = "source {}/bin/activate; ".format(self.config['rally']['venv'])
|
cmd = "source {}; ".format(get_workload_venv('rally', True))
|
||||||
cmd += "rally task results {} > {}.json".format(task_id, test_name)
|
cmd += "rally task results {} > {}.json".format(task_id, test_name)
|
||||||
return self.tools.run_cmd(cmd)['stdout']
|
return self.tools.run_cmd(cmd)['stdout']
|
||||||
|
|
||||||
|
@ -12,22 +12,26 @@
|
|||||||
|
|
||||||
import collections
|
import collections
|
||||||
import datetime
|
import datetime
|
||||||
import elastic
|
|
||||||
import grafana
|
|
||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
import time
|
import time
|
||||||
import tools
|
|
||||||
import uuid
|
import uuid
|
||||||
import workloadbase
|
|
||||||
import yaml
|
import yaml
|
||||||
|
|
||||||
|
import elastic
|
||||||
|
import grafana
|
||||||
|
from path import get_overcloudrc
|
||||||
|
from path import get_workload_venv
|
||||||
|
import workloadbase
|
||||||
|
import tools
|
||||||
|
|
||||||
|
|
||||||
class Shaker(workloadbase.WorkloadBase):
|
class Shaker(workloadbase.WorkloadBase):
|
||||||
|
|
||||||
def __init__(self, config):
|
def __init__(self, config):
|
||||||
self.logger = logging.getLogger('browbeat.shaker')
|
self.logger = logging.getLogger('browbeat.shaker')
|
||||||
|
self.overcloudrc = get_overcloudrc()
|
||||||
self.config = config
|
self.config = config
|
||||||
self.tools = tools.Tools(self.config)
|
self.tools = tools.Tools(self.config)
|
||||||
self.grafana = grafana.Grafana(self.config)
|
self.grafana = grafana.Grafana(self.config)
|
||||||
@ -38,7 +42,7 @@ class Shaker(workloadbase.WorkloadBase):
|
|||||||
self.scenario_count = 0
|
self.scenario_count = 0
|
||||||
|
|
||||||
def shaker_checks(self):
|
def shaker_checks(self):
|
||||||
cmd = "source /home/stack/overcloudrc; glance image-list | grep -w shaker-image"
|
cmd = "source {}; glance image-list | grep -w shaker-image".format(self.overcloudrc)
|
||||||
if self.tools.run_cmd(cmd)['stdout'] == "":
|
if self.tools.run_cmd(cmd)['stdout'] == "":
|
||||||
self.logger.error("Shaker Image is not built, try again")
|
self.logger.error("Shaker Image is not built, try again")
|
||||||
exit(1)
|
exit(1)
|
||||||
@ -351,14 +355,13 @@ class Shaker(workloadbase.WorkloadBase):
|
|||||||
server_endpoint = self.config['shaker']['server']
|
server_endpoint = self.config['shaker']['server']
|
||||||
port_no = self.config['shaker']['port']
|
port_no = self.config['shaker']['port']
|
||||||
flavor = self.config['shaker']['flavor']
|
flavor = self.config['shaker']['flavor']
|
||||||
venv = self.config['shaker']['venv']
|
venv = get_workload_venv('shaker', True)
|
||||||
shaker_region = self.config['shaker']['shaker_region']
|
shaker_region = self.config['shaker']['shaker_region']
|
||||||
timeout = self.config['shaker']['join_timeout']
|
timeout = self.config['shaker']['join_timeout']
|
||||||
self.logger.info(
|
self.logger.info(
|
||||||
"The uuid for this shaker scenario is {}".format(shaker_uuid))
|
"The uuid for this shaker scenario is {}".format(shaker_uuid))
|
||||||
cmd_env = (
|
cmd_env = (
|
||||||
"source {0}/bin/activate; source {1}").format(venv, self.config['browbeat']
|
"source {0}; source {1}").format(venv, self.overcloudrc)
|
||||||
['overcloud_credentials'])
|
|
||||||
if 'external' in filename and 'external_host' in self.config['shaker']:
|
if 'external' in filename and 'external_host' in self.config['shaker']:
|
||||||
external_host = self.config['shaker']['external_host']
|
external_host = self.config['shaker']['external_host']
|
||||||
cmd_shaker = (
|
cmd_shaker = (
|
||||||
@ -408,7 +411,7 @@ class Shaker(workloadbase.WorkloadBase):
|
|||||||
time_stamp = datetime.datetime.utcnow().strftime("%Y%m%d-%H%M%S")
|
time_stamp = datetime.datetime.utcnow().strftime("%Y%m%d-%H%M%S")
|
||||||
self.logger.debug("Time Stamp (Prefix): {}".format(time_stamp))
|
self.logger.debug("Time Stamp (Prefix): {}".format(time_stamp))
|
||||||
scenarios = self.config.get('shaker')['scenarios']
|
scenarios = self.config.get('shaker')['scenarios']
|
||||||
venv = self.config['shaker']['venv']
|
venv = get_workload_venv('shaker')
|
||||||
default_time = 60
|
default_time = 60
|
||||||
self.shaker_checks()
|
self.shaker_checks()
|
||||||
if (scenarios is not None and len(scenarios) > 0):
|
if (scenarios is not None and len(scenarios) > 0):
|
||||||
|
@ -10,17 +10,19 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
import logging
|
||||||
|
import os
|
||||||
|
import re
|
||||||
|
import subprocess
|
||||||
|
import yaml
|
||||||
|
|
||||||
|
from pykwalify import core as pykwalify_core
|
||||||
|
from pykwalify import errors as pykwalify_errors
|
||||||
|
|
||||||
import perfkit
|
import perfkit
|
||||||
import rally
|
import rally
|
||||||
import shaker
|
import shaker
|
||||||
import yoda
|
import yoda
|
||||||
import logging
|
|
||||||
import os
|
|
||||||
import subprocess
|
|
||||||
import yaml
|
|
||||||
import re
|
|
||||||
from pykwalify import core as pykwalify_core
|
|
||||||
from pykwalify import errors as pykwalify_errors
|
|
||||||
|
|
||||||
|
|
||||||
class Tools(object):
|
class Tools(object):
|
||||||
|
@ -14,9 +14,6 @@ mapping:
|
|||||||
cloud_name:
|
cloud_name:
|
||||||
type: str
|
type: str
|
||||||
required: True
|
required: True
|
||||||
overcloud_credentials:
|
|
||||||
type: str
|
|
||||||
required: True
|
|
||||||
|
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
required: True
|
required: True
|
||||||
@ -116,9 +113,6 @@ mapping:
|
|||||||
sleep_after:
|
sleep_after:
|
||||||
type: number
|
type: number
|
||||||
required: True
|
required: True
|
||||||
venv:
|
|
||||||
type: str
|
|
||||||
required: True
|
|
||||||
default:
|
default:
|
||||||
type: map
|
type: map
|
||||||
required: True
|
required: True
|
||||||
@ -191,9 +185,6 @@ mapping:
|
|||||||
sleep_after:
|
sleep_after:
|
||||||
type: number
|
type: number
|
||||||
required: True
|
required: True
|
||||||
venv:
|
|
||||||
type: str
|
|
||||||
required: True
|
|
||||||
shaker_region:
|
shaker_region:
|
||||||
type: str
|
type: str
|
||||||
required: true
|
required: true
|
||||||
@ -231,9 +222,6 @@ mapping:
|
|||||||
sleep_after:
|
sleep_after:
|
||||||
type: number
|
type: number
|
||||||
required: True
|
required: True
|
||||||
venv:
|
|
||||||
type: str
|
|
||||||
required: True
|
|
||||||
benchmarks:
|
benchmarks:
|
||||||
type: seq
|
type: seq
|
||||||
required: True
|
required: True
|
||||||
|
@ -12,23 +12,26 @@
|
|||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
# Yet another cloud deployment tool
|
# Yet another cloud deployment tool
|
||||||
|
|
||||||
|
from collections import deque
|
||||||
import datetime
|
import datetime
|
||||||
import elastic
|
|
||||||
import grafana
|
|
||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
|
import os
|
||||||
import time
|
import time
|
||||||
import tools
|
|
||||||
import workloadbase
|
|
||||||
from openstack import connection
|
from openstack import connection
|
||||||
from openstack import exceptions
|
from openstack import exceptions
|
||||||
import os
|
|
||||||
import requests
|
|
||||||
try:
|
try:
|
||||||
from ostag import ostag
|
from ostag import ostag
|
||||||
except ImportError:
|
except ImportError:
|
||||||
ostag = None
|
ostag = None
|
||||||
from collections import deque
|
import requests
|
||||||
|
|
||||||
|
import elastic
|
||||||
|
import grafana
|
||||||
|
import workloadbase
|
||||||
|
import tools
|
||||||
|
|
||||||
|
|
||||||
class Yoda(workloadbase.WorkloadBase):
|
class Yoda(workloadbase.WorkloadBase):
|
||||||
|
@ -3,7 +3,6 @@ browbeat:
|
|||||||
results : results/
|
results : results/
|
||||||
rerun: 1
|
rerun: 1
|
||||||
cloud_name: openstack
|
cloud_name: openstack
|
||||||
overcloud_credentials: /home/stack/overcloudrc
|
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
enabled: false
|
enabled: false
|
||||||
regather: false
|
regather: false
|
||||||
@ -40,7 +39,6 @@ rally:
|
|||||||
enabled: true
|
enabled: true
|
||||||
sleep_before: 5
|
sleep_before: 5
|
||||||
sleep_after: 5
|
sleep_after: 5
|
||||||
venv: /home/stack/rally-venv
|
|
||||||
plugins:
|
plugins:
|
||||||
- glance-create-boot-delete: rally/rally-plugins/glance-create-boot-delete
|
- glance-create-boot-delete: rally/rally-plugins/glance-create-boot-delete
|
||||||
benchmarks:
|
benchmarks:
|
||||||
|
@ -4,7 +4,6 @@ browbeat:
|
|||||||
results : results/
|
results : results/
|
||||||
rerun: 3
|
rerun: 3
|
||||||
cloud_name: openstack
|
cloud_name: openstack
|
||||||
overcloud_credentials: /home/stack/overcloudrc
|
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
enabled: false
|
enabled: false
|
||||||
regather: false
|
regather: false
|
||||||
@ -42,7 +41,6 @@ rally:
|
|||||||
enabled: true
|
enabled: true
|
||||||
sleep_before: 5
|
sleep_before: 5
|
||||||
sleep_after: 5
|
sleep_after: 5
|
||||||
venv: /home/stack/rally-venv
|
|
||||||
benchmarks:
|
benchmarks:
|
||||||
- name: authenticate
|
- name: authenticate
|
||||||
enabled: true
|
enabled: true
|
||||||
|
@ -4,7 +4,6 @@ browbeat:
|
|||||||
results : results/
|
results : results/
|
||||||
rerun: 1
|
rerun: 1
|
||||||
cloud_name: openstack
|
cloud_name: openstack
|
||||||
overcloud_credentials: /home/stack/overcloudrc
|
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
enabled: false
|
enabled: false
|
||||||
regather: false
|
regather: false
|
||||||
@ -42,7 +41,6 @@ rally:
|
|||||||
enabled: true
|
enabled: true
|
||||||
sleep_before: 5
|
sleep_before: 5
|
||||||
sleep_after: 5
|
sleep_after: 5
|
||||||
venv: /home/stack/rally-venv
|
|
||||||
benchmarks:
|
benchmarks:
|
||||||
- name: authenticate
|
- name: authenticate
|
||||||
enabled: true
|
enabled: true
|
||||||
|
@ -39,7 +39,6 @@ rally:
|
|||||||
enabled: true
|
enabled: true
|
||||||
sleep_before: 5
|
sleep_before: 5
|
||||||
sleep_after: 5
|
sleep_after: 5
|
||||||
venv: /home/stack/rally-venv/bin/activate
|
|
||||||
plugins:
|
plugins:
|
||||||
- workloads: rally/rally-plugins/workloads
|
- workloads: rally/rally-plugins/workloads
|
||||||
benchmarks:
|
benchmarks:
|
||||||
|
@ -3,7 +3,6 @@ browbeat:
|
|||||||
results : results/
|
results : results/
|
||||||
rerun: 1
|
rerun: 1
|
||||||
cloud_name: openstack
|
cloud_name: openstack
|
||||||
overcloud_credentials: /home/stack/overcloudrc
|
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
enabled: false
|
enabled: false
|
||||||
regather: false
|
regather: false
|
||||||
@ -40,7 +39,6 @@ rally:
|
|||||||
enabled: true
|
enabled: true
|
||||||
sleep_before: 5
|
sleep_before: 5
|
||||||
sleep_after: 5
|
sleep_after: 5
|
||||||
venv: /home/stack/rally-venv
|
|
||||||
plugins:
|
plugins:
|
||||||
- validate-ceilometer: rally/rally-plugins/validate-ceilometer
|
- validate-ceilometer: rally/rally-plugins/validate-ceilometer
|
||||||
- nova-ceilometer: rally/rally-plugins/nova-ceilometer
|
- nova-ceilometer: rally/rally-plugins/nova-ceilometer
|
||||||
|
@ -6,7 +6,6 @@ browbeat:
|
|||||||
results : results/
|
results : results/
|
||||||
rerun: 1
|
rerun: 1
|
||||||
cloud_name: openstack
|
cloud_name: openstack
|
||||||
overcloud_credentials: /home/stack/overcloudrc
|
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
enabled: false
|
enabled: false
|
||||||
regather: false
|
regather: false
|
||||||
@ -43,7 +42,6 @@ rally:
|
|||||||
enabled: true
|
enabled: true
|
||||||
sleep_before: 5
|
sleep_before: 5
|
||||||
sleep_after: 5
|
sleep_after: 5
|
||||||
venv: /home/stack/rally-venv
|
|
||||||
plugins:
|
plugins:
|
||||||
- nova: rally/rally-plugins/nova
|
- nova: rally/rally-plugins/nova
|
||||||
benchmarks:
|
benchmarks:
|
||||||
|
@ -4,7 +4,6 @@ browbeat:
|
|||||||
results : results/
|
results : results/
|
||||||
rerun: 1
|
rerun: 1
|
||||||
cloud_name: openstack
|
cloud_name: openstack
|
||||||
overcloud_credentials: /home/stack/overcloudrc
|
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
enabled: false
|
enabled: false
|
||||||
host: 1.1.1.1
|
host: 1.1.1.1
|
||||||
@ -41,7 +40,6 @@ rally:
|
|||||||
enabled: true
|
enabled: true
|
||||||
sleep_before: 0
|
sleep_before: 0
|
||||||
sleep_after: 0
|
sleep_after: 0
|
||||||
venv: /home/stack/rally-venv
|
|
||||||
plugins:
|
plugins:
|
||||||
- gnocchi: rally/rally-plugins/gnocchi
|
- gnocchi: rally/rally-plugins/gnocchi
|
||||||
benchmarks:
|
benchmarks:
|
||||||
|
@ -8,7 +8,6 @@ browbeat:
|
|||||||
results : results/
|
results : results/
|
||||||
rerun: 1
|
rerun: 1
|
||||||
cloud_name: openstack
|
cloud_name: openstack
|
||||||
overcloud_credentials: /home/stack/overcloudrc
|
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
enabled: false
|
enabled: false
|
||||||
regather: false
|
regather: false
|
||||||
@ -45,7 +44,6 @@ perfkit:
|
|||||||
enabled: true
|
enabled: true
|
||||||
sleep_before: 0
|
sleep_before: 0
|
||||||
sleep_after: 0
|
sleep_after: 0
|
||||||
venv: /home/stack/perfkit-venv
|
|
||||||
default:
|
default:
|
||||||
image: centos7
|
image: centos7
|
||||||
machine_type: m1.small
|
machine_type: m1.small
|
||||||
|
@ -10,7 +10,6 @@ browbeat:
|
|||||||
results : results/
|
results : results/
|
||||||
rerun: 1
|
rerun: 1
|
||||||
cloud_name: openstack
|
cloud_name: openstack
|
||||||
overcloud_credentials: /home/stack/overcloudrc
|
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
enabled: false
|
enabled: false
|
||||||
host: 1.1.1.1
|
host: 1.1.1.1
|
||||||
@ -47,7 +46,6 @@ rally:
|
|||||||
enabled: true
|
enabled: true
|
||||||
sleep_before: 5
|
sleep_before: 5
|
||||||
sleep_after: 5
|
sleep_after: 5
|
||||||
venv: /home/stack/rally-venv
|
|
||||||
plugins:
|
plugins:
|
||||||
- nova: rally/rally-plugins/nova
|
- nova: rally/rally-plugins/nova
|
||||||
- neutron: rally/rally-plugins/neutron
|
- neutron: rally/rally-plugins/neutron
|
||||||
|
@ -10,7 +10,6 @@ browbeat:
|
|||||||
results : results/
|
results : results/
|
||||||
rerun: 1
|
rerun: 1
|
||||||
cloud_name: openstack
|
cloud_name: openstack
|
||||||
overcloud_credentials: /home/stack/overcloudrc
|
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
enabled: false
|
enabled: false
|
||||||
host: 1.1.1.1
|
host: 1.1.1.1
|
||||||
@ -47,7 +46,6 @@ rally:
|
|||||||
enabled: true
|
enabled: true
|
||||||
sleep_before: 5
|
sleep_before: 5
|
||||||
sleep_after: 5
|
sleep_after: 5
|
||||||
venv: /home/stack/rally-venv
|
|
||||||
plugins:
|
plugins:
|
||||||
- nova: rally/rally-plugins/nova
|
- nova: rally/rally-plugins/nova
|
||||||
- neutron: rally/rally-plugins/neutron
|
- neutron: rally/rally-plugins/neutron
|
||||||
|
@ -10,7 +10,6 @@ browbeat:
|
|||||||
results : results/
|
results : results/
|
||||||
rerun: 1
|
rerun: 1
|
||||||
cloud_name: openstack
|
cloud_name: openstack
|
||||||
overcloud_credentials: /home/stack/overcloudrc
|
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
enabled: false
|
enabled: false
|
||||||
host: 1.1.1.1
|
host: 1.1.1.1
|
||||||
@ -47,7 +46,6 @@ rally:
|
|||||||
enabled: true
|
enabled: true
|
||||||
sleep_before: 5
|
sleep_before: 5
|
||||||
sleep_after: 5
|
sleep_after: 5
|
||||||
venv: /home/stack/rally-venv
|
|
||||||
plugins:
|
plugins:
|
||||||
- nova: rally/rally-plugins/nova
|
- nova: rally/rally-plugins/nova
|
||||||
- neutron: rally/rally-plugins/neutron
|
- neutron: rally/rally-plugins/neutron
|
||||||
|
@ -10,7 +10,6 @@ browbeat:
|
|||||||
results : results/
|
results : results/
|
||||||
rerun: 1
|
rerun: 1
|
||||||
cloud_name: openstack
|
cloud_name: openstack
|
||||||
overcloud_credentials: /home/stack/overcloudrc
|
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
enabled: false
|
enabled: false
|
||||||
host: 1.1.1.1
|
host: 1.1.1.1
|
||||||
@ -47,7 +46,6 @@ rally:
|
|||||||
enabled: true
|
enabled: true
|
||||||
sleep_before: 5
|
sleep_before: 5
|
||||||
sleep_after: 5
|
sleep_after: 5
|
||||||
venv: /home/stack/rally-venv
|
|
||||||
plugins:
|
plugins:
|
||||||
- nova: rally/rally-plugins/nova
|
- nova: rally/rally-plugins/nova
|
||||||
- neutron: rally/rally-plugins/neutron
|
- neutron: rally/rally-plugins/neutron
|
||||||
|
@ -8,7 +8,6 @@ browbeat:
|
|||||||
results : results/
|
results : results/
|
||||||
rerun: 1
|
rerun: 1
|
||||||
cloud_name: openstack
|
cloud_name: openstack
|
||||||
overcloud_credentials: /home/stack/overcloudrc
|
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
enabled: false
|
enabled: false
|
||||||
host: 1.1.1.1
|
host: 1.1.1.1
|
||||||
@ -47,7 +46,6 @@ rally:
|
|||||||
# Sleeps 30 minutes after each iteration to allow for system resources to degrade or
|
# Sleeps 30 minutes after each iteration to allow for system resources to degrade or
|
||||||
# display stepped degrading (If the system is hitting saturation or high utilization)
|
# display stepped degrading (If the system is hitting saturation or high utilization)
|
||||||
sleep_after: 1800
|
sleep_after: 1800
|
||||||
venv: /home/stack/rally-venv
|
|
||||||
plugins:
|
plugins:
|
||||||
- nova: rally/rally-plugins/nova
|
- nova: rally/rally-plugins/nova
|
||||||
- neutron: rally/rally-plugins/neutron
|
- neutron: rally/rally-plugins/neutron
|
||||||
|
@ -7,7 +7,6 @@ browbeat:
|
|||||||
results : results/
|
results : results/
|
||||||
rerun: 1
|
rerun: 1
|
||||||
cloud_name: openstack
|
cloud_name: openstack
|
||||||
overcloud_credentials: /home/stack/overcloudrc
|
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
enabled: false
|
enabled: false
|
||||||
regather: false
|
regather: false
|
||||||
@ -47,7 +46,6 @@ rally:
|
|||||||
# Sleeps 30 minutes after each iteration to allow for system resources to degrade or
|
# Sleeps 30 minutes after each iteration to allow for system resources to degrade or
|
||||||
# display stepped degrading (If the system is hitting saturation or high utilization)
|
# display stepped degrading (If the system is hitting saturation or high utilization)
|
||||||
sleep_after: 1800
|
sleep_after: 1800
|
||||||
venv: /home/stack/rally-venv
|
|
||||||
plugins:
|
plugins:
|
||||||
- nova: rally/rally-plugins/nova
|
- nova: rally/rally-plugins/nova
|
||||||
benchmarks:
|
benchmarks:
|
||||||
|
@ -397,9 +397,7 @@ setup Browbeat with Rally against your local quickstart cloud.
|
|||||||
|
|
||||||
Edit your browbeat-config and validate the following:
|
Edit your browbeat-config and validate the following:
|
||||||
|
|
||||||
* Correct overcloudrc referenced
|
|
||||||
* Elastic Indexing configuration
|
* Elastic Indexing configuration
|
||||||
* Rally venv is set correctly
|
|
||||||
* Scenarios you want to run are setup and set to a low times/concurrency
|
* Scenarios you want to run are setup and set to a low times/concurrency
|
||||||
|
|
||||||
Troubleshooting
|
Troubleshooting
|
||||||
|
@ -355,13 +355,9 @@ environment is different and thus your configuration options will vary.
|
|||||||
|
|
||||||
[browbeat1@browbeatvm ansible]$ cd ..
|
[browbeat1@browbeatvm ansible]$ cd ..
|
||||||
[browbeat1@browbeatvm browbeat]$ vi browbeat-config.yaml
|
[browbeat1@browbeatvm browbeat]$ vi browbeat-config.yaml
|
||||||
[browbeat1@browbeatvm browbeat]$ . ../browbeat-venv/bin/activate
|
[browbeat1@browbeatvm browbeat]$ . .browbeat-venv/bin/activate
|
||||||
(browbeat-venv) [browbeat1@browbeatvm browbeat]$ python browbeat.py rally
|
(browbeat-venv) [browbeat1@browbeatvm browbeat]$ python browbeat.py rally
|
||||||
|
|
||||||
Make sure to modify the venv settings for Rally to match the directory in which
|
|
||||||
Rally was installed in. You will have to do so for other workload providers as
|
|
||||||
well.
|
|
||||||
|
|
||||||
11. Setup network for Shaker+PerfKitBenchmarker and build Shaker image
|
11. Setup network for Shaker+PerfKitBenchmarker and build Shaker image
|
||||||
|
|
||||||
::
|
::
|
||||||
|
@ -11,32 +11,20 @@ Run Overcloud checks
|
|||||||
|
|
||||||
Your Overcloud check output is located in results/bug_report.log
|
Your Overcloud check output is located in results/bug_report.log
|
||||||
|
|
||||||
NOTE: It is strongly advised to not run the ansible playbooks in a venv.
|
NOTE: It is strongly advised to not run the ansible playbooks in a virtual environment.
|
||||||
|
|
||||||
Run performance stress tests through Browbeat on the undercloud
|
Run Browbeat performance tests from Undercloud
|
||||||
---------------------------------------------------------------
|
----------------------------------------------
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
$ ssh undercloud-root
|
$ ssh undercloud-root
|
||||||
[root@ospd ~]# su - stack
|
[root@ospd ~]# su - stack
|
||||||
[stack@ospd ~]$ screen -S browbeat
|
[stack@ospd ~]$ cd browbeat/
|
||||||
[stack@ospd ~]$ . browbeat-venv/bin/activate
|
[stack@ospd browbeat]$ . .browbeat-venv/bin/activate
|
||||||
(browbeat-venv)[stack@ospd ~]$ cd browbeat/
|
|
||||||
(browbeat-venv)[stack@ospd browbeat]$ vi browbeat-config.yaml # Edit browbeat-config.yaml to control how many stress tests are run.
|
(browbeat-venv)[stack@ospd browbeat]$ vi browbeat-config.yaml # Edit browbeat-config.yaml to control how many stress tests are run.
|
||||||
(browbeat-venv)[stack@ospd browbeat]$ ./browbeat.py <workload> #perfkit, rally, shaker or "all"
|
(browbeat-venv)[stack@ospd browbeat]$ ./browbeat.py <workload> #perfkit, rally, shaker or "all"
|
||||||
|
|
||||||
|
|
||||||
Run performance stress tests through Browbeat
|
|
||||||
---------------------------------------------
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
[stack@ospd ansible]$ . ../../browbeat-venv/bin/activate
|
|
||||||
(browbeat-venv)[stack@ospd ansible]$ cd ..
|
|
||||||
(browbeat-venv)[stack@ospd browbeat]$ vi browbeat-config.yaml # Edit browbeat.cfg to control how many stress tests are run.
|
|
||||||
(browbeat-venv)[stack@ospd browbeat]$ ./browbeat.py <workload> #perfkit, rally, shaker or "all"
|
|
||||||
|
|
||||||
Running PerfKitBenchmarker
|
Running PerfKitBenchmarker
|
||||||
---------------------------
|
---------------------------
|
||||||
|
|
||||||
@ -99,8 +87,6 @@ summarized below:
|
|||||||
:join_timeout: Timeout in seconds for agents to join
|
:join_timeout: Timeout in seconds for agents to join
|
||||||
:sleep_before: Time in seconds to sleep before executing a scenario
|
:sleep_before: Time in seconds to sleep before executing a scenario
|
||||||
:sleep_after: Time in seconds to sleep after executing a scenario
|
:sleep_after: Time in seconds to sleep after executing a scenario
|
||||||
:venv: venv to execute shaker commands in, ``/home/stack/shaker-venv`` by
|
|
||||||
default
|
|
||||||
:shaker_region: OpenStack region you want to use
|
:shaker_region: OpenStack region you want to use
|
||||||
:external_host: IP of a server for external tests (should have
|
:external_host: IP of a server for external tests (should have
|
||||||
``browbeat/util/shaker-external.sh`` executed on it previously and have
|
``browbeat/util/shaker-external.sh`` executed on it previously and have
|
||||||
|
2
tox.ini
2
tox.ini
@ -43,4 +43,4 @@ show-source = True
|
|||||||
ignore = E123,E125,E226,E302,E41,E231,E203,H233,H306,H238,H236,H404,H405
|
ignore = E123,E125,E226,E302,E41,E231,E203,H233,H306,H238,H236,H404,H405
|
||||||
max-line-length = 100
|
max-line-length = 100
|
||||||
builtins = _
|
builtins = _
|
||||||
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build,ansible/*
|
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build,ansible/*,.browbeat-venv,.perfkit-venv,.rally-venv,.shaker-venv
|
||||||
|
Loading…
x
Reference in New Issue
Block a user