Commit Graph

3529 Commits

Author SHA1 Message Date
Justin Cormack
ea57e4951a Merge pull request #1948 from justincormack/report-28-may
Add development report for week to 28 May 2017
2017-06-01 14:45:36 +01:00
Justin Cormack
583c5755fa Merge pull request #1944 from justincormack/qemu-multiple-disks
Support multiple disks in qemu
2017-06-01 14:17:51 +01:00
Justin Cormack
f9dd9f3087 Add development report for week to 28 May 2017
Slightly late, due to holiday, sorry!

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-06-01 13:49:20 +01:00
Justin Cormack
25a1e12cf3 Support multiple disks in qemu
This changes the CLI specification for disks, as it needs to be able to
be repeated.

```
linuxkit run qemu -disk name,size=1G,format=qcow2 ...
```

Options may be omitted.

Currently other local backends may not support multiple disks, but this
can be added in future. Code for cloud backends has not changed as the
disk support is specific to the platform.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-06-01 13:40:20 +01:00
Riyaz Faizullabhoy
abb19f847d Merge pull request #1929 from thebsdbox/push_vcenter
vCenter push capability
2017-05-31 13:41:24 -07:00
Riyaz Faizullabhoy
b5b0c08400 Merge pull request #1946 from tych0/2017-05-30-cves
docs: add some writeups of recent CVEs
2017-05-31 13:39:05 -07:00
thebsdbox
6d9a3c5312 vCenter push capability
Re-factored the `run` code to create the `push` functionality.

Signed-off-by: Dan Finneran <daniel.finneran@gmail.com>
2017-05-31 21:04:27 +01:00
Tycho Andersen
63d7e95467 docs: add some writeups of recent CVEs
Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-05-31 11:37:03 -06:00
Riyaz Faizullabhoy
18660013b4 Merge pull request #1943 from ijc25/update-containerd
Update containerd to 7fc91b05917e93d474fab9465547d44eacd10ce3
2017-05-31 10:19:28 -07:00
Ian Campbell
eaedbd454c Update containerd to 7fc91b05917e93d474fab9465547d44eacd10ce3
Update everything including the current
linuxkit/containerd:b1766e4c4c09f63ac4925a6e4612852a93f7e73b to the new
linuxkit/containerd:deaf5bf838bf7f131c2287ecff3ed9835b0497e2.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-05-31 17:05:24 +01:00
Riyaz Faizullabhoy
b822bff6ad Merge pull request #1938 from riyazdf/cleanup-js-tags
docs: move signing doc to top level and remove applejs tags
2017-05-30 12:11:10 -07:00
Riyaz Faizullabhoy
7ede6b5abe Merge pull request #1936 from justincormack/ns-nginx
Remove unnecessary namespace I missed
2017-05-30 12:00:51 -07:00
Riyaz Faizullabhoy
c983441dae Merge pull request #1935 from thebsdbox/pushUsageFix
Fix correct usage function
2017-05-30 12:00:33 -07:00
Riyaz Faizullabhoy
cb453afa26 trust: move doc to top level and remove applejs tags
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2017-05-30 11:03:57 -07:00
Rolf Neugebauer
9e39a8f642 Merge pull request #1937 from rneugeba/mstage
Convert remaining packages to multi-stage, git tree hash, and Alpine base
2017-05-30 17:52:18 +01:00
Rolf Neugebauer
cbecd19c51 cli: Update qemu runner to use the new qemu image
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-30 17:15:13 +01:00
Rolf Neugebauer
fa9151cc00 tools: Build qemu package from the Alpine base
Also use the git tree hash as the hash.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-30 17:15:13 +01:00
Rolf Neugebauer
63d5031035 tools: Add OVMF BIOS firmware to the Alpine base
This ovmf package is part of the community repository. We don't
want to "pollute" the Alpine base with it. Luckily it's juts a single
file which we can install and then copy to the base image.

The package is needed for qemu EFI boot.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-30 17:15:13 +01:00
Rolf Neugebauer
677edf8e15 Update uses of go-compile to latest
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-30 17:15:13 +01:00
Rolf Neugebauer
0d718fed40 tools: Use the Alpine base to build the go-compile image
Also, convert to use a git tree hash.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-30 17:15:13 +01:00
Rolf Neugebauer
7173529253 tests: Update YAML files with new poweroff package
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-30 17:15:13 +01:00
Rolf Neugebauer
95b13501f2 tests: Use the Alpine base image for the poweroff package
Also convert it to use the git tree hash

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-30 17:15:13 +01:00
Rolf Neugebauer
551d3dcf3a tests: Update ltp test YAML file
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-30 17:15:13 +01:00
Rolf Neugebauer
4423d1943a tests: Use multi-stage builds for LTP
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-30 17:15:13 +01:00
Rolf Neugebauer
3d745c378b tests: Update unfinished docker-bench test
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-30 17:15:13 +01:00
Rolf Neugebauer
d9c2c366e4 tests: Convert docker-bench to use multi-stage builds
Also update to docker 17.05.0-ce and only install
the docker CLI, not the rest.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-30 17:15:13 +01:00
Justin Cormack
a902e90a23 Remove unnecessary namespace I missed
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-30 16:30:50 +01:00
Justin Cormack
5bb90f166a Merge pull request #1934 from justincormack/default-ns-change
Default ns change
2017-05-30 16:20:38 +01:00
Rolf Neugebauer
8cbf7cb064 Merge pull request #1883 from ijc25/qemu-ga
Add a simple qemu guest agent package
2017-05-30 16:15:55 +01:00
thebsdbox
9e7214a1f8 Fix correct usage function
This fixes the push function as it currently gives the help for `run`
not `push`.

