Commit Graph

2542 Commits

Author SHA1 Message Date
Justin Cormack
47b0f97e70 Add a doc for topics to discuss at the Summit at Dockercon
(as per containerd)

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-04-02 12:43:52 +01:00
Justin Cormack
834a184ffe Merge pull request #1445 from tych0/security-non-events
docs: add a security-events.md
2017-04-02 12:17:20 +01:00
Tycho Andersen
512ab88e5d add some headings, fix some spelling mistakes
Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-04-01 11:32:41 -06:00
Justin Cormack
40a961feb1 Merge pull request #1452 from rneugeba/efiiso
Fix EFI ISO generation
2017-04-01 18:03:56 +02:00
Rolf Neugebauer
838e316020 cli: Use fixed mkimage-iso-efi image
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-01 16:25:02 +01:00
Rolf Neugebauer
519f6acddd tools: Fix make-efi script
mkfs.vfat prints output (even without the -v option) which ends up
in front of the ISO, which is cat'ed to stdout. This made the generated
ISO unbootable. Redirect stdout of mkfs.vfat to /dev/null.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-01 16:22:35 +01:00
Rolf Neugebauer
9fdf02eaf9 Merge pull request #1449 from rneugeba/hk-cli-fix
cli: Add option to specify hyperkit to use
2017-03-31 23:05:02 +01:00
Riyaz Faizullabhoy
e61179ded7 Merge pull request #1446 from amirmc/patch-1
Fix links in weekly report
2017-03-31 11:50:20 -07:00
Rolf Neugebauer
d436c34ec6 cli: Add option to specify hyperkit to use
Some users seem to have Docker for Mac/hyperkit in a non-standard
path. Allow them to specify the path to the hyperkit executable.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-03-31 19:21:02 +01:00
Rolf Neugebauer
455465b5fa Merge pull request #1444 from ijc25/kernel-rtl8139
kernel Enable support for RTL8139 NIC
2017-03-31 17:24:06 +01:00
Amir Chaudhry
ffb305518b Fix links in weekly report
Signed-off-by: Amir Chaudhry <amir@docker.com>
2017-03-31 16:50:36 +01:00
Tycho Andersen
d1e395ceb0 docs: add a security-events.md
In the same vein as [1], let's start talking about security events. I
suppose we want to talk about security events as well as non-events,
though, to give a little discussion about post moretem. But we can rename
this to security-non-events if we want.

[1]: https://github.com/docker/docker.github.io/blob/master/engine/security/non-events.md

Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-03-31 09:40:38 -06:00
Ian Campbell
cd61aedb45 kernel Enable support for RTL8139 NIC
This is the default NIC provided by virt-install, I think it is also pretty
common on other virtualisation platforms since both the drivers and the
emulation are pretty widespread (IIRC Xen HVM guests used to get this by
default, and may still do).

Personally I'd probably try and remember to switch to virtio (or even e1000) in
preference, but that's one more thing to do.

Bump the image number.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-03-31 15:54:27 +01:00
Ian Campbell
87162ed08c kernel: Rerun make oldconfig on default kernel config
... and accept the defaults. Doing so enables some hw monitoring on Intel
(which enables some I2C thing) and explicitly disables a few Mellanox options.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-03-31 15:54:22 +01:00
Rolf Neugebauer
5d43ad3b87 Merge pull request #1438 from rneugeba/moby
Support multiple "run" backends for the CLI
2017-03-31 13:30:51 +01:00
Rolf Neugebauer
4ebcd6ff61 Merge pull request #1432 from rneugeba/patchup
Update kernels to 4.4.58/4.9.19/4.10.7 plus add VMBus patches
2017-03-31 13:30:18 +01:00
Thomas Gazagnaire
1bdcaadd24 Merge pull request #1434 from samoht/ctl
miragesdk: implement a simple binary RPCs for the control plane
2017-03-31 12:16:45 +02:00
Rolf Neugebauer
bba8054bba cli: Add support for multiple backends for "moby run"
- Move HyperKit code into a separate file. It should be compilable
  on all supported OSes now.
- Add a (optional) subcommand to "moby run" to select a backend
  i.e., "moby run hyperkit [options] [prefix]"
- On macOS the default is "hyperkit" so that:
  "moby run [options] [prefix]"
  just works
- Add enough command line parsing to make it easy to add new
  backends to the run command
Update help messages.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-03-30 18:59:07 +01:00
Thomas Gazagnaire
b3ecefe72a miragesdk: do not die brutally when the calf terminates
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-03-30 19:57:36 +02:00
Thomas Gazagnaire
bf2f7dafab miragesdk: better computation of the image tag
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-03-30 19:57:03 +02:00
Thomas Gazagnaire
279b157ec7 miragesdk: fix the compilation of the calf
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-03-30 19:22:41 +02:00
Rolf Neugebauer
927d2610b0 Merge pull request #1435 from ijc25/init-binary-dependencies
pkg/init: ruinc and containerd binaries depend on Makefile
2017-03-30 17:48:28 +01:00
Thomas Gazagnaire
94b932d67f miragesdk: update the dhcp-client example with latest image
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-03-30 18:36:30 +02:00
Thomas Gazagnaire
bc6e0a50b0 miragesdk: fix compilation of the dhcp-client image
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-03-30 18:35:52 +02:00
Ian Campbell
cce041f686 pkg/init: ruinc and containerd binaries depend on Makefile
Since Makefile contains the hashes we need a dependency otherwise changing the
hashes does not necessarily result in the binaries getting updated.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-03-30 17:20:59 +01:00
Rolf Neugebauer
c00c80740d vendor: Update hyperkit go bindings
The updated bindings primarily allow compilation on non-darwin
operating systems.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-03-30 17:00:07 +01:00
Thomas Gazagnaire
fe2accb8c8 miragesdk: implement a simple binary RPCs for the control plane
The protocol allows the client to send concurrent RPCs to the server.
The server replies by keeping the client ID, and the client keeps a
dispatch table of queries to route the retries. By doing things like
that, the server has a strong control over resource allocation, so
a bad client cannot exhaust all the server memory.

