Commit Graph

829 Commits

Author SHA1 Message Date
Justin Cormack
64bcf1adce Try to fsck harder
This will potentially leave stuff in lost+found but may be able to
recover from more filesystem corruption.

See #736

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-31 12:42:37 +00:00
Justin Cormack
ddb41952ef Update Go to 1.7.5 and remove unnecessary linker flag
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-30 14:10:41 +00:00
Justin Cormack
af88a66bc7 Unmount database after copying
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-28 17:09:01 +00:00
Justin Cormack
9e18a0ae4c Fix mountpoint for mac
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-28 14:45:44 +00:00
Justin Cormack
1674534757 Merge pull request #1108 from justincormack/osx-mountpoint
Mount osx 9p db on /mnt
2017-01-28 12:27:20 +00:00
Justin Cormack
3b6d1ae4f2 Mount osx 9p db on /mnt
Otherwise interferes with transfused startup.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-28 12:03:02 +00:00
Justin Cormack
25c357b375 Update to Docker 1.13.1-rc1
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-28 10:16:15 +00:00
Justin Cormack
fa4f1aaedc Start diagnostics server earlier, before Docker
Allows it to be used to see what the boot state is.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-25 15:17:55 +00:00
Justin Cormack
3d03a8ae9b Merge pull request #1090 from nathanleclaire/chown_azure_proper
Chown azure proper
2017-01-25 00:20:39 +00:00
Nathan LeClaire
9bd4680e09 Modify init script to create+chown proper directory
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2017-01-24 15:53:19 -08:00
Justin Cormack
b53e83d695 Merge pull request #1086 from justincormack/new-containerd
Shift to development track containerd
2017-01-24 17:50:45 +00:00
Justin Cormack
89e98eefa0 Shift to development track containerd
Move to the development track of `containerd` not the legacy 0.2
branch. The commands have changed a bit.

This does increase the image size as we are bundling the Docker
copy and our copy, and the new one is larger as it is growing features.
Hopefully Docker will shrink eventually. Also we may replace `ctr`
with a library.

Fix #1029

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-24 15:39:44 +00:00
Justin Cormack
bb2da98169 Merge pull request #1080 from justincormack/split-database
Split config database setup by platform
2017-01-24 12:08:33 +00:00
Riyaz Faizullabhoy
4c810a27f9 Merge lint.sh into compile.sh, remove unused alpine-build-go
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2017-01-23 13:25:44 -08:00
Justin Cormack
321c180c60 Split config database setup by platform
Add basic database setup for AWS, GCP although these are not yet used
by the setup code but will be useful later.

Currently each is gated by `mobyplatform` but this can be removed once we
construct Moby per platform, and once these are containerised so they
are not run from `openrc`.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-23 18:08:26 +00:00
Justin Cormack
4278e0d78e Merge pull request #1079 from justincormack/swapdiskname
Clean up swap partition mounting logic
2017-01-23 17:04:12 +00:00
Justin Cormack
aaa2e30a75 Merge pull request #1077 from djs55/benchmark-ipc
tap-vsockd: add buffering
2017-01-23 16:22:12 +00:00
Justin Cormack
df2c4818ed Clean up swap partition mounting logic
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-23 16:20:10 +00:00
David Scott
370a43de83 tap-vsockd: allocate payload separately for better alignment
Previously we allocated `sizeof(struct ring) + size`. This patch
allocates `sizeof(struct ring)` and then `size` for the payload
separately. Hopefully the payload will be better aligned.

Signed-off-by: David Scott <dave.scott@docker.com>
2017-01-23 14:44:34 +00:00
David Scott
3fc0d994b5 tap-vsockd: add buffering
This patch adds a simple ring buffer implementation and uses it to buffer
the reads and writes to/from the AF_HYPERV socket and tap file descriptor.

This removes the need to perform small reads and writes for the per-packet
headers and allows a read on the Hyper-V socket to block at the same time
as a write to the tap device (and vice-versa)

The configuration in the init.d script is:

- a max message size (individual read or write) of 8192. Experimentally
  this seems to be the largest completely reliable size across the Windows
  versions we can support. Messages of length 16384 sometimes fail.
- a buffer size of 256KiB in each direction.

Single stream TCP throughput as measured by iperf increases modestly, by
another 100Mbit/sec.

Signed-off-by: David Scott <dave.scott@docker.com>
2017-01-23 12:17:52 +00:00
Justin Cormack
02bd52b5c1 Fix up direct database accesses after move to /Database
In #1057 removed the 9p paths from the database mount
but that broke some users accessing them directly. Fix these.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-21 14:32:34 +00:00
Riyaz Faizullabhoy
eb4c7cfbe9 Merge pull request #1070 from justincormack/aufs-not-if-unsupported
Do not try to use aufs if kernel has no support
2017-01-20 16:34:40 +00:00
Justin Cormack
848ba2bb71 Do not try to use aufs if kernel has no support
This happens with the Moby mainline kernel and in future when we drop aufs.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-20 15:36:51 +00:00
Justin Cormack
77689348d0 Always mount swap not just when created
Swap was not being mounted always.

