lttng-ci.git
6 years agoLAVA: Use nfs boot command
Jonathan Rajotte [Mon, 19 Nov 2018 23:18:58 +0000 (18:18 -0500)] 
LAVA: Use nfs boot command

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoUse "reset" for kvm devices in all power management case
Jonathan Rajotte [Mon, 19 Nov 2018 23:16:28 +0000 (18:16 -0500)] 
Use "reset" for kvm devices in all power management case

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoFix: missing jinja2 statement bracket ending
Jonathan Rajotte [Mon, 19 Nov 2018 22:36:57 +0000 (17:36 -0500)] 
Fix: missing jinja2 statement bracket ending

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoUse ipxe for qemu booting
Jonathan Rajotte [Mon, 19 Nov 2018 21:49:16 +0000 (16:49 -0500)] 
Use ipxe for qemu booting

This is necessary for modules support.

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoUse system libvirt session instead of user
Jonathan Rajotte [Mon, 19 Nov 2018 21:10:26 +0000 (16:10 -0500)] 
Use system libvirt session instead of user

By default virsh use qemu:///session instead of qemu:///system.

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoLAVA: ipxe patch for base kvm iso
Jonathan Rajotte [Thu, 15 Nov 2018 22:18:23 +0000 (17:18 -0500)] 
LAVA: ipxe patch for base kvm iso

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoLAVA: ipxe script for infinite prompt
Jonathan Rajotte [Thu, 15 Nov 2018 22:14:29 +0000 (17:14 -0500)] 
LAVA: ipxe script for infinite prompt

Useful for iso booting (cdrom) directly to ipxe.Provide serial printing of
the prompt each 1 seconds allowing easy synchro with LAVA.

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoLAVA: Add helper script for kvm generation
Jonathan Rajotte [Thu, 15 Nov 2018 22:09:06 +0000 (17:09 -0500)] 
LAVA: Add helper script for kvm generation

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoRename devices
Jonathan Rajotte [Thu, 15 Nov 2018 22:01:42 +0000 (17:01 -0500)] 
Rename devices

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoUse virsh for kvm devices
Jonathan Rajotte [Thu, 15 Nov 2018 22:00:56 +0000 (17:00 -0500)] 
Use virsh for kvm devices

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoUse debug mode for lava2-submit for now
Jonathan Rajotte [Wed, 7 Nov 2018 16:47:22 +0000 (11:47 -0500)] 
Use debug mode for lava2-submit for now

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoStandardize cppcheck config
Michael Jeanson [Tue, 6 Nov 2018 15:50:40 +0000 (10:50 -0500)] 
Standardize cppcheck config

Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
6 years agoDevice type is qemu not kvm
Jonathan Rajotte [Mon, 5 Nov 2018 22:43:10 +0000 (17:43 -0500)] 
Device type is qemu not kvm

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoFix indent of inline metadata
Jonathan Rajotte [Mon, 5 Nov 2018 22:40:42 +0000 (17:40 -0500)] 
Fix indent of inline metadata

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoCheckout kernel only if necessary
Jonathan Rajotte [Mon, 5 Nov 2018 20:18:46 +0000 (15:18 -0500)] 
Checkout kernel only if necessary

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoAdd Jinja2 in venv for lava2-submit.py
Jonathan Rajotte [Mon, 5 Nov 2018 19:29:42 +0000 (14:29 -0500)] 
Add Jinja2 in venv for lava2-submit.py

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoDisable -eu on venv activation
Jonathan Rajotte [Mon, 5 Nov 2018 18:59:19 +0000 (13:59 -0500)] 
Disable -eu on venv activation

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoUse venv for submit script
Jonathan Rajotte [Mon, 5 Nov 2018 15:40:16 +0000 (10:40 -0500)] 
Use venv for submit script

