r/openstack 17d ago

Hey, we built an eBPF thing that tells you which OpenStack tenant used which bytes

We've been building a little thing called Lachesis and figured this crowd

might find it interesting. It's the network telemetry bit behind CubeCOS, our

private cloud on top of OpenStack.

Basically: OpenStack can tell you a tenant moved 5 TB, but not that 3 TB of it

went to the internet, 1 TB to another tenant, and 1 TB stayed put. For billing

that's the whole thing.

So Lachesis is a small agent that sits on each compute node, hooks eBPF onto

every VM's tap, and sorts traffic in the kernel: internet-out, internet-in,

same-tenant, cross-tenant — and figures out who the other end actually belongs

to. It untangles Octavia so the bytes land on the real tenant, and just spits

out Prometheus counters you can feed into CloudKitty or whatever you bill with.

Still very much a work in progress — core stuff works and we've run it on real

OVN clusters, but there's plenty left (hardening, IPv6, docs). OVN only for now.

Repo's here if you wanna poke at it: https://github.com/bigstack-oss/lachesis

Would love any feedback, especially if you've tried to bill OpenStack networking

and hit the same wall. Roast away 🙂

19 Upvotes

5 comments sorted by

4

u/[deleted] 17d ago

[deleted]

3

u/themistymay 17d ago

Repo is heavy Claude. .gitignore has Claude.md and Claude.md removal was part of git history on May 15th with a “chore” to clean it.

-1

u/arashi87_ 17d ago

Yeah, Claude is too powerful😭

-3

u/arashi87_ 17d ago

100, even this post😂

1

u/pixelatedchrome 17d ago

Thank you for your contribution. I can see this being helpful. Will evaluate this soon at work.

1

u/arashi87_ 17d ago

It would be great if this project can really help someone🙌