- Add npm-run as a build macro.
- Add xvfb-start as a build macro for generic xvfb startup.
- Added gate-{project}-npm-run-{command} as a build template.
- Made that same build template non-voting.
- Added gate-storyboard-webclient-npm-run-lint as a first job.
Note that using this target presumes that you will pipe your output reports
into ./reports.
Change-Id: Ie772bf2c7b56aaed3c36fc1cb1cb970dfc3f93ff
We need to place the tempest log documentation in with the devstack
logs. We can do this as a publisher shell step.
The tempest overview is a little more complicated as it needs
placing in the top most job results directory. We can scp this for
the old log storage and then for zuul-swift-logs we pass it as a
file to be uploaded which will hence be in the master index (ie at
the top of our pseudo filesystem)
Change-Id: I54d2d2ba9b6532221ca3b376ab2e51bc5398444e
Depends-On: I8b26cc58c2ad6ca029726d227cf1d38d72465627
This change will only create a fedora image but a future change could
also generate images for Ubuntu and CentOS7.
build-heat-test-image.sh requires an installed diskimage-builder,
so the recipe for diskimage-builder-install was determined by running
build-heat-test-image.sh in a pristine trusty cloud image.
Change-Id: I03a9efe47fc3f21471a57e33ab09b0d7a13b219c
Duplicate the test-results publisher for swift. This will capture
all logs from the job which is a superset of what was being
uploaded.
Change-Id: If1e7baf5dad8601c7489366688ccb02d7fc1c742
Ant's SCP job uses DirSet which only allows for paths relative to the
directory from which Ant is working. It also does not search for
anything outside the current directory. After
Iee055beb853cbb76a073c8060d6920d317f5bd64 os-ansible-deployment will
simply be able to use the devstack-logs publisher.
This change needs to go in first so the os-ansible-deployment gate will
unblock.
Change-Id: If94e6b97c159000c83fadc6e4dd72d56ee90d3b9
This macro allows a job running on a cloud-based instance to print the
UUID of that instance to the build log. By the time it is determined
that a test failed due to a system or networking error, the instance
has already been deleted. The UUID can be used to locate the physical
system the instance ran on so that analysis can be done at that level.
By providing it in the build log, users will not have to find someone
with access to the nodepool logs to get this level of support for this
type of issue.
Depends-On: Ib84ec30b5c4c5de5d5be80cae2b4230c1aba3bc6
Change-Id: Iddcd56e2e2f2a942573a9868d1c009106b38564a
Neither Ant's nor infra's documentation is clear, but it appears that
keep-hierarchy shouldn't be true when also specifying a pattern that
only looks for filenames that match a pattern. Instead, just copy all of
the sub-directories and their contents within /openstack/log to ensure
all log files are copied during os-ansible-deployment gate-commit-check
jobs.
Change-Id: I0b3d8c0b81a1cd26806be824843290f4153daee0
Rather than embedding ansible roles inside of puppet modules (which is
mildly more than passing strange) make the ansible role a standalone
role that can be published to ansible galaxy.
Change-Id: I79a5a21278a1268e0e0011a874ff29c6980fd334
This commit changes the os-ansible-deployment checks to exclusively
make use of scripts which are located in the repository which is
cloned. This is done to improve flexibility - if the check needs to
change, it can be done within the script instead of submitting a review
to the project-config.
This commit also implements the commit check as a voting check across
all branches, and also changes the merge check from the lint check to
the commit check.
Change-Id: I95d4f12e374b80be70f513429a5dc04b0bdf3534
This is an initial step toward combining the bare and devstack nodes
into a common type, by pulling package installation and database
configuration into the job runtime. It also adds an experimental job
to test-drive these features.
Change-Id: I47bd65e91323779a251ec231c748cb848d745e08
* removed macro 'install-chefdk' in favor of 'chef-bootstrap'
* macro 'chef-bootstrap' executes a cookbook specific bootstrap
scipt which preconfigures the testnode (install packages and
dependencies) before running the tests from the Rakefile with the job
template 'gate-{name}-chef-rake'
* currently the bootstrap.sh does not exist in all cookbooks, since this
is a experimental job and the final bootstrap.sh will be defined after
this patch is merged and then cloned/added to all cookbooks using this
job
Change-Id: I4d622b7b594aa185dd1165c913764aaeced9faae
blueprint: bootstrap-infra-test-nodes
* added macro for installing chefdk (currently with version 0.4.0-1
since chef does not provide a 'latest' link)
* switched from using ruby-191-prep in gate-{name}-chef-rake job to installing
chefdk which should include the whole environment needed
* changed chef-rake-test builder to execute rake inside of the chefdk
environment (test is omitted, since its the default job)
* removed the pin on precise for the gate-{name}-chef-rake job to use
the current default trusty instead
Change-Id: I09e7465068d467395aafccd2de027000a1ec4143
This reverts commit 9fe1a61101890af1b405c87ba244fb3cc044e4d9.
The original change was reverted because the virtualenv required to run
the swift upload script was not built with all dependencies. We have
since corrected the virtualenv builds and all current devstack-* images
that run these d-g jobs are up to date with properly built virtualenvs.
Change-Id: I217a2b92b80ce6cc3f286e11acea6455ec505655
The content is generated in specs/output and we need to publish it
directly in the specs directory. Move files around so that we can
publish to it since the scp publisher does not allow removal of paths.
Change-Id: Icd8af32b47c04ae207471007435c1dac45471a18
Selenium tests on Firefox 35.0 failing due to an open FF bug. Switching
to chrome solves this problem, and tests are passing. The FF bug not
affects usage, just the execution of the test environment.
This patch is related:
https://review.openstack.org/#/c/148928/
Change-Id: Iadd71846be7f64c51fb46bfb5c29f56a81c10e9e
Since we are currently installing rake before we bundle and are acutally
bundling inside of the rake job, the macro should not use 'bundle exec
rake test' but 'rake test'
Change-Id: Ibce74d7527527bba0e3e167dab988745fc0ad97e
This job template is supposed to be the first try of implementing rake
for managing the tests and how they are run. Added installation of rake gem to
ruby-191-prep macro to make it available for chef-rake-test macro and
skip the usage of chef-bundler-prep (done in rake bundle_prep in
chef-rake-test). Added a new project-template chef-rake-jobs which can
be utilized by all cookbooks with rakefiles (for now only includes a
job in the experimental queue).
Change-Id: Ie3687796faa210656d0b9d929fbc9e07de0d4a91
Blueprint: rakefile
This reverts commit 48e627bf5141ee23708c9a16d37c317da64bbdd1.
Do not approve until Ie79b59e1c687cce2b435c9704959b02911f94778 and
new images are built.
Change-Id: I529956760c226ff5add7bbb80a7569a13d42dff9
* jenkins/jobs/macros.yaml(revoke-sudo): Simplify the sudoers
include file deletion to not rely on a conditional check, and then
test that it actually worked. Previously, systems where
/etc/sudoers.d was non-world-readable caused it to be a silent
no-op.
Change-Id: Ie713482acbd454eeb58c3481e8b8820049daaab8
Recent versions of pip will create ~/.cache if it doesn't already exist.
If this happens while running "sudo pip" the resulting dir will be owned
by root and 700 - which breaks anything else on the system that wants to
use ~/.cache
I *think* this finds all instances of "sudo pip" in this repo and fixes
them to use -H. This should mean they always run in the right ~
Change-Id: I47ddb3b591df6ac2100f09b38c9b8a03cb1ba1ff
closes-bug: #1405732
This reverts commit 4bde0571f968909bd6c85bccdea95a1de6c8c7f0.
The upload script lacks the necessary requirements (the "magic"
library at least) in the system context on devstack-.* workers.
Change-Id: I358fb649bfee472d47641e2780208bac7521e0d3
Use postbuildscript publishers to capture jobs that have failed
by ensuring that logs are uploaded even if the build has exited.
Keep the build macros as the postbuildscript needs builders to
execute and they also aren't strictly just for use as a publisher.
Change-Id: I21463f89281911dff6efda31e754bdc7b3266e24
This patch inserts an all-in-one server deployment as a non-voting check. It
will later be promoted to a gate once it's confirmed to be working as required.
Change-Id: I310bdf13e7c62c8f81d7a0effb8a7b53f683b36a
This patch inserts a syntax check (using ansible-playbook
--syntax-check) before the existing lint job. The lint tool throws
exceptions on invalid playbooks so it makes sense to check for syntax
first.
Exclusions from syntax checking:
* Playbooks that use vars_prompt due to ansible bug
https://github.com/ansible/ansible/issues/9607
* os-service-config-update.yml as it attempts to include a role based on
a variable that isn't available at syntax check time.
Change-Id: I724bf0b8b3dd1e4bf3b1bd5a24b2c62eee912efb
Stop using run-unittests.sh. It creates confusion when people create
jobs. Instead standardize on run-tox.sh. This means rewriting all the
jobs that use run-unittests.sh to use run-tox.sh.
Note that this depends on the parent change to merge first and have all
our slave images rebuilt prior to merging this change.
Change-Id: Ib81403c25485b120f48080a59f1894dc2130c05f
This patch removes the manual creation of the nodejs symlink,
and replaces it with the debian nodejs-legacy package which
does exactly the same thing, except better.
Change-Id: Ifbe915a019f0360740932989a6885c972ce6fd65
The JSHint job was added during Juno and the style-changes-only patches
that were written to make it pass are unlikely to be backported to the
previous stable branches. Stop running it against stable/icehouse.
Now that the job is passing both on master and stable/juno, it would
make sense to make it voting to keep things that way.
Finally, make sure to update the apt-get cache before installing npm
in order to be more future-proof against future package updates.
Change-Id: I0ff4bad8af7507d039390358bd43df1348ed2e98