Commit Graph

528 Commits

Author SHA1 Message Date
David Sheets
5567f50c1e Merge pull request #340 from dsheets/transfused-notify-channel
transfused notify channel
2016-07-22 13:58:28 +01:00
David Sheets
b25b891d3b transfused: copyedit a couple error messages
Signed-off-by: David Sheets <dsheets@docker.com>
2016-07-22 13:40:52 +01:00
David Sheets
821b329f7b transfused: add separate FUSE notify channel to avoid deadlock
This adds a new notify channel to the transfuse protocol. It is not
optional yet but could be made to be optional. A notify protocol and
notify channel are required because writing FUSE response messages to
the FUSE device has different semantics from writing asynchronous
notifications. In particular, response message writes only error on
malformed messages, do not take locks, and do not block. In contrast,
asynchronous notifications can error under normal conditions
(e.g. invalidating a cache entry that doesn't exist), can take locks
during the write call, and can block.

If responses and notifications occur in the same thread, the file system
can become deadlocked when syscalls lock resources waiting for a
response and a notification is written that blocks attempting to acquire
those same locks. The response that would unlock the contended lock
could be queued behind the notification write but the notification write
can't unblock until the response is written in the future. This patch
enables file systems to avoid that fate by offering a secondary channel
on which to send notifications.

Signed-off-by: David Sheets <dsheets@docker.com>
2016-07-22 13:35:57 +01:00
Justin Cormack
2b5b709600 Merge pull request #332 from justincormack/quietdb
only try to mount db for desktop editions
2016-07-22 10:53:40 +01:00
Justin Cormack
dcb1a678cc Merge pull request #324 from ncopa/alpine-gummiboot
Use upstream gummiboot binary and build EFI with alpine
2016-07-22 10:52:38 +01:00
Justin Cormack
32aa36439a allow for args for servers in diagnostics
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-21 18:38:38 +01:00
Justin Cormack
3ada321926 only try to mount db for desktop editions
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-21 18:37:34 +01:00
Justin Cormack
4370d9bd90 Merge pull request #331 from justincormack/fixdiag
fix typo
2016-07-21 17:35:37 +01:00
Justin Cormack
6a6f924283 fix typo
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-21 17:35:11 +01:00
Justin Cormack
c121983dd5 default to unknown platform if not specified in command line
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-21 17:25:48 +01:00
Justin Cormack
7682ed2503 Tweak disk detection diagnostics to match what is going on better
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-21 15:48:24 +01:00
Natanael Copa
01ba161477 Use upstream gummiboot binary and build EFI with alpine
Alpine 3.4 got gummiboot backported so we use that to build the EFI.

Signed-off-by: Natanael Copa <natanael.copa@docker.com>
2016-07-21 14:42:05 +02:00
Justin Cormack
20a85c16f1 Clean up sources that arm edition will not need
As arm will not be a desktop edition, we will not need to
try to fix these. We do need `diagnostics` though, the
vsock code however is not cross building, needs to be fixed
or made conditional.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-21 13:39:03 +01:00
Rolf Neugebauer
423b3c2765 Merge pull request #309 from justincormack/tapvsockvmbus
Use mobyplatform not vmbus for tap-vsock
2016-07-21 10:34:57 +01:00
Justin Cormack
6d3057c2cb Merge pull request #313 from justincormack/hvtools-vmbus
Use platform to decide whether to run hv tools
2016-07-21 09:53:18 +01:00
Justin Cormack
27f6130cb8 Merge pull request #312 from justincormack/vsuddvmbus
Use platform name not vmbus
2016-07-21 09:52:48 +01:00
Justin Cormack
663b6848a0 Merge pull request #306 from justincormack/chronyconfig
Fix up chronyd support for editions
2016-07-21 00:45:27 +01:00
Nathan LeClaire
afb9b91b60 Remove unused file
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2016-07-20 13:48:52 -07:00
Nathan LeClaire
9ecf003a33 Fix error in diagnostic server init code
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2016-07-20 13:48:21 -07:00
David Sheets
c3793ff745 finish removal of llmnrd from #311
Signed-off-by: David Sheets <dsheets@docker.com>
2016-07-20 17:03:51 +01:00
Justin Cormack
9373862c07 Use platform to decide whether to run hv tools
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-20 14:48:16 +01:00
Justin Cormack
5d933baed1 Use platform name not vmbus
See #301

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-20 14:44:43 +01:00
Justin Cormack
693e8be4a9 Remove llmnrd
Not really required as ports exposed on localhost. If users
want to connext to VM ports they can use the IP address, as
this is discouraged. llmnr names are very slow to access,
so not nice to use.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-20 14:32:14 +01:00
Justin Cormack
58625d3a1f Merge pull request #310 from justincormack/posixlyequal
Posixly correct = not ==
2016-07-20 14:20:52 +01:00
Justin Cormack
2971b83f25 Posixly correct = not ==
See #161 #170 should be covered...

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-20 12:33:01 +01:00
Justin Cormack
c475121074 Use mobyplatform not vmbus for tap-vsock
Plus cleanup for less indentation. No functional change.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-20 12:30:59 +01:00
Rolf Neugebauer
4127e24a17 Merge pull request #308 from justincormack/transfusedvmbus
Only run transfused on mac platform
2016-07-20 12:21:18 +01:00
Justin Cormack
093a81064b Only run transfused on mac platform
See #301

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-20 12:11:39 +01:00
Justin Cormack
487307a551 use platform not vmbus consistently
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-20 12:07:40 +01:00
Justin Cormack
c1922f2f25 Fix up chronyd support for editions
See #305 #301

This sets AWS to use the amazon ntp pool, windows to do nothing,
mac uses ntp it gets from DNS. Azure currently uses default pool,
this probably needs fixing.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-20 12:02:59 +01:00
Justin Cormack
2bf06aab05 Remove rawtcp from diagnostics server
See https://github.com/docker/moby/pull/303

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-20 11:46:54 +01:00
Nathan LeClaire
1e0dfd4798 Re-write diagnostic server to support cloud/HTTP
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2016-07-19 17:40:15 -07:00
Justin Cormack
8a177d59f8 Merge pull request #284 from nathanleclaire/azure
Add support for Azure (VHD) build to Moby
2016-07-19 22:44:01 +01:00
Justin Cormack
99c2a09403 Remove dnsfix
This was there to workaround an issue with vmnet, not applicable now.
A user reported that they were getting unexpected 8.8.8.8 addresses
and it could possible be applied erroneously under some circumstances.

Signed-off-by: Justin Cormack <justin@specialbusservice.com>
2016-07-19 10:04:09 +01:00
Nathan LeClaire
70cb4f82a2 Add Azure provider support
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2016-07-18 16:22:21 -07:00
Nathan LeClaire
abb968c538 Add AWS build support
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2016-07-18 11:08:44 -07:00
Justin Cormack
67b2a00853 Add conditional services based on mobyplatform
Replaces https://github.com/docker/moby/pull/282

Use mobyplatform=xxx to specify platform in boot command

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-18 12:39:14 +01:00
Justin Cormack
6848ddd58e capture containerd logs
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-15 15:11:06 +01:00
Justin Cormack
252077a4ba wait for system containerd to start
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-15 11:38:05 +01:00
Justin Cormack
498c481700 Wait for docker to finish starting up before terminateing init script
This means dependent services can rely on docker being up.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-15 11:29:32 +01:00
Justin Cormack
37cd71fa0d Merge pull request #281 from justincormack/containerd
Add a system containerd
2016-07-14 12:32:07 +01:00
Justin Cormack
220f3df37a Add a system containerd
This adds an independent system containerd for running internal
containers.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-14 12:28:44 +01:00
Justin Cormack
9c0a1387ea set nofile ulimit to maximum possible value
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-13 14:04:49 +01:00
Justin Cormack
261544cf02 update to 1.12.0-rc4 upstream version
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-13 09:50:25 +01:00
Rolf Neugebauer
1977888b18 diagnostics: Don't check for transfused on Windows
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-07-12 14:28:11 +01:00
Rolf Neugebauer
c09905199a init: don't start docker on 0.0.0.0:2375 on DfM/DfW
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-07-12 14:08:55 +01:00
Rolf Neugebauer
b499b52d48 init: don't start transfused on Windows
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-07-12 14:04:08 +01:00
David Scott
17d110d770 iptables: log to /var/log/... rather than /var/run/log
Signed-off-by: David Scott <dave.scott@docker.com>
2016-07-12 10:26:42 +01:00
David Scott
55a2becfb4 iptables: only open host ports if native/port-forwarding=true in the db
Signed-off-by: David Scott <dave.scott@docker.com>
2016-07-12 10:26:42 +01:00
David Scott
d0876fb05e iptables: add a TODO
Signed-off-by: David Scott <dave.scott@docker.com>
2016-07-12 10:26:42 +01:00