49 Commits

Author SHA1 Message Date
jkilpatr
26c7d1d0ed Update CI docs to reflect deletion of install and check
Change-Id: I368e622b0e913a9f7cc3dc0066a12fdaf28f4eb9
2017-06-01 14:41:27 -04:00
jkilpatr
c11374cca1 Move collectd into the main Ansible run for CI
This commit allows CI to run the collectd-openstack role directly
to do this I take the relevent variables from the group_vars/all.yml
and duplicate them in to the defaults. If you're not making mix and
match playbooks with browbeat roles and run the playbooks 'normally'
these defaults will never affect you in any way and will be overridden
by the group_vars/all.yml file without any interaction from you.

If on the other hand you want a playbook where you can toss collectd
install whereever you need it, this makes life much easier. Also note
that the trick I'm using to get the name of the executing hosts first
group could be used to make the collectd-openstack playbook run in
parallel across all hosts all at once rather than one group at a time.

As one final tweak this adds 10 minutesof retires to the epel install
role, specifically because two of it's tasks rely on external internet
access and fail often enough to cause trouble. Previously I would retry
the whole CollectD playbook when that happened, this is more efficient

Change-Id: Ia67ab2b4152a8d8e9f3ba1dabe1f4417d7b86233
2017-05-04 13:28:02 +00:00
Joe Talerico
3bdb101123 Spring Cleaning
Cleaning up unused scripts.

install-and-check.sh is no longer used by our CI

Change-Id: I24f9015fb4a4612b8d9e915d9654240d1efa423c
2017-04-24 11:04:26 -04:00
jkilpatr
89eae314c9 Collect puddle metadata in addition to the delorean hash
This restructures some of the metadata to better reflect how builds
are tracked up and downstream. Upstream we have a delorean hash which
is used to track builds as they come down the pipeline, downstream we end
up with RHOS puddles, ideally we will track the transition between these two
since every puddle has a delorean hash but not the other way around. Right now
I'll settle for collecting the infromation.

Change-Id: I9a9030523ec5f586b7e696abe892e0c8167e9869
2017-04-06 21:06:56 +00:00
jkilpatr
74d25875e1 New url structure for for rhos pipelines in CI
This updates the url building for the rhos pipeline builds
so that we grab the correct image ID when the promotion pipeline
attempts to promote a build.

Change-Id: I13da83b7ecdf4cd145e7ffc1ae2b9e6e0a9690f1
2017-04-05 19:00:24 +00:00
jkilpatr
c60b55ec83 Update tox.ini with Ansible linting and Browbeat config linting
This commit enanbles Ansible linting and does some
minor refactoring to make existing Ansible roles
compatible with the new rules.

Several Ansible linting rules have been excluded to keep the number
of changes from being too onerous.

Also a new script in ci-scripts is used to check very config file
included in the Browbeat repo for validity using the template
Browbeat uses when it runs.

Here's a list of the new linting rules

* Ansible tasks must have names
* When you use shell you must use become not sudo
* Using become_user without using become is not allowed
* If a repo is pulled it must be a pinned version of commit, not latest
* Always_run is deprecated don't use it
* Variables without {{}} and not in when statements are deprecated don't use them
* No Trailing whitepaces
* YAML checking, catches big syntax errors but not less obvious ones

Change-Id: Ic531c91c408996d4e7d8899afe8b21d364998680
2017-03-29 07:35:34 -04:00
jkilpatr
72bc80c058 Change CI Ocata image url to match internal mirror
The internal pipeline image mirror has a slightly different
folder structure that doesn't include the /current-tripleo/ folder
anyways this was causing Ocata pipeline builds to fail.

Change-Id: I688218dda2c32222df3752bceb771427c2ba9425
2017-03-10 07:38:30 -05:00
jkilpatr
dfc1d8c625 Add oooq CI support for Ocata pipeline
As the latest version is moved from Master to Ocata some folder structure
changes are required to make sure we get the right image. Eventually master
will point to 12 instead of 11.

Change-Id: Ie83cf1add5418c77054b67610c4f35318420b93e
2017-03-01 07:28:36 -05:00
jkilpatr
d1a617f5dc Update introspection pinning for oooq CI to use JQ based script
See here for more details
https://review.openstack.org/#/c/437946/

The reason the old pin isn't working is that --bootstrap in quickstart
doesn't work like it should and force the reinstallation of the virtualenv
so we carry over the prep internal script that now uses extras itself.