Also add some simple tests for the serialization + wire protocol which
are all passing. Proper concurrency/resource exhaustion usage will be
added later.

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-03-30 17:22:16 +02:00
Thomas Gazagnaire
6488ba59ff miragesdk: add tests for control plane messages
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-03-30 17:22:16 +02:00
Rolf Neugebauer
3cdbe913f3 cli: Move "run" flag processing into the run implmentation
While at it also fix up the HyperKit run help message.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-03-30 16:00:06 +01:00
Rolf Neugebauer
2e1571d77e cli: Move "build" flag processing into build.go
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-03-30 15:59:52 +01:00
Justin Cormack
e95f0f1e0b Merge pull request #1415 from tych0/fake-hardlink-support
init: fake supporting hard links slightly differently
2017-03-30 14:05:02 +02:00
Thomas Gazagnaire
5622f43b3c Merge pull request #1413 from samoht/tests
Add tests for the MirageSDK and start the new control plane protocol
2017-03-30 13:48:13 +02:00
Thomas Gazagnaire
469472b48d miragesdk: add tests for stdout/stderr pipes
And the tests pass!

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-03-30 13:40:57 +02:00
Thomas Gazagnaire
60a6936e53 miragesdk: update .gitignore
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-03-30 13:40:57 +02:00
Thomas Gazagnaire
5dd3d36954 miragesdk: enable all warnings when compiling the projects
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-03-30 13:40:57 +02:00
Thomas Gazagnaire
fb2d6b6252 miragesdk: rework the control plane protocol
Previously, the control plane was using HTTP client/server, that various people
found way too complex to run in a privileged container (for very good reasons).

So switching to a simpler binary protocol, using c-like structures. Will
probably switch to an other serialization protocol later (eg. protobuf
or cap-n-proto).

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-03-30 13:40:57 +02:00
Rolf Neugebauer
73de69d7b4 kernel: Add patches to fix VMBus channel ID re-use
On some hv_sock workloads which quickly open/close many connections
occasionally, channel IDs would get re-used while still having work
pending. This can cause a kernel crash on a NULL pointer exception.

The three patches added to the 4.9.x and 4.10.x kernels fixes
these bugs. The patches are being prepared to be upstreamed, but for
now we cherry-picked them from the developers tree.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-03-30 10:54:05 +01:00
Rolf Neugebauer
5fea53bb09 docs: Update kernel patches doc
It's useful for cherry-picked patches to know which tree
they got patched from. Include a "Origin:" line.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-03-30 10:46:49 +01:00
Rolf Neugebauer
e9026919cf kernel: Update to 4.4.58/4.9.19/4.10.7
The 4.9.19/4.10.7 kernels include the fix for the VMBus
memory leak, so we don't need to carry these patches anymore.

The patches against 4.9.x/4.10.x now also all have added a
"Origin" line pointing to the git tree the patches were cherry
picked from.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-03-30 10:29:50 +01:00
Tycho Andersen
01a1caa3a7 init: fake supporting hard links slightly differently
Instead, make a hard link a symlink. This isn't much better, but it allows
some cases (e.g. installing GCC on moby via alpine) to work.

Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-03-29 22:15:11 -06:00
Justin Cormack
94b54c0ec8 Merge pull request #1412 from rneugeba/ebpf
projects: Move non-working ebpf bits under projects
2017-03-29 19:21:59 +02:00
Rolf Neugebauer
209f317fd1 projects: Move non-working ebpf bits under projects
The ebpf packages were somewhat neglected during the restructuring of the
the repository and currently do not build. They were also a little awkward
to use. So move them to ./projects for now until it matures.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-03-29 17:36:25 +01:00
Rolf Neugebauer
ce90e6290c Merge pull request #1411 from rneugeba/cleanup
more repository cleanup
2017-03-29 16:52:32 +01:00
Justin Cormack
fd8b217efc Merge pull request #1410 from rneugeba/aws
projects: Move AWS bits to projects until they are usable again
2017-03-29 17:40:33 +02:00
Rolf Neugebauer
534fd2940f base: Remove mksh
It does not seem to be used by anything here anymore.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-03-29 16:38:57 +01:00
Rolf Neugebauer
a319b1b1ef base: Move guestfs to tools.
Guestfs is not really a base package and is only used
byt other images in the ./tools directory. Move it there.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-03-29 16:37:59 +01:00
Rolf Neugebauer
ee536158a2 projects: Move AWS bits to projects until they are usable again
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-03-29 16:28:21 +01:00
Justin Cormack
c1780a92e1 Merge pull request #1404 from ijc25/enable-printk-time
Enable CONFIG_PRINTK_TIME
2017-03-29 17:05:44 +02:00
Justin Cormack
9b2d560515 Merge pull request #1409 from rneugeba/build
Add logging to "moby build"
2017-03-29 16:50:13 +02:00
Thomas Gazagnaire
2ae5b63d02 miragesdk: add mimimal tests for the SDK
Very minimal so far, but the plan is to add much more of them.

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-03-29 15:41:23 +02:00