Commit Graph

730 Commits

Author SHA1 Message Date
Nathan LeClaire
a9ced0a205 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
f61be6860b finish removal of llmnrd from #311
Signed-off-by: David Sheets <dsheets@docker.com>
2016-07-20 17:03:51 +01:00
Justin Cormack
80cab7bb26 Merge pull request #317 from dsheets/kernel-af_vsock-lockdep
kernel: backport af_vsock lockdep cleanliness patch from v4.7-rc6
2016-07-20 16:27:33 +01:00
David Sheets
97ea6ed818 kernel: backport af_vsock lockdep cleanliness patch from v4.7-rc6
From torvalds/linux@4192f672fa which was
part of torvalds/linux@v4.7-rc6. The change is purely to ensure that vsock
is lockdep-clean.

Signed-off-by: David Sheets <dsheets@docker.com>
2016-07-20 16:22:21 +01:00
Justin Cormack
b53d30b9ac Merge pull request #316 from dsheets/kernel-aufs-lockdep
kernel: apply the AUFS patch to integrate with lockdep
2016-07-20 16:18:42 +01:00
Rolf Neugebauer
198de9219c Merge pull request #311 from justincormack/nollmnr
Remove llmnrd
2016-07-20 16:14:14 +01:00
David Sheets
a2269275b6 kernel: apply the AUFS patch to integrate with lockdep
AUFS introduces new lockdep relations which are beyond the maximum variants
that lockdep ships with. Without this patch, AUFS triggers lockdep BUG sanity
checks and disables lockdep for the rest of the system.

The present value of the patch is:

```diff
aufs4.4 lockdep patch

diff --git a/include/linux/lockdep.h b/include/linux/lockdep.h
index c57e424..4153563 100644
--- a/include/linux/lockdep.h
+++ b/include/linux/lockdep.h
@@ -29,7 +29,7 @@ extern int lock_stat;
  */
 #define XXX_LOCK_USAGE_STATES		(1+3*4)

-#define MAX_LOCKDEP_SUBCLASSES		8UL
+#define MAX_LOCKDEP_SUBCLASSES		(8UL + 4)

 /*
  * NR_LOCKDEP_CACHING_CLASSES ... Number of classes
@@ -203,7 +203,7 @@ struct lock_chain {
 	u64				chain_key;
 };

-#define MAX_LOCKDEP_KEYS_BITS		13
+#define MAX_LOCKDEP_KEYS_BITS		(13 + 3)
 /*
  * Subtract one because we offset hlock->class_idx by 1 in order
  * to make 0 mean no class. This avoids overflowing the class_idx
diff --git a/kernel/locking/lockdep_internals.h b/kernel/locking/lockdep_internals.h
index 51c4b24..fba7557 100644
--- a/kernel/locking/lockdep_internals.h
+++ b/kernel/locking/lockdep_internals.h
@@ -54,9 +54,9 @@ enum {
  * table (if it's not there yet), and we check it for lock order
  * conflicts and deadlocks.
  */
-#define MAX_LOCKDEP_ENTRIES	32768UL
+#define MAX_LOCKDEP_ENTRIES	(32768UL << 5)

-#define MAX_LOCKDEP_CHAINS_BITS	16
+#define MAX_LOCKDEP_CHAINS_BITS	(16 + 5)
 #define MAX_LOCKDEP_CHAINS	(1UL << MAX_LOCKDEP_CHAINS_BITS)

 #define MAX_LOCKDEP_CHAIN_HLOCKS (MAX_LOCKDEP_CHAINS*5)
@@ -65,7 +65,7 @@ enum {
  * Stack-trace: tightly packed array of stack backtrace
  * addresses. Protected by the hash_lock.
  */
-#define MAX_STACK_TRACE_ENTRIES	524288UL
+#define MAX_STACK_TRACE_ENTRIES	(524288UL << 5)

 extern struct list_head all_lock_classes;
 extern struct lock_chain lock_chains[];
```

Signed-off-by: David Sheets <dsheets@docker.com>
2016-07-20 16:08:00 +01:00
David Sheets
cae79c7ce3 kernel: make sure to gitignore vmlinux
Signed-off-by: David Sheets <dsheets@docker.com>
2016-07-20 15:40:54 +01:00
David Sheets
cdac4fde34 kernel: add vmlinux target to make kernel debugging easier
With this patch, it is easy to get an unstripped kernel object to use with
gdb.