Enable the use of yaml

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoChange lava api user
Jonathan Rajotte [Fri, 2 Nov 2018 20:04:27 +0000 (16:04 -0400)] 
Change lava api user

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoPass lava2 api token from jenkins
Jonathan Rajotte [Fri, 2 Nov 2018 19:49:47 +0000 (15:49 -0400)] 
Pass lava2 api token from jenkins

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoCall python script for lava2 job submission
Jonathan Rajotte [Fri, 2 Nov 2018 19:36:39 +0000 (15:36 -0400)] 
Call python script for lava2 job submission

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoExport S3 url directly from generate-properties-master.sh
Jonathan Rajotte [Fri, 2 Nov 2018 19:28:33 +0000 (15:28 -0400)] 
Export S3 url directly from generate-properties-sh

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoRename lava-v2-submit to lava2-submit
Jonathan Rajotte [Fri, 2 Nov 2018 18:55:20 +0000 (14:55 -0400)] 
Rename lava-v2-submit to lava2-submit

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoProcess jinja template in lava-v2-submit script
Jonathan Rajotte [Fri, 2 Nov 2018 18:14:33 +0000 (14:14 -0400)] 
Process jinja template in lava-v2-submit script

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoBase jinja template for lava submission
Jonathan Rajotte [Tue, 30 Oct 2018 21:34:37 +0000 (17:34 -0400)] 
Base jinja template for lava submission

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoAdd debug option flag
Jonathan Rajotte [Wed, 31 Oct 2018 17:50:06 +0000 (13:50 -0400)] 
Add debug option flag

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoLava v2 submit initial submit script
Jonathan Rajotte [Mon, 29 Oct 2018 21:43:29 +0000 (17:43 -0400)] 
Lava v2 submit initial submit script

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoFix: missing s3 command put
Jonathan Rajotte [Fri, 2 Nov 2018 18:59:07 +0000 (14:59 -0400)] 
Fix: missing s3 command put

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoLeave the s3:// protocol outside of variables for later conversion to http/s
Jonathan Rajotte [Fri, 2 Nov 2018 18:44:28 +0000 (14:44 -0400)] 
Leave the s3:// protocol outside of variables for later conversion to http/s

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoUse s3 (minio) for object storage of system_test.
Jonathan Rajotte [Thu, 1 Nov 2018 21:13:56 +0000 (17:13 -0400)] 
Use s3 (minio) for object storage of system_test.

Work toward the use of lava 2.

Keep old normal storage for now.

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoDevice configuration deployment script
Jonathan Rajotte [Mon, 29 Oct 2018 21:42:34 +0000 (17:42 -0400)] 
Device configuration deployment script

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoMerge pull request #50 from lttng/kill-dangling-processes
Michael Jeanson [Thu, 1 Nov 2018 20:28:58 +0000 (16:28 -0400)] 
Merge pull request #50 from lttng/kill-dangling-processes

Kill dangling test processes before running tests

6 years agoIgnore pdudaemon runtime db
Jonathan Rajotte [Mon, 29 Oct 2018 20:20:20 +0000 (16:20 -0400)] 
Ignore pdudaemon runtime db

6 years agoFix: %h is only valid for user services
Jonathan Rajotte [Mon, 29 Oct 2018 20:18:12 +0000 (16:18 -0400)] 
Fix: %h is only valid for user services

6 years agoUse %h for pdudaemon systemd service
Jonathan Rajotte [Mon, 29 Oct 2018 20:05:28 +0000 (16:05 -0400)] 
Use %h for pdudaemon systemd service

6 years agoIgnore lava/pdudaemon/venv
Jonathan Rajotte [Mon, 29 Oct 2018 20:02:39 +0000 (16:02 -0400)] 
Ignore lava/pdudaemon/venv

6 years agolaval: Add devices dictionaries
Jonathan Rajotte [Mon, 29 Oct 2018 19:46:19 +0000 (15:46 -0400)] 
laval: Add devices dictionaries

