github project-akri/akri v0.10.4

latest releases: v0.12.20, v0.12.9
pre-release13 months ago

Announcing Akri v0.10.4!

Akri v0.10.4 is a pre-release of Akri.

To find out more about Akri, check out our documentation and start
contributing today!

New Features

The v0.10.4 release contains the following changes:

  1. Enable mounting connectivity information for multiple devices/instances in a Pod (#560 , #561). Previously, Akri could only mount one device property per discovery handler to a Pod as all devices of the same discovery handler had the same environment variable name. This release fixes this issue by appending the instance hash to the environment variable name and slot ID to the annotation key name. This is a breaking change as it changes the way brokers look up properties.
  2. Enable udev discovery handler to discover multiple node devices (#564). Akri now allows udev discovery handler to group devices that share a parent/child relation.
  3. Mount udev devpath in Akri brokers (#534). This enables discovering udev devices without a devnode by using devpath instead. This is a breaking change in the udev discovery handler as it changes the way Akri creates instance ids for udev devices.
  4. Mount udev devices through DeviceSpec instead of Mounts (#576). This switches from using Mounts to using DeviceSpec for device nodes, and exposes the desired permissions to non priviledged containers.

Fixes, features, and optimizations

  • feat: Add nodeSelectors for Akri agent (#536)
  • fix: Fix wrong indentation on udev-configuration.yaml for securityContext (#538)
  • fix: ListAndWatch only sends device if the list has changed (#540)
  • fix: Use tokio::sync::RwLock instead of tokio::sync::Mutex (#541)
  • opt: Upgrade Ubuntu agent version (#546)
  • opt: Added more securityContext to ensure Helm templates use the most restrictive setting (#547)
  • opt: Update nodejs actions to node16 (#548)
  • fix: Set pre_start_required to false in get_device_plugin_options (#554)
  • fix: Modify Agent to reduce frequency of Pods getting UnexpectedAdmissionError (#556)
  • fix: Specify crictl container runtime in e2e test workflow (#559)
  • fix: Suffix usage slot to annotation key name (#560)
  • fix: Added udev devnode to device mounts instead of devpath (#562)
  • fix: Fixed watch crash API unreachable (#568)
  • fix: Verify DiscoveryURL from OPC Server is resolvable (#570)
  • opt: Update kubernetes versions in e2e test (#573)
  • opt: Update rust to 1.68.1 and tarpaulin to 0.25.1 (#574)
  • opt: Upgrade Rust CI actions to maintained ones (#581)
  • opt: Update warp dependency to fix RUSTSEC-2023-0028 (#585)

View the full change log

Breaking Changes

  1. With enable mounting connectivity information for multiple devices/instances in a Pod, Akri now changes the name of the device properties from DEVICE_DESCRIPTION to DEVICE_DESCRIPTION_INSTANCE_HASH to allow multiple device properties of the same discovery handler to be injected to the same broker. For example, a broker can look up the Akri instance akri-debug-echo-foo-8120fe by the environment variable DEBUG_ECHO_DESCRIPTION_8120FE instead of DEBUG_ECHO_DESCRIPTION.
  2. With mount udev devpath in Akri broker, Akri changes the way it creates udev Akri instance id from using the hash of devnode to using the hash of devpath

Known Issues

N/A

Validated With

Distribution Version
Kubernetes v1.26.3
Kubernetes v1.25.8
Kubernetes v1.24.12
Kubernetes v1.23.15
K3s v1.26.3+k3s1
K3s v1.25.8+k3s1
K3s v1.24.12+k3s1
K3s v1.23.15+k3s1
MicroK8s 1.26/stable
MicroK8s 1.25/stable
MicroK8s 1.24/stable
MicroK8s 1.23/stable

What's next?

Check out our roadmap to see the features we are looking forward to!

Thanks 👏

Thank you everyone in the community who helped Akri get to this release! Your interest and contributions help Akri
prosper.

⭐ Contributors to v0.10.4 ⭐

(Please send us (@Kate Goldenring or @Adithya J) a direct message on
Slack if we left you out!)

Installation

Akri is packaged as a Helm chart. Check out our installation doc on
how to install Akri.

helm repo add akri-helm-charts https://project-akri.github.io/akri/
helm install akri akri-helm-charts/akri --version 0.10.4 \
    # additional configuration

Release history

See CHANGELOG.md for more information on what changed
in this and previous releases.

Don't miss a new akri release

NewReleases is sending notifications on new releases.