Commit Graph

4882 Commits

Author SHA1 Message Date
Ian Campbell
f8b80b6f00 pkg: correct tagging forced release
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-06 12:56:33 +01:00
Rolf Neugebauer
074541f79c Merge pull request #2551 from zx2c4/wireguard-bump
wireguard: version bump
2017-10-05 11:51:58 +01:00
Rolf Neugebauer
13d7bae0fe Merge pull request #2560 from justincormack/squashfs
Add squashfs support to the kernel config
2017-10-04 22:40:28 +01:00
Ian Campbell
657225e8b8 Merge pull request #2565 from djs55/kubeadm.yaml
kubernetes: add optional support for a kubeadm.yaml
2017-10-04 18:03:39 +01:00
David Scott
cecb5a65b7 kubernetes: add optional support for a kubeadm.yaml
Unfortunately some options (such as enabling dynamic registration of
initializers) can only be enabled by a `--config foo.yaml` argument.
Furthermore some command-line options (such as the kubernetes version)
cannot be used in combination with the config file.

This patch checks for a supplied  /etc/kubeadm/kubeadm.yaml and uses
it if it exists, otherwise it falls back to the original command-line.
Note it is safe to use the `--skip-*` options in combination with the
`--config` option.

Signed-off-by: David Scott <dave.scott@docker.com>
2017-10-04 16:24:16 +01:00
Justin Cormack
be3ffe5bf6 Merge pull request #2563 from ijc/kubernetes
kubernetes: easier support for single master, plus slight robustness improvement
2017-10-04 14:08:25 +01:00
Ian Campbell
8d69ed14f4 kubernetes: Update yml
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-04 12:22:17 +01:00
Ian Campbell
4386cbcdf9 kubernetes: bookend kubeadm-init with stamp files.
It is possible to get rebooted halfway through the init process, after key
files like `/etc/kubernetes/kubelet.conf` have been created but before full
cluster setup is complete or networking is applied.

Right now the idempotency of kubeadm (or backing out from this half-way state
and resuming the initialisation) is not something I have investigated. By
dropped stamps before and after at least the situation will be somewhat
detectable/diagnosable so the user can e.g. nuke their persistent disk and
start again.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-04 12:17:14 +01:00
Ian Campbell
164c4a30f5 kubernetes: support untainting master via metadata
If a stamp file is present in the metadata then untaint.

This is useful for dev environments where you only want to start a single vm.

The construction of the metadata becomes a little more complex to produce
correct json syntax now that there are two (independent) possible options.

Likewise the kubelet.sh script now takes the presence of /var/config/kubeadm
(rather than /var/config/kubeadm/init) as the signal to use the more structured
setup, since we may now have /var/config/kubeadm/untaint-master but not
/var/config/kubeadm/init so would otherwise end up passing the contents of
`/var/config/userdata` (something like `{ "kubeadm": { "untaint-master": "" }
}`) to `kubeadm` and confusing it enormously.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-04 11:28:48 +01:00
Ian Campbell
77f0c75b9d Merge pull request #2559 from ijc/kubernetes
kubernetes: bump to v1.8.0
2017-10-03 16:43:19 +01:00
Ian Campbell
eb0fde3a10 kubernetes: update yml
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-03 15:18:21 +01:00
Justin Cormack
fb98564ecc Add squashfs support to the kernel config
This is a useful read only filesystem for images that is efficient and
small as it supports compression.

