Commit Graph

430 Commits

Author SHA1 Message Date
David Scott
abe75e4e50 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
759ad55f03 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
7d73182c45 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
b99befab17 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
96ab15bc4b 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
c5940b3479 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
a2ba682878 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
8276becaf1 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
41f39f7efe missing /proc.mounts
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-13 10:40:10 +01:00
Rolf Neugebauer
ebf7c5fede 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
2efda11b65 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
a84e4ecfdd 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
4090ccf9d0 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
c92ff1d36c 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
b8a7032161 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
a923d92338 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
5b4ebde5f7 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
de6e7f9cbe 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
c6cc814454 transfused: remove rc script cruft
Signed-off-by: David Sheets <dsheets@docker.com>
2016-06-07 22:22:23 +01:00
David Sheets
c2c0cb98ce 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
d605e6df30 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
80e17378f2 diagnostics: dump more config files
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-06-07 16:00:16 +01:00
Rolf Neugebauer
67448a87be 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
05e3e7262f 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
4ce0d53f85 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
b6765bb5cd 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
4330d389cc 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
1fab4151ef 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
0e4c154bcf Update docker to 1.11.2+patches
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-03 13:27:32 +01:00
Justin Cormack
8a86af7d1e Update to Alpine 3.4
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-03 12:45:15 +01:00
Magnus Skjegstad
9c5aee352d also bindmount /tmp once
Signed-off-by: Magnus Skjegstad <magnus@skjegstad.com>
2016-06-03 01:44:11 +01:00
Dave Tucker
202cccd9d9 Remove hupper and mobyconfig watch
Signed-off-by: Dave Tucker <dt@docker.com>
2016-06-02 20:39:25 +01:00
Justin Cormack
2c6ba517e9 fix typo
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-02 13:56:20 +01:00
Justin Cormack
e94dff4d11 avoid rebindmounting directories on docker restart
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-02 13:18:27 +01:00
Nathan LeClaire
7f7e470eac Add 'bootflag' script to check kernel flags
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2016-06-01 15:30:53 -07:00
Rolf Neugebauer
630e0e4e2e net: add metric to static IP address entries
The VPN interface is configure with a routing metric of 199. If VPN mode
is enabled and we have static IP address configured (which is what we do
on Windows) then all traffic would still go via eth0 and not, as expected,
via the VPN interface.

With this PR we set the metric for eth1 to 200, thus, if VPN mode enabled
traffic will be routed over the VPN interface.

This fix is a bit Uggh, but it's the simplest way to apply this late in the
release cycle without requiring re-run of all OS X tests.

We should fix this properly after this release.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-06-01 19:59:58 +01:00
Ian Campbell
98981908b8 Ensure /var/log is bind mounted after transfused starts
Otherwise /Mac$DRIVERDIR does not yet exist.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-05-31 15:26:41 +01:00
Justin Cormack
6b6dff3222 update diagnostics now tap-vsockd only runs on WIndows
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-05-31 15:07:33 +01:00
Rolf Neugebauer
b557d5d9b7 config: overwrite resolv.conf and interfaces from database
Allow the host to configure a static IP address for eth0 by setting the
following DB keys:
- net/config: "static" (default or not set -> dhcp)
- net/address: IP address
- net/netmask: netmask in dot notation
- net/gateway: default gateway

Also allow overwriting/setting "/etc/resolve.conf" by writing to
the "etc/resolv.conf" key.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-05-30 10:01:42 +02:00
Justin Cormack
2c40ed9554 define driverdir in host setting
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-05-27 12:04:49 -07:00
Justin Cormack
3f513f2368 move log mount to hostsettings not docker startup
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-05-27 11:41:46 -07:00
Justin Cormack
50bb644acb Do not try to keep log files, fix #154
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-05-26 14:24:05 -07:00
David Scott
67e9ccafd0 proxy: remove the dynamic vsock port allocation
On both Mac and Windows we have one well-known port and a SOCKS-like
port to tunnel connections through it. This was necessary on Windows
where ports have well-known GUIDs, but we might as well do it the same
way on both platforms for consistency.

This patch removes the dynamic binding of vsock ports, which fails on
a Windows Moby anyway.

Signed-off-by: David Scott <dave.scott@docker.com>
2016-05-26 17:01:27 +01:00
Dave Scott
e7737c9133 Merge pull request #148 from djs55/port-filesystem
On Hyper-V, mount the /port filesystem
2016-05-26 02:51:39 -07:00
Rolf Neugebauer
5b96452c4c virtsock: update vendored virtosck package
This fixes a bug on WIndows build newer than 10586.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-05-23 21:34:38 +01:00
Rolf Neugebauer
e7c2bb3465 Merge pull request #149 from djs55/fix-windows-sharing
Hyper-V: mount the filesystem from the default gateway via eth0
2016-05-23 19:35:03 +01:00
Dave Scott
190b18c838 Merge pull request #131 from djs55/9pmount-vsock
On Hyper-V, mount the database 9P filesystem
2016-05-23 10:24:59 -07:00
David Scott
6513f33749 Hyper-V: mount the filesystem from the default gateway via eth0
When running in VPN mode eth0 and eth1 have default routes, but
eth1 has the lowest metric. However the host CIFS server can
only be contacted via eth0, so always use the eth0 address.

Signed-off-by: David Scott <dave.scott@docker.com>
2016-05-23 18:18:32 +01:00
David Scott
9a2148730d On Hyper-V, mount the /port filesystem
This allows localhost port forwards to be requested if

  native/port-forwarding=true

if set.

Signed-off-by: David Scott <dave.scott@docker.com>
2016-05-22 18:43:07 +01:00
Dave Scott
0d5cc3597c Merge pull request #146 from djs55/port-vsockd
proxy: add a multiplexing server frontend
2016-05-22 04:51:53 -07:00