Commit Graph
18 Commits
Author SHA1 Message Date
Zach KoopmansandgVisor bot bda81b139c Update docker packages to new moby repo.
PiperOrigin-RevId: 555358714
2023-08-09 20:48:47 -07:00
Nicolas LacasseandgVisor bot c19ef4fb19 Automated rollback of changelist 523138695
PiperOrigin-RevId: 523233101
2023-04-10 15:53:54 -07:00
Nicolas LacasseandgVisor bot 964e4caa71 Apply net-related sysctls when configuring host network.
This is needed to support things like ipv6, which are configured by sysctls
passed to Docker.

PiperOrigin-RevId: 523138695
2023-04-10 09:49:09 -07:00
Zach KoopmansandgVisor bot b10d68072b Add portforward command to runsc
Add portforward comand so that we can use runsc to forward connections
to container ports. This will eventually be supported in k8s.

PiperOrigin-RevId: 520739913
2023-03-30 14:16:19 -07:00
Zach KoopmansandgVisor bot d2e2b3730e Add usage benchmarks
Add the usage benchmark which queries memory usage from the container. This
is meant to replace the size benchmark which has a ton of noise.

Flakes are due to the complicated measurement technique of dropping caches ->
parse /proc/meminfo -> start containers -> drops caches again -> parse
/proc/meminfo -> take the diference. This was done because not all runtimes
support docker/containerd stats.

Buuuut...gVisor does, so we'll just take the stats figures to reduce noise
for the memory usage benchmark.

In addition, the returned types.StatsJSON object contains several useful stats
like page faults and CPU usage, so adding these will be trivial and will not
slow down benchmark performance.

[types.StatsJSON linky link](https://github.com/moby/moby/blob/42c8b314993e5eb3cc2776da0bbe41d5eb4b707b/api/types/stats.go#LL153)

PiperOrigin-RevId: 503342363
2023-01-19 21:00:49 -08:00
Etienne PerotandgVisor bot 5f5cc82fe1 Use runc as default runtime for unsandboxed containers.
Without this, attempting to build or test gVisor on machines where the default
runtime isn't `runc` may fail, as that runtime may not support what we need.

PiperOrigin-RevId: 486205081
2022-11-04 12:35:05 -07:00
Kevin KrakauerandgVisor bot 5ab62d080e Limit the number of open files per sandbox
Fixes #6547.

PiperOrigin-RevId: 457594490
2022-06-27 16:41:21 -07:00
Fabricio VoznikaandgVisor bot f18c75f691 Fail tests when container returns non-zero status
PiperOrigin-RevId: 366839955
2021-04-05 11:39:53 -07:00
Zach KoopmansandgVisor bot d7c80588da Fix bug with iperf and don't profile runc.
Fix issue with iperf where b.N wasn't changing across runs.
Also, if the given runtime is runc/not given, don't run a profile against it.

PiperOrigin-RevId: 357231450
2021-02-12 11:28:16 -08:00
Adin ScannellandgVisor bot f5764a605a 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 ScannellandgVisor bot caec235b70 Simplify profiling and benchmarks.
- Tweak the benchmarks to work with b.N where appropriate. In many cases,
  b.N was simply being ignored. This creates an implicit dependency in the
  user passing a reasonable benchtime (less than or equal to the actual
  runtime of the test, or using the X syntax) otherwise the test runs
  forever.
- In cases where the above is impossible, explicitly set benchtime from
  the test wrapper, to prevent the above behavior (tensorflow).
- Drop the *Reverse variants, which are simply hey benchmarks. We should
  just add a hey benchmark. The platforms benchmarks already include a
  native platform, and thus these benchmarks are incredibly confusing.
  (In other words, BenchmarkNginxReverse has nothing to do with an nginx
  benchmark for runsc.)
- Remove the redunant Harness object, which contains no state, in order
  to slightly simplify the code.
- Make Block and Heap profiling actually work, but setting appropriate
  runtime parameters (and plumbing them through the config).
- Split the profiling into two phases: start and stop, since some will
  need to be started early, and others will need to happen at the end.

PiperOrigin-RevId: 349495377
2020-12-29 18:29:12 -08:00
Adin ScannellandgVisor bot cd577716bf Fail gracefully if Docker is not configured with ipv6.
PiperOrigin-RevId: 343927315
2020-11-23 14:24:27 -08:00
Zeling FengandgVisor bot f7a4ef7453 Add support to run packetimpact tests against Fuchsia
blaze test <test_name>_fuchsia_test will run the corresponding packetimpact
test against fuchsia.

PiperOrigin-RevId: 329835290
2020-09-02 19:19:40 -07:00
Zach KoopmansandgVisor bot 60d6f86e4b Port Ruby benchmark.
PiperOrigin-RevId: 325500772
2020-08-07 13:49:07 -07:00
Kevin KrakauerandgVisor bot 1fd57815c8 Have dockerutil.Wait* respect the context deadline
PiperOrigin-RevId: 324044634
2020-07-30 11:29:24 -07:00
Kevin Krakauer f5f34a3863 ip6tables testing
We skip gVisor tests for now, as ip6tables aren't yet implemented.
2020-07-28 10:51:14 -07:00
Zach KoopmansandgVisor bot 504dc8b8bc Add profiling to dockerutil
Adds profiling with `runsc debug` or pprof to dockerutil. All
targets using dockerutil should now be able to use profiling.

In addition, modifies existing benchmarks to use profiling.

PiperOrigin-RevId: 323298634
2020-07-26 22:02:51 -07:00
Zach KoopmansandgVisor bot c5a0007cec Move all tests to new docker API.
Moves following to new dockerutil API:
- //test/e2e:integration_test
- //test/image:image_test
- //test/iptables:iptables_test
- //test/root:root_test
- //test/packetimpact:packetimpact_test

PiperOrigin-RevId: 320253118
2020-07-08 13:26:23 -07:00