Commit Graph

1992 Commits

Author SHA1 Message Date
Justin Cormack
476fbbb9a1 Merge pull request #893 from justincormack/kernel-empty-dirs
Create all directories for kernel
2016-12-15 10:43:18 -08:00
Justin Cormack
64ae794897 Create all directories for kernel
Non AUFS kernels do not create `sbin/` and `/usr` directories as they
do not provide the AUFS directories. Just create empty directories to
avoid a warning.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-15 10:26:00 -08:00
Justin Cormack
5ffa08f9d1 Merge pull request #891 from justincormack/doc-update
Small update to the README
2016-12-15 10:16:52 -08:00
Justin Cormack
3cb41448c7 Update AUFS kernel to 4.8.15
- minor update

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-15 10:13:01 -08:00
Justin Cormack
4599417e35 Small update to the README
- cover branches

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-15 09:16:38 -08:00
David Sheets
39cee37892 Merge pull request #882 from dsheets/transfused-robustness
transfused robustness
2016-12-15 12:21:54 +00:00
David Sheets
212c58cf13 transfused: use memcmp instead of a loop for checking init message
Signed-off-by: David Sheets <dsheets@docker.com>
2016-12-15 11:03:29 +00:00
David Sheets
e6a66eaef8 transfused: use read_exactly in subproto reading
Signed-off-by: David Sheets <dsheets@docker.com>
2016-12-15 11:03:29 +00:00
David Sheets
274e119da8 transfused: use read_exactly in init thread message reading
Signed-off-by: David Sheets <dsheets@docker.com>
2016-12-15 11:03:29 +00:00
David Sheets
f071e2bfde transfused: factor read_exactly out of read_message
Signed-off-by: David Sheets <dsheets@docker.com>
2016-12-15 11:03:29 +00:00
David Sheets
3474639a4f transfused: minor formatting fixup
Signed-off-by: David Sheets <dsheets@docker.com>
2016-12-15 11:03:29 +00:00
David Sheets
78544eb1ae transfused: replace brittle init control message writing with write_exactly
Signed-off-by: David Sheets <dsheets@docker.com>
2016-12-15 11:03:29 +00:00
David Sheets
125c3941eb transfused: replace brittle event pid writing with write_exactly
Signed-off-by: David Sheets <dsheets@docker.com>
2016-12-15 11:03:29 +00:00
David Sheets
1b6ee65a02 transfused: improve write_exactly error handling
Signed-off-by: David Sheets <dsheets@docker.com>
2016-12-15 11:03:29 +00:00
David Sheets
2414966689 transfused: improve read_message robustness
Signed-off-by: David Sheets <dsheets@docker.com>
2016-12-15 11:03:29 +00:00
Justin Cormack
dae717dcac Merge pull request #888 from justincormack/cpio-container
Run cpio in a container
2016-12-14 19:15:01 -08:00
Justin Cormack
f339c70f1a Run cpio in a container
This way it runs as root so files always owned by root.

Fix #887

This is the simplest fix for 1.13, we can also use this for
creating the main system initrd, but that needs more changes
so leaving for 1.14.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-14 17:56:57 -08:00
Justin Cormack
ac15af0396 Merge pull request #836 from justincormack/yama
Add Yama LSM
2016-12-14 17:49:27 -08:00
Justin Cormack
c33007a083 Merge pull request #886 from justincormack/ipvlan-4.9
Tweak kernel networking options
2016-12-14 17:24:10 -08:00
Justin Cormack
a5896ea6f3 Merge pull request #884 from justincormack/make-ci
Add new Makefile targets for the CI
2016-12-14 17:23:44 -08:00
Justin Cormack
2b92b100ea Add Yama LSM
Default config is restricted ptrace, processes can only ptrace
related processes, such as child processes, rather than any process
with the same uid.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-14 17:04:36 -08:00
Justin Cormack
42e45bd3b2 Tweak kernel networking options
In 4.9 IPVLAN support needs NET_L3_MASTER_DEV to work.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-14 16:41:12 -08:00
Justin Cormack
7e8115ce89 Add new Makefile targets for the CI
This builds both the standard and AUFS versions of Moby,
and does `make clean` carefully.

- `make ci` for branches (pushes artifacts)
- `make pr` for PRs

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-14 16:05:54 -08:00
Justin Cormack
be8a1aaeb5 Merge pull request #880 from justincormack/kernel-4.8-4.9
Make AUFS optional and ship choice of kernels
2016-12-14 15:33:39 -08:00
Justin Cormack
f3bdd998eb Merge pull request #881 from FrenchBen/gce-upload
Added simple upload of the image to bucket
2016-12-14 11:26:20 -08:00
French Ben
5845d8539c Added simple upload of the image to bucket
Signed-off-by: French Ben <frenchben@docker.com>
2016-12-14 10:18:54 -08:00
Justin Cormack
5567606fd0 Make AUFS optional and ship choice of kernels
This seems the best option, although none are great

- build with `make AUFS=1` to build with AUFS support, currently with 4.8 kernel
- default is to build without AUFS support, with 4.9 kernel

This recognises that AUFS supprot is temporary #620 and only there until
we can phase it out on desktop editions, and allow the other editions that
never shipped with AUFS to ship something very close to mainline.

