# Akri Bug Bash - October 2024
###### tags: `Bug Bash`
The goal of this bug bash is to discover any bugs before Akri creates a new release (v0.13.1). This release contains changes for agent/controller refactoring and directly using kube-rs client structure in the agent.
Please leave a comment in the [scenario outcomes](#Scenario-Outcomes) section with the scenario's you tested and whether it was successful. If you find issues, please create an issue on Akri's [GitHub](https://github.com/project-akri/akri) and comment it in the [discovered issues](#Discovered-Issues-or-Enhancements) section.
As always, feel free to post any questions on Akri's [Slack](https://kubernetes.slack.com/messages/akri).
## Background
Akri is an Open Source project that automates the discovery and usage of IoT devices around Kubernetes clusters on the Edge. Akri can automatically deploy user-provided workloads to the discovered devices. It handles device appearance and disappearance, allowing device deployments to expand and contract and enabling high resource utilization.
## Setting Up an Environment
Akri is regularly tested on K3s, MicroK8s, and standard Kubernetes clusters versioned 1.28-1.31 (see [previous release](https://github.com/project-akri/akri/releases) for list of exact versions tested) with Ubuntu 20.04 node. While we only test on these K8s distributions, feel free to try it out on the distribution and Linux OS of your choice. Here are some examples of what you can do:
- Hyper-V Ubuntu 20.04 VM
- Set up Linux VM with cloud provider
- Try out Akri on a managed Kubernetes service
It is recommmended to setup a muli-node cluster as your test environment. The following bug bash scenarios are using 3-node cluster as an example.
## Scenarios
Choose any of the following scenarios (none are pre-requisite of the others). Make sure to use the **akri-dev chart** (`helm install akri akri-helm-charts/akri-dev`) when installing Akri with Helm. If you have previously installed akri, be sure to run `helm repo update`.
### Scenario A: Slot reclaim
For this scenario, we want to test the new slot reclaim mecanism. Deploy akri and use the [Debug echo](https://docs.akri.sh/development/debugging) example without broker pods.
Deploy a pod using the [manual way](https://docs.akri.sh/user-guide/requesting-akri-resources) to request a resource, check it gets reflected in
the Akri Instance (`akrii`).
Delete the pod and check it gets reflected in the Instance as well.
### Scenario B: Device discovery on multiple nodes
For this scenario, we want to test discovering a device on a multi-node cluster in order to test the behavior of the agent and controller.
Please use a **multi-node cluster** and deploy Akri. From there, you can use any of the protocols/samples we have to test that it is working properly:
- [Debug echo](https://docs.akri.sh/development/debugging)
- [udev](https://docs.akri.sh/demos/usb-camera-demo)
- [OPC UA](https://docs.akri.sh/demos/opc-thermometer-demo)
- [ONVIF](https://docs.akri.sh/demos/onvif-authentication-access)
### Scenario C: Test the Kube-RS client
For this scenario, we want to test the latest version of the KubeRS client used in Akri. In order to do this, please try applying/deleting/updating Akri configurations `akric` to see how Agent+Controller handle state changes.
You can follow these [guidelines](https://docs.akri.sh/user-guide/customizing-an-akri-installation#generating-modifying-and-applying-a-configuration) for generating, modifying and applying different configurations.
### Scenario D: Documentation Walkthrough
It would be great to walk through the documentation with the bug bash and note which changes to docs we would need to make. There are some pending PRs on the documentations as well that go with the release.
## Discovered Issues or Enhancements
## Scenario Outcomes
Please write the environment you used (Kubernetes distro/version and VM), the scenarios you tested, and whether it was a success or had issues.
| Environment | Scenario | Success/Issue |
|--------------|-----------|---------------|
| K3s | Baseline | Issue https://github.com/project-akri/akri/issues/705 |
| K3s | Baseline | Issue https://github.com/project-akri/akri/issues/706 |
| K3s | Baseline | Issue https://github.com/project-akri/akri/issues/707 |
| K3s | Baseline | Issue https://github.com/project-akri/akri/issues/708 |
| AKS | A | Success |
| AKS | B | Success |
| AKS | C | Success |