v0.7.0
v0.7.0
Released: 02/06/2020
We're excited to cut a large release.
This release consists of 57 noteworthy PR's from 13 contributors. 27 of these patches were sent by 8 external contributors -- thanks so much for using and contributing back to the project!
Among some of the many patches, VM's can now be started in parallel. (Images should be pulled beforehand)
The ignite ssh
and ignite exec
commands now share a native go implementation.
We've added the ignite cp
command along with improved CLI UX through filtering, templating, and examples.
You can now also create and run VM's imperatively using YAML files with the --config
flags.
Performance and stability improvements in VM and network lifecycle should make using ignite more pleasant,
and the various bugfixes allow newer versions of Ubuntu to start functioning.
Lastly, we're announcing initial support for ARM devices.
Our docker images for ignite-kernels as well os our OS images for Ubuntu and kubeadm now ship with a manifest
list and {}-arm64
tag.
We've pushed a fresh set of kernel and OS images to dockerhub to support this.
Check out our new guide for ARM -- try it out on your ARM server or RaspberryPi and let us know how it works for you.
It was difficult to condense all of that!
As a special note, Sunny(@darkowlzz) from the @StorageOS team has joined ignite as a maintainer. Thanks for all of your help, Sunny!
Cheers to everyone who was part of shipping this release:
- @bbros-dev
- @chanwit
- @croomes
- @darkowlzz
- @dholbach
- @gpauloski
- @kobayashi
- @luxas
- @michaelbeaumont
- @najeal
- @palemtnrider
- @PaulGrandperrin
- @stealthybox
Next Steps / Installation
In short:
export VERSION=v0.7.0
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
export CNI_VERSION=v0.8.5
export ARCH=$([ $(uname -m) = "x86_64" ] && echo amd64 || echo arm64)
sudo mkdir -p /opt/cni/bin
curl -sSL https://github.com/containernetworking/plugins/releases/download/${CNI_VERSION}/cni-plugins-linux-${ARCH}-${CNI_VERSION}.tgz | sudo tar -xz -C /opt/cni/bin
A more thorough installation guide is available here: https://ignite.readthedocs.io/en/latest/installation
OCI Images for this release
ignite ( sandbox )
ignite-kernel:4.14.182 [multi-arch]
ignite-kernel:4.19.125 [multi-arch] ( default )
ignite-kernel:5.4.43 [multi-arch]
ignite-amazon-kernel
ignite-amazonlinux 2
ignite-alpine
ignite-centos 7, 8
ignite-opensuse tumbleweed, leap
ignite-ubuntu [multi-arch] 16.04, 18.04, 20.04
ignite-kubeadm [multi-arch] v1.18.3
Enhancements
- rm: Add --config flag (#525, @darkowlzz)
- Add --require-name to create and run commands (#560, @darkowlzz)
- Add labels to VMs (#516, @darkowlzz)
- Added: vm filtering (#458, @najeal)
- Template formatted output for ps & inspect (#518, @darkowlzz)
- Add examples of inspect cmd (#590, @kobayashi)
- Unify ssh and exec commands (#580, @darkowlzz)
- Add interactive vm exec support (#572, @darkowlzz)
- Add command ignite cp (#550, @darkowlzz & @gpauloski)
- Unify some things around SSH handling (#607, @luxas)
- Write /etc/hostname. Needed get the right hostname for e.g. Ubuntu 20 (#608, @luxas)
- Update kubeadm image and guide (#606, @luxas)
- Implement kubeadm multi-arch + Fix image builds (#605, @stealthybox)
- Add sandbox-image VM flag (#598, @darkowlzz)
- Initial set of metrics for gitops processing (#494, @palemtnrider)
Kernel Improvements
- Update OS and kernel versions (#602, @luxas)
- Completely restructure & document the kernel image build (#506, @luxas)
- Add ARM64 kernels and images (#511, @luxas)
- Add loadable module for TCMU-based storage devices (#497, @croomes)
- Bump kernel configurations (#604, @luxas)
- Bump default kernel to 4.19.125 (#610, @stealthybox)
Bug Fixes
- Filter loopback IPs from VM metadata to prevent SSH related test flakes (#581, @stealthybox)
- Parallel VM creation fix (#524, @darkowlzz)
- Check runtime specific binary (#479, @chanwit)
- Don't fail preflight when only
docker-containerd
is available (#512, @luxas) - Fix preflight checker tests (#591, @darkowlzz)
- ignited: catch signals and cleanup socket file (#486, @chanwit)
- Cleanup container networking on vm rm (#515, @michaelbeaumont)
- Fix image import with runtime docker (#564, @darkowlzz)
- Tiny image import fix (#553, @darkowlzz)
- Fix boot on recent distribution like Ubuntu >=19.10 (#526, @PaulGrandperrin)
- Followup to #526 Ubuntu 19+ tar symlink fix (#577, @stealthybox)
- Fix false positive object already exists error (#517, @darkowlzz)
- Ignore docker source cleanup err when resource not found (#588, @darkowlzz)
- Fix OCIString parsing of local docker images (#556, @darkowlzz)
Documentation
- Use mkdocs instead of sphinx (#565, @dholbach)
- Document ARM and RaspberryPi installation and usage (#595, @stealthybox)
- A bit more details on the ARM 64-bit documentation (#609, @luxas)
- Address #534 (#541, @bbros-dev)
- Address #533 (#540, @bbros-dev)
- Address #522 (#537, @bbros-dev)
- Add FAQ entry about passing namespace to ctr (#492, @palemtnrider)
- Fix CNI installation permission (#586, @kobayashi)
- Add ignite-cntr to awesome list (#596, @stealthybox)
- Add DigitalOcean in the cloud providers list (#594, @darkowlzz)
- Small docs updates/fixes (#505, @dholbach)
- Update instructions to latest (#502, @dholbach)
Dependencies
- Workaround firecracker-go-sdk go.mod issue using new commit (#582, @stealthybox)
- Bump QEMU version to v4.2, Alpine to 3.11 and fix a bug (#579, @luxas)
- Upgrade to Go 1.14 (#576, @luxas)
- Bump CNI plugins to v0.8.5 (#561, @luxas)
- Bump kubeadm version to match 1.18-stable (#603, @stealthybox)
Development
- Fix #487 (#490, @palemtnrider)
Testing
- Run e2e in Travis CI /w nested virt (#570, @stealthybox)
- Enable unit tests (#592, @darkowlzz)
Governance
- Add Sunny as maintainer (#597, @stealthybox)