Change-Id: I5479738565017941df71313f10816f2c9a4debea
2017-02-24 18:56:13 -05:00
jkilpatr
d1974d16cb Don't clone TripleO Quickstart Extras in Microbrow.sh
Moving this up into the jjb as prep-internal-rhel.sh now depends on it.

Change-Id: I88d18542237643dcf5467700052556b0969dc11e
2017-02-13 15:43:40 -05:00
Jenkins
6418587837 Merge "Update location of CI variables" 2017-02-03 13:13:36 +00:00
Sai Sindhur Malleni
90bb494647 Update location of CI variables
This commit sets the variables for network creation to the
appropriate values. Since the network details are internal, this CI
variables file is being moved to internal git.

Change-Id: Ib55d2896991c74562f01e3cc56117af7110dc403
2017-02-02 14:31:33 -05:00
Jenkins
918034a587 Merge "Remove hardcoded reference to network isolation" 2017-02-02 18:50:59 +00:00
jkilpatr
a8ef2462d7 Add StatsD support for Ironic
StatsD support works, working on dashboards

As documented here http://docs.openstack.org/developer/ironic/deploy/metrics.html
Ironic allows performance metrics to be dumped via StatsD, this installs StatsD
on the undercloud via epel, sets up a service for it, enables it, and updates
Ironic to use it.

Change-Id: I793d4d3211ecf6113bd4863a0672ea0cb0de9dd3
2017-02-01 20:49:35 +00:00
Sai Sindhur Malleni
85698d3b06 Remove hardcoded reference to network isolation
Removes one hardcoded reference to network isolation type when calling
quickstart script.

Change-Id: Ibd60ad0145e8fd873392530d097e3a4c276f7b84
2017-01-27 17:30:25 +00:00
jkilpatr
33f30eb58a Revert making log and results directory
Reverting Commit: 2ba6da9022491315cd0d5c21dc502adbed20860f

This needed much more testing before merging, my bad.
I strongly suggest we don't add this functionality
in a seperate commit again, it doesn't make sense
to reorg and test all of this and then the pip commit
right after. Just add it's functionality there.

Change-Id: Iee7aa439fbc077c3c71f67b625b67fc55a86f199
2017-01-26 09:48:10 -05:00
Chandan Kumar
2ba6da9022 Make results and log directory path using browbeat-config
* if results and log path not found, create it.
* Also resolve $FOO in browbeat config paths -jkilpatr

Change-Id: Ie5ec32386ca0d6db9177d9a3a55387b5b1e88a69
2017-01-24 17:18:18 +00:00
jkilpatr
6ec7e7d26c Disable grafana in oooq runs for now
While the Grafana infra is having trouble it's causing tests to fail
so until it's all squared away I'm going to make it non-mandatory

Change-Id: Iaa779f19325bb5aef830bd93086995cb2beef3b5
2017-01-17 16:06:37 -05:00
jkilpatr
8c6acd3efc Update commit pinning
https://review.openstack.org/#/c/403677 The above commit is currently
required for the Microbrow CI to work well. It should be clean enough
to be mainlined now but no one wants to merge someone elses hack. Anyways
this just moves the pin forward for the sake of staying close to upstream.

Change-Id: I1d455e3ecc490c62289be25eaec4bfd0a124f346
2017-01-16 07:53:07 -05:00
Jenkins
948fe06a9b Merge "Metadata and restructure" 2017-01-13 14:31:32 +00:00
Joe Talerico
c9b8d88697 Metadata and restructure
Moving some methods into Tools to cleanup browbeat.py

+ Adding Ansible task to test regather

Change-Id: I4a562ae77a90528df2e7f8779895b1627c9dff11
2017-01-12 13:24:32 -05:00
Sai Sindhur Malleni
7286fb07c3 Let user specify a duplicate concurrency value
In some cases the user might want to run the same scenario with the
same concurrency value multiple times. In that case currently Browbeat
exits with an ugly traceback since the test name would be based on the
concurrency and hyaving the same concurrency twice results in trying to
create a file that already exists.

This commit makes the code smart enough to recognize duplicate concurrency
values and name files accordingly. For example. having 16 twice as the
concurrency value for ceilometer_list_meters scenario produces two different
log files as 'results/20160718-202008/CeilometerMeters/ceilometer_list_meters/
20160718-202008-browbeat-ceilometer_list_meters-16-iteration-0.log' and
'results/20160718-202008/CeilometerMeters/ceilometer_list_meters/
20160718-202008-browbeat-ceilometer_list_meters-16-2-iteration-0.log.