6 years agoPDUdaemon service, conf, and script
Jonathan Rajotte [Mon, 29 Oct 2018 15:58:23 +0000 (11:58 -0400)] 
PDUdaemon service, conf, and script

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoCleanup: remove unused variable
Jonathan Rajotte [Thu, 18 Oct 2018 19:25:51 +0000 (15:25 -0400)] 
Cleanup: remove unused variable

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoArchive deps for easier coredump analysis
Jonathan Rajotte [Wed, 17 Oct 2018 19:25:44 +0000 (15:25 -0400)] 
Archive deps for easier coredump analysis

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoCleanup of running processes and coredump before build step
Jonathan Rajotte [Wed, 17 Oct 2018 19:22:55 +0000 (15:22 -0400)] 
Cleanup of running processes and coredump before build step

Coredump are expected in /tmp. Remove any previous coredumps present if
any.

Kill (SIGKILL) all lttng related processes that are present at the start
of the build.

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoCheck for hanging process at the end of a job.
Jonathan Rajotte [Thu, 11 Oct 2018 18:44:27 +0000 (14:44 -0400)] 
Check for hanging process at the end of a job.

Run in all scenarios. We force a coredump and archive it to ./build.

Use ldd on /proc/$PID/exe to get actual dependencies.

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoDefine pgrep and print the processes to be killed
Jonathan Rajotte [Wed, 10 Oct 2018 20:08:42 +0000 (16:08 -0400)] 
Define pgrep and print the processes to be killed

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoKill dangling test processes before running tests
Jérémie Galarneau [Mon, 8 Oct 2018 01:57:09 +0000 (21:57 -0400)] 
Kill dangling test processes before running tests

Tests often fail because of "dangling" lttng processes left on CI slaves. I am not sure what leaks them (either failing tests or cancelled jobs), but they are a very frequent cause of build failures.

The code is this diff is taken from lttng-tools warn_processes.sh.

We could also clean-up at the end of the job, but I am not sure how to get Jenkins to run a "clean-up" when a job is cancelled (e.g. manually or after a time-out).

6 years agoMove Scope back to github
Michael Jeanson [Thu, 11 Oct 2018 20:06:12 +0000 (16:06 -0400)] 
Move Scope back to github

Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
6 years agoMerge pull request #51 from PSRCode/maintainer-update
Michael Jeanson [Thu, 11 Oct 2018 20:02:49 +0000 (16:02 -0400)] 
Merge pull request #51 from PSRCode/maintainer-update

Replace alexmonthy email notification to new maintainer

6 years agoReplace alexmonthy email notification to new maintainer
Jonathan Rajotte [Thu, 11 Oct 2018 19:25:16 +0000 (15:25 -0400)] 
Replace alexmonthy email notification to new maintainer

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoAdd lttng-modules bionic jobs
Michael Jeanson [Wed, 12 Sep 2018 19:04:38 +0000 (15:04 -0400)] 
Add lttng-modules bionic jobs

Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
6 years agoAdd testtype to lttng-tools 2.11 jobs
Michael Jeanson [Wed, 12 Sep 2018 17:35:53 +0000 (13:35 -0400)] 
Add testtype to lttng-tools 2.11 jobs

Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
6 years agoAdd stable-2.11 jobs
Michael Jeanson [Wed, 12 Sep 2018 17:24:41 +0000 (13:24 -0400)] 
Add stable-2.11 jobs

Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
6 years agoMerge pull request #49 from PSRCode/long_regression
Jonathan Rajotte Julien [Tue, 11 Sep 2018 16:27:58 +0000 (12:27 -0400)] 
Merge pull request #49 from PSRCode/long_regression

Add long regression testing for lttng-tools

6 years agoAdd long regression testing for lttng-tools
Jonathan Rajotte [Tue, 3 Jul 2018 18:57:10 +0000 (14:57 -0400)] 
Add long regression testing for lttng-tools

Create new jobs since performing long regression testing on
multi-axial matrix would simply take to much time.

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoMerge pull request #48 from frdeso/add_executed_test_suite_in_desc
Jonathan Rajotte Julien [Mon, 11 Jun 2018 20:20:40 +0000 (16:20 -0400)] 
Merge pull request #48 from frdeso/add_executed_test_suite_in_desc

jjb: systems-tests: include executed test suites in job description

