Commit Graph

451 Commits

Author SHA1 Message Date
Justin Cormack
6e25acbe30 use cat not sysctl for reading sysctl values
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-04 15:47:46 +01:00
Justin Cormack
cf4832b225 Increase ulimits as high as possible
Setting unlimited improves performance.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-04 14:37:28 +01:00
Justin Cormack
480bcf1be2 Merge pull request #237 from ijc25/diagnostics
Fixup diagnostics logging
2016-07-04 11:13:42 +01:00
Justin Cormack
4ee34bfc10 Merge pull request #243 from djs55/docker.1.12-rc3
Update docker to 1.12.0-rc3
2016-07-04 11:10:38 +01:00
David Scott
1684b5585b Update docker to 1.12.0-rc3
Signed-off-by: David Scott <dave.scott@docker.com>
2016-07-04 11:04:29 +01:00
David Sheets
cbe7c2af5c docker init: remove fixed host export mounts
Signed-off-by: David Sheets <dsheets@docker.com>
(cherry picked from commit 760840ac69)
2016-07-02 12:27:09 -07:00
Ian Campbell
dd41c21021 diagnostics: Only log connection failure if not EAFNOTSUPPORT
EAFNOTSUPPORT likely means we are running on a hypervisor which doesn't support
that particular socket type.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-07-01 15:35:27 +01:00
Ian Campbell
d9288f5bba diagnostics: Log over syslog
Instead of spamming the console.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-07-01 15:35:27 +01:00
Ian Campbell
421dee55d0 diagnostics: Correct error formatting
They should be formatted as %s not %#v (which prints all sorts of opaque
pointers).

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-07-01 15:35:26 +01:00
Ian Campbell
c9c9994d89 diagnostics: run "gofmt -w" over go code
Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-07-01 15:35:26 +01:00
Rolf Neugebauer
7b5811cdbd diag: improve diagnostics
- try several wget's on well known IP addresses to check IP
  connectivity (ping in hostnet mode is not good enough)
- try DNS lookup on a well known server
- add service-port-opener logs

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-06-22 11:38:51 +01:00
Rolf Neugebauer
c728549505 win: ensure that the KVP daemon starts early
The Windows start script polls the VM for it's IP address before
initiating things like CIFS mounts.  Getting the IP config is
done via the KVP daemon.  Starting it earlier reduce the start up
delay, in particular if the VM is part of a swarm.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-06-21 14:19:59 +01:00
Justin Cormack
01ecbd25e8 Merge pull request #218 from ijc25/mkdir-p
Use "mkdir -p /run/log" in docker initfile
2016-06-17 14:03:14 +01:00
Ian Campbell
e84371fc9c Use "mkdir -p /run/log" in docker initfile
For the "no error if existing" rather than "make parents" affect. Otherwise:

moby:~# service docker restart
 * Stopping docker
 * Starting Docker ...
mkdir: can't create directory '/run/log': File exists
 [ ok ]

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-06-17 13:57:33 +01:00
Ian Campbell
8fab3e5607 Avoid brace expansion which is a bashism.
Building on Debian where /bin/sh is dash:

make[1]: Leaving directory '/home/ijc/development/Docker/moby.git/alpine/packages/docker/docker.git'
mkdir -p bin
cp docker.git/bundles/latest/binary-daemon/{dockerd,docker-runc} bin/
cp: cannot stat 'docker.git/bundles/latest/binary-daemon/{dockerd,docker-runc}': No such file or directory
Makefile:9: recipe for target 'bin' failed

Pasting the construct into a file and running checkbashsisms:
possible bashism in foo line 2 (brace expansion):
cp docker.git/bundles/latest/binary-daemon/{dockerd,docker-runc} bin/

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-06-17 13:54:14 +01:00
Justin Cormack
f367ae62f5 Update to 1.12.0-rc2
Currently the repo points to just the cherrypicks, not yet final tag

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-17 13:24:44 +01:00
David Scott
839f53d9b1 proxy: add interactive mode with -i
This allows the proxy to be run easily from a terminal or other script
without requiring fd 3 to be open and writable.

