
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 🙂