For many use cases, when you are writing to media, it makes more sense than
using an initramfs as it does not require RAM, and it is more suitable for
disk media than ISO.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-10-03 15:09:27 +01:00
Ian Campbell
c0a3656eb3 kubernetes: update to kub dns 1.14.5
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-03 15:08:43 +01:00
Ian Campbell
72dff9059d kubernetes: arrange for kubelet-plugins directory to be persistent
/usr/libexec/kubernetes/kubelet-plugins is a new path in Kube 1.8 (related to
flexvolumes) which should be persisted. Like /etc/cni and /opt/cni we also need
to arrange for this path to be valid in the host environment (since various
system containers will try and mount bind mount it).

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-03 15:08:43 +01:00
Ian Campbell
57a2ae4318 kubernetes: adjust for v1.8 bootstrapping arrangements.
With kube 1.8 kubeadm initially configures worker nodes with a
bootstrap-kubelet.conf. Adjust our start of day scripting to DTRT.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-03 15:08:43 +01:00
Ian Campbell
f85208c74a kubernetes: Bump to v1.8.0
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-03 15:08:37 +01:00
Ian Campbell
9a99164cf7 kubernetes: Use /etc/kubernetes rather than /var/lib/kubelet
This is a bind mount, but /etc/kubernetes is the path formally expected/create
by kubeadm.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-03 14:59:54 +01:00
Rolf Neugebauer
6e58dc2940 Merge pull request #2532 from eyz/linuxkit-format-device-filter
format: blkid content check, format argument, and verbose argument
2017-10-03 11:30:00 +01:00
Rolf Neugebauer
8900ade624 Merge pull request #2556 from rn/blkid
tools/alpine: Explicitly add blkid
2017-10-03 10:28:35 +01:00
Isaac Rodman
0c23a5f3ce updated linuxkit/format tag to linuxkit/format:f180a74d878c8c0c86f6208f9311474c91452a79
Signed-off-by: Isaac Rodman <isaac@eyz.us>
2017-10-02 15:11:13 -07:00
Isaac Rodman
3de78f2109 format: blkid content check, format argument, and verbose argument
- Added new argument -force to the format utility. This will force formatting of the specified single device if it exists and is a block device
- By default, the format package will no longer format the specified single device if content exists on that device
- Added new blkid-based check for content, in addition to the existing check for partitions on autoformat candidate devices.
- Cleanup of old unused code.
- Refactoring of block device verification.
- Added test/cases/040_packages/006_format_mount/005_by_device_force
- Added document of new arguments to /docs/external-disk.md. Also sorted the arguments in the doc alphabetically and added them as bullets so they do not run together on the page.

Signed-off-by: Isaac Rodman <isaac@eyz.us>
2017-10-02 11:53:17 -07:00
Rolf Neugebauer
61a1b9774c tools/alpine: Explicitly add blkid
On x86_64, the blkid package gets installed as a dependency, but
not on arm64. Explicitly add it as the new format package depends
on it.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-02 17:35:26 +00:00
Rolf Neugebauer
a4dd23adf4 Merge pull request #2554 from rn/4.13
Add 4.13.x and remove 4.12.x kernels
2017-10-02 17:55:06 +01:00
Rolf Neugebauer
d9bd133f58 kernel: Remove 4.12 kernel
4.12 has been EOLed:
http://lkml.iu.edu/hypermail/linux/kernel/1709.2/02589.html
Remove it and the related tests.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-02 16:20:02 +01:00
Rolf Neugebauer
41ed19cac6 tests: Add tests for 4.13
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-02 16:20:02 +01:00
Rolf Neugebauer
6f535f866a kernel: Enable FORTIFY_SOURCE for 4.13 kernels
This new feature was disabled by default, enable it as it seems
sensible to have. From the documentation:
  Detect overflows of buffers in common string and memory functions
  where the compiler can determine and validate the buffer sizes.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-02 16:20:02 +01:00
Rolf Neugebauer
d0e55af229 kernel: Add support for 4.13 kernels
The patches from 4.12 applied cleanly, except for 81304747d9
("Drivers: hv: vmbus: Fix rescind handling"), which was already
in upstream so has been dropped from the patch series.