6 years agojjb: systems-tests: include executed test suites in job description
Francis Deslauriers [Mon, 11 Jun 2018 19:12:30 +0000 (15:12 -0400)] 
jjb: systems-tests: include executed test suites in job description

Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
6 years agoMove lttng-scope repos to Gitlab
Michael Jeanson [Wed, 6 Jun 2018 18:32:58 +0000 (14:32 -0400)] 
Move lttng-scope repos to Gitlab

Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
6 years agoMerge pull request #47 from frdeso/lava_midnight
Michael Jeanson [Tue, 27 Mar 2018 14:56:08 +0000 (10:56 -0400)] 
Merge pull request #47 from frdeso/lava_midnight

jjb: lava: Schedule trigger jobs on early morning on week days

6 years agojjb: lava: Schedule trigger jobs on early morning on week days
Francis Deslauriers [Mon, 26 Mar 2018 21:58:13 +0000 (17:58 -0400)] 
jjb: lava: Schedule trigger jobs on early morning on week days

Because of DNS resolving downtime during backups on weekends we need to
make sure that the long running Lava jobs are scheduled early in the day
so they have time to complete before we pass midnight.

It was causing problems when a lot of Lava jobs were scheduled late
Friday afternoon and some jobs ended up being queued until Saturday
morning when DNS resolving was down.

Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
6 years agoMerge pull request #46 from frdeso/lava_fuzzing_daily
Jonathan Rajotte Julien [Wed, 21 Mar 2018 18:54:07 +0000 (14:54 -0400)] 
Merge pull request #46 from frdeso/lava_fuzzing_daily

jjb: lava: Run fuzzing job daily regardless of code changes

6 years agojjb: lava: Run fuzzing job daily regardless of code changes
Francis Deslauriers [Wed, 21 Mar 2018 14:57:04 +0000 (10:57 -0400)] 
jjb: lava: Run fuzzing job daily regardless of code changes

Since the kprobe fuzzing has in important random aspect, we can run it
daily to increase the instrumentation coverage.

Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
6 years agoMerge pull request #45 from frdeso/lava_fuzzing_blacklist_ftrace
Jonathan Rajotte Julien [Mon, 19 Mar 2018 16:31:05 +0000 (12:31 -0400)] 
Merge pull request #45 from frdeso/lava_fuzzing_blacklist_ftrace

jjb: lava: kprobe-fuzzing: Don't fuzz ftrace functions

6 years agojjb: lava: kprobe-fuzzing: Don't fuzz ftrace functions
Francis Deslauriers [Fri, 16 Mar 2018 16:19:49 +0000 (12:19 -0400)] 
jjb: lava: kprobe-fuzzing: Don't fuzz ftrace functions

Probing ftrace functions like ftrace_ops_assist_func and some other
function can cause crashes and it won't be fixed by the kernel community
in the foreseeable future. See discussion [1].

People seem to agree it's a bug but we don't have a timeline on the fix.

For now, we ourselves manually blacklist the symbols from the fuzzed
instrumentation points.

[1] https://lkml.org/lkml/2018/3/16/560

Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
6 years agoMerge pull request #44 from frdeso/lava_fuzzing_remove_coredump
Jonathan Rajotte Julien [Mon, 19 Mar 2018 16:17:17 +0000 (12:17 -0400)] 
Merge pull request #44 from frdeso/lava_fuzzing_remove_coredump

jjb: lava: kprobe-fuzzing: Remove coredump recovery step

6 years agoMerge pull request #43 from frdeso/fix_lava_fuzzing_generate
Jonathan Rajotte Julien [Mon, 19 Mar 2018 16:16:53 +0000 (12:16 -0400)] 
Merge pull request #43 from frdeso/fix_lava_fuzzing_generate

jjb: lava: kprobe-fuzzing: Fix syntax error in test definition

6 years agojjb: lava: kprobe-fuzzing: Remove coredump recovery step
Francis Deslauriers [Thu, 15 Mar 2018 18:59:26 +0000 (14:59 -0400)] 
jjb: lava: kprobe-fuzzing: Remove coredump recovery step

