Commit Graph

843 Commits

Author SHA1 Message Date
Justin Cormack
533a8d48fe Update Docker to 1.13.1
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-02-08 09:34:57 +00:00
Riyaz Faizullabhoy
fc6917ca65 Merge pull request #1144 from riyazdf/1.13.1-rc2-bump
1.13.1-rc2 docker bump
2017-02-06 21:50:35 -08:00
Justin Cormack
a4c999f934 Merge pull request #1137 from justincormack/prometheus
Forward Prometheus metrics to host if enabled
2017-02-04 09:19:05 +01:00
Riyaz Faizullabhoy
0003deabea Revert to non-development containerd and runc until nats port is sorted out
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2017-02-02 11:57:28 -08:00
Riyaz Faizullabhoy
48ab5cdc82 1.13.1-rc2 docker bump
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2017-02-02 09:33:46 -08:00
David Gageot
4faf5a5c9a Wait for /dev/to be populated by mdev -s
Fixes #1139

Signed-off-by: David Gageot <david@gageot.net>
2017-02-02 16:20:47 +01:00
Justin Cormack
f13dec41d0 Forward Prometheus metrics to host if enabled
Set your daemon.json to something like:
```
{
	"experimental": true,
	"metrics-addr": "0.0.0.0:4999"
}
```

and your metrics will be at `localhost:4999/metrics`

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-02-02 11:51:24 +00:00
David Sheets
59947ad010 transfused perfstat: fix bug with running multiple perfstats in a row (#1129)
After freeing the head of the perfstat block list, we must set it to NULL
to indicate that new blocks must be allocated. Previously, we risked
segfaults by trying to use a freed list.

Signed-off-by: David Sheets <dsheets@docker.com>
2017-02-01 20:24:21 +00:00
Justin Cormack
b06347acca Merge pull request #1123 from dsheets/transfused-perfstat
transfused perfstat
2017-02-01 11:04:14 +00:00
David Sheets
05052799c1 transfused: add perfstat machinery
This adds two new control channel requests, START_PERFSTAT and
STOP_PERFSTAT, that begin and end performance statistics collection
respectively. START_PERFSTAT takes the name of the mountpoint on which
to enable statistics collection and returns the current monotonic time.
STOP_PERFSTAT takes the name of the mountpoint on which to disable
statistics collection and returns the current monotonic time and the
message timings that have been collected.

Performance statistics are collected in a linked list of blocks. pthread
locks are used for synchronization.

Signed-off-by: David Sheets <dsheets@docker.com>
2017-01-31 18:07:31 +00:00
Justin Cormack
8be978e8d5 Merge pull request #1121 from justincormack/fsck-y
Try to fsck harder
2017-01-31 17:50:16 +00:00
Riyaz Faizullabhoy
2979ff0303 reformat tags before digests
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2017-01-31 09:33:06 -08:00
Justin Cormack
f663b2c9b5 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
98a5810e6c 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
David Sheets
56739f2613 transfused: keep a linked list of open connections
Signed-off-by: David Sheets <dsheets@docker.com>
2017-01-30 10:47:46 +00:00
David Sheets
df5447791e transfused: rename some types to end in _t
Signed-off-by: David Sheets <dsheets@docker.com>
2017-01-30 10:37:06 +00:00
Justin Cormack
1489dda256 Unmount database after copying
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-28 17:09:01 +00:00
Justin Cormack
b4f770f014 Fix mountpoint for mac
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-28 14:45:44 +00:00
Justin Cormack
a68dfd0195 Merge pull request #1108 from justincormack/osx-mountpoint
Mount osx 9p db on /mnt
2017-01-28 12:27:20 +00:00
Justin Cormack
9c2ea15c5c 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
94c3564c44 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
ab9964e207 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
5a3efc4f61 Merge pull request #1090 from nathanleclaire/chown_azure_proper
Chown azure proper
2017-01-25 00:20:39 +00:00
Nathan LeClaire
a58b992c7a 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
8816680c8d Merge pull request #1086 from justincormack/new-containerd
Shift to development track containerd
2017-01-24 17:50:45 +00:00
Justin Cormack
7f1e41eb37 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
c15ffd2cfb Merge pull request #1080 from justincormack/split-database
Split config database setup by platform
2017-01-24 12:08:33 +00:00
Riyaz Faizullabhoy
f5954fbf5e 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
f3a8e77c99 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
8702c886b8 Merge pull request #1079 from justincormack/swapdiskname
Clean up swap partition mounting logic
2017-01-23 17:04:12 +00:00
Justin Cormack
7a2e840476 Merge pull request #1077 from djs55/benchmark-ipc
tap-vsockd: add buffering
2017-01-23 16:22:12 +00:00
Justin Cormack
e36e15b371 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
c6eecc3feb 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
d6c01556f1 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
d308fdac11 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
ce0603f124 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
3e807fc7a0 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
f5b8d9a83e 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
103531e2dc Merge pull request #1059 from justincormack/sysctl-remove
Remove sysctl and sysfs database overrides
2017-01-19 15:57:28 +00:00
Justin Cormack
0ed4af0950 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
dac622a89e 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
9ba1b27664 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
114a6971e0 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
66348fda2a 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
7cf47d42f4 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
f8c8c13655 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
ab494d21e0 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
d3abdc6252 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
7fde35d381 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
50215b9c6c 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