v0.6.1
We're excited to release v0.6.1
with usability improvements and lots of bug fixes :)
This release consists of 32 noteworthy PRs from 6 contributors over the past month.
We had 7 contributions from 4 external contributors. Thanks so much!
Ignite should now work with most installations of containerd -- even those that are installed underneath upstream docker.
Care has been taken with our installation instructions to ensure we are not breaking users docker installations.
We've also implemented a graceful fallback to older containerd-shim versions and now support containerd-shim-runc-v2.
This release also contains numerous fixes that make the CNI network plugin work much more reliably.
Connections to the internet from vm's using CNI should now work on most machines by default.
Please see the following user-facing change.
Default CNI Network Change
The default cni0
bridge has changed to a new ignite0
bridge introduced by the #460 bugfix. This comes with a new subnet as well.
We did this because the default CNI config shipped in v0.6.0
was a non-working configuration for most users.
You may continue to use the default CNI configuration. Nothing will change automatically.
If you are using your own CNI configuration, this does not affect you.
To migrate your running CNI networked vm's to the new default subnet, you can:
- install this new ignite version
- stop the relevant vm's
- delete the CNI network
- restart them
Example:
# first, upgrade to ignite v0.6.1
# list all vm's on the default 172.18.0.0/16 CNI network
sudo bin/ignite vm ls | grep '\b172.18.[0-9][0-9]*.[0-9][0-9]*\b'
# stop the listed vm's with the appropriate runtime
sudo bin/ignite stop my-containerd-vm
sudo bin/ignite stop my-docker-vm --runtime docker
# remove the old CNI network config
sudo rm -rf rm /etc/cni/net.d/
# optional: remove the old bridge
sudo ifconfig cni0 down
sudo ip link delete cni0
# restart your vm's
sudo bin/ignite start my-containerd-vm
sudo bin/ignite start my-docker-vm --runtime docker
# Your vm's will now have addresses configured in the 10.61.0.0/16 subnet.
# If they did not have internet connectivity before, they now should.
Enhancements
- wait for SSH when starting a VM (#429, @chanwit)
- skip root requirement for ignite version (#409, @chanwit)
- show runtime name when ignite version (#405, @chanwit)
- improve preflight check and add a containerd test case for ignite run (#416, @chanwit)
- Detect available containerd-shim versions defaulting to legacy linux runtime (#411, @stealthybox)
- log runtime during ignite run (#388, @silenceshell)
- preflight before start operation (#360, @najeal)
Bug Fixes
- Change default CNI network name, bridge name, and subnet #460, @stealthybox
- Chain firewall plugin to fix routing for default CNI bridge #442, @stealthybox
- Teardown IPMasq rules for all actual configured bridges instead of using the hardcoded default string (#461, @stealthybox)
- Fix containerd resolv.conf + DHCP behavior (#441, @stealthybox)
- Make getIPChains more precise and less failure-prone (#426, @stealthybox)
- quick fix typo umount as unmount in preflight check (#415, @chanwit)
- fix possible dm snapshot leaks (#381, @chanwit)
- make rm command more robust with addition check (#413, @chanwit)
Documentation
- Make documented install safer for docker-ce users (#454, @stealthybox)
- improve rm docs (#444, @chanwit)
- add installation notes about docker (#397, @kobayashi)
- use image weaveworks/ubuntu instead of centos:7 in command examples (#387, @silenceshell)
- default cni network does not support multi-node (#385, @silenceshell)
Dependencies
- update containerd to 1.3.0 and golang to 1.12.10 (#464, @chanwit)
- update firecracker to v0.18.0 (#414, @chanwit)
- Bump indirect dependency on klog #453, @stealthybox
- On release, use tidy-in-docker to prevent module differences from differing versions of go (#433, @stealthybox)
Development
- Add an e2e for ignite run #412, @chanwit
- Store e2e command output /w errors + remove variable sleep #425, @stealthybox
- e2e docker+cni and curl google.com #422, @stealthybox
- Load all images into containerd (#435, @stealthybox)
- specify the minimum version of make (#389, @silenceshell)
- Update Makefile for containerd with overridable commands (#417, @stealthybox)
Governance
- Update CODEOWNERS (#420, @stealthybox)
- Switch maintainers (#398, @luxas)
Trying it out / Next Steps!
In short:
export VERSION=v0.6.1
export GOARCH=$(go env GOARCH 2>/dev/null || echo "amd64")
for binary in ignite ignited; do
echo "Installing ${binary}..."
curl -sfLo ${binary} https://github.com/weaveworks/ignite/releases/download/${VERSION}/${binary}-${GOARCH}
chmod +x ${binary}
sudo mv ${binary} /usr/local/bin
done
A more throughout installation guide is available here: https://ignite.readthedocs.io/en/latest/installation.html