The fuzzing is targeting the kernel so there is no value to gather
userspace coredumps.

Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
6 years agojjb: lava: kprobe-fuzzing: Fix syntax error in test definition
Francis Deslauriers [Fri, 16 Mar 2018 01:39:57 +0000 (21:39 -0400)] 
jjb: lava: kprobe-fuzzing: Fix syntax error in test definition

Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
6 years agoMerge pull request #42 from frdeso/lava_fuzzing_multi_iter
Jonathan Rajotte Julien [Thu, 15 Mar 2018 18:59:28 +0000 (14:59 -0400)] 
Merge pull request #42 from frdeso/lava_fuzzing_multi_iter

jjb: lava: kprobe-fuzzing: Split testcase into multiple independent ones

6 years agojjb: lava: kprobe-fuzzing: Add random seed param for generation script
Francis Deslauriers [Thu, 15 Mar 2018 16:21:42 +0000 (12:21 -0400)] 
jjb: lava: kprobe-fuzzing: Add random seed param for generation script

Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
6 years agojjb: lava: kprobe-fuzzing: Fix: clear events before next iteration
Francis Deslauriers [Thu, 15 Mar 2018 03:48:30 +0000 (23:48 -0400)] 
jjb: lava: kprobe-fuzzing: Fix: clear events before next iteration

Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
6 years agojjb: lava: kprobe-fuzzing: Split testcase into multiple independent ones
Francis Deslauriers [Thu, 15 Mar 2018 00:27:12 +0000 (20:27 -0400)] 
jjb: lava: kprobe-fuzzing: Split testcase into multiple independent ones

With the current configuration, the fuzzing is done in a single Lava
testcase. If the kernel crashes during the testcase, the Lava slave will
be rebooted once the timeout expires(currently 2 hours). If the testcase
crashes at the beginning of the testcase, the job still has to wait for
the timeout to expire. That causes a lot of wasted time.

We overcome this by split the fuzzing into multiple smaller testcases
all with a smaller timeout and a specific range of instrumentation
points to test. This has the benefits of increasing our testing coverage
and resource efficiency.

Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
6 years agoMerge pull request #41 from frdeso/lava_fuzzing_print_instr_point_boundary
Jonathan Rajotte Julien [Wed, 14 Mar 2018 21:47:12 +0000 (17:47 -0400)] 
Merge pull request #41 from frdeso/lava_fuzzing_print_instr_point_boundary

jjb: lava: kprobe-fuzzing: print instrumentation points boundaries at…

6 years agojjb: lava: kprobe-fuzzing: print instrumentation points boundaries at each iteration
Francis Deslauriers [Wed, 14 Mar 2018 21:28:47 +0000 (17:28 -0400)] 
jjb: lava: kprobe-fuzzing: print instrumentation points boundaries at each iteration

Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
6 years agoMerge pull request #40 from frdeso/lava_fuzzing_remove_lttng
Michael Jeanson [Wed, 14 Mar 2018 20:31:46 +0000 (16:31 -0400)] 
Merge pull request #40 from frdeso/lava_fuzzing_remove_lttng

jjb: lava: kprobe-fuzzing: Don't setup lttng env

6 years agojjb: lava: kprobe-fuzzing: Don't setup lttng env
Francis Deslauriers [Wed, 14 Mar 2018 20:18:43 +0000 (16:18 -0400)] 
jjb: lava: kprobe-fuzzing: Don't setup lttng env

We now use the debugfs interface to enable kprobe events, so we don't
need to setup an LTTng env anymore.

Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
6 years agojjb: Use updated system bison and popt on sol11
Michael Jeanson [Wed, 14 Mar 2018 20:16:26 +0000 (16:16 -0400)] 
jjb: Use updated system bison and popt on sol11

Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
6 years agoMerge pull request #39 from frdeso/lava_improve_fuzzing
Jonathan Rajotte Julien [Wed, 14 Mar 2018 19:51:16 +0000 (15:51 -0400)] 
Merge pull request #39 from frdeso/lava_improve_fuzzing

jjb: lava: Reimplement kprobe fuzzing job