Signed-off-by: David Scott <dave.scott@docker.com>
2016-06-17 11:11:10 +01:00
Justin Cormack
35309accfb fix #212 do not let chronyd listen on a port for commands
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-15 15:28:05 +01:00
Justin Cormack
5b7c05c25b reverse on Windows check for diagnostics
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-15 10:42:21 +01:00
Justin Cormack
863fa5cb8e default to Docker experimental; later we will need to do multiple builds
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-15 10:28:26 +01:00
Justin Cormack
827eefcfa2 update docker to 1.12.0-rc1
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-15 10:19:31 +01:00
David Scott
e99d36784b tap-vsockd: make sure the service daemonizes properly
This tells start-stop-daemon to run tap-vsockd as a daemon, and tells
tap-vsockd not to daemonize itself. This seems to work more reliably
than when tap-vsockd self-daemonizes.

Signed-off-by: David Scott <dave.scott@docker.com>
2016-06-14 15:16:56 +01:00
Justin Cormack
dd5fe0455b Update to docker 1.12-dev plus proxy patches, close to what will be rc1
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-14 14:13:36 +01:00
Justin Cormack
51b049c836 Merge pull request #196 from rneugeba/win-proxy-fix
proxy: fix handling of CloseRead/CloseWrite for TCP port proxy
2016-06-13 14:22:30 +01:00
Justin Cormack
6aeedee2f9 Merge pull request #201 from ijc25/bind-aside-original-var-log
Bind aside original var log
2016-06-13 14:22:22 +01:00
Justin Cormack
e99beca495 Revert "start automount after syslog as it tries to restart it"
This reverts commit 8276becaf1.
2016-06-13 14:18:05 +01:00
Ian Campbell
a0f2582aba Bind the original /var/log onto /run/log
So that it can be inspected while debugging.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-06-13 12:07:26 +01:00
Ian Campbell
4d4ea240a8 Use /proc/mounts in docker init script
Switch one instance of /etc/mtab.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-06-13 12:07:26 +01:00
Justin Cormack
bedc68cb17 start automount after syslog as it tries to restart it
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-13 11:51:03 +01:00
Justin Cormack
cb827b9521 missing /proc.mounts
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-13 10:40:10 +01:00
Rolf Neugebauer
a9fa07fd73 proxy: fix handling of CloseRead/CloseWrite for TCP port proxy
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-06-10 16:05:14 +01:00
Justin Cormack
31c5b24513 remove transfused dependency from hostsettings by putting log mounts in docker startup
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-10 11:26:32 +01:00
David Sheets
ede31ffe5b transfused: use find rather than rm+glob to clean up /tmp
This avoids annoying error messages about . and ..

Signed-off-by: David Sheets <dsheets@docker.com>
2016-06-09 11:27:59 +01:00
David Sheets
903e6430d9 transfused: replace space indentation in rc script with tabs for consistency
Signed-off-by: David Sheets <dsheets@docker.com>
2016-06-08 15:16:43 +01:00
David Sheets
e725aa7d47 transfused: remove anything in /tmp before starting
Signed-off-by: David Sheets <dsheets@docker.com>
2016-06-08 15:16:43 +01:00
Ian Campbell
5165a6c795 Add || true to the docker rmi invocations in the clean target
Linux xargs calls the command with no arguments if it gets no inputs, which
`docker rmi` complains about. It provides -r / --no-run-if-empty to prevent
this but unfortunately this isn't supported on OSX.

