blixt icon indicating copy to clipboard operation
blixt copied to clipboard

Integration with bpfman

Open shaneutt opened this issue 2 years ago • 8 comments

BPFD is a system daemon for managing BPF programs. Using BPFD for Blixt would allow us to more easily and declaratively manage our eBPF programs (using Kubernetes CRDs) and has several other benefits such as helping us avoid conflicts with other eBPF programs already running on the system.

The purpose of this task is to replace our current Aya based eBPF program loader with BPFD using the BPFD Operator.

### Tasks
- [ ] Deploy bpfman in the integration test cluster to make it available to those tests
- [ ] Add an `EbpfProgram` sample that can deploy our TC programs to the cluster with bpfman
- [ ] Replace the loader method of deploying our program using the `EbpfProgram` instead in our integration tests
- [ ] Ensure we have documentation for both the bpfman, and non-bpfman deployment methods

shaneutt avatar Mar 03 '23 17:03 shaneutt

At this point it looks like we should wait for BPFD to release v0.2.0:

https://github.com/bpfd-dev/bpfd/issues/393

As this is meant to be an important milestone which will add a little bit more stability. As soon as that's done, I think we should open this right up and get started.

shaneutt avatar May 03 '23 15:05 shaneutt

At this point it looks like we should wait for BPFD to release v0.2.0:

It looks like BPFD 0.2 has been released 🎉 Does it mean we can unblock this one, correct?

mlavacca avatar May 22 '23 09:05 mlavacca

Yep! I want to try and start spec-ing helping this one move forward this week!!!

astoycos avatar May 22 '23 12:05 astoycos

Ok So I've started this in https://github.com/astoycos/blixt/tree/bpfd-integration

Otherwise we're blocked on having BTF support in AYA for rust programs.

astoycos avatar Aug 25 '23 17:08 astoycos

From @astoycos in #152:

Bpfd recently changed it's name to bpfman which has broken our platform integration tests in order to fix them we'll need to pin to a version of bpfman AFTER the name change and fix a few other things. For now the tests are temporarily disabled.

shaneutt avatar Jan 25 '24 14:01 shaneutt

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle stale
  • Close this issue with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

k8s-triage-robot avatar Apr 24 '24 14:04 k8s-triage-robot

/remove-lifecycle stale

Actively working on this :)

astoycos avatar Apr 24 '24 17:04 astoycos

Putting this back into triage as further discussion will be needed.

/triage needs-information

shaneutt avatar Sep 06 '24 19:09 shaneutt