Commit Graph

72 Commits

Author SHA1 Message Date
Fabricio Voznika c7fc4a5d66 Add fsstress tests
Updates #5273

PiperOrigin-RevId: 352088736
2021-01-15 14:51:51 -08:00
Zach Koopmans 95371cff35 Don't run profiles on runc.
PiperOrigin-RevId: 351906812
2021-01-14 17:04:13 -08:00
Adin Scannell a684bfb6c0 Split container tests from unit tests.
PiperOrigin-RevId: 351632484
2021-01-13 11:48:50 -08:00
Adin Scannell fb95e13df5 Don't remove release directory.
If the release directory is a parent directory (for reasons), then this causes
a few problems (to say the least).

PiperOrigin-RevId: 351515882
2021-01-12 22:25:46 -08:00
Fabricio Voznika 8b0f0b4d11 Delete shim v1
gvisor-containerd-shim is not compatible with containerd 1.1 or earlier.
Starting from containerd 1.2, shim v2 is the preferred interface.

PiperOrigin-RevId: 351485556
2021-01-12 17:54:10 -08:00
Adin Scannell a20da70829 Fix Go branch for arm64.
This requires several changes:
* Templates must preserve relevant tags.
* Pagetables templates are split into two targets, each preserving tags.
* The binary VDSO is similarly split into two targets, with some juggling.
* The top level tools/go_branch.sh now does a crossbuild of ARM64 as well,
  and checks and merges the results of the two branches together.

Fixes #5178

PiperOrigin-RevId: 351304330
2021-01-11 22:33:36 -08:00
Adin Scannell 0c99ab7090 Support releasing aarch64 builds.
This change works around an issue in rules_pkg, described here:
  https://github.com/bazelbuild/rules_pkg/pull/263

PiperOrigin-RevId: 350869030
2021-01-08 18:03:17 -08:00
Adin Scannell df1b23c8de Fix sha256 for github-workflow.json.
This was not being tested as part of the unit test workflows, and thus was
not being hit normally. These tests are also added to the unit tests target.

PiperOrigin-RevId: 350766814
2021-01-08 08:17:41 -08:00
Andrei Vagin 8de562b799 Add ARM smoke test
make BAZEL_CONFIG=aarch64 arm-qemu-smoke-test

Signed-off-by: Andrei Vagin <avagin@gmail.com>
2021-01-07 17:41:43 -08:00
Adin Scannell 776016ac64 Fix native benchmarks.
PiperOrigin-RevId: 350509137
2021-01-07 01:17:10 -08:00
Adin Scannell fa8682da0f Export a pprof visualization endpoint.
This allows us to link directly to profiling results from
the build results. The code uses the standard pprof http
server, exported from the Cloud Run instance.

PiperOrigin-RevId: 350440910
2021-01-06 15:44:07 -08:00
Adin Scannell b06e5bc5b0 Add benchmarks targets to BuildKite.
This includes minor fix-ups:

* Handle SIGTERM in runsc debug, to exit gracefully.
* Fix cmd.debug.go opening all profiles as RDONLY.
* Fix the test name in fio_test.go, and encode the block size in the test.

PiperOrigin-RevId: 350205718
2021-01-05 13:21:54 -08:00
Adin Scannell 899b9ba46a Add BuildKite annotations for failures and profiles.
This change cleans up some minor Makefile issues, and adds support for
BuildKite annotations on failure and on profiles being generated. These
annotations will make failures very clear and link to the artifacts.

This change is a stepping stone for aggregating coverage data from all
individual test jobs, as this will also happen in .buildkite/annotate.sh.

PiperOrigin-RevId: 349606598
2020-12-30 15:09:12 -08:00
Fabricio Voznika eeee055d60 Set --nocache_test_results to runtime tests
If not set, the cached result is used even when runtime options
are changed, because they are not visible to blaze/bazel.

PiperOrigin-RevId: 348074339
2020-12-17 12:42:09 -08:00
Adin Scannell 7da25e6dc3 Restore refresh target.
PiperOrigin-RevId: 347864621
2020-12-16 11:45:28 -08:00
Adin Scannell 5bdc167d17 Fix run and sudo targets.
These are not passing arguments properly. This breaks the current
pre-command for BuildKite.

PiperOrigin-RevId: 347062729
2020-12-11 13:25:44 -08:00
Ian Lewis 0eb4acad37 Fix website build
Fix 'run' function call so that parameters are passed properly to the function.