The kernel config is from 4.12 run through defconfig/oldconfig to
pick up any new defaults.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-02 16:20:02 +01:00
Rolf Neugebauer
6e540241c8 kernel: Update alpine base image for kernel builds
Since we are rebuilding the kernels might as well update the base

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-02 16:20:02 +01:00
Rolf Neugebauer
aea1eadecc Merge pull request #2553 from rn/cifs
tools/alpine: Add cifs-utils
2017-10-02 16:19:38 +01:00
Rolf Neugebauer
eafdbbd0fe tools/alpine: Add cifs-utils
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-02 13:22:30 +00:00
Ian Campbell
2aaf29eefa Merge pull request #2552 from ijc/kubernetes
kubernetes: do not try to re-init the cluster on subsequent boots
2017-10-02 13:22:17 +01:00
Ian Campbell
9f414f429c kubernetes: bump yml
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-02 10:53:12 +01:00
Ian Campbell
6d387bf59d kubernetes: do not try to re-init the cluster on subsequent boots
If `kubelet.conf` already exits then don't try to redo `kubeadm`, no matter
what the metadata requests.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-02 10:50:06 +01:00
Jason A. Donenfeld
43db718f14 wireguard: version bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-10-02 03:39:11 +02:00
Justin Cormack
367c7e2c88 Merge pull request #2549 from ijc/kubernetes
kubernetes: cri-containerd v1.0.0-alpha.0
2017-09-29 05:28:19 -07:00
Ian Campbell
6ae72e8f50 kubernetes: update yml
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-29 10:07:11 +01:00
Ian Campbell
f02c79e733 kubernetes: cri-containerd v1.0.0-alpha.0
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-29 10:04:16 +01:00
Ian Campbell
5804f9db3c kubernetes: rename /etc/kubelet.conf to /etc/kubelet.sh.conf
To help reduce confusion from this file (which configures our `kubelet.sh`
wrapper) vs `/var/lib/kubeadm/kubelet.conf` (which is created by `kubeadm` and
configures `kubelet` itself).

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-29 10:04:16 +01:00
Rolf Neugebauer
75e6596191 Merge pull request #2547 from rn/kup
Update kernels to 4.9.52/4.4.89
2017-09-28 20:16:17 +01:00
Rolf Neugebauer
ab2333d70e Update YAML files with new kernels
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-28 15:45:23 +01:00
Rolf Neugebauer
35fde3ec7d kernel: Update to 4.9.52/4.4.89
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-28 15:44:04 +01:00
Rolf Neugebauer
6858770280 Merge pull request #2545 from ijc/kubernetes
kubernetes: update to latest cri-containerd
2017-09-28 09:44:56 +01:00
Ian Campbell
f626f0ee65 kubernetes: Update yml for cri-containerd
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-27 17:04:37 +01:00
Ian Campbell
2e5b1579e0 kubernetes: bump to latest cri-containerd
This vendors containerd v1.0.0-beta.1

Enable seccomp support at build time.

Requires /dev bind mount so it can use /dev/disk/by-uuid to resolve devices to
uuids.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-27 17:01:07 +01:00
Ian Campbell
c227c31e75 kubernetes: try and make exec-id unique
Hopefully hostname + local pid should be unlikely to clash.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-27 17:01:07 +01:00
Ian Campbell
1bdf0df8b6 Update yml for new linuxkit/mount package.
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-27 16:44:40 +01:00
Ian Campbell
2582614135 pkg/mount: also create /dev/disk/by-uuid links
Some software (such as cri-containerd and kubelet) rely on the presence of
these links, which are usually created by udev.

Inspired by 74b145b5c7/sourceroot/functions.sh (L93...L124)
but rewritten in go.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-27 16:39:58 +01:00
Rolf Neugebauer
d890253cec Merge pull request #2543 from rn/wireless
tools/alpine: Add wireless-tools and wpa_supplicant
2017-09-27 13:25:38 +01:00
Ian Campbell
4729125077 Merge pull request #2537 from ijc/kubernetes
kubernetes: build kubelet from source & add openssl
2017-09-27 12:13:53 +01:00
Rolf Neugebauer
21e26dcb46 tools/alpine: Add wireless-tools and wpa_supplicant
available as: linuxkit/alpine:a94acee63dc1d0bd5cd5006d66514f62373650f2

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-27 10:20:34 +00:00