6 years agojjb: lava: Reimplement kprobe fuzzing job
Francis Deslauriers [Mon, 12 Mar 2018 20:13:32 +0000 (16:13 -0400)] 
jjb: lava: Reimplement kprobe fuzzing job

This commits reimplements the kprobe fuzzing job in Python.

The Lava job is split into two stages. The first stage generates the
list of instrumentation points to try and saves it to the Lava job.
The second stage, reads this file and perform the fuzzing.

To save the instrumentation points file, we need to attach it to the job
from a Lava test shell that doesn't crash since that would prevent the
file from being saved. Because the fuzzing stage is likely to crash, we
need to do the generation and saving in a different stage.

In the past, we only fuzzed kallsyms symbols. Now we also fuzz random
offsets from these symbols and random addresses in the entire address
range.

We now save the list of instrumentation points before running the
fuzzing, so we don't have to print tested symbols along the way.
Instead, at each iteration, we print what interval of lines we are
currently testing. When we witness a crash, we can go back to the saved
file to see what instrumentation points caused it.

Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
6 years agoMerge pull request #38 from frdeso/fix_lava_coredump_attach
Michael Jeanson [Tue, 27 Feb 2018 18:45:24 +0000 (13:45 -0500)] 
Merge pull request #38 from frdeso/fix_lava_coredump_attach

jjb: lava: Fix: lava jobs attaching files to wrong test case

6 years agojjb: lava: Fix: lava jobs attaching files to wrong test case
Francis Deslauriers [Tue, 27 Feb 2018 17:36:18 +0000 (12:36 -0500)] 
jjb: lava: Fix: lava jobs attaching files to wrong test case

Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
6 years agoMerge pull request #37 from frdeso/fix_update_system_tests_path
Jonathan Rajotte Julien [Fri, 23 Feb 2018 18:30:53 +0000 (13:30 -0500)] 
Merge pull request #37 from frdeso/fix_update_system_tests_path

Fix: update system tests paths

6 years agojjb: lava: change lava jobs directory name
Francis Deslauriers [Fri, 23 Feb 2018 18:24:37 +0000 (13:24 -0500)] 
jjb: lava: change lava jobs directory name

Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
6 years agojjb: lava: fix: update system-tests directory path
Francis Deslauriers [Fri, 23 Feb 2018 18:21:23 +0000 (13:21 -0500)] 
jjb: lava: fix: update system-tests directory path

Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
6 years agoMerge pull request #36 from frdeso/fix_system_tests_path
Michael Jeanson [Thu, 22 Feb 2018 14:55:27 +0000 (09:55 -0500)] 
Merge pull request #36 from frdeso/fix_system_tests_path

jjb: lava: fix: update path to scripts

6 years agojjb: lava: fix: update path to scripts
Francis Deslauriers [Thu, 22 Feb 2018 14:37:11 +0000 (09:37 -0500)] 
jjb: lava: fix: update path to scripts

Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
6 years agoMerge pull request #35 from frdeso/lava_trigger
Jonathan Rajotte Julien [Wed, 21 Feb 2018 22:20:13 +0000 (17:20 -0500)] 
Merge pull request #35 from frdeso/lava_trigger

jjb: lava: Rework baremetal jobs and introduce trigger job

6 years agojjb: lava: keep track of job exit status and configuration
Francis Deslauriers [Mon, 12 Feb 2018 21:32:27 +0000 (16:32 -0500)] 
jjb: lava: keep track of job exit status and configuration

Completely rework the system trigger jobs.

Before those changes a failed sub-job would make the umbrella job fail
once but the next time the umbrella job runs, it would see no new
commit, omit the schedule the sub-job again, and return success.
Failures were forgotten after one day.

We now save on the workspace the exit status and configuration of every
sub-job. This way we can avoid re-running sub-jobs that have jailed in
the past and haven't changed since. An umbrella jobs containing such
sub-job will now directly marked as failed.