Signed-off-by: David Sheets <dsheets@docker.com>
2016-07-20 15:37:04 +01:00
Justin Cormack
bbf4def475 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
b4bba1fd65 Merge pull request #310 from justincormack/posixlyequal
Posixly correct = not ==
2016-07-20 14:20:52 +01:00
Justin Cormack
3c8c48f459 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
Rolf Neugebauer
13d92bd082 Merge pull request #308 from justincormack/transfusedvmbus
Only run transfused on mac platform
2016-07-20 12:21:18 +01:00
Justin Cormack
db7bc9cb8c 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
3601348fef use platform not vmbus consistently
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-20 12:07:40 +01:00
Justin Cormack
878c3ab3af 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
0de5faabc7 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
85ee976d0d 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
3cd4f80032 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
329476944a Add Azure provider support
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2016-07-18 16:22:21 -07:00
Nathan LeClaire
aaa6cc05e7 Add AWS build support
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2016-07-18 11:08:44 -07:00
Justin Cormack
3d3b67d0c3 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
7e495fb7a8 fix arm build
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-15 17:02:14 +01:00
Justin Cormack
0f86d03edd Merge pull request #293 from justincormack/inittabfix
do not remove inittab in clean
2016-07-15 16:52:30 +01:00
Justin Cormack
43b9834123 do not remove inittab in clean
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-15 16:51:57 +01:00
Justin Cormack
2cdf39c72f clean up trailing slashes
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-15 16:23:33 +01:00
Justin Cormack
ceafadb6a4 capture containerd logs
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-15 15:11:06 +01:00
Justin Cormack
b3b38aacc1 Use upstream /etc/securetty
Now we modify the file if we use a different console, can use
upstream unmodified.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-15 11:58:01 +01:00
Justin Cormack
94778bc174 Merge pull request #273 from ncopa/init-console
add console options from boot cmdline to inittab
2016-07-15 11:42:00 +01:00
Justin Cormack
5b0d4acfdc 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
5b7ff1f6ef 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
cd18b353a3 Merge pull request #281 from justincormack/containerd
Add a system containerd
2016-07-14 12:32:07 +01:00
Justin Cormack
0ec195786a 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
Natanael Copa
8e03b120c3 merge inittab.x86_64 and inittab.armhf
with the login tty generated from boot cmdline the inittab will be equal
on all archs and platforms so we can merge and move to etc/

Signed-off-by: Natanael Copa <natanael.copa@docker.com>
2016-07-13 18:48:26 +02:00
Natanael Copa
67c8361d54 fix initrd.img dependencies
trigger rebuild if init or inittab was changed

Signed-off-by: Natanael Copa <natanael.copa@docker.com>
2016-07-13 18:28:46 +02:00
Natanael Copa
dc47de083e remove getty from inittab
Depend on specifying the console as a boot option

Signed-off-by: Natanael Copa <natanael.copa@docker.com>
2016-07-13 18:28:28 +02:00
Natanael Copa
235ab00582 add console options from boot cmdline to inittab
This will make sure that you get a login console that corresponds to the
boot option.

Signed-off-by: Natanael Copa <natanael.copa@docker.com>
2016-07-13 18:27:09 +02:00
Natanael Copa
47545dce55 improve kernel build makefile
- create an empty dummy file to indicate that docker image is built
- reuse same make rule to extract the different files from docker image
- make sure that we remove empty files on failure

This makes build more robust and improves parallelism.

Signed-off-by: Natanael Copa <natanael.copa@docker.com>
2016-07-13 18:03:16 +02:00
Justin Cormack
9dad6b6467 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
72861a6c88 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
0aee0c0ed5 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
f8c53db413 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
6c95bff567 init: don't start transfused on Windows
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-07-12 14:04:08 +01:00
Justin Cormack
a022934760 Merge pull request #269 from rneugeba/kernel-up
kernel: Update to 4.4.15
2016-07-12 10:42:59 +01:00
Rolf Neugebauer
2171a2e471 kernel: Update to 4.4.15
patches from: https://github.com/rneugeba/linux-stable/tree/v4.4.15-moby

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-07-12 10:36:57 +01:00
David Scott
4f205ed9b2 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
f6a85c0592 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
9762094fbb iptables: add a TODO
Signed-off-by: David Scott <dave.scott@docker.com>
2016-07-12 10:26:42 +01:00
David Scott
b6fb908ae5 iptables: remove the pid file after sending SIGTERM
Signed-off-by: David Scott <dave.scott@docker.com>
2016-07-12 10:26:42 +01:00
David Scott
9e441356b5 proxy: add a -no-local-ip option
docker itself seems to bind to the port globally inside Moby, so we
get an EADDRINUSE if we try to do it too.

Signed-off-by: David Scott <dave.scott@docker.com>
2016-07-12 10:26:42 +01:00