Signed-off-by: Dan Finneran <daniel.finneran@gmail.com>
2017-05-30 15:56:01 +01:00
Justin Cormack
d614ea37d1 Update Moby
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-30 15:41:30 +01:00
Justin Cormack
d92e19f020 Update the yaml files with new builds
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-30 15:40:51 +01:00
Justin Cormack
d9aada88dc Update for new default namespaces
See https://github.com/moby/tool/pull/56

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-30 15:06:30 +01:00
Justin Cormack
1a2dff7fc8 Merge pull request #1932 from justincormack/init-sinit
Use the sinit conventions for init
2017-05-30 14:49:19 +01:00
Justin Cormack
599f2d6f5b Update yaml files with new init
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-30 14:15:16 +01:00
Justin Cormack
08e211df44 Use the sinit conventions for init
This should make it easier to switch out `init` for other versions,
although the `getty` config still needs to be removed.

- use `/bin/rc.init` for start
- use `rc.shutdown` for stop
- make `rc.init` run other code.
- merge `containers` and `containerd` startup code

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-30 14:14:34 +01:00
Ian Campbell
497b07e57b Add a simple qemu guest agent package
We don't actually build it here, we just use the alpine package, which is
already included in the linuxkit/alpine base.

Can be instantiated with a service stanza such as:
  - name: qemu-ga
    image: "linuxkit/qemu-ga:e5fbcf55926f6e1a96b3e49a392e547e8be1022c"
    binds:
      - /dev/vport0p1:/dev/vport0p1

The only functionality I've tested is to report IP addresses to the host (e.g.
via `virsh domifaddr`).

The image is configured to use `/dev/vport0p1` by default. If your VM image is
using a different port number then you can either incorporate the rename into
the bind ("/dev/vport1p1:/dev/vport0p1") or override the command with:
    command: ["/usr/bin/qemu-ga", "-p", "/dev/vport1p1"]

The mdev tool appears to not create the symlinks which udev would provide
`/dev/virtio-ports/org.qemu.guest_agent.0` hence the need to hardcode the
potentially unstable `/dev/vportNp1`, `N` seems to depend on the number and
order of virtio devices in use. I don't know if it is possible to get mdev to
create these links. For reference the udev rule is:

    SUBSYSTEM=="virtio-ports", KERNEL=="vport*", ATTR{name}=="?*", SYMLINK+="virtio-ports/$attr{name}"

See https://wiki.libvirt.org/page/Qemu_guest_agent for more info on the guest
agent.

A suitable stanza is added to `projects/swarmd/swarmd.yml` since that is where
I am using it.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-05-30 13:59:35 +01:00
Rolf Neugebauer
063d82c687 Merge pull request #1930 from rneugeba/kup
kernel: Update to 4.11.3/4.9.30/4.4.70
2017-05-30 12:49:21 +01:00
Rolf Neugebauer
8d0182e17c kernel: Update to 4.11.3/4.9.30/4.4.70, remove 4.10.x
4.10.x has been EOLed. Remove it from the build and tests.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-30 12:32:09 +01:00
Justin Cormack
6f26ad65cc Merge pull request #1928 from rneugeba/go
Remove remaining uses of tools/go-compile from packages
2017-05-29 19:46:12 +01:00
Rolf Neugebauer
360e9870d6 Merge pull request #1926 from MagnusS/no-networking
hyperkit: Add --networking option
2017-05-29 19:23:52 +01:00
Magnus Skjegstad
eadb3066f3 hyperkit: Add --networking option
Adds a new --networking option to simplify selection of networking modes
for `linuxkit run hyperkit`. The new modes are "docker-for-mac",
"vpnkit" and "none".

By default docker-for-mac will be used for networking. HyperKit will
then connect to the default VPNKit socket location used by Docker for
Mac.

In vpnkit-mode a new VPNKit instance is started and the socket
"vpnkit_eth.sock" is created in the state directory. This mode also
enables port forwarding via 9p and vsock. The vpnkit mode optionally
accepts a path to an existing VPNKit socket. This allows two or more VMs
to be connected to the same virtual network - but only the VM that
created the the socket can use port forwarding.

Mode "none" disables networking.

Signed-off-by: Magnus Skjegstad <magnus@skjegstad.com>
2017-05-29 19:49:13 +02:00
Rolf Neugebauer
79f5c59813 tests: Use Alpine base to compile virtsock test program
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-29 17:30:57 +01:00
Rolf Neugebauer
8cff978fab Update YAML files with updated binfmt package
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-29 17:30:57 +01:00
Rolf Neugebauer
ebc7bd181a pkg: Update the binfmt packages to use the Alpine base compiling
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-29 17:30:57 +01:00
Rolf Neugebauer
b70410a478 Update YAML files to updated metadata package
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-29 17:30:57 +01:00
Rolf Neugebauer
6d59041daa pkg: Update the metadata package to multi-stage build and alpine base
- Use the alpine base to compile the go program
- Use a multi-stage build

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-29 17:30:57 +01:00
Justin Cormack
e83aee2604 Merge pull request #1927 from thebsdbox/qemu_mistake
Fixes disk size output typo
2017-05-29 16:19:42 +01:00
thebsdbox
bbde9f5baa Fixes disk size output typo
The error was incorrect when unable to parse the disk size.

Signed-off-by: Dan Finneran <daniel.finneran@gmail.com>
2017-05-29 14:15:56 +01:00
Rolf Neugebauer
9086dd0435 Merge pull request #1925 from rneugeba/tests
Tweak package tests and add more
2017-05-29 14:08:09 +01:00