See https://github.com/docker/for-win/issues/403

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-20 15:01:40 +00:00
Justin Cormack
48754c2962 Merge pull request #1059 from justincormack/sysctl-remove
Remove sysctl and sysfs database overrides
2017-01-19 15:57:28 +00:00
Justin Cormack
e5656cc757 Remove sysctl and sysfs database overrides
These never got an interface on any platform, and I don't think they
ever will, we can increase global limits or you can set something
with a privileged container. Can add back later if required.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-19 15:18:30 +00:00
Riyaz Faizullabhoy
6b6eb0af8d Merge pull request #1058 from justincormack/windowsnet
Split out windowsnet into its own package directory
2017-01-19 15:18:10 +00:00
Justin Cormack
a0318c7f4c Split out windowsnet into its own package directory
This makes it easier to containerise and split per editions configs

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-19 15:02:26 +00:00
Justin Cormack
40a3b5578a Always have database at /Database
Use a bind mount for OSX and Windows for 9p filesystem.

This makes it easier to use a different database source,
and to share database into system containers.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-19 14:34:29 +00:00
Justin Cormack
36df13e1ef Update Docker to 1.13.0
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-18 16:14:17 +00:00
Justin Cormack
74d3bce70e Use buildmode pie for Go code
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-17 16:03:50 +00:00
Riyaz Faizullabhoy
56d5a5a711 Merge pull request #1021 from justincormack/c-compile
Use docker run to compile C code not docker build
2017-01-16 17:44:47 +00:00
Justin Cormack
6a315fab59 Clean up go-compile
- remove unused `--docker` option
- neater output for stages of check, build

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-15 19:43:03 +00:00
Justin Cormack
b5d9ff8cda Use docker run to compile C code not docker build
C version of #1006

Note that I switched all the C builds to use -O2 and that meant
that the compiler found some more warnings so I also fixed these
up. The possibly undefined ones were harmless, the aliasing one
is now more correct.

As these are small programs, the caching from `docker build` makes
no real difference, and worst case compile time is much better.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-15 15:55:14 +00:00
Justin Cormack
d6f8152d1a Merge pull request #1019 from justincormack/alpine-go
Update to golang:1.7-alpine3.5 images
2017-01-15 11:32:00 +00:00
Justin Cormack
5cfb149637 Update to golang:1.7-alpine3.5 images
Now there is an Alpine 3.5 variant of the Go 1.7 images, use this.

fix #972

Note updated the containers/binfmt image as this will be converted
to go-compile shortly, at which point alpine-build-go can be removed.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-14 09:41:12 +00:00
Justin Cormack
be6ab94db4 Remove unnecessary file from proxy
Was missed in cleanup in #1006

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-14 09:27:40 +00:00
Justin Cormack
7982de1545 Update Docker to 1.13.0-rc7
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-13 21:48:21 +00:00
Justin Cormack
d2655a92f1 Merge pull request #1006 from justincormack/go-compile
Compile Go code with docker run not docker build
2017-01-13 19:15:22 +00:00
Justin Cormack
06598ae9bf Build OCaml iptables package once and push to hub
As the build requires networking, is non repeatable as dependencies
may change, makes sense to make it a static package for now.

Plan is to rewrite in Go anyway at some point see #467

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-13 16:36:03 +00:00
Justin Cormack
b184b3f0e1 Compile Go code with docker run not docker build
Go code is really fast to compile so we do not really need to use the
cache features of `docker build`. So make a compile container instead.
This can also output a build context and Dockerfile if you want to do
a build.

For reference, an uncached `docker build` of our Go code takes about
7s, a cached one 1.2s, and this takes 1.7s, so the best case is a little
worse, but we save a lot of images, and the worst case is better.

This is mainly designed to make the nested builds for containerd
containers simpler too. Will add a variant for the C code as well.

Also add `-static` to the flags so we always make static executables,
which was omitted previously.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-13 15:49:51 +00:00
Justin Cormack
41fabe9e1a Update Docker engine to 1.13.0-rc6
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-11 22:26:22 +00:00
Nathan LeClaire
4b3192df62 Add label to Azure agent container
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2017-01-10 15:08:52 -08:00
Justin Cormack
d8fd61861b Merge pull request #978 from nathanleclaire/collect_system_logs
Collect system container logs for diagnostics
2017-01-10 22:23:50 +00:00
Nathan LeClaire
e1026a1f95 Change system container label
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2017-01-10 13:29:47 -08:00
David Gageot
13cc81a1aa [GCP] Configure diagnostics server
Signed-off-by: David Gageot <david@gageot.net>
2017-01-10 19:58:34 +01:00
David Gageot
9b156d0cd4 [GCP] Remove useless stop()
Signed-off-by: David Gageot <david@gageot.net>
2017-01-10 19:58:33 +01:00
David Gageot
a9fe30b2b7 [GCP] Configure ntp server
Signed-off-by: David Gageot <david@gageot.net>
2017-01-10 19:58:31 +01:00
Nathan LeClaire
1ca9096f55 Fix streaming API request error
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2017-01-10 10:48:02 -08:00
Nathan LeClaire
69468bf42f Begin adding system container log support to diagnostics
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2017-01-10 08:37:37 -08:00