Skip to content

v0.4.1

Compare
Choose a tag to compare
@github-actions github-actions released this 16 Mar 14:48
· 305 commits to main since this release
659d042

This major release of the NRI Reference Plugins brings new features to a few plugins, numerous smaller other improvements, and several bug fixes.

Highlights

  • balloons policy: add groupBy balloon type option
    Group containers into same balloon instances if their groupBy expressions evaluate to the same group. For example, the following expression prefers assigning all containers in the pod to a balloon that already contains containers from the same namespace and have the same nsballoon pod label value
  ...
  balloonTypes:
    - name: my-pods
      groupBy: ${pod/namespace}-${pod/labels/nsballoon}
  ...

If there is no such a balloon, or if such instances do not have enough CPUs, then finding a suitable balloon continues as before: assign to some other existing balloon or create a new balloon if that is preferred.

  • balloons policy: add balloon matchExpressions option
    Assign containers to balloon instances by balloon match expressions, similar to affinity expression of the topology-aware policy. Expressions are evaluated for containers which are not explicitly assigned to any balloon by an annotation. If an expression matches a container, the container is assigned to an instance of the corresponding balloon. For instance, the following matchExpression will grab all containers with matching pod names to the associated balloon:
  ...
  balloonTypes:
    - name: my-pods
      matchExpressions:
        - key: pod/name
          operator: MatchesAny
          values: [ myPod*, nginx* ]
  ...

What's New

  • balloons: implement groupBy option by @askervin in #278
  • balloons: allow assigning containers to balloons by runtime-evaluated expressions by @klihub in #260
  • balloons policy: more regular built-in balloons, treat them much like user-defined ones
    Built-in reserved and default balloon types are no longer special cases. They can be configured with the same parameters as user-defined balloons.
  • balloons: support preserving CPU and memory pinning by @askervin in #257
  • topology-aware: support preserving CPU and memory pinning by @askervin in #258
  • feat(helm): Introduce priorityClassName system-node-critical by @ffuerste in #220
  • helm: allow setting NRI plugin index via values by @klihub in #227

Updates, Fixes And Other Improvements

  • balloons: fix the order of assigning containers into balloons by @askervin in #273
  • balloons: fix logged balloon name by @klihub in #259
  • balloons & topology-aware policies: better handling of UpdateContainer[Resources] requests
    Fill in missing bits in partial container resource updates from the current resource assignment. Filter out redundant resource updates without invoking the policy.
  • memtierd: update the nri-memtierd plugin to use memtierd v0.1.1 by @askervin in #287
  • operator: ensure to kustomize operator manifests before local deployment by @fmuyassarov in #240
  • resmgr: better expression validation, cleaner key resolution by @klihub in #256
  • resmgr: inject mount before container state update by @klihub in #223
  • resmgr: log containers by pretty name during startup by @klihub in #245
  • instrumentation: fix resource creation, use parent-based sampler by @klihub in #233
  • instrumentation: allow proper reconfiguration of tracing by @klihub in #234
  • cache: support annotations to preserve CPU and memory pinning by @askervin in #249
  • cache, resmgr: expose key evaluation, implement key substitution by @klihub in #277
  • cache: fix generated pod scope and simple affinity expressions by @klihub in #285
  • cache: store creation time of pod and containers cache objects by @askervin in #272
  • topology-aware: log resource operations at info level by @klihub in #252
  • doc: clarify selecting balloon type by @askervin in #281
  • doc: more consistent terminology in balloons documentation by @askervin in #269
  • fixes: rename default config group label, support/fall back to deprecated labels. by @klihub in #231

New Contributors

Full List of Merged PRs

For a full list of changes see v0.3.2...v0.4.1