Commit Graph

71 Commits

Author SHA1 Message Date
Zuul b454d258ed Merge "Storage Automation with Pbench-fio" 2023-09-29 06:31:14 +00:00
rajeshP524 03f1300e2e Storage Automation with Pbench-fio
Added a new workload in browbeat, where in it runs fio
benchmarks against vms attached with cinder volumes(backed by ceph)
and collects the results

Change-Id: I3bfe96fcf3242a0f88c50be35fe9d6368910fab8
2023-09-28 14:47:41 +05:30
Masco 8632866417 add ilm policies to handle the life of the es indices
two policies are added to handle short and long term indices.

life of the indices can be configured using the 'elasticsearch.life'
field at browbeat-config.yml file
shortterm will have: 125 days
longterm will have 2 years

the policy and the policy based templates can be created using the
'es-template' install playbook.

Change-Id: I0f4a4a9acc03092fd582ae4ff50f688850def953
2023-09-07 15:29:11 +05:30
Sanjay Chari 0c8e4cba04 Add option to create Grafana annotations
This patch adds an option in browbeat-config.yaml to create annotations
on a Grafana dashboard for a Browbeat scenario. This would be useful for
CI as it provides information on Grafana about what Browbeat scenario was
running at a particular time.

Change-Id: I83a9c74a56379da35ec9466a7492aecc2ee64ea9
2022-10-17 11:22:59 +05:30
Sanjay Chari bf5a1f3657 Enhance Rally HTML reports
This patch introduces the following changes.
1. We often have multiple executions of the same atomic action in
a single rally iteration. Existing rally charts do not show duration
for duplicate actions in an iteration accurately. This patch introduces
line charts for each occurence of a duplicate atomic action for each
instance, by passing it as additive data.
2. This patch also adds a per iteration stacked area chart that shows
data per iteration for each occurence of all atomic actions in the iteration.
3. This patch also adds a duration line chart for each resource created by
Rally.

Co-authored-by: venkata anil <anilvenkata@redhat.com>
Change-Id: I44dafad69cdbcd6db7c8fd9148f1b35d89924e03
2021-12-08 17:55:14 +05:30
Sanjay Chari 8e873e678a Start and stop collectd containers while running workloads
This patch introduces the following changes.
1. Playbooks have been created to start collectd on different hosts.
2. A feature has been added that allows a user to start collectd containers
before running workloads, and stop the collectd containers after running
the workloads. This will help us in minimising the space used for storing
collectd data.

Change-Id: I7926884f461e97bc67453f46eef0121c46c7f19e
2021-11-22 13:14:55 +05:30
Masco Kaliyamoorthy 548114e3de fix metadata generation error
Change-Id: Ifca0275935dc9e5ec0c171ef73ac1455ff658e30
2021-04-20 13:03:09 +05:30
Masco Kaliyamoorthy 461b016f13 use tripleo-ansible-inventry to generate hosts
Change-Id: I54d6eba518910e6651758bc7d46624bafacaef6c
2021-03-30 21:19:14 +05:30
Masco Kaliyamoorthy bc51104ecb fix unexpected outofindex error
Change-Id: I4c8780f76c43ae820207062ab8b212bf1c78612c
2020-11-26 15:05:54 +05:30
Masco Kaliyamoorthy 91101dbdc8 fix lint errors
Change-Id: Id857fc63f91d7673a5944637e821466e871990d3
2020-10-14 21:11:44 +05:30
Zuul 57484ad895 Merge "ES 7 update" 2020-04-20 13:15:31 +00:00
Sai Sindhur Malleni ee9e6b6a2f ES 7 update
Change-Id: Ia0360b04020188812ed2a4fb36e05e8f7a73a9bc
2020-04-20 12:43:17 +05:30
Masco Kaliyamoorthy 153bace6b7 reduce the cache size
since ES not able to index the large number of bulk data reducing the
cache size to avoid the timeout

Change-Id: I6d59e74a64015472dbb7df3f07ffd26336400a10
2020-04-14 13:19:31 +05:30
Sai Sindhur Malleni fbf309baee Add common logging with filebeat
This commit
1. Provides a playbook to install the filebeat agent on all
   undercloud/overcloud nodes
2. Provides another playbook that adds the browbeat uuid to the
   filebeat config file and starts filebeat during browbeat run
3. Corresponding changes in browbeat.py and browbeat/tools.py
   to run the playbook to insert custom browbeat uuid in the
   filebeat configuration.

Change-Id: Idd2efaf931f4ff581db715a04adef738f81d281c
2020-04-03 19:27:24 +00:00
Zuul 03a603816a Merge "Benchmark undercloud" 2020-03-18 15:15:19 +00:00
Sai Sindhur Malleni 88cf6fc4f0 Add dynamically captured version data to metadata
Currently the user had to manually change version.json to reflect the
environment in which the user is running browbeat. This commit adds functionality
for browbeat to consume OSP version data captured from stockpile and ship it ES
along with result data, as metadata.

