Skip to content

v0.8.0

Compare
Choose a tag to compare
@askervin askervin released this 22 Dec 14:56
· 205 commits to master since this release
v0.8.0
7d464f9

Major improvements in this release:

  • The balloons policy becomes fully aware of hardware topology, able to utilize idle CPUs, and allows users to choose between packing or spreading workloads across CPUs.
  • CRI-RM becomes compatible with CRI v1 towards both kubelet and container runtimes. Backwards compatibility to CRI v1alpha2 is maintained in both directions, too.
  • Fixes a crash when pod status data is not available in the synchronization phase at cri-resmgr start-up.

What's Changed

Policies

  • balloons: add MaxBalloons configuration option by @askervin in #865
  • balloons: fix empty cpuset of a balloon that has containers by @askervin in #907
  • balloons: prefer an empty existing balloon over creating new by @askervin in #909
  • balloons: add e2e tests for topology aware allocation and idle CPU sharing by @fmuyassarov in #932
  • balloons: add CPU topology tree functions by @askervin in #941
  • balloons: fix handling of undefined (unlimited) MaxCPUs by @askervin in #942
  • balloons: add debug logging by @askervin in #944
  • balloons: topology aware balloon creation/inflation/deflation by @askervin in #945
  • balloons: add topology aware idle CPU sharing to balloons by @askervin in #946
  • balloons: add sharedidlecpus and balloon topology to metrics by @askervin in #947
  • balloons: fix synchronizing running containers at start. by @askervin in #966
  • topology-aware: allow annotated opt-out from reserved pool allocation. by @klihub in #935
  • topology-aware: don't restore config on startup by @klihub in #936
  • topology-aware: ignore topology pseudo-hints by @klihub in #937
  • topology-aware: fix memory tiering with cgroup v2 by @askervin in #961
  • podpools: fix synchronizing all running containers at start. by @askervin in #965
  • resource-manager: remove 'null' pseudo-policy. by @klihub in #938

CRI v1

  • pkg/cri: switch internals to CRI v1, add ingress/egress v1/v1alpha2 CRI conversion. by @klihub in #781
  • resmgr: warn (once) about CRI update requests. by @klihub in #915
  • fixes: add missing bits to formally comply with CRI v1 v0.25.4 by @klihub in #934

Bug fixes

  • master: cache: don't crash if pod has no status data. by @klihub in #887

Build

  • images: take go version from go.mod by @marquiz in #855
  • images: build statically linked binaries by @marquiz in #866
  • go-mod: update go-restful by @marquiz in #873
  • dockerfiles: drop cross-build for ubuntu-21.04 by @marquiz in #877
  • dockerfiles: rename suse 15.2 to 15.4 by @marquiz in #880
  • jenkinsfile: build *:devel images from master branch by @marquiz in #876
  • jenkinsfile: fix the structure by @marquiz in #883
  • build: Update outdated dependencies by @marquiz in #918
  • build: Update dependencies by @marquiz in #924
  • fixes: update(s) to build with more recent protoc & friends by @klihub in #925
  • Makefile: don't change dir when running go build by @marquiz in #867
  • Makefile: use statically linked binaries in e2e-tests by @marquiz in #871
  • Makefile: specify go version in a make variable by @marquiz in #949
  • Makefile: fix cross-tar target by @marquiz in #950
  • Makefile: add cross-tar to cross-packages by @marquiz in #953
  • Makefile: user gomodcache from host in cross-builds by @marquiz in #957
  • Makefile: dynamically linked binary-dist by @marquiz in #958
  • packaging: drop agent and webhook from deb packages by @marquiz in #960
  • packaging: store licenses by @marquiz in #959

Validation

  • e2e: add support for distro=fedora-{35,36}, make 36 default. by @askervin in #857
  • e2e: misc fixes to e2e tests by @jukkar in #875
  • e2e: add host-mount-vm helper by @askervin in #879
  • e2e: check if cri-resmgr is expected to run with different policy by @askervin in #890
  • e2e: balloons: Cleanup pods in the tests by @jukkar in #891
  • e2e: Remove Ubuntu 21.04 support by @jukkar in #895
  • e2e: add .internal and 192.168.0.0/12 to no_proxy by @askervin in #896
  • e2e: add vm-install-minikube and vm-create-minikube-cluster by @askervin in #897
  • e2e: add debian support for distro-install-kernel-dev by @askervin in #902
  • e2e: add Fedora support for distro-install-kernel-dev by @askervin in #905
  • e2e: run Qemu with -nographic instead of -vga qxl by @askervin in #912
  • e2e: Remove the qemu-version verifier container when it exits by @fmuyassarov in #921
  • demo/lib: don't assume pidof accepts -q. by @klihub in #926
  • e2e: allow other containers in the same balloons by @askervin in #943
  • e2e: update packaging tests by @marquiz in #952
  • e2e: fix cmdline help of the runner script by @marquiz in #954
  • e2e: add opensuse-15.4, drop 15.3, DISABLE_VGA depends on distro by @askervin in #955
  • e2e: fix k8scni=weavenet needed by distro=centos-7 by @askervin in #963
  • e2e: disable numa_balancing in dynamic page demotion test by @askervin in #962
  • demo/lib/distro.bash: fix tumbleweed image url by @marquiz in #956

Documentation

  • docs: update balloons sample configuration by @askervin in #858
  • docs: improve balloons documentation by @askervin in #861
  • scripts, docs: remove references to dockershim. by @klihub in #885
  • sample-configs: Replace tabs with spaces in broken balloons-policy.cfg example by @ppalucki in #894
  • docs: update sphinx to v5.3.0 by @marquiz in #928
  • docs: add warning to PinMemory option to balloons documentation by @askervin in #933
  • docs: document AllocatorTopologyBalancing and ShareIdleCPUsInSame by @askervin in #948

Misc

  • resmgr,relay: make image socket default to runtime one. by @klihub in #863
  • resmgr: allow optional unix://-prefix for socket path options. by @klihub in #864
  • resmgr: allow disabling the agent ingress and egress interfaces. by @klihub in #881
  • resmgr: make sysfs/other hostfs pseudoroot directory configurable on the command line. by @klihub in #900
  • resmgr: fix forced-config option description. by @klihub in #906
  • cri-resmgr-agent: print version info on startup. by @klihub in #911
  • gitignore: Don't track static binaries in Git by @fmuyassarov in #914
  • control/memory: check top tier memory control on startup. by @klihub in #916
  • scripts: pairwise maximizes covered triplets by @klihub in #929
  • fixes: reduce flood of logs in default/sample configuration. by @klihub in #940
  • github: update release instructions by @marquiz in #951

New Contributors

Full Changelog: v0.7.0...v0.8.0rc1