Change-Id: Ie39c8c54ddf0435ff46975bfc4a5fd62995b2a32
2017-01-11 12:29:36 -05:00
Jenkins
b357c6999c Merge "Clean up README in ci-scripts/ directory" 2017-01-03 17:02:39 +00:00
Leif Madsen
229629848f
Clean up README in ci-scripts/ directory
Reflow some of the content so that it wraps nicely to 80 chars. Also adjust
some of the indenting, formatting, and general small tweaks to the wording.

Change-Id: I5397356b802c3a06762dfae524bb1ba1ea634972
2017-01-03 11:49:19 -05:00
jkilpatr
8e3afe378c Moving oooq pinned commits downstream for easier upkeep
Just moves a few lines from the JJB to here. I remember thinking
this wouldn't work for some reason, but now I can't remember why
and a quick test shows no problems. So here we go anyways.

Change-Id: I6e7ea058629234d63edadbd715d0cd762f6ccc04
2017-01-03 12:44:24 +00:00
jkilpatr
2d6073a4cd Remove requirements to reflect upstream oooq defaults
The tripleo-quickstart-extras requirements file is now
imported by default, it also checks for duplicate imports
and fails on them, therefore if we continue to import the
extras file we fail out on a duplicate import error

Change-Id: If0f5067ed2a2bae6f6f4873819e0da229acef10b
2016-12-19 13:15:51 -05:00
jkilpatr
384a73a668 Fix Grafana enable var name
So to enable both graphite and grafana in perf-ci you use the
grafana_enabled_template toggle, not the non-existant graphite_enabled_template
variable.

