# Report for 2018-02-01 to 2018-02-28

This report covers the development in the [linuxkit/linuxkit] [linuxkit/lcow] [linuxkit/kubernetes] [linuxkit/virtsock] [linuxkit/rtf] [linuxkit/homebrew-linuxkit] [moby/tool] repositories. There were 378 contributions (PRs/Issues/Comments) from 29 individual contributors. 56 new PRs were opened and 52 PRs were merged. 17 new issues 
were opened and 15 issues were closed.

In February we merged the initial support for the RealTime Linux kernel via the `PREEMPT_RT` patches contributed. We also merged the first steps towards supporting `s390x` as a new architecture. More PRs are in the pipeline and they should get merged soon.

On the kernel side, we switched the default LinuxKit kernel to the 4.14.x series as it receives critical bug fixes quicker and has better mitigation against Meltdown/Spectre. We also had no less than 8 kernel updates as well as two updates to WireGuard. The latest supported kernels are 4.15.7/4.4.23/4.9.85/4.4.119.

On the Kubernetes front we now have a test harness to perform quick smoke tests.

The Linux Container on Windows (LCOW) project had significant additions to its test suite (and more are in the pipeline). To this end, we also updated the `rtf` utility to allow running test written in Powershell on macOS and Linux. The VirtSock project received a major rewrite of the Hyper-V socket implementation.

On the tooling and package side, `containerd` was updated to v1.0.2 and initial steps towards supporting booting from qcow2 EFI images was merged. We also added a new complete example to create a LinuxKit image for the full "TICK" stack (InfluxDB, Chronograf, Kapacitor, Telegraf).

## Merged PRs:

### Kernel related
- Support Preempt-RT Linux kernel ([linuxkit/linuxkit#2897] [@TiejunChina] [@rn] [@ijc])
- Clarify to support Preempt-RT kernel ([linuxkit/linuxkit#2924] [@TiejunChina] [@rn] [@thaJeztah])
- Make 4.14.x the default and reduce number of kernels build ([linuxkit/linuxkit#2923] [@rn] [@ijc] [@justincormack])
- Update kernels to 4.14.16/4.9.79/4.4.114 and add 4.15 kernels ([linuxkit/linuxkit#2900] [@rn] [@ijc])
- Update kernels to 4.15.1/14.14.17/4.9.80/4.4.115 ([linuxkit/linuxkit#2905] [@rn] [@ijc] [@justincormack])
- Extend kernel config test ([linuxkit/linuxkit#2908] [@cji] [@justincormack] [@rn])
- Update kernels to 4.15.2/4.14.18 ([linuxkit/linuxkit#2909] [@rn] [@ijc])
- Kernel update to 4.15.3/4.14.19/4.9.81 ([linuxkit/linuxkit#2912] [@rn] [@justincormack])
- wireguard: update to 0.0.20180202 ([linuxkit/linuxkit#2902] [@zx2c4] [@rn])
- wireguard: update to 0.0.20180218 ([linuxkit/linuxkit#2916] [@zx2c4] [@rn])
- Update kernels to 4.15.4/4.14.20/4.9.82/4.4.116 ([linuxkit/linuxkit#2920] [@rn] [@justincormack])
- Kernel update to 4.15.5/4.14.21/4.9.83/4.4.117 ([linuxkit/linuxkit#2925] [@rn] [@justincormack])
- Kernel updates to 4.15.6/4.14.22/4.9.84/4.4.118 ([linuxkit/linuxkit#2928] [@rn] [@ijc])
- Kernel update to 4.15.7/4.4.23/4.9.85/4.4.119 ([linuxkit/linuxkit#2941] [@rn] [@justincormack])

### Kubernetes
- Convenient local test harness for quick smoke test ([linuxkit/kubernetes#58] [@ijc] [@rn])
- Revert "Drop duplicate mounts of CNI directories." ([linuxkit/kubernetes#60] [@ijc] [@rn])
- test: Retry intra-pod networking test. ([linuxkit/kubernetes#61] [@ijc] [@rn])
- Cni bridge configurability ([linuxkit/kubernetes#63] [@ijc] [@rn])
- Update to CNI 0.7.0 ([linuxkit/kubernetes#65] [@ijc] [@rn])

### Tooling
- Allow choice of qemu binary and acceleration ([linuxkit/linuxkit#2899] [@rn] [@ijc])
- Make it possible to key the package tags off of top level tree hash ([linuxkit/linuxkit#2901] [@rvs] [@deitch])
- Bump rtf to f2409214ca3b719567aa15bb7b363f24876a4d98 ([linuxkit/linuxkit#2914] [@ijc] [@rn])
- This commit adds the functionality to run the qemu container detached ([linuxkit/linuxkit#2915] [@scotty-c] [@rn])
- Add s390x support for Linuxkit binary and tools ([linuxkit/linuxkit#2927] [@alicefr] [@rn] [@justincormack] [@ijc])
- Add cli option '--bridgeadapter' to 'linuxkit vbox run' ([linuxkit/linuxkit#2930] [@obergner] [@justincormack])
- Support http proxy environment variables in linuxkit build ([linuxkit/linuxkit#2932] [@garthy] [@justincormack])
- Add s390x support for linuxkit docker images ([linuxkit/linuxkit#2934] [@alicefr] [@justincormack] [@rn])
- Adds support for building a qcow2 EFI image ([linuxkit/linuxkit#2935] [@garthy] [@deitch])
- Add documentation about using images from private registries ([moby/tool#203] [@deitch] [@justincormack] [@AkihiroSuda])
- Fix typos ([moby/tool#204] [@deitch] [@justincormack])

### Linux Containers on Windows (LCOW)
- Update opengcs and linuxkit components ([linuxkit/lcow#8] [@rn] [@ijc])
- Update LCOW tests ([linuxkit/lcow#9] [@rn] [@justincormack])
- Clarify where to file issues. ([linuxkit/lcow#10] [@rn] [@ijc])
- Add mostly volume sharing tests ([linuxkit/lcow#11] [@rn] [@ijc])
- Update rtf to the latest version ([linuxkit/lcow#12] [@rn] [@ijc])

### VirtSock
- Major rewrite of 'pkg/hvsock' and some other changes ([linuxkit/virtsock#53] [@rn])
- hvsock: Adjust windows code to be more like go-winio ([linuxkit/virtsock#56] [@rn])
- Improve debugging ([linuxkit/virtsock#57] [@rn])
- linuxkit: Tweak the linuxkit image ([linuxkit/virtsock#58] [@rn])
- c: Fix c programs to work with the vsock implementation of Hyper-V sockets ([linuxkit/virtsock#59] [@rn])
- Update Linuxkit ([linuxkit/virtsock#60] [@rn])

### Packages
- Containerd v1.0.2 ([linuxkit/linuxkit#2913] [@ijc] [@justincormack] [@rn])
- Bump to Containerd v1.0.2-rc.1 ([linuxkit/linuxkit#2904] [@ijc] [@rn])

### Project/Docs/Examples
- reports: Add Jan 2018 report ([linuxkit/linuxkit#2938] [@rn] [@justincormack])
- Added InfluxDB OS an example ([linuxkit/linuxkit#2926] [@gianarb] [@eyz] [@rn])
- A minor update/hint to the docker-for-mac example documentation. ([linuxkit/linuxkit#2931] [@functor] [@rn] [@deitch])
- Update AUTHORS ([linuxkit/linuxkit#2937] [@rn] [@justincormack])
- Update Authors ([linuxkit/linuxkit#2907] [@justincormack] [@ijc] [@rn] [@deitch])
- Update Authors ([linuxkit/linuxkit#2919] [@rn] [@justincormack])

### Testing
- Preserve full precision in nanoseconds part of log timestamp ([linuxkit/rtf#38] [@ijc] [@rn])
- Fix bad link in USER_GUIDE.md. ([linuxkit/rtf#39] [@morris-jason] [@justincormack])
- Add support for running powershell tests on Unix (well macOS) ([linuxkit/rtf#40] [@rn] [@dave-tucker])


## Closed Issues:

- To start the already installed kubernetes cluster ([linuxkit/kubernetes#41] [@aadhik] [@ijc])
- cri-containerd: hostpath mounted read only ([linuxkit/kubernetes#59] [@yvespp] [@ijc])
- WARN[0003] certificate with CN ABC DEF is near expiry ([linuxkit/kubernetes#62] [@rodlogic] [@ijc])

- Bind mount host to container: very slow write speed ([linuxkit/lcow#7] [@Yivan] [@rn])

- linuxkit/test-ltp does not build ([linuxkit/linuxkit#2342] [@rn] [@cji])
- Make it possible to key the package tags off of top level tree hash ([linuxkit/linuxkit#2887] [@rvs] [@justincormack] [@deitch] [@rn])
- Improve/extend kernel config test ([linuxkit/linuxkit#2890] [@rn])
- 4.9.79 kernel crash on GCP ([linuxkit/linuxkit#2903] [@rn])
- Improve kernel patching ([linuxkit/linuxkit#2906] [@rn] [@tjfontaine])
- Backport vmbus trace points ([linuxkit/linuxkit#2910] [@rn])
- Switch default kernel to 4.14 ([linuxkit/linuxkit#2918] [@rn] [@justincormack])
- Per arch selection of kernel builds ([linuxkit/linuxkit#2921] [@rn])
- Running `linuxkit run vbox --networking bridged` does not start VM in bridged mode on Mac ([linuxkit/linuxkit#2929] [@obergner] [@justincormack])

- Remove support for Hyper-V socket pre Windows build 14393 ([linuxkit/virtsock#51] [@rn])
- Implement `accept()`/`Listen()` for windows ([linuxkit/virtsock#52] [@rn])

## New or updated PRs and Issues (not closed):

- Flakey rtf tests ([linuxkit/kubernetes#64] [@ijc])

- Reorganise the test to follow 'docker <command>' ([linuxkit/lcow#13] [@rn])

- onboot logs not showing up anywhere ([linuxkit/linuxkit#1688] [@deitch] [@riyazdf] [@eyz] [@ernoaapa])
- Combine linuxkit and Docker Swarm Mode ([linuxkit/linuxkit#1989] [@nrocco] [@kencochrane] [@dweomer] [@jtvhk] [@asbjornenge] [@justincormack])
- Passing config options for image build ([linuxkit/linuxkit#2817] [@rvs] [@deitch] [@errordeveloper] [@justincormack] [@w9n])
- Support Preempt-RT Linux kernel ([linuxkit/linuxkit#2856] [@TiejunChina])
- Resolve `certificate with CN ABC DEF is near expiry` messages ([linuxkit/linuxkit#2911] [@ijc] [@justincormack])
- 4.16 Jailhouse non-root cell support flag for x86-64 ([linuxkit/linuxkit#2917] [@fntlnz] [@rn])
- switch to Alpine Edge again? ([linuxkit/linuxkit#2922] [@justincormack])
- Configure guest with 9P mount and vsock port when using existing VPNKit instance ([linuxkit/linuxkit#2933] [@ekcasey])
- Convert manifest signing to use `docker manifest` and `docker trust sign` ([linuxkit/linuxkit#2936] [@rn])
- Add s390 support for linuxkit kernel ([linuxkit/linuxkit#2939] [@alicefr])
- Script to generate s390 kernel configs ([linuxkit/linuxkit#2940] [@alicefr])
- Add logging to /var/log for onboot containers ([linuxkit/linuxkit#2942] [@deitch] [@justincormack])
- Update tools/alpine (wireguard tools and s390x) ([linuxkit/linuxkit#2943] [@rn] [@justincormack] [@ijc])
- NVIDIA driver with LinuxKit host ([linuxkit/linuxkit#2944] [@jbremmer] [@rn] [@justincormack])

- go: client on Linux get EOF on read ([linuxkit/virtsock#55] [@rn])

- Enable 'moby build' for private repos ([moby/tool#202] [@rn])

[linuxkit/linuxkit]: https://github.com/linuxkit/linuxkit
[linuxkit/lcow]: https://github.com/linuxkit/lcow
[linuxkit/kubernetes]: https://github.com/linuxkit/kubernetes
[linuxkit/virtsock]: https://github.com/linuxkit/virtsock
[linuxkit/rtf]: https://github.com/linuxkit/rtf
[linuxkit/homebrew-linuxkit]: https://github.com/linuxkit/homebrew-linuxkit
[moby/tool]: https://github.com/moby/tool
[linuxkit/kubernetes#58]: https://github.com/linuxkit/kubernetes/pull/58
[linuxkit/kubernetes#60]: https://github.com/linuxkit/kubernetes/pull/60
[linuxkit/kubernetes#61]: https://github.com/linuxkit/kubernetes/pull/61
[linuxkit/kubernetes#63]: https://github.com/linuxkit/kubernetes/pull/63
[linuxkit/kubernetes#65]: https://github.com/linuxkit/kubernetes/pull/65
[linuxkit/lcow#8]: https://github.com/linuxkit/lcow/pull/8
[linuxkit/lcow#9]: https://github.com/linuxkit/lcow/pull/9
[linuxkit/lcow#10]: https://github.com/linuxkit/lcow/pull/10
[linuxkit/lcow#11]: https://github.com/linuxkit/lcow/pull/11
[linuxkit/lcow#12]: https://github.com/linuxkit/lcow/pull/12
[linuxkit/linuxkit#2897]: https://github.com/linuxkit/linuxkit/pull/2897
[linuxkit/linuxkit#2899]: https://github.com/linuxkit/linuxkit/pull/2899
[linuxkit/linuxkit#2900]: https://github.com/linuxkit/linuxkit/pull/2900
[linuxkit/linuxkit#2901]: https://github.com/linuxkit/linuxkit/pull/2901
[linuxkit/linuxkit#2902]: https://github.com/linuxkit/linuxkit/pull/2902
[linuxkit/linuxkit#2904]: https://github.com/linuxkit/linuxkit/pull/2904
[linuxkit/linuxkit#2905]: https://github.com/linuxkit/linuxkit/pull/2905
[linuxkit/linuxkit#2907]: https://github.com/linuxkit/linuxkit/pull/2907
[linuxkit/linuxkit#2908]: https://github.com/linuxkit/linuxkit/pull/2908
[linuxkit/linuxkit#2909]: https://github.com/linuxkit/linuxkit/pull/2909
[linuxkit/linuxkit#2912]: https://github.com/linuxkit/linuxkit/pull/2912
[linuxkit/linuxkit#2913]: https://github.com/linuxkit/linuxkit/pull/2913
[linuxkit/linuxkit#2914]: https://github.com/linuxkit/linuxkit/pull/2914
[linuxkit/linuxkit#2915]: https://github.com/linuxkit/linuxkit/pull/2915
[linuxkit/linuxkit#2916]: https://github.com/linuxkit/linuxkit/pull/2916
[linuxkit/linuxkit#2919]: https://github.com/linuxkit/linuxkit/pull/2919
[linuxkit/linuxkit#2920]: https://github.com/linuxkit/linuxkit/pull/2920
[linuxkit/linuxkit#2923]: https://github.com/linuxkit/linuxkit/pull/2923
[linuxkit/linuxkit#2924]: https://github.com/linuxkit/linuxkit/pull/2924
[linuxkit/linuxkit#2925]: https://github.com/linuxkit/linuxkit/pull/2925
[linuxkit/linuxkit#2926]: https://github.com/linuxkit/linuxkit/pull/2926
[linuxkit/linuxkit#2927]: https://github.com/linuxkit/linuxkit/pull/2927
[linuxkit/linuxkit#2928]: https://github.com/linuxkit/linuxkit/pull/2928
[linuxkit/linuxkit#2930]: https://github.com/linuxkit/linuxkit/pull/2930
[linuxkit/linuxkit#2931]: https://github.com/linuxkit/linuxkit/pull/2931
[linuxkit/linuxkit#2932]: https://github.com/linuxkit/linuxkit/pull/2932
[linuxkit/linuxkit#2934]: https://github.com/linuxkit/linuxkit/pull/2934
[linuxkit/linuxkit#2935]: https://github.com/linuxkit/linuxkit/pull/2935
[linuxkit/linuxkit#2937]: https://github.com/linuxkit/linuxkit/pull/2937
[linuxkit/linuxkit#2938]: https://github.com/linuxkit/linuxkit/pull/2938
[linuxkit/linuxkit#2941]: https://github.com/linuxkit/linuxkit/pull/2941
[linuxkit/rtf#38]: https://github.com/linuxkit/rtf/pull/38
[linuxkit/rtf#39]: https://github.com/linuxkit/rtf/pull/39
[linuxkit/rtf#40]: https://github.com/linuxkit/rtf/pull/40
[linuxkit/virtsock#53]: https://github.com/linuxkit/virtsock/pull/53
[linuxkit/virtsock#56]: https://github.com/linuxkit/virtsock/pull/56
[linuxkit/virtsock#57]: https://github.com/linuxkit/virtsock/pull/57
[linuxkit/virtsock#58]: https://github.com/linuxkit/virtsock/pull/58
[linuxkit/virtsock#59]: https://github.com/linuxkit/virtsock/pull/59
[linuxkit/virtsock#60]: https://github.com/linuxkit/virtsock/pull/60
[moby/tool#203]: https://github.com/moby/tool/pull/203
[moby/tool#204]: https://github.com/moby/tool/pull/204
[linuxkit/kubernetes#41]: https://github.com/linuxkit/kubernetes/issues/41
[linuxkit/kubernetes#59]: https://github.com/linuxkit/kubernetes/issues/59
[linuxkit/kubernetes#62]: https://github.com/linuxkit/kubernetes/issues/62
[linuxkit/lcow#7]: https://github.com/linuxkit/lcow/issues/7
[linuxkit/linuxkit#2342]: https://github.com/linuxkit/linuxkit/issues/2342
[linuxkit/linuxkit#2887]: https://github.com/linuxkit/linuxkit/issues/2887
[linuxkit/linuxkit#2890]: https://github.com/linuxkit/linuxkit/issues/2890
[linuxkit/linuxkit#2903]: https://github.com/linuxkit/linuxkit/issues/2903
[linuxkit/linuxkit#2906]: https://github.com/linuxkit/linuxkit/issues/2906
[linuxkit/linuxkit#2910]: https://github.com/linuxkit/linuxkit/issues/2910
[linuxkit/linuxkit#2918]: https://github.com/linuxkit/linuxkit/issues/2918
[linuxkit/linuxkit#2921]: https://github.com/linuxkit/linuxkit/issues/2921
[linuxkit/linuxkit#2929]: https://github.com/linuxkit/linuxkit/issues/2929
[linuxkit/virtsock#51]: https://github.com/linuxkit/virtsock/issues/51
[linuxkit/virtsock#52]: https://github.com/linuxkit/virtsock/issues/52
[linuxkit/kubernetes#64]: https://github.com/linuxkit/kubernetes/issues/64
[linuxkit/lcow#13]: https://github.com/linuxkit/lcow/pull/13
[linuxkit/linuxkit#1688]: https://github.com/linuxkit/linuxkit/issues/1688
[linuxkit/linuxkit#1989]: https://github.com/linuxkit/linuxkit/issues/1989
[linuxkit/linuxkit#2817]: https://github.com/linuxkit/linuxkit/issues/2817
[linuxkit/linuxkit#2856]: https://github.com/linuxkit/linuxkit/pull/2856
[linuxkit/linuxkit#2911]: https://github.com/linuxkit/linuxkit/issues/2911
[linuxkit/linuxkit#2917]: https://github.com/linuxkit/linuxkit/issues/2917
[linuxkit/linuxkit#2922]: https://github.com/linuxkit/linuxkit/issues/2922
[linuxkit/linuxkit#2933]: https://github.com/linuxkit/linuxkit/pull/2933
[linuxkit/linuxkit#2936]: https://github.com/linuxkit/linuxkit/issues/2936
[linuxkit/linuxkit#2939]: https://github.com/linuxkit/linuxkit/pull/2939
[linuxkit/linuxkit#2940]: https://github.com/linuxkit/linuxkit/pull/2940
[linuxkit/linuxkit#2942]: https://github.com/linuxkit/linuxkit/pull/2942
[linuxkit/linuxkit#2943]: https://github.com/linuxkit/linuxkit/pull/2943
[linuxkit/linuxkit#2944]: https://github.com/linuxkit/linuxkit/issues/2944
[linuxkit/virtsock#55]: https://github.com/linuxkit/virtsock/issues/55
[moby/tool#202]: https://github.com/moby/tool/issues/202
[@scotty-c]: https://github.com/scotty-c
[@w9n]: https://github.com/w9n
[@asbjornenge]: https://github.com/asbjornenge
[@functor]: https://github.com/functor
[@garthy]: https://github.com/garthy
[@gianarb]: https://github.com/gianarb
[@eyz]: https://github.com/eyz
[@rvs]: https://github.com/rvs
[@AkihiroSuda]: https://github.com/AkihiroSuda
[@dweomer]: https://github.com/dweomer
[@aadhik]: https://github.com/aadhik
[@justincormack]: https://github.com/justincormack
[@errordeveloper]: https://github.com/errordeveloper
[@deitch]: https://github.com/deitch
[@zx2c4]: https://github.com/zx2c4
[@fntlnz]: https://github.com/fntlnz
[@tjfontaine]: https://github.com/tjfontaine
[@rn]: https://github.com/rn
[@nrocco]: https://github.com/nrocco
[@riyazdf]: https://github.com/riyazdf
[@yvespp]: https://github.com/yvespp
[@morris-jason]: https://github.com/morris-jason
[@jtvhk]: https://github.com/jtvhk
[@ernoaapa]: https://github.com/ernoaapa
[@obergner]: https://github.com/obergner
[@ekcasey]: https://github.com/ekcasey
[@TiejunChina]: https://github.com/TiejunChina
[@thaJeztah]: https://github.com/thaJeztah
[@cji]: https://github.com/cji
[@jbremmer]: https://github.com/jbremmer
[@Yivan]: https://github.com/Yivan
[@rodlogic]: https://github.com/rodlogic
[@ijc]: https://github.com/ijc
[@dave-tucker]: https://github.com/dave-tucker
[@kencochrane]: https://github.com/kencochrane
[@alicefr]: https://github.com/alicefr
