Files
linuxkit/test/virtsock
Justin Cormack 065af9707c Replace riddler with code that constructs config.json directly
Generated largely from the specified config; small parts taken from `docker image inspect`,
such as the command line.

Renamed some of the yaml keys to match the OCI spec rather than Docker Compose as
we decided they are more readable, no more underscores.

Add some extra functionality
- tmpfs specification
- fully general mount specification
- no new privileges can be specified now

For nostalgic reasons, using engine-api to talk to the docker cli as
we only need an old API version, and it is nice and easy to vendor...

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-04-03 23:28:55 +01:00
..
2017-03-27 09:53:26 +02:00

This directory contains the files to build and run a container containing the virtio and Hyper-V socket stress tests. test-virtsock-server.yml builds images which start the server inside the VM.

The client, to be run on the host as per this README, can be obtained compiled from here.

How to use (on Windows)

  • Build the images: moby build test-virtsock-server
  • Copy the test-virtsock-server.iso to a Windows system
  • Create a Type 1 Hyper-V VM (called virtsock).
    • No Disk or network required
    • Add the ISO to the CDROM device
    • Make sure you enable a named pipe for COM1 (call it virtsock)
  • Start the VM
  • Connect to the serial console (to get debug output) with putty -serial \\.\pipe\virtsock

Run the client:

$vmId = (get-vm virtsock).Id
.\virtsock_stress.exe -c $vmId  -v 1 -c 1000000 -p 10

This creates 1000000 connections from 10 threads to the VM and sends some random amount of data of the connection before tearing it down. There are more options to change the behaviour.

TODO

  • Add scripts to create Hyper-V VM
  • Enable virtio sockets in moby run with HyperKit
  • Add some sample client YAML files which would connect from the VM to the host
  • Hook up to CI for both HyperKit and Hyper-V