However we do still apply the patches so that the non AUFS branch runs fine on
all platforms, so it can be tested elsewhere.

We may be able to move the kernel versions back in line when 4.9 aufs support is out.

Plan is to shift CI to build both sets of images, and get the Desktop editions to
pick up the aufs set automatically, once this is merged.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-13 18:23:45 -08:00
Justin Cormack
56df696142 Merge pull request #874 from justincormack/gce-image
Build a GCE image
2016-12-13 16:57:48 -08:00
Justin Cormack
1e9a594516 Merge pull request #877 from justincormack/swap-safety
Make sure we do not create a swap file if /var not mounted
2016-12-13 16:25:57 -08:00
Justin Cormack
0256d1eedd Merge pull request #878 from justincormack/1.12-compat
Only default to experimental if dockerd supports it
2016-12-13 14:50:32 -08:00
Justin Cormack
46dfc28a3a Only default to experimental if dockerd supports it
This allows 1.12 engine to still be supported on master.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-13 14:45:13 -08:00
Justin Cormack
5fa6f8cb2b Make sure we do not create a swap file if /var not mounted
See #875

This will only happen if there has been some sort of error
before, but lets not make it worse.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-13 09:49:13 -08:00
Justin Cormack
f1f2f1b222 Build a GCE image
- this is a raw 1GB filesystem image with syslinux for booting
- built with libguestfs so does not need any privileges
- need not be built on GCE
- there is a target that runs the image in qemu for local tests

Does not yet have a script to upload the image to cloud storage or create image from it.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-12 19:17:24 -08:00
Justin Cormack
e4c9e2c29a Merge pull request #871 from justincormack/rename-bios
Rename the bios build image to mkimage-iso-bios
2016-12-12 16:03:27 -08:00
Justin Cormack
ff48dd50a2 Rename the bios build image to mkimage-iso-bios
About to add more images so use a consistent naming scheme.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-12 15:53:44 -08:00
Justin Cormack
a9f49a41fd Merge pull request #869 from justincormack/debian-noninteractive
Force Debian installs to never prompt the user
2016-12-12 15:36:34 -08:00
Justin Cormack
d7d957a59f Force Debian installs to never prompt the user
Sometimes Debian just wants to ask you questions on an install,
this is really not a useful behaviour when there is no one
attached to the process.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-12 15:31:57 -08:00
Justin Cormack
7489a58c86 Merge pull request #868 from justincormack/consistent-zeropad
Use an image to pad initrd files to 4 bytes
2016-12-12 14:34:00 -08:00
Justin Cormack
6acee5984e Use an image to pad initrd files to 4 bytes
This saves a lot of duplicated nasty Makefile code, means and generally
cleans things up.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-12 14:12:13 -08:00
Justin Cormack
99a2f248b2 Merge pull request #865 from justincormack/scan-kernel
Kernel scanning now fixed, only needs vmlinuz64
2016-12-12 12:56:31 -08:00
Justin Cormack
aadf539ebd Merge pull request #866 from justincormack/mke2fs-options
Improve mkfs options
2016-12-12 11:22:20 -08:00
Justin Cormack
f19d7b5f03 Merge pull request #867 from justincormack/baseup
Update alpine-base
2016-12-12 11:09:03 -08:00
Justin Cormack
b90fa84385 Update alpine-base
Updates ca-certificates to 20161130

Includes the 20161102 updates see http://metadata.ftp-master.debian.org/changelogs/main/c/ca-certificates/ca-certificates_20161130_changelog

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-12 10:45:10 -08:00
Justin Cormack
9897241118 Improve mkfs options
- make quiet
- force, so some adjustments are not checked see https://github.com/docker/pinata/issues/6198
- set resize_inode as we do resize partitions on cloud and they could have very few inodes otherwise
- inline all the default options and remove the config file, so script is more standalone

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-12 10:36:49 -08:00
Justin Cormack
2f558885f0 Kernel scanning now fixed, only needs vmlinuz64
- The scanning process was not ignoring the kernel extraversion before,
so was only sometimes picking up issues.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-12 09:54:02 -08:00
Justin Cormack
b977169d0a Merge pull request #862 from justincormack/kernelup
Update to Linux 4.8.14
2016-12-10 16:52:09 -08:00
Justin Cormack
4aa8cffb13 Update to Linux 4.8.14
Includes fix for CVE-2016-8655 Linux af_packet.c race condition.

This gives a container escape with default container capabilities.

This now has the slow network namespace patch backported, so this
is removed.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-10 16:18:47 -08:00
Justin Cormack
d5821c6041 Merge pull request #861 from justincormack/split-test
Containerize test suite
2016-12-09 17:46:08 -08:00
Justin Cormack
f3e3a4029b Containerize test suite
- run test suite under containerd
- in future this should be converted to Go not shell see #860
- test suite is now in its own initrd, can be run on any platform not just qemu

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-09 17:13:16 -08:00
Justin Cormack
e6c730f81e Merge pull request #841 from riyazdf/vsyscall-emulate
Set CONFIG_LEGACY_VSYSCALL to NONE
2016-12-09 13:27:15 -08:00