Change-Id: Ic8036914046aa19680abf491683bb9cd141875ff
2020-03-08 13:39:06 -04:00
Asma Syed Hameed 26bab04c72 Benchmark undercloud
Now we have the option to benchmark both undercloud and overcloud by setting rally_benchmark variable in browbeat-config.yaml

Change-Id: Id04bc9b6b24dfc8a0d8216b6c3596422567cce95
2020-03-06 14:06:41 +05:30
Zuul 22be7976b5 Merge "Process yum_packages data" 2020-02-12 03:30:39 +00:00
Masco Kaliyamoorthy 8dcac2c176 change log level to info
change the log level to info from error for metadata file absence

Change-Id: I6600ab337ff6308fa92918a8455556d7ffc580b3
2020-02-04 17:26:39 +05:30
Sai Sindhur Malleni 6af0a98f3d Process yum_packages data
yum_pacakges data is captured by stockpile but is not currently
beging procssed by prescribe. This patch fixes that.

Change-Id: I3ac6c08d6e9ba462fe924498241f5b300d8cec15
Signed-off-by: Sai Sindhur Malleni <smalleni@redhat.com>
2020-02-03 16:02:52 -05:00
Sai Sindhur Malleni a5e626b716 Check for stockpile_yum_repos in prescribe.py
This is because we have a new stockpile_yum_packages key in stockpile output.

Change-Id: I6777ce8bfff2e13554bcccfbe0e577a65e22ab74
2020-02-03 13:04:49 -05:00
Charles Short 0fa8454fd1 Remove PerfkitBenchMaker
No longer supported.

Change-Id: Iae8ff4e0a1f55af67b49df16e8ecf276877f2525
Signed-off-by: Charles Short <chucks@redhat.com>
2019-11-20 14:54:43 -05:00
Charles Short ac140154da Remove unused code
Remove is_pingable and load_stackrc methods its
not being used anywhere.

Change-Id: Ie7019fcaaa2523f9b8aeafa4414b0d5d195d6a52
Signed-off-by: Charles Short <chucks@redhat.com>
2019-11-12 14:07:21 -05:00
Sai Sindhur Malleni 904396c01d Auto-Detect Shaker File paths
We can no longer hardcode shaker file paths due to python2.7/python3.6 variability.

Change-Id: I2ca509c896c66b230cf975b74c3988a6bec73077
2019-11-11 13:42:41 -05:00
Sai Sindhur Malleni f539cbbf88 Let stockpile set container_cli
With the addition of a8b256cad6
and 3791692021 we can have stockpile
set the var so that's one less var for the user to set.

Change-Id: Ic0e31549685d0f66fe09b4dc1694945f3071b873
2019-11-05 15:08:42 -05:00
Charles Short 03169ef468 Fix browbeat with rally 2.0
According to the rally changelog:

--task argument of rally task report command and --task argument of
rally task use command were deprecated in Rally 0.10.0 in favor of a
unified --uuid argumnet.

Update accordingly.

Change-Id: Ide5147016f638e831fa83024813ea9d411db01e7
Signed-off-by: Charles Short <chucks@redhat.com>
2019-09-16 22:07:07 -04:00
Asma Syed Hameed 0e77bbef1a Fix the string_to_dict method
Change-Id: Iefdb0fdaf1ed93707d562f434e1ad7e9ef6f0cc6
2019-07-30 14:49:24 +05:30
Zuul 90bf9edcb8 Merge "Fix prescribe.py" 2019-07-22 18:50:44 +00:00
Zuul ef85b1fd57 Merge "Miscalenous py3 fixes" 2019-07-22 18:49:14 +00:00
Charles Short 46a17336b1 Allow specify container_cli
In OSP15, the default containers are podman. So we need
to pass container_cli environment variable as "podman"
so that the podman containers configuration file on the
undercloud can be parsed.

Change-Id: I223c46baf4cf36596c8ff1e7468eb9fd1a0f1126
Signed-off-by: Charles Short <chucks@redhat.com>
2019-07-16 08:54:05 -04:00
Charles Short 005dc82b67 Fix prescribe.py
Take into account ansible-inventory output changes with
newer versions of anisble. Specifically for 'facter_processor'
ansible fact and 'processtor_type'.

Change-Id: I9a34e0aff9758d34b3f38907abcdaa050df612dc
Signed-off-by: Charles Short <chucks@redhat.com>
2019-07-10 00:58:50 +00:00
Charles Short 22e620d221 Miscalenous py3 fixes
Use six to fix compatibility issues betwen python2.7
and python3.

Change-Id: Ia4cb715edf5cb5b86b83c2da0ef2de83078732bf
Signed-off-by: Charles Short <chucks@redhat.com>
2019-07-08 14:22:22 -04:00
Charles Short 318e0f5c73 Refactor workloads
Move the perkit, rally and shaker workloads to their own submodule
in the browbeat namespace. So we dont pollute the browswer namespace
and make the code a bit more orgranized.

Change-Id: Ib833e86e71e595d336c27b08774f164e8f8c49bd
Signed-off-by: Charles Short <chucks@redhat.com>
2019-03-18 11:08:05 -04:00
Sai Sindhur Malleni 86bfc78e25 BuhBye YODA
YODA is no longer a used or maintainer workload. This will help remove
any confusion.

