diff --git a/.gitignore b/.gitignore index 85caf250f..e67a6a1af 100644 --- a/.gitignore +++ b/.gitignore @@ -4,10 +4,7 @@ ansible/hosts ansible/pbench-host-file -# Prevent Results from sneaking into the git repo -results/ - log/* -#Swap files +# Swap files *.sw[po] diff --git a/README.md b/README.md index fe7fa6232..7927489da 100644 --- a/README.md +++ b/README.md @@ -84,8 +84,6 @@ $ ssh undercloud-root (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]$ ./browbeat.py -w -... -(browbeat-venv)[stack@ospd browbeat]$ ./graphing/rallyplot.py test01 ``` ## Install Browbeat directly on undercloud: @@ -125,9 +123,8 @@ Your Overcloud check output is located in check/bug_report.log (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 -w -... -(browbeat-venv)[stack@ospd browbeat]$ ./graphing/rallyplot.py test01 ``` + ## Contributing Contributions are most welcome! Pull requests need to be submitted using the gerrit code review system. Firstly, you need to login to GerritHub using your GitHub credentials and need to authorize GerritHub to access your account. Once you are logged in click you user name in the top-right corner, go to 'Settings' and under 'SSH Public Keys' you need to paste your public key. You can view your public key using: ``` diff --git a/ansible/install/roles/browbeat/tasks/main.yml b/ansible/install/roles/browbeat/tasks/main.yml index 0d2c0e2ab..313f34672 100644 --- a/ansible/install/roles/browbeat/tasks/main.yml +++ b/ansible/install/roles/browbeat/tasks/main.yml @@ -3,7 +3,7 @@ # Browbeat Install # -- name: Install Browbeat dependencies +- name: Install browbeat matplotlib dependencies yum: name={{ item }} state=present become: true with_items: @@ -18,10 +18,13 @@ become: true pip: name=virtualenv -- name: Create virtualenv +- name: Create browbeat virtualenv command: virtualenv /home/stack/browbeat-venv creates="/home/stack/browbeat-venv" -- name: Clone Browbeat on undercloud +- name: Create rally virtualenv + command: virtualenv /home/stack/rally-venv creates="/home/stack/rally-venv" + +- name: Clone browbeat on undercloud git: repo=https://github.com/jtaleric/browbeat.git dest=/home/stack/browbeat when: "'localhost' not in '{{ inventory_hostname }}'" @@ -33,15 +36,19 @@ command: mv /home/stack/hosts /home/stack/browbeat/ansible/hosts when: "'localhost' not in '{{ inventory_hostname }}'" -- name: Install requirements.txt +- name: Install requirements.txt into browbeat-venv become: true pip: requirements=/home/stack/browbeat/requirements.txt virtualenv=/home/stack/browbeat-venv -- name: Setup Rally database - shell: . /home/stack/browbeat-venv/bin/activate; rally-manage db recreate +- name: Install rally into rally-venv + become: true + pip: name=rally virtualenv=/home/stack/rally-venv -- name: Setup Rally deployment - shell: . /home/stack/browbeat-venv/bin/activate; . /home/stack/overcloudrc; rally deployment create --fromenv --name overcloud +- name: Setup rally database + shell: . /home/stack/rally-venv/bin/activate; rally-manage db recreate + +- name: Setup rally deployment + shell: . /home/stack/rally-venv/bin/activate; . /home/stack/overcloudrc; rally deployment create --fromenv --name overcloud # # Serve results out of httpd if results_in_httpd is set to true diff --git a/browbeat-complete.yaml b/browbeat-complete.yaml index 8f17e0f16..dade1f941 100644 --- a/browbeat-complete.yaml +++ b/browbeat-complete.yaml @@ -22,15 +22,16 @@ grafana: - openstack-general-system-performance url: http://grafana-host.example.com:3000/dashboard/db/ rally: - venv: /home/stack/browbeat-venv/bin/activate + venv: /home/stack/rally-venv/bin/activate benchmarks: cinder: enabled: true concurrency: + - 16 + - 32 + - 48 - 64 - - 128 - - 256 - times: 1024 + times: 128 scenarios: create-attach-volume-centos: enabled: true @@ -51,7 +52,7 @@ rally: - 384 - 448 - 512 - times: 5000 + times: 10000 scenarios: authentic-keystone: enabled: true @@ -65,9 +66,15 @@ rally: create-list-tenant: enabled: true file: rally/keystone/keystone-create-list-tenant-cc.yml + times: 5000 + concurrency: + - 256 create-list-user: enabled: true file: rally/keystone/keystone-create-list-user-cc.yml + times: 5000 + concurrency: + - 256 nova: enabled: true concurrency: diff --git a/browbeat-config.yaml b/browbeat-config.yaml index a52962645..d4e5657cf 100644 --- a/browbeat-config.yaml +++ b/browbeat-config.yaml @@ -22,7 +22,7 @@ grafana: - openstack-general-system-performance url: http://grafana-host.example.com:3000/dashboard/db/ rally: - venv: /home/stack/browbeat-venv/bin/activate + venv: /home/stack/rally-venv/bin/activate benchmarks: cinder: enabled: true diff --git a/lib/Rally.py b/lib/Rally.py index 510846d86..231c3508f 100644 --- a/lib/Rally.py +++ b/lib/Rally.py @@ -29,7 +29,7 @@ class Rally: from_ts = int(time.time() * 1000) task_args = str(scenario_args).replace("'", "\"") - cmd = "source {}; \\".format(self.config['rally']['venv']) + cmd = "source {}; ".format(self.config['rally']['venv']) cmd += "rally task start {} --task-args \'{}\' 2>&1 | tee {}.log".format(task_file, task_args, test_name) self.tools.run_cmd(cmd) @@ -117,8 +117,7 @@ class Rally: scenario_args)) result_dir = self.tools.create_results_dir( - self.config['browbeat']['results'], time_stamp, benchmark, - scenario) + self.config['browbeat']['results'], time_stamp, benchmark, scenario) self.logger.debug("Created result directory: {}".format(result_dir)) self.workload_logger(result_dir) diff --git a/log/.gitignore b/log/.gitignore new file mode 100644 index 000000000..5e7d2734c --- /dev/null +++ b/log/.gitignore @@ -0,0 +1,4 @@ +# Ignore everything in this directory +* +# Except this file +!.gitignore diff --git a/requirements.txt b/requirements.txt index e34869a7b..4efed8e4b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,2 @@ ansible==1.9.4 matplotlib -rally diff --git a/results/.gitignore b/results/.gitignore new file mode 100644 index 000000000..5e7d2734c --- /dev/null +++ b/results/.gitignore @@ -0,0 +1,4 @@ +# Ignore everything in this directory +* +# Except this file +!.gitignore