PiperOrigin-RevId: 346929952
2020-12-10 21:50:03 -08:00
Adin Scannell a855a814d6 Refactor the Makefile to avoid recursive Make.
Recursive make is difficult to follow and debug. Drop this by using
internal functions, which, while difficult, are easier than trying to
following recursive invokations.

Further simplify the Makefile by collapsing the image bits and removing
the tools/vm directory, which is effectively unused.

Fixes #4952

PiperOrigin-RevId: 346569133
2020-12-09 15:53:23 -08:00
Peter Johnston eeb23531eb Support icmpv6 transport protocol
PiperOrigin-RevId: 346101076
2020-12-07 08:44:44 -08:00
Adin Scannell 216abfb6df Update containerd tests for 1.4+ to 1.4.3.
PiperOrigin-RevId: 345764404
2020-12-04 15:05:46 -08:00
Zach Koopmans 4b198b18e1 Fix load-benchmarks-images call.
make load-benchmarks-images is empty with the deleted line.

PiperOrigin-RevId: 345741855
2020-12-04 13:14:09 -08:00
Fabricio Voznika 9eb77281c4 Update containerd to 1.3.9
PiperOrigin-RevId: 345564927
2020-12-03 16:55:44 -08:00
Adin Scannell 80552b936d Support partitions for other tests.
PiperOrigin-RevId: 345399936
2020-12-03 01:00:21 -08:00
Adin Scannell 756bc3e52b Clean up build output.
This change also simplifies and documents the build_cmd pipeline, and
reduces general noise for debugging Makefile issues.

It also drops the mapping for /etc/docker/daemon.json, which if it
does not exist initially will create this as a directory (causing lots
of confusion and breaks).

PiperOrigin-RevId: 343932456
2020-11-23 14:45:34 -08:00
Ayush Ranjan 2a1974b076 [infra] Do not use debug flags for testing.
This causes some networking related tests to take a very long time.
Upon failure, tests can be manually run with debug flags to debug. As is the
strace logs are not available from a test run.

PiperOrigin-RevId: 342156294
2020-11-12 16:30:05 -08:00
Zach Koopmans 792cbc06de Add debug logs to startup benchmark.
PiperOrigin-RevId: 341757694
2020-11-10 21:20:52 -08:00
Adin Scannell a0e2966df5 Show run-benchmark output.
PiperOrigin-RevId: 341667792
2020-11-10 12:01:29 -08:00
Adin Scannell b2d5b71ecd Evaluate T as a shell variable, not a Make variable.
PiperOrigin-RevId: 341531230
2020-11-09 19:13:08 -08:00
Zach Koopmans 6c93dc970f Add pull image statment to benchmarks rule.
PiperOrigin-RevId: 341132662
2020-11-06 15:46:51 -08:00
Ayush Ranjan f27edcc708 [runtime tests] Add partitions to runtime tests.
This will allow us to run massive runtime tests live java to run in parallel
across multiple jobs.

PiperOrigin-RevId: 340956246
2020-11-05 17:11:32 -08:00
Zach Koopmans 7caefd68df Internal Change
PiperOrigin-RevId: 340941898
2020-11-05 15:43:14 -08:00
Kevin Krakauer 181fea0b58 Make RedirectTarget thread safe
Fixes #4613.

PiperOrigin-RevId: 339746784
2020-10-29 14:28:56 -07:00
Ian Lewis cc772f3d54 Add a platform portability blog post
Also fixes the docker_image bazel rule, and website-server make target.

Fixes #3273

PiperOrigin-RevId: 338606668
2020-10-22 21:22:54 -07:00
Adin Scannell 54e989ec3a Remove legacy bazel configurations.
Using the newer bazel rules necessitates a transition from proto1 to
proto2. In order to resolve the incompatibility between proto2 and
gogoproto, the cri runtimeoptions proto must be vendored.

Further, some of the semantics of bazel caching changed during the
transition. It is now necessary to:

- Ensure that :gopath depends only on pure library targets, as the
  propagation of go_binary build attributes (pure, static) will
  affected the generated files (though content remains the same,
  there are conflicts with respect to the gopath).
- Update bazel.mk to include the possibility of binaries in the
  bazel-out directory, as it will now put runsc and others there.
  This required some refinements to the mechanism of extracting
  paths, since some the existing regex resulted in false positives.