The umbrella job will keep the failed status until all sub-jobs succeed.

Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
6 years agojjb: lava: do not use empty default params
Francis Deslauriers [Tue, 6 Feb 2018 18:41:30 +0000 (13:41 -0500)] 
jjb: lava: do not use empty default params

Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
6 years agojjb: lava: use timed trigger rather than pollscm
Francis Deslauriers [Tue, 6 Feb 2018 18:39:43 +0000 (13:39 -0500)] 
jjb: lava: use timed trigger rather than pollscm

Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
6 years agojjb: lava: remove untracked linux version
Francis Deslauriers [Tue, 6 Feb 2018 18:39:18 +0000 (13:39 -0500)] 
jjb: lava: remove untracked linux version

Linux kernel commit e39d200fa5bf5b94a0948db0dae44c1b73b84a56 was
backported to multiple Linux stable branches including linux-4.4.y.

That commit changes a tracepoint interface, thus prevents the build of
the unsupported LTTng version 2.7 on this version.

As a solution, we remove the test configuration with linux-4.4.y and
lttng stable 2.7.

Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
6 years agojjb: lava: check for status changes of system jobs every 30 seconds
Francis Deslauriers [Mon, 15 Jan 2018 15:52:02 +0000 (10:52 -0500)] 
jjb: lava: check for status changes of system jobs every 30 seconds

Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
6 years agojjb: lava: schedule canary jobs last
Francis Deslauriers [Mon, 15 Jan 2018 15:51:06 +0000 (10:51 -0500)] 
jjb: lava: schedule canary jobs last

Canary job are of lesser importance as they used to confirm the health
of Jenkins-Lava pipeline. We schedule them last so we can get the active
branches to run first and get test results of interest quicker.

Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
6 years agojjb: fix coverity upload return code
Michael Jeanson [Tue, 13 Feb 2018 16:22:58 +0000 (11:22 -0500)] 
jjb: fix coverity upload return code

Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
6 years agojjb: Add linux-rseq coverity job
Michael Jeanson [Tue, 13 Feb 2018 16:21:53 +0000 (11:21 -0500)] 
jjb: Add linux-rseq coverity job

Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
6 years agojjb: lava: Run trigger jobs on weekdays, to avoid DNS downtime
Francis Deslauriers [Mon, 15 Jan 2018 15:50:15 +0000 (10:50 -0500)] 
jjb: lava: Run trigger jobs on weekdays, to avoid DNS downtime

Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
6 years agojjb: lava: use Jenkins' Git plugin to checkout projects rather than doing manual...
Francis Deslauriers [Wed, 10 Jan 2018 22:13:28 +0000 (17:13 -0500)] 
jjb: lava: use Jenkins' Git plugin to checkout projects rather than doing manual git clones

Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
6 years agojjb: lava: change job parameters to uppercase
Francis Deslauriers [Wed, 10 Jan 2018 17:06:06 +0000 (12:06 -0500)] 
jjb: lava: change job parameters to uppercase

Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
6 years agoansible: update hosts
Michael Jeanson [Wed, 17 Jan 2018 18:40:00 +0000 (13:40 -0500)] 
ansible: update hosts

Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
6 years agolttng-ivc: Introduce lttng-ivc-{version}-modules jobs
Jonathan Rajotte [Mon, 15 Jan 2018 16:00:10 +0000 (11:00 -0500)] 
lttng-ivc: Introduce lttng-ivc-{version}-modules jobs

Perform lttng-ivc kernel testing on standalone node.

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agoFix: use temp dir for base venv
Jonathan Rajotte [Fri, 15 Dec 2017 20:56:26 +0000 (15:56 -0500)] 
Fix: use temp dir for base venv

Tox have difficulty with long base venv python path on standalone node.

Do not use -e from bash to make sure all cleanup command are run.

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
6 years agojjb: lava: clarify logging statements in trigger jobs
Francis Deslauriers [Wed, 10 Jan 2018 15:56:53 +0000 (10:56 -0500)] 
jjb: lava: clarify logging statements in trigger jobs

Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
6 years agojjb: lava: fix: test results not being printed
Francis Deslauriers [Tue, 9 Jan 2018 21:59:39 +0000 (16:59 -0500)] 
jjb: lava: fix: test results not being printed

Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
This page took 0.039703 seconds and 4 git commands to generate.