Ignore errors from `docker rmi` so that `make clean` will keep going and clean
up later stuff.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-06-08 13:59:47 +01:00
Rolf Neugebauer
e56be71ba3 diagnostics: Add daemon.json to the diagnistics tarball
With #186 we are now using /etc/docker/daemon.json again.
Add it to the tarball.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-06-08 13:51:59 +01:00
Justin Cormack
30eeba673a remove special treatment of /etc/docker/daemon.conf as we no longer have a watch on it
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-08 13:47:09 +01:00
Ian Campbell
d1e5ba6121 Point chronyd at gateway when ntp=gateway is given on the kernel cmdline.
Reconfigure chronyd in a udhcpc post-bound hook and restart it, but use
conditionalrestart so it is not started if it isn't running, which is the case
during boot when this hook happens from init.d/networking via ifup, running
"service ... start" in that context results in the daemon running but the
service db saying it isn't.

Doing it in the udhcpc hook leaves a nice hole where support for getting the
NTP server via DHCP can fit in once it is available.

This also switches from using "initstepslew" to "makestep", the former was
responsible for the long delay starting chronyd (meaning we can now drop
"before chronyd" from Docker's init dependencies), while the later will force a
step if the time is out by more than the configured amount (half a second
here), meaning it will be corrected on resume. The rest of the time it chrony
will do the usual slewing to keep the clock accurate. Passing -1 as the limit
to "makestep" ensures the step will always occur, if it were positive it would
only be done that number of times.

We add "iburst" and "minpoll 2" to the default configuration file to speed up
initial sync and resync after sleep respectively, resync after sleep happens in
a couple of seconds. In "ntp=gateway" mode we also patch in "trust", this isn't
in the default config file since we won't be so sure about DHCP provided
servers, but when talking to a host provided NTP we want to use its time (for
sync accross host mounts) even if it has a crazy idea about what the time is.

With this we can also remove the 15min ntp sync, which in turn gets rid of the
need for cron.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-06-08 13:19:35 +01:00
David Sheets
06f1a5b81f transfused: remove rc script cruft
Signed-off-by: David Sheets <dsheets@docker.com>
2016-06-07 22:22:23 +01:00
David Sheets
67dd25d1ba transfused: when starting, wait up to 2s for pidfile to appear
pidfile appearance is triggered by start-up mount completion.

Signed-off-by: David Sheets <dsheets@docker.com>
2016-06-07 22:21:16 +01:00
David Sheets
b58448fdf5 transfused: update control protocol (#181)
Add a mount suitability predicate, a pong reply message type, and a log
notice message type. Also, fixes the multi-line mount point printing issue.

Signed-off-by: David Sheets <dsheets@docker.com>
2016-06-07 19:13:52 +01:00
Rolf Neugebauer
59ed40b5ed diagnostics: dump more config files
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-06-07 16:00:16 +01:00
Rolf Neugebauer
1fa702886b diagnostics: dump the master branch of the database
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-06-07 16:00:16 +01:00
Rolf Neugebauer
218e9de40c diagnostics: add more log files and more content from logfiles
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-06-07 15:04:17 +01:00
Dave Scott
95bd6a899e Merge pull request #155 from djs55/remove-individual-vsock-proxy
proxy: remove the dynamic vsock port allocation
2016-06-06 23:13:24 +01:00
Justin Cormack
d07731577a Merge pull request #174 from dsheets/transfused-prepare-mounts
transfused: introduce automatic mount point preparation
2016-06-03 17:33:21 +01:00
David Sheets
0d0413b264 transfused: introduce automatic mount point preparation
Mount points are now made dynamically if either the leaf doesn't exist
or the leaf has no children. Any proper prefix of the target mount point may
or may not exist prior to mounting.

Signed-off-by: David Sheets <dsheets@docker.com>
2016-06-03 16:31:49 +01:00
Justin Cormack
5d80b5dfcd fix #169 only do /tmp bind mount if /Mac/tmp exists
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-03 15:15:20 +01:00
Justin Cormack
7e0f2bdfa7 Update docker to 1.11.2+patches
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-03 13:27:32 +01:00