- Change nogo rules to prevent escape generation on binary targets.
  For some reason, the newer version of bazel attempted to run the
  nogo analysis on the binary targets, which fails due to the fact
  that objdump does not work on the final binary. This must be due
  to a change in the semantics of aspects in bazel3.

PiperOrigin-RevId: 337958324
2020-10-19 16:28:40 -07:00
Adin Scannell 0a7e32bd17 Add easier-to-use docker_image target.
PiperOrigin-RevId: 337415009
2020-10-15 17:21:24 -07:00
Adin Scannell a55bd73d48 Add staticcheck and staticstyle analyzers.
This change also adds support to go_stateify for detecting an appropriate
receiver name, avoiding a large number of false positives.

PiperOrigin-RevId: 335994587
2020-10-07 18:29:05 -07:00
Adin Scannell 994c90e2d2 Add nogo check annotations to GitHub.
When nogo checks are violated, they will automatically posted
as annotations on the specific GitHub commit. This allows us
to ensure analysis & style rules and have them called out.

PiperOrigin-RevId: 334447285
2020-09-29 13:16:54 -07:00
Ayush Ranjan e09d78f016 Port fuse tests to Makefile.
PiperOrigin-RevId: 332878900
2020-09-21 10:27:13 -07:00
Kevin Krakauer 0b8d306e64 ip6tables: filter table support
`ip6tables -t filter` is now usable. NAT support will come in a future CL.

#3549

PiperOrigin-RevId: 332381801
2020-09-17 21:54:48 -07:00
Ayush Ranjan c0b74be54c Fix root tests target in Makefile.
PiperOrigin-RevId: 332358833
2020-09-17 18:27:10 -07:00
Kevin Krakauer 833ceb0f14 Fix modprobe dependency
The modprobe command only takes 1 module per invocation. The second module name
is being passed as a module parameter.

PiperOrigin-RevId: 331585765
2020-09-14 11:11:05 -07:00
Ayush Ranjan 14e0eb6e0f [vfs] Add vfs2 runtime tests.
PiperOrigin-RevId: 330981912
2020-09-10 11:42:51 -07:00
Ayush Ranjan fada564c83 Fix make_apt script.
This change makes the following fixes:
- When creating a test repo.key, create a secret keyring as other workflows
  also use secret keyrings only.
- We should not be using both --keyring and --secret-keyring options. Just use
  --secret-keyring.
- Pass homedir to all gpg commands. dpkg-sig takes an arg -g which stands for
  gpgopts. So we need to pass the homedir there too.

PiperOrigin-RevId: 330443280
2020-09-07 21:18:22 -07:00
Adin Scannell 3b2e50f539 Include shim in individual released binaries.
The debian rules are also moved to the top-level, since they
apply to binaries outside the //runsc directory.

Fixes #3665

PiperOrigin-RevId: 328379709
2020-08-25 12:24:32 -07:00
Zach Koopmans 89f3197fc3 Mark integration tests as passing in VFS2 except CheckpointRestore.
Mark all tests passing for VFS2 in:
image_test
integration_test

There's no way to do negative look ahead/behind in golang test regex,
so check if the tests uses VFS2 and skip CheckPointRestore if it does.

PiperOrigin-RevId: 326050915
2020-08-11 10:37:32 -07:00
Zach Koopmans 9ac71dc78f Mark DirCreation/tmp tests as passing.
PiperOrigin-RevId: 325861904
2020-08-10 12:27:53 -07:00
Zach Koopmans 80c80a1410 Remove old benchmark tools.
Remove the old benchmark-tools directory, including
imports in the WORKSPACE file and associated bazel rules.

The new Golang benchmark-tools can be found at //test/benchmarks
and it is functionally equivalent, excepting syscall_test
which can be found in //test/perf/linux.

PiperOrigin-RevId: 325529075
2020-08-07 16:18:51 -07:00
Adin Scannell c5f5806fe6 Enable "make packetimpact-tests" to work.
This required minor fixes to the bazel wrapper. The "dut_platform" is
also changed to "native" to line-up with the system call tests and
remove the hard-coded "linux" and "netstack" strings.
2020-08-04 20:49:00 -07:00
Kevin Krakauer fcc88a8b27 Fix PHONY target typos
PiperOrigin-RevId: 324305107
2020-07-31 16:20:35 -07:00
Adin Scannell 6a59e765c3 Override the test timeout for runtimes.
PiperOrigin-RevId: 324026021
2020-07-30 10:12:20 -07:00