Skip to content

Releases: intel/cri-resource-manager

v0.9.1

10 Sep 13:56
v0.9.1
a9e445f
Compare
Choose a tag to compare

What's Changed

This release update dependencies and brings support for Ubuntu 24.04, openSUSE Leap 15.5, Debian 11 "bullseye" and Debian 12 "bookworm". Support for EOL'd Centos 7, Centos 8, openSUSE Leap 15.4 and Debian 10 were removed.

Full Changelog: v0.9.0...v0.9.1

v0.9.0

12 Jan 12:24
v0.9.0
82ba7bc
Compare
Choose a tag to compare

What's New since v0.8.4

New dynamic-pools policy

A new policy that allows applications to be assigned to dynamically resized CPU pools. The pools are non-overlapping and are resized based on the resource requests of the containers and the actual CPU utilization of the application.

Enhancements to balloons policy

New PreferSpreadOnPhysicalCores configuration option in the balloons policy. Enabling this option for a balloon makes the CPU allocator to prefer CPUs from separate physical CPU cores.

There are also bugfixes to dynamic configuration updates.

CRI v1alpha2 dropped

Support for deprecated CRI version v1alpha2 was removed. This means that CRI-RM v0.9 requires Kubernetes v1.23 (or later) and containerd v1.6 (or later) or CRI-O v1.20 (or later).

