Commit Graph

777 Commits

Author SHA1 Message Date
Justin Cormack
3bed9a18e9 Enable swarm mode in test suite
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-26 16:20:29 +01:00
Justin Cormack
6c9a66263e On desktop editions, set default swarm advertise address to eth0
This allows plain `swarm init` to work. We do not support multi
node clusters yet as there is no way to reqach this address from
externally at present.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-26 16:10:20 +01:00
Justin Cormack
d8f9d6c0b7 Update Docker to 1.12.0-rc5
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-26 13:23:29 +01:00
Justin Cormack
c619fe5ec5 Support make flags for Docker version and experimental
Use `make DOCKER_VERSION=xxx` to override version. Note that
as install process and packaging may vary this may not work.

Use `make DOCKER_EXPERIMENTAL=0` to build from either release
binaries, if version is a final release or test binaries for
release candidates.

Building experimental is still the default.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-26 13:18:09 +01:00
Justin Cormack
b7c4f91408 Merge pull request #352 from nathanleclaire/cloud_arch
Migrate script to new arch dir layout
2016-07-25 23:42:58 +01:00
Justin Cormack
721bf2c6e5 Merge pull request #351 from nathanleclaire/nathanleclaire2docker4xazure
Implement only one container for Azure
2016-07-25 23:42:33 +01:00
Nathan LeClaire
27715eeee4 Migrate script to new arch dir layout
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2016-07-25 15:41:35 -07:00
Nathan LeClaire
9684dd9e1d Implement only one container for Azure
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2016-07-25 15:39:04 -07:00
Nathan LeClaire
c7e7e713f7 Continue POSIX-ifying build scripts
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2016-07-25 11:14:57 -07:00
Natanael Copa
66ba586cac Move built kernel to arch specific subdir
We want be able to build kernels for different archs without that they
clash with each other so we but the generated files into an $arch subdir.

Signed-off-by: Natanael Copa <natanael.copa@docker.com>
2016-07-25 17:18:02 +02:00
Justin Cormack
4c68383d56 Remove some VMWare devices
In particular vsock causes issues with virtio vsock

We are not supporting VMWare platform at present so not relevant..

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-25 14:23:24 +01:00
Justin Cormack
d045eb449b Fix up mobyconfig startup code
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-25 14:03:03 +01:00
Justin Cormack
e3844179b6 fix typo
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-25 12:35:45 +01:00
Justin Cormack
a3dfb93479 Merge pull request #343 from justincormack/etchosts
add etc/hosts database key, as requested at Docker London
2016-07-22 14:41:15 +01:00
Justin Cormack
b1abb2f523 add etc/hosts database key, as requested at Docker London
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-22 14:27:20 +01:00
David Sheets
5567f50c1e Merge pull request #340 from dsheets/transfused-notify-channel
transfused notify channel
2016-07-22 13:58:28 +01:00
Justin Cormack
993237bdcf Add default SCSI device used by VMWare Fusion
As this is the default emulation, nicer to have it work.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-22 13:41:45 +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
79076c4fbd Add VMWare kernel features
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-22 12:54:20 +01:00
Justin Cormack
3199b72769 use correct tty for bios, fixes lack of login on VMWare Fusion
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-22 11:39:41 +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
Justin Cormack
c209ee554b Merge pull request #328 from justincormack/CLFAGS
typo
2016-07-21 15:38:32 +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
ebca732d3d typo
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-21 13:41:56 +01: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
Justin Cormack
55d3a0dd42 use openrc for shutdown
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-21 12:57:05 +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
4ccb36f900 Merge pull request #319 from nathanleclaire/posix_shell
Remove bash-isms in cloud build scripts
2016-07-21 09:54:46 +01:00
Justin Cormack
13b2d94b75 Merge pull request #321 from nathanleclaire/rm_walinuxagent
Remove Windows Azure Linux agent Dockerfile
2016-07-21 09:53:53 +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
Nathan LeClaire
7eef629176 Remove Windows Azure Linux agent Dockerfile
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2016-07-20 18:54:53 -07:00
Nathan LeClaire
4b8ea4d403 Remove bash-isms in cloud build scripts
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2016-07-20 17:35:40 -07: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
3dbf3280d5 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
ed0630dcf6 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
aa829b811b 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
d2e2a5308d Merge pull request #311 from justincormack/nollmnr
Remove llmnrd
2016-07-20 16:14:14 +01:00
David Sheets
473765c04b 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