Change-Id: Ia0f6933c498068e1e7e85b5ac4b3c1db79459e26
2016-12-19 08:43:34 -05:00
jkilpatr
e8c7413b04 dns fix for CI round 2
jkilpatr rage meter [####### ]

Change-Id: Ic7f488cd361a6909c42d0f61fca8c452563f513f
2016-12-15 18:46:53 +00:00
jkilpatr
c1e59ddb19 Fix string literals
'' is different from "" in Bash. Leaving this up for
whatever the next problem I find is so that I can stop
polluting the commit history with tiny fixes.

Change-Id: Ia1d53670347a3862c743a4a74b0f0d3eda62dbd8
2016-12-10 13:55:01 +00:00
jkilpatr
a0d7fe8a4f Less verbose logging, fixing namespacing issues
Change-Id: I6858cd702cb9cf8881d7a4659aacbba463cbcf11
2016-12-09 13:08:13 +00:00
jkilpatr
4be103b8b9 Clean up microbrow.sh and add better error handling
adds set -eu to exit on undefined variable usage.

avoids exporting every variable.

Also adds case for downstream out of pipeline jobs that should fix them.

Change-Id: I588c6def5bd9d51f3b5c6fa2a8a8557d451e2086
2016-12-08 16:21:25 +00:00
jkilpatr
5b39c40d73 More fixes for the CI Pipeline
Change-Id: I98e5e14b0de0932987d299497e57a31be738a7b4
2016-12-07 16:33:00 -05:00
jkilpatr
822b92991c Add in pipeline support for oooq CI
this sets up pipeline jobs to actually use pipeline images, but in
such a way that they can still be kicked manually without problems

Change-Id: I03c6c77315ecf87021c851cf5632026b01c7b45b
2016-12-07 13:46:25 -05:00
jkilpatr
d773f23484 Set oooq CI to use ssh-dns option
Added this switch yesterday, should speed up my CI work in general.
Needs some quick testing to make sure we don't run into that timed out
waiting for sudo error that came up earlier.

Change-Id: I7cc64a48fe0e26427fed01260d232de22cf91a90
2016-12-07 16:13:46 +00:00
jkilpatr
c964919a21 Add oooq Ansible Role Support
This adds support for Browbeat to run as a oooq role
none of the playbooks or the roles located in ansible/oooq
are usable if called without oooq, so maybe they should go
in the ci-scripts folder.

Change-Id: Iefcae69af591a790bdeb4acc3c85e75292b6b8ce
2016-11-30 20:34:31 +00:00
jkilpatr
fc54e31020 Add Glance metadata parsing
this could not quite follow the existing pattern due to
the fact that glance has multiple independent config files.

So this uses a fileglob loop to find all the configuration files
in the /etc/glance directory and load each of them in turn.

Change-Id: I259bef0d022500b3865926fc36f289c6a17ec5db
2016-10-12 08:10:05 -04:00
jkilpatr
e8472dec39 Use variable overloading instead of duplication for CI config values
Since people don't seem to be paying attention to failed CI builds and
correcting the CI all.yml when they update install/all.yml this commit
uses ansible's run time variable loading to overwrite the relevent
vars from the all.yml

Change-Id: Icdc5ce33fcd1230ade39563824682134a9865f1d
2016-10-03 08:02:12 -04:00
akrzos
8611eea339 Upgrade PerfKit to latest (v1.7.0)
Working:
* Benchmark output makes it to browbeat results directory
* v1.7 PerfKitBenchmarker is installed
* Many benchmarks are tested however there is still some that
  require testing/configuration
* Example are provided in conf/perfkit-benchmarks.yml

Change-Id: I62dec86fe7e8c6f71b7c5654abfd4b2079904e4b
2016-09-27 23:06:52 +00:00
jkilpatr
3ff319d82f Disable Temptest in Browbeat CI
Upstream oooq has enabled tempest after overcloud
deployments by default now, since temptest coverage
has been lacking on builds for a while we are seeing
failures, since this isn't particularly important for
browbeat CI specifically this commit supresses running
the overcloud ping test and temptest

Change-Id: I9020bdd017e46dc529467141ec43516768c4b2a4
2016-09-22 08:08:11 -04:00
Sai Sindhur Malleni
2357ad4743 Gather Metadata in main browbeat run
This commit adds logic to run Metadata at the beginning of every browbeat
run through browbeat.py. Also some imports have been fixed.

Co-Authored-By: Joe Talerico <jtaleric@redhat.com>

Change-Id: Ibc13a64710209b25a755f606ea7fddc80232cbc4
2016-09-21 10:41:38 -04:00
Sai Sindhur Malleni
ae326ff0e6 Shaker Enhancements
Changes and improvements to Shaker
Upgrade shaker to 0.0.15 and shaker_dns_nameservers option to image build

Change-Id: I0b3cd8ed8c656e757c0e9bbbec64eebaa8de88e1
2016-09-15 13:21:18 -04:00
jkilpatr
b768d626df Correct bug report save location
Moves bug report save location to the playbook directory
on the machine running ansible, I feel that this is an odd
place to put anything but it seems to be intended behavior.

This commit changes where the bug report is saved and where
the CI script checks for the output file, until a consistent
version of this is checked in CI will fail often.

Change-Id: I94d221d718fb13779bf056ae83376851f82a355b
2016-09-14 15:03:48 -04:00
akrzos
9f0286504e Some changes did not make their way into the ci-scripts all.yml
Change-Id: Iba1dfdfe31b8269e5316e52cbc6913fbab1e21db
2016-09-06 15:30:30 +00:00
jkilpatr
79058b15bf Fix typo in Browbeat.py and libs conditional for CI
BASH is whitespace sensitive, so one part of the
conditional for checking changes to Browbeat.py and the
libs folder would always fail.

Change-Id: I090bcc87e5112a0d0c40796ed9f4ea470d7607fa
2016-08-24 07:31:27 -04:00
Jenkins
b5c0950aae Merge "Fix rally_version in CI" 2016-08-22 18:08:22 +00:00
jkilpatr
e922216eba Fix rally_version in CI
The rally version was added as a variable in the
install group vars file, but CI maintains it's own
version of this file that was not updated, therefore
the rally_version change was breaking to all CI builds.

It might be better for CI to move to overwriting specific
variables if possible.

Change-Id: Ib4b789cc2cdbe409c5a866444fe144328f086e8a
2016-08-22 12:57:22 -04:00
jkilpatr
f058272361 Enable checks in CI
Will need to be updated once https://review.openstack.org/#/c/354885/
is merged.

The check playbook was integrated into the CI script
several versions ago but was removed when checks where
declared depricated. That effort fell though and checks
are now un-depricated, so adding them to CI is prudent.

Change-Id: I93d4b9fa6ad3e5e8fd98898886da42e7bd8266ea
2016-08-18 11:20:03 -04:00
jkilpatr
afd507d8b3 Add checks for lib/ and Browbeat.py
If anything in the lib/ directory is modified rally will
now be run to test browbeat, same for Browbeat.py

Change-Id: Id4cb1a01d1940b718a85ac6dd58a560d2c3804cc
2016-08-15 13:01:34 -04:00
jkilpatr
df03cb36a9 Adding CI scripts
This commit adds basic CI scripts and CI integration
into Browbeat, this script is sourced from the
Triple O quickstart full-deploy.sh CI script

This script currently works with Rally and Shaker
once my other commit is in, perfkit support depends
on a bugfix in Centos or upstream DNF support in perfkit

Change-Id: I022f05e4408fe5466c3b1032cbbca7adc96d0527
2016-08-09 17:02:44 -04:00