List of all PRs since v0.8.0

  • sysfs: add SysRoot() getter for SetSysRoot() by @askervin in #970
  • cpuallocator: fix cpu priority discovery by @marquiz in #971
  • Policy: create dynamic-pools policy for cri-rm by @Yugar-1 in #969
  • rdt: stop trying to get container cgroup dir by @marquiz in #975
  • metrics: fix collecting hugetlb statistics from cgroup v1 by @askervin in #968
  • build(deps): bump golang.org/x/net from 0.2.0 to 0.7.0 by @dependabot in #976
  • Bump builds to use Golang v1.19.6 by @marquiz in #981
  • pkg/avx/collector: don't crash on no regexp match. by @klihub in #985
  • build(deps): bump golang.org/x/sys from 0.0.0-20200202164722-d101bd2416d5 to 0.1.0 in /pkg/topology by @dependabot in #987
  • agent: implement config status readiness probe. by @klihub in #986
  • Migrating from CRI-RM to NRI by @luukasmakila in #988
  • Add SNYK and CodeQL security scanning by @intel-k8s-bot in #991
  • Bump builds to use Golang v1.20.2 by @marquiz in #982
  • build(deps): bump github.com/opencontainers/runc from 1.1.4 to 1.1.5 by @dependabot in #992
  • topology-aware: fix logging of cpuset changes. by @klihub in #995
  • dockerfiles: (re)name suse Dockerfile as expected. by @klihub in #999
  • pkg/topology: perform colonoscopy on testdata. by @klihub in #1005
  • Update deps by @marquiz in #1008
  • build(deps): bump pygments from 2.13.0 to 2.15.0 in /docs by @dependabot in #1013
  • go.mod: update dependencies by @marquiz in #1014
  • chore: remove refs to deprecated io/ioutil by @testwill in #1012
  • docs/deps: update pygments to v2.15.1 by @marquiz in #1021
  • Bump golang to v1.20.7 by @marquiz in #1018
  • github: replace snyk with trivy by @marquiz in #1020
  • github: take golang version from go.mod by @marquiz in #1022
  • scripts: drop unused stuff from docker-build-image by @marquiz in #1024
  • docs: use ADD in the dockerfile to fetch go tarball by @marquiz in #1025
  • Makefile: prepare binary packages as release assets by @marquiz in #1026
  • cross-build: get golang binaries instead of compiling from source by @marquiz in #1027
  • Use golang builtin multierror by @marquiz in #1023
  • Makefile: isolate image-push from image target by @marquiz in #1028
  • github: drop the turnstyle plugin by @marquiz in #1030
  • github: run security scanning on release branches by @marquiz in #1029
  • github: drop containerized build of docs from verify workflow by @marquiz in #1031
  • [backport from nri-plugins] all: stop importing kubernetes/kubelet internals. by @klihub in #1010
  • github: refactor docs building by @marquiz in #1032
  • fixes: fix a few innocent codeql alert. by @klihub in #1034
  • Makefile: remove -it arg from docker run by @marquiz in #1035
  • Makefile: fix creation of deb release assets by @marquiz in #1036
  • github: split security scanning into re-usable jobs by @marquiz in #1033
  • github: use pinpointed ubuntu version on the runners by @marquiz in #1040
  • Makefile: drop unwanted update-workflows target by @marquiz in #1038
  • scripts: remove unused batch file for docs building by @marquiz in #1041
  • github: refactor verify workflow by @marquiz in #1039
  • github: add workflows for image building by @marquiz in #1037
  • github: build and upload release assets in release workflow by @marquiz in #1042
  • github: fix the usage of github environments by @marquiz in #1044
  • github: add trivy license scanning by @marquiz in #1046
  • go.mod: update goresctrl to v0.5.0 by @marquiz in #1043
  • github: split code and docs CI into separate workflows by @marquiz in #1045
  • pkg/topology: sync go.mod with the main module by @marquiz in #1047
  • e2e: clean up vm as the last step in the static-pools test suite by @askervin in #1049
  • e2e: fix topology-aware/n4c16/test09-container-exit test by @askervin in #1050
  • e2e: update default distro from Ubuntu 20.04 to 22.04 by @askervin in #1052
  • e2e: fix distro=opensuse to support k8s 1.27+ by @askervin in #1051
  • demoter: fix sudden cri-resmgr process exit on page demotion by @askervin in #1054
  • e2e: relax dynamic demotion first detection round requirement by @askervin in #1053
  • e2e: fix opensuse-15.4 image URL, support distro=opensuse-15.5 by @askervin in #1055
  • e2e: use latest image for debian-10 tests by @marquiz in #1056
  • e2e: use Fedora 38 for the fedora test target by @marquiz in #1057
  • e2e: use bridge cni plugin by default by @marquiz in #1058
  • e2e: ignore terminated processes on fetching allowed resources by @askervin in #1065
  • e2e: fix "ambiguous allowed resources" caused by race by @askervin in #1062
  • e2e: add --wait to kubectl delete of pods and namespaces by @marquiz in #1059
  • e2e: check default serviceaccount in cluster readiness check by @marquiz in #1060
  • Makefile: simplify packaging tests by @marquiz in #1061
  • e2e: drop vm-force-restart() by @marquiz in #1064
  • e2e: support for verify --retry N by @askervin in #1069
  • e2e: don't use pyexec in tests directly by @marquiz in #1066
  • e2e: relax topology-aware coldstart test by @marquiz in #1068
  • e2e: fix starting a custom containerd version by @askervin in #1072
  • build(deps): bump golang.org/x/net from 0.8.0 to 0.17.0 by @dependabot in #1073
  • balloons: PreferSpreadOnPhysicalCores & balloon-specific CPU allocator by @askervin in #1071
  • go.mod: update deps by @marquiz in #1074
  • test/e2e: fix incorrect Allocat[ion|...
Read more

v0.8.4

25 Aug 13:52
v0.8.4
acee70b
Compare
Choose a tag to compare

This patch release updates dependencies and contains one small bug fix for the page demoter.

What's Changed

  • Bump golang to v1.19.11 by @marquiz in #1016
  • go.mod: update dependencies by @marquiz in #1015
  • [Bump golang to v1.20.7 by @marquiz in https://github.com//pull/1019
  • backports from master by @marquiz in #1048
    • Merge pull request #1048 from marquiz/release-0.8
    • demoter: fix sudden cri-resmgr process exit on page demotion
    • e2e: relax dynamic demotion first detection round requirement
    • e2e: update default distro from Ubuntu 20.04 to 22.04
    • e2e: fix distro=opensuse to support k8s 1.27+
    • e2e: fix topology-aware/n4c16/test09-container-exit test
    • e2e: restore vm as last step in the static-pools test suite
    • pkg/topology: sync go.mod with the main module
    • go.mod: update goresctrl to v0.5.0
    • resmgr: stop importing kubernetes/kubelet internals.
    • all: switch to k8s.io/utils/cpuset.
    • Use golang builtin multierror
    • chore: remove refs to deprecated io/ioutil
    • chore: remove refs to deprecated io/ioutil
    • docs/deps: update pygments to v2.15.1
    • docs: use ADD in the dockerfile to fetch go tarball
    • github: use path filter for publishing docs
    • github: split code and docs CI into separate workflows
    • github: add trivy license scanning
    • github: fix the usage of github environments
    • github: add creation of vendored dist into release workflow
    • github: add release job for publishing binary packages
    • github: add workflows for image building
    • github: refactor verify workflow
    • github: use pinpointed ubuntu version on the runners
    • github: split security scanning into re-usable jobs
    • github: refactor docs building
    • github: drop containerized build of docs from verify workflow
    • github: drop the turnstyle plugin
    • github: take golang version from go.mod
    • github: add security scanning
    • Makefile: drop unwanted update-workflows target
    • Makefile: remove -it arg from docker run
    • Makefile: isolate image-push from image target
    • Makefile: prepare binary packages as release assets
    • cross-build: get golang binaries instead of compiling from source
    • scripts: drop unused stuff from docker-build-image
  • backport e2e test fixes from master by @marquiz in #1070
    • e2e: relax topology-aware coldstart test
    • e2e: don't use pyexec in tests directly
    • e2e: support for verify --retry N
    • e2e: drop vm-force-restart()
    • e2e: ignore terminated processes on fetching allowed resources
    • e2e: fix "ambiguous allowed resources" caused by race
    • e2e: add --wait to kubectl delete of pods and namespaces
    • Makefile: simplify packaging tests
    • e2e: check default serviceaccount in cluster readiness check
    • e2e: use bridge cni plugin by default
    • e2e: use Fedora 38 for the fedora test target
    • e2e: use latest image for debian-10 tests
    • e2e: fix opensuse-15.4 image URL, support distro=opensuse-15.5

Full Changelog: v0.8.3...v0.8.4

v0.8.3

21 Apr 07:36
11508b6
Compare
Choose a tag to compare

This patch release fixes a few bugs and adds support for config-status based readiness probe to the agent.

What's Changed

Bug Fixes

  • backport #985: pkg/avx/collector: don't crash on no regexp match
  • backport #995: topology-aware: fix logging of cpuset changes
  • backport #975: rdt: stop trying to get container cgroup dir

Functional Changes

  • backport #986: agent: implement config status readiness probe

Full Changelog: v0.8.1...v0.8.3

v0.8.1

22 Feb 13:30
v0.8.1
741b498
Compare
Choose a tag to compare

This patch release fixes bugs in cpu priority detection and metrics reporting.

What's Changed

  • cpuallocator: fix cpu priority discovery by @marquiz in #978
  • metrics: fix collecting hugetlb statistics from cgroup v1 by @marquiz in #979
  • build(deps): bump golang.org/x/net from 0.2.0 to 0.7.0 by @marquiz in #980
  • Bump builds to use Golang v1.19.6 by @marquiz in #983

Full Changelog: v0.8.0...v0.8.1

v0.8.0

22 Dec 14:56
v0.8.0
7d464f9
Compare
Choose a tag to compare

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 #92...
Read more

v0.7.2

02 Sep 10:39
v0.7.2
7471f96
Compare
Choose a tag to compare

This point release fixes issues with the cri-resmgr-agent and cri-resmgr-webhook container image builds. No functional changes since v0.7.0.

What's Changed since v0.7.0

Full Changelog: v0.7.0...v0.7.2

New 'balloons' policy, bugfixes, dependency updates.

23 Jun 10:22
647cd55
Compare
Choose a tag to compare

This release introduces the new balloons policy. It also adds support for namespace-based allocation of reserved CPUs as well as pod- and namespace-based colocation of containers to the topology-aware policy. In addition to these, the release contains various other smaller functional improvements and a number of bug fixes. Dependencies are updated to more recent versions.

What's Changed

  • balloons: add PreferSpreadingDifferentNamespace option by @askervin in #814
  • balloons: improve dynamic configuration update by @askervin in #830
  • balloons: new policy with flexible pools and custom CPU params by @askervin in #791
  • balloons: reassign all containers on start and config change by @askervin in #813
  • Add cpu controller and integrate to balloons policy by @marquiz in #806
  • podpools: never count default pool CPUs in Instances percentages by @askervin in #782
  • podpools: fix test03 on cgroups v2 by @askervin in #783
  • topology-aware: Do not advertise shared CPUs if there are none by @jukkar in #777
  • topology-aware: Add ReservedPoolNamespaces option support by @jukkar in #780
  • topology-aware: Clone also CPU type in grant by @jukkar in #787
  • topology-aware: Add ReservedPoolNamespaces documentation by @jukkar in #789
  • topology-aware: Add support for reserved CPU annotations by @jukkar in #810
  • topology-aware: implement pod/namespace co-location using implicit affinities. by @klihub in #825
  • topology-aware: refuse empty reserved CPU set. by @klihub in #839
  • Reserved pool annotations additions by @jukkar in #812
  • cri-resmgr: fix cgroup v2 paths in available resources by @askervin in #851
  • resmgr: write a PID file upon successful startup. by @klihub in #756
  • Monitor the pool CPU usage for podpools-policy. by @huangrui666 in #705
  • Statically linked binaries in container images by @marquiz in #793
  • fixes: properly reject containers with invalid/unparsable affinity annotations. by @klihub in #743
  • fixes: better socket probing. by @klihub in #757
  • fixes: substitute golang version from go.mod. by @klihub in #834
  • crash fix: don't try to rebalance/deliver events/trigger post-update hooks with nil policy. by @klihub in #796
  • Fix SST discovery by @jukkar in #803
  • sst: Pass around pointer to SST info struct by @jukkar in #804
  • resmgr: disallow talking to untested runtimes by default. by @klihub in #821
  • sysfs: workaround for bogus NUMA meminfo entry. by @klihub in #795
  • control/cpu: add uncore frequency controls by @marquiz in #815
  • e2e: local vm-install-cri-resmgr installs systemd service by @askervin in #762
  • e2e: fix installing containernetworking with go 1.16 by @askervin in #733
  • e2e: add distro-install-kernel-dev for distro=opensuse by @askervin in #716
  • e2e: Enable cri-o in centos-8 by @jukkar in #734
  • e2e: Do not try to use govm if user has specified the VM address by @jukkar in #738
  • e2e: Add support for Fedora 35 images by @jukkar in #737
  • e2e: Fixes for non govm usage by @jukkar in #741
  • e2e: support vm-set-kernel-cmdline on opensuse by @askervin in #742
  • e2e: podpools metrics test by @askervin in #695
  • e2e: support distro=fedora-<34|33> by @askervin in #745
  • e2e: update distro=opensuse to 15.3 by @askervin in #751
  • e2e: add use_host_images=1, workaround to docker.io pull quota by @askervin in #752
  • e2e: containernetworkplugins in /opt/cni/bin in fedora by @askervin in #753
  • e2e: fix cilium installation and update to cilium v1.11 by @askervin in #748
  • e2e: support k8scni=<cilium|weavenet|flannel> by @askervin in #747
  • e2e: add vm-install-glibc, vm-set-glibc and on_*_install hooks by @askervin in #746
  • e2e: test container exit by @askervin in #704
  • e2e: detect cri-resmgr(-agent) with fuser/pidfile instead of pidof by @askervin in #754
  • e2e: add a test for distro/cni/cri combinations by @askervin in #755
  • e2e: vm-install-cri replaces original containerd/crio binary by @askervin in #749
  • e2e: support containerd and cgroups v2 in the blockio test by @askervin in #750
  • e2e: fix podXcY allowed resources finder by @askervin in #790
  • e2e: clear new control-plane taint set by new k8s by @askervin in #811
  • e2e: allow downgrading packages on .deb distros. by @askervin in #797
  • e2e: update ./run.sh debug to work with recent golang and dlv by @askervin in #826
  • e2e: add support for distro=ubuntu-22.04 by @askervin in #822
  • e2e: enable running tests on multi-node clusters by @askervin in #818
  • e2e: add kubectl-force-delete() by @askervin in #827
  • e2e: clean up after namespace colocation tests. by @klihub in #837
  • e2e: produce more readable policy test suite logs. by @klihub in #838
  • e2e: don't use invalid '0' CPU reservation. by @klihub in #840
  • e2e: add test for dynamic balloons configuration update by @askervin in #831
  • e2e: ambigious allowed resources for each name is an error by @askervin in #841
  • e2e: fix/update balloons test05 by @askervin in #843
  • e2e: fix log parsing in podpools test05-prometheus-metrics by @askervin in #844
  • e2e: try rebooting harder for/after isolcpu tests. by @klihub in #846
  • e2e: fix centos-[78] packaging tests. by @klihub in #853
  • e2e: distro=debian-11 by @askervin in #759
  • Add memtier-benchmark-02, a multi-memtier-containers variant. by @okartau in #816
  • demo/lib: fix kubernetes installation on centos-[78]. by @klihub in #852
  • build: pull/refresh cross-build source image. by @klihub in #849
  • build: build binary tarball from static binaries. by @klihub in #854
  • build: add target for cross-building binary tarballs using a CentOS-7 container. by @klihub in #786
  • build: fix supported distro detection. by @klihub in #848
  • cross-build: build using golang version 1.17. by @klihub in #785
  • cross-build: fixup centos-8 repos. by @klihub in #847
  • Makefile: add static building with make STATIC=1 by @askervin in #800
  • scripts/build/get-buildid: return unknown version by @marquiz in #736
  • scripts: add go-mod-tree for inspecting dependencies by @askervin in https://githu...
Read more

v0.6.1, Release Candidate #1

15 Mar 13:55
538e52d
Compare
Choose a tag to compare
Pre-release

What's Changed

  • docs: fix docs Sphinx build breaking in github actions. by @klihub in #735
  • e2e: fix installing containernetworking with go 1.16 by @askervin in #733
  • e2e: add distro-install-kernel-dev for distro=opensuse by @askervin in #716
  • Monitor the pool CPU usage for podpools-policy. by @huangrui666 in #705
  • e2e: Enable cri-o in centos-8 by @jukkar in #734
  • scripts/build/get-buildid: return unknown version by @marquiz in #736
  • Correct one typo and two nitpicks. by @huangrui666 in #740
  • e2e: Do not try to use govm if user has specified the VM address by @jukkar in #738
  • e2e: Add support for Fedora 35 images by @jukkar in #737
  • e2e: Fixes for non govm usage by @jukkar in #741
  • e2e: support vm-set-kernel-cmdline on opensuse by @askervin in #742
  • e2e: podpools metrics test by @askervin in #695
  • fixes: properly reject containers with invalid/unparsable affinity annotations. by @klihub in #743
  • e2e: support distro=fedora-<34|33> by @askervin in #745
  • e2e: update distro=opensuse to 15.3 by @askervin in #751
  • e2e: add use_host_images=1, workaround to docker.io pull quota by @askervin in #752
  • e2e: containernetworkplugins in /opt/cni/bin in fedora by @askervin in #753
  • e2e: fix cilium installation and update to cilium v1.11 by @askervin in #748
  • e2e: support k8scni=<cilium|weavenet|flannel> by @askervin in #747
  • e2e: add vm-install-glibc, vm-set-glibc and on_*_install hooks by @askervin in #746
  • resmgr: write a PID file upon successful startup. by @klihub in #756
  • scripts: add go-mod-tree for inspecting dependencies by @askervin in #664
  • e2e: test container exit by @askervin in #704
  • e2e: detect cri-resmgr(-agent) with fuser/pidfile instead of pidof by @askervin in #754
  • e2e: add a test for distro/cni/cri combinations by @askervin in #755
  • e2e: vm-install-cri replaces original containerd/crio binary by @askervin in #749
  • e2e: support containerd and cgroups v2 in the blockio test by @askervin in #750
  • CODEOWNERS: add @jukkar. by @klihub in #758
  • fixes: better socket probing. by @klihub in #757
  • e2e: add distro=debian-11 by @askervin in #759
  • e2e: local vm-install-cri-resmgr installs systemd service by @askervin in #762
  • deps: update dependencies to k8s 1.23.3. by @klihub in #766
  • topology-aware: Remove duplicate branch by @jukkar in #764
  • .githooks: add hook to check go version conistency. by @klihub in #765
  • docs: Fix doc and example config typos/indentation by @wpross in #768
  • docs: document rdt related annotations by @marquiz in #767
  • docs: use myst markdown parser for docs/releases too by @marquiz in #770
  • github: drop unnecessary CI steps by @marquiz in #771
  • docs: fix typo in rdt documentation by @marquiz in #776
  • Drop circleci configuration by @marquiz in #772
  • topology-aware: Do not advertise shared CPUs if there are none by @jukkar in #777
  • podpools: never count default pool CPUs in Instances percentages by @askervin in #782
  • topology-aware: Add ReservedPoolNamespaces option support by @jukkar in #780
  • topology-aware: Clone also CPU type in grant by @jukkar in #787
  • topology-aware: Add ReservedPoolNamespaces documentation by @jukkar in #789
  • cross-build: build using golang version 1.17. by @klihub in #785
  • build: add target for cross-building binary tarballs using a CentOS-7 container. by @klihub in #786

New Contributors

Full Changelog: v0.6.0...v0.6.1rc1

v0.6.0: update dependencies, minor bugfixes.

11 Oct 11:15
e04ce51
Compare
Choose a tag to compare

This release brings dependencies up to date with recent versions. It contains a small number of functional improvements and fixes, and a large number of fixes and other improvements to the end-to-end tests.

Major Changes

  • build:
    • update K8s dependencies to v1.22.2
    • bump golang version to v1.16
  • fixes and improvements:
    • container cgroup directory discovery fixes
    • RDT pod QoS class discovery fixes in discovery mode
    • agent configuration: authorize access to adjustments
    • clean up cgroup and group control abstraction
    • remove SST code and pull it in from goresctrl
  • end-to-end test framework
    • new distributions: sles, opensuse-tumbleweed, ubuntu-21.04
    • installing and debugging locally built CRI-O, containerd and runc
    • configurable CRI runtime pipe and Kubernetes version

Other improvements

  • testing, demos:
    • end-to-end tests: a large number of end-to-end test fixes and other test infra improvements
    • blockio demo: fix detecting already installed cri-resmgr
    • blockio demo: always drop caches before measuring blockio speed

List of Merged PRs

  • PR #731: e2e: more robust coldstart test
  • PR #730: 0.6.0 release preparation: always try to enable 'SystemdCgroup = true' for tests with containerd.
  • PR #728: 0.6.0 release preparation: use distinctive VM names for packaging tests.
  • PR #729: 0.6.0 release preparation: add support for testing with cross-built distro binaries.
  • PR #725: 0.6.0 release preparation: ubuntu-21.04 cross-build and tests.
  • PR #727: 0.6.0 release preparation: centos-7 test cluster bootstrapping fixes.
  • PR #726: 0.6.0 release preparation: use latest fedora image for cross-build.
  • PR #724: 0.6.0 release preparation: update sid image URL.
  • PR #721: e2e: add support for distro=ubuntu-21.04
  • PR #722: go.mod: update to K8s deps to v1.22.2
  • PR #720: Bump to golang v1.16
  • PR #719: distro: force non-interactive 'apt-get install'.
  • PR #717: Drop travis CI support
  • PR #711: Integrate with goresctrl
  • PR #715: github: run tests before golanci-lint
  • PR #714: control/rdt: fix discovery of pod qos classes in discovery mode
  • PR #713: e2e: support distro=opensuse-tumbleweed
  • PR #712: e2e: add vm-put-pkg, install a package from host to vm
  • PR #710: e2e: fix cloud-init error on distro=debian-sid
  • PR #706: e2e: make sure tests have 'pidof' installed on fedora.
  • PR #707: e2e: fix sysctl settings that break cilium CNI on Fedora
  • PR #703: e2e: support running tests with CRI-O and cri-resmgr in NRI mode
  • PR #696: e2e: wait for cloud-init to finish during VM bootstrap.
  • PR #701: e2e: fix opensuse cloud-init and handle wrong containerd
  • PR #699: e2e: follow HTTP redirects when fetching apt repo keys.
  • PR #698: e2e: fix (EOL'd) Ubuntu Groovy image URL.
  • PR #697: e2e: allow installing cri-o from distro repos.
  • PR #694: scripts: add CRI-O support to kube-cgroups
  • PR #656: e2e: add support for k8s=X.Y.Z to set Kubernetes version
  • PR #660: docs: fix pkg urls in quick-start instructions
  • PR #690: e2e: distro=sles uses official package repositories
  • PR #689: e2e: enable reinstalling pretty much everything on VMs
  • PR #688: e2e: add support for distro=sles
  • PR #657: e2e: add an init container test
  • PR #687: edited e2e-test.md
  • PR #654: scripts: kube-cgroups prints cgroup entries per pod/container
  • PR #685: e2e: improve isolcpus test robustness
  • PR #684: e2e: clean up vm after successful reserved-resources test run
  • PR #683: e2e: blockio test for k8scri=crio and k8scri=containerd
  • PR #682: e2e: support CRI-O, containerd, and containerd + cri-resmgr as NRI
  • PR #681: e2e: cri-resource-manager configuration is optional in test suites
  • PR #680: e2e: allow templating in test suite variable files
  • PR #679: e2e: add function for checking if local binary is out-of-date
  • PR #678: e2e: change e2e test framework title
  • PR #677: e2e: support annotations in common pod templates
  • PR #676: e2e: add vm functions for dlv debugging
  • PR #675: e2e: add vm-install-runc
  • PR #674: e2e: add vm-put-docker-image to script API
  • PR #673: e2e: enable running without govm if VM_IP is set
  • PR #672: e2e: fix (remove) empty names from allowed resources printing
  • PR #671: e2e: switch k8s install source in opensuse
  • PR #670: e2e: fix reinstalling containerd on opensuse
  • PR #669: e2e: distro install crio
  • PR #668: e2e: distro: enable running fedora with cgroups=v2
  • PR #667: e2e: fix error message after installing golang from tar
  • PR #666: e2e: always install git-core with golang
  • PR #665: e2e: run apt-get install -y with default answers to dpkg
  • PR #662: e2e: Fix govm installation documentation
  • PR #663: e2e: lib: Use proper locale for bc to work
  • PR #661: e2e: require host dependencies jq and pv
  • PR #651: Basic edits to docs
  • PR #649: e2e: add goresctrl debugging support to "run.sh debug"
  • PR #648: blockio demo: fix detecting already installed cri-resmgr
  • PR #647: blockio demo: always drop caches before measuring blockio speed
  • PR #646: cache: add a directory to findContainerDir search path
  • PR #643: docs: a bunch of grammatical and stylistic fixes by DougTW.
  • PR #644: e2e: add tests for topology-aware mixed CPU allocations
  • PR #645: e2e: test topology-aware allocations with kernel isolcpus set
  • PR #642: fixes: fixes for fedora 33
  • PR #639: cgroups: add cleaned up cgroup, group control abstraction.
  • PR #641: docs: update Pygments requirements
  • PR #638: e2e: fix agent installation
  • PR #637: cri-resmgr-agent: authorize access to adjustments.
  • PR #621: e2e: fuzz topology-aware