Change-Id: Ifef26f1419be9429bd9ac72a1d25f90ad8241bfc
2019-03-08 15:21:53 -05:00
agopi abcff17b82 Browbeat to use fs001 of stockpile and minor bugfix in prescribe
1. Browbeat shall make use of the fs001 which is the targetted version
   of stockpile, thus it won't run all roles against all hosts.
2. Also updated the bug where node_name wasn't added to dictionary when 
   prescribe first hits data that was gathered from outside config file.

Change-Id: Ieac2c090713b307b4971aee3fd4d5b24f14b9fc9
2019-01-23 15:53:20 +00:00
Joe Talerico cc9295342d Metadata Compare breaks under special conditions
When comparing OSP10 to OSP13 we were seeing issues when comparing
metadata. This patch addresses that issue, as well as ignores IP
addresses for the compare.

Change-Id: I9b827c80d98d84c862a228e72c2e6e3ee6cb4d9a
2019-01-18 16:00:55 +00:00
Zuul ed1aada2ef Merge "Updating prescribe to look at group for hw data" 2018-12-13 18:39:03 +00:00
agopi d82dc58b9e Updating prescribe to look at group for hw data
In certain cases, where the hosts file have groups outside of the
interested ones, namely undercloud, computes and controller. Running
prescribe, will cause errors while building hardware-metadata, as
certain keys maybe missing. Thus, applying same logic that's used for
software-metadata to look at interested groups only.

Co-Authored-By: Joe Talerico <jtaleric@redhat.com>
Change-Id: I62c4dbfbc5d679ce4267d930934bcef9a78da13a
2018-12-12 14:39:51 +00:00
Zuul 2c3b79a564 Merge "Added a check to look at action" 2018-11-26 15:03:51 +00:00
Zuul 14341e5424 Merge "Count number of errors per action" 2018-11-26 14:43:34 +00:00
agopi d8ef0e9c11 Added a check to look at action
While comparing rally results, need another check to ensure that
action is present.

Change-Id: I9131928d2796253e04f8401fd9663ac6fdd8dea3
2018-11-21 15:36:45 -05:00
Joe Talerico 3c8a40ed35 Count number of errors per action
Results were missing number of errors per action.

Example: goo.gl/JNg1pz

Change-Id: If18497aae43bc6eea92140b2c22739af487ba350
2018-11-21 15:05:36 -05:00
Zuul f42ee0fdea Merge "Fix python3.7 import errors and made job voting" 2018-11-15 14:27:36 +00:00
Sorin Sbarnea 8f338e08c2 Fix python3.7 import errors and made job voting
Python3.7 finally removed relative imports so we adopt the correct
syntax and also making py37 job voting to avoid regressions.

Change-Id: I16e01344e8ae1c732c31264c50d6dd57143ea799
2018-11-14 16:47:12 +00:00
Chuck Short c9a3a4bf0f Remove dead code
The find_cmd is not being used anywhere so remove it.

Change-Id: Ib3cc664b7af049e236e7662eee4890b1f40de646
Signed-off-by: Chuck Short <chucks@redhat.com>
2018-11-14 16:43:22 +00:00
agopi 0b56097272 Adding stockpile to collect data
This would facilitate browbeat users to take advantage of
work being done wrt browbench utilities.

To use stockpile just update metadata_playbook to
ansible/gather/stockpile_gather.yml

Change-Id: I4c12920007f66bc3378439b437676e4cb162b082
2018-11-13 21:52:40 +00:00
agopi 03be425102 Add numpy to extras
Move numpy out of requirements into extras, as it's not required
for running browbeat, but only used for insights like compare
results.

So to install with insights, pip install .[insights], to perform
the CLI operations such as compare.

Added a tox test to ensure no dep conflict arises.

Change-Id: Id8aafcd479003ae79ab8c2d0f1fa378ea38d60d2
Closes-Bug: #1799690
2018-11-12 15:41:24 +00:00
agopi 164661376e Added more testing to compare soft metadata in CLI
One of the edge cases that was missing was that of a service
not being present in uuid 2's metadata, added a simple test case to ensure
it's present in both datasets before continuing.

Change-Id: Ic2c49fb6dc348acf5dff8291008200a24001340f
2018-10-30 20:59:43 -04:00
Sorin Sbarnea 90d9c1bc41 Include flake8 execution in tox -e linters
This fixes several flake8 failures and integrates flake8 into linters
tox environment.

Rule W504 is disabled because at this moment there is no known way
to avoid flapping between W504 and W503.

This allows us to retire openstack-tox-pep8 job because the more
beneric openstack-tox-linters includes it. Still, developers will
be able to coveniently run only pep8 if they want.

Change-Id: I7da0f6f09a533dd1c4dc303029e8c587bc200f66
2018-10-24 19:52:45 +01:00
Zuul 005ee423ab Merge "Adding elastic methods to query results" 2018-07-19 14:53:49 +00:00