From 963d2c1ab09805ed9d301c5ec6afd9d4f2590522 Mon Sep 17 00:00:00 2001 From: Jordan Olshevski Date: Wed, 28 Oct 2026 16:52:20 +0000 Subject: [PATCH 01/11] racer: rename racer-dataplane to racer Rename the Racer DaemonSet component from racer-dataplane to racer: source tree (cmd/racer), image (images/racer, repository racer), binary, Rust crate, Kubernetes objects (DaemonSet, ServiceAccount, RBAC, ValidatingAdmissionPolicies), CDI kind, environment keys (RACER_DATAPLANE_* to RACER_*), CI workflows, docs, and the design doc. The DaemonSet ConfigMap becomes racer-settings rather than racer-config, because racer-config is the retired racer-controller ConfigMap that the legacy migration still validates and removes. --- .github/workflows/ci.yaml | 70 ++++----- .github/workflows/dependabot-notice.yaml | 2 +- .github/workflows/nightly.yaml | 4 +- .github/workflows/racer-e2e.yaml | 8 +- .github/workflows/release.yaml | 6 +- Makefile | 24 +-- clients/python/racer/src/racer/_wire.py | 2 +- .../python/racer/tests/test_wire_golden.py | 2 +- .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../added/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../.client-test-2180946-68/blocked | 1 - .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/origin/socket | 1 - .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../other/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../added/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/origin/socket | 1 - .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../.client-test-2192245-82/ready | 1 - .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../other/client/.racer-client.lock | 0 .../added/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../.client-test-2193402-74/blocked | 1 - .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../.client-test-2193712-67/blocked | 1 - .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../.client-test-2193981-81/ready | 1 - .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../other/client/.racer-client.lock | 0 .../added/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../added/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../.client-test-2194756-83/ready | 1 - .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../added/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../other/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/origin/socket | 1 - .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../.client-test-2195404-79/ready | 1 - .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 .../example/client/.racer-client.lock | 0 cmd/racer-loadgen/README.md | 2 +- cmd/racer-loadgen/container_test.go | 2 +- cmd/racer-loadgen/origin_uds.go | 6 +- cmd/racer-loadgen/performance/Cargo.toml | 2 +- cmd/racer-loadgen/performance/run.sh | 6 +- cmd/racer-object/main.go | 6 +- cmd/{racer-dataplane => racer}/.gitignore | 0 cmd/{racer-dataplane => racer}/Cargo.lock | 2 +- cmd/{racer-dataplane => racer}/Cargo.toml | 4 +- cmd/{racer-dataplane => racer}/README.md | 0 .../admission/Cargo.toml | 0 .../admission/src/lib.rs | 0 .../admission/src/mutate.rs | 0 .../admission/src/quantity.rs | 0 .../admission/src/strict.rs | 0 .../admission/src/tests.rs | 0 .../alloc/.gitignore | 0 .../alloc/Cargo.toml | 0 .../alloc/src/demand.rs | 0 .../alloc/src/index.rs | 0 .../alloc/src/lib.rs | 0 .../alloc/src/retention.rs | 0 .../alloc/src/segments.rs | 0 .../alloc/src/slab.rs | 0 .../alloc/tests/dst.rs | 0 .../alloc/tests/workflows.rs | 0 .../cluster-control/Cargo.toml | 2 +- .../cluster-control/src/annotations.rs | 0 .../cluster-control/src/auth.rs | 22 +-- .../cluster-control/src/authority/catalog.rs | 0 .../cluster-control/src/authority/election.rs | 0 .../cluster-control/src/authority/keyring.rs | 0 .../cluster-control/src/authority/members.rs | 12 +- .../cluster-control/src/authority/mod.rs | 0 .../src/authority/publication.rs | 0 .../cluster-control/src/authority/rails.rs | 0 .../cluster-control/src/authority/state.rs | 0 .../cluster-control/src/config.rs | 6 +- .../cluster-control/src/control.rs | 0 .../cluster-control/src/entropy.rs | 0 .../cluster-control/src/exec.rs | 0 .../cluster-control/src/http.rs | 0 .../cluster-control/src/kube/fake.rs | 0 .../cluster-control/src/kube/mod.rs | 0 .../cluster-control/src/lease.rs | 0 .../cluster-control/src/lib.rs | 2 +- .../cluster-control/src/limits.rs | 0 .../cluster-control/src/pki.rs | 0 .../cluster-control/src/primary.rs | 12 +- .../cluster-control/src/seat.rs | 0 .../cluster-control/src/server.rs | 0 .../cluster-control/src/shared.rs | 4 +- .../cluster-control/src/step/admission.rs | 0 .../cluster-control/src/step/authz.rs | 0 .../cluster-control/src/step/mod.rs | 0 .../cluster-control/src/step/primary.rs | 8 +- .../cluster-control/src/step/seat.rs | 0 .../cluster-control/src/tests.rs | 22 +-- .../control-wire/Cargo.toml | 0 .../control-wire/src/lib.rs | 2 +- .../testdata/bootstrap-block-devices.json | 0 .../testdata/bootstrap-request.json | 0 .../testdata/bootstrap-response.json | 0 .../control-wire/testdata/bundle.json | 0 .../control-wire/testdata/content.json | 0 .../control-wire/testdata/delta.json | 0 .../control-wire/testdata/hashes.json | 0 .../control-wire/testdata/membership.json | 0 .../control-wire/testdata/publication.json | 0 .../control-wire/testdata/rejections.json | 0 .../control-wire/testdata/site-vectors.json | 0 .../controlplane/Cargo.toml | 0 .../controlplane/src/feed.rs | 0 .../controlplane/src/lib.rs | 0 .../controlplane/src/published.rs | 0 .../controlplane/src/rollout.rs | 0 .../controlplane/tests/core.rs | 0 .../core/Cargo.toml | 0 .../core/clippy.toml | 0 .../core/src/admission.rs | 0 .../core/src/cache.rs | 0 .../core/src/lib.rs | 0 .../core/src/liveness.rs | 0 .../core/src/read/budget.rs | 0 .../core/src/read/flight.rs | 0 .../core/src/read/flight/tests.rs | 0 .../core/src/read/hints.rs | 0 .../core/src/read/mod.rs | 2 +- .../core/src/read/walk.rs | 0 .../core/src/read/walk/tests.rs | 0 .../core/src/route.rs | 0 .../core/src/subscriptions.rs | 0 .../core/src/time.rs | 0 .../core/tests/lru_memory.rs | 0 .../core/tests/purity.rs | 0 .../crypto/Cargo.toml | 0 .../crypto/src/enrollment.rs | 0 .../crypto/src/lib.rs | 2 +- .../crypto/tests/compile_fail.rs | 0 .../crypto/tests/primitives.rs | 0 .../flow/.gitignore | 0 .../flow/Cargo.toml | 0 .../flow/src/admission.rs | 0 .../flow/src/coalesce.rs | 0 .../flow/src/fifo.rs | 0 .../flow/src/lib.rs | 0 .../flow/src/pipe.rs | 0 .../flow/src/progress.rs | 0 .../flow/src/subscriptions.rs | 0 .../flow/tests/drain_waker.rs | 0 .../flow/tests/recycler.rs | 0 .../flow/tests/workflows.rs | 0 cmd/{racer-dataplane => racer}/gpu/Cargo.toml | 0 cmd/{racer-dataplane => racer}/gpu/build.rs | 2 +- .../gpu/native/cuda_private.h | 0 .../gpu/native/gcm_core.h | 0 .../gpu/native/gcm_host.c | 0 .../gpu/native/gcm_kernel.cu | 2 +- .../gpu/native/gpu_cuda.c | 0 .../gpu/native/gpu_cuda.h | 0 .../gpu/native/kernel_emulation.cc | 0 .../gpu/native/run-kernel-emulation.sh | 0 cmd/{racer-dataplane => racer}/gpu/src/ffi.rs | 0 cmd/{racer-dataplane => racer}/gpu/src/gcm.rs | 0 cmd/{racer-dataplane => racer}/gpu/src/lib.rs | 0 .../gpu/src/simulation.rs | 0 .../gpu/tests/gcm_core.rs | 0 .../gpu/tests/hardware.rs | 0 .../gpu/tests/simulation.rs | 0 .../http/Cargo.toml | 0 .../http/src/connection.rs | 0 .../http/src/lib.rs | 0 .../http/src/transfer.rs | 0 .../http/tests/exchanges.rs | 0 .../http/tests/pool.rs | 0 .../object-wire/Cargo.toml | 0 .../object-wire/src/client.rs | 0 .../object-wire/src/lib.rs | 0 .../object-wire/src/model.rs | 0 .../object-wire/src/origin.rs | 0 .../object-wire/src/test_util.rs | 0 .../object-wire/tests/body_length.rs | 0 .../object-wire/tests/direct.rs | 0 .../object-wire/tests/fixture.rs | 0 .../object-wire/tests/host.rs | 0 .../object-wire/tests/origin_content_type.rs | 0 .../object-wire/tests/origin_request.rs | 0 .../object-wire/tests/protocol.rs | 0 .../peer-wire/Cargo.toml | 0 .../peer-wire/src/control.rs | 0 .../peer-wire/src/forwarding.rs | 0 .../peer-wire/src/lib.rs | 0 .../peer-wire/src/link.rs | 0 .../peer-wire/src/session.rs | 0 .../peer-wire/src/session/handshake_tests.rs | 0 .../peer-wire/src/tests.rs | 0 .../peer-wire/tests/control_deadline.rs | 0 .../runtime/Cargo.toml | 0 .../runtime/src/channel.rs | 0 .../runtime/src/drivers.rs | 0 .../runtime/src/environment.rs | 0 .../runtime/src/group.rs | 0 .../runtime/src/lib.rs | 0 .../runtime/src/mailbox/executor.rs | 0 .../runtime/src/offload.rs | 0 .../runtime/src/reactor.rs | 0 .../runtime/src/reactor/filesystem.rs | 0 .../src/reactor/filesystem/checkpoint.rs | 0 .../src/reactor/filesystem/operations.rs | 0 .../runtime/src/reactor/simulation.rs | 0 .../runtime/src/reactor/simulation/disk.rs | 0 .../runtime/src/reactor/simulation/network.rs | 0 .../runtime/src/reactor/tests.rs | 0 .../runtime/tests/mailbox.rs | 0 .../runtime/tests/runtime.rs | 0 cmd/{racer-dataplane => racer}/sim/Cargo.toml | 0 .../sim/src/combined.rs | 0 .../sim/src/config.rs | 0 .../sim/src/control.rs | 4 +- .../sim/src/engine.rs | 0 .../sim/src/faults.rs | 0 cmd/{racer-dataplane => racer}/sim/src/lib.rs | 0 .../sim/src/main.rs | 0 .../sim/src/node/state.rs | 0 .../sim/src/node/world.rs | 0 .../sim/src/phantom.rs | 0 .../sim/src/report.rs | 0 .../sim/src/resources.rs | 0 .../sim/src/workload.rs | 0 .../sim/tests/contention_scenarios.rs | 0 .../sim/tests/phantom_memory.rs | 0 .../src/admission.rs | 0 cmd/{racer-dataplane => racer}/src/app.rs | 28 ++-- .../src/app/devices.rs | 20 +-- .../src/app/devices/loop_test.rs | 0 .../src/app/native.rs | 0 .../src/app/recovery.rs | 0 .../src/app/tests.rs | 0 .../src/app/tests/dst.rs | 0 cmd/{racer-dataplane => racer}/src/client.rs | 0 .../src/client/direct.rs | 0 .../src/client/listener.rs | 8 +- .../src/client/origin_directory.rs | 6 +- .../src/client/tests.rs | 0 .../src/client/tests/direct.rs | 0 .../src/client/tests/direct/gpu.rs | 0 cmd/{racer-dataplane => racer}/src/config.rs | 0 cmd/{racer-dataplane => racer}/src/control.rs | 0 .../src/control/managed.rs | 8 +- .../src/control/publication.rs | 0 .../src/control/rails.rs | 0 .../src/control/session.rs | 0 cmd/{racer-dataplane => racer}/src/error.rs | 0 cmd/{racer-dataplane => racer}/src/gpu.rs | 34 ++--- .../src/gpu_slot.rs | 4 +- .../src/gpu_telemetry.rs | 0 .../src/hardware.rs | 0 cmd/{racer-dataplane => racer}/src/http.rs | 0 cmd/{racer-dataplane => racer}/src/lib.rs | 0 cmd/{racer-dataplane => racer}/src/main.rs | 34 ++--- cmd/{racer-dataplane => racer}/src/memory.rs | 0 cmd/{racer-dataplane => racer}/src/model.rs | 0 cmd/{racer-dataplane => racer}/src/origin.rs | 0 .../src/origin/tests.rs | 0 cmd/{racer-dataplane => racer}/src/peer.rs | 4 +- .../src/peer/forwarding.rs | 14 +- .../src/peer/protocol.rs | 0 .../src/peer/receive.rs | 0 .../src/peer/server.rs | 2 +- .../src/peer/subscriptions.rs | 0 .../src/peer/tests.rs | 0 .../src/peer/tests/opaque.rs | 0 .../src/peer/tests/protocol_socket.rs | 0 .../src/peer/transport.rs | 2 +- .../src/pressure.rs | 0 .../src/priority.rs | 0 .../src/profiling.rs | 0 .../src/profiling/perf.rs | 0 .../src/profiling/perf_abi_test.c | 0 .../src/profiling/profile.rs | 0 cmd/{racer-dataplane => racer}/src/rdma.rs | 0 .../src/rdma/link_setup.rs | 0 .../src/rdma/links.rs | 14 +- .../src/rdma/links/tests.rs | 0 .../src/rdma/links/tests/zero_copy.rs | 0 .../src/rdma/retry.rs | 0 cmd/{racer-dataplane => racer}/src/read.rs | 0 .../src/read/candidates.rs | 0 .../src/read/dispatch.rs | 0 .../src/read/fill.rs | 0 .../src/read/flight.rs | 8 +- .../src/read/metadata.rs | 0 .../src/read/range_stream.rs | 2 +- .../src/read/sealed.rs | 0 .../src/read/tests.rs | 0 .../src/read/tests/fill.rs | 0 .../src/read/tests/hot_reads.rs | 0 .../src/read/tests/peer_copies.rs | 0 .../src/read/tests/persist_policy.rs | 0 .../src/read/tests/remote.rs | 0 .../src/read/tests/warming.rs | 0 .../src/read/warm.rs | 0 .../src/retention.rs | 0 cmd/{racer-dataplane => racer}/src/runtime.rs | 12 +- .../src/security.rs | 14 +- .../src/security/aead_vectors.py | 0 cmd/{racer-dataplane => racer}/src/store.rs | 0 .../src/store/catalog.rs | 0 .../src/store/checkpoint.rs | 0 .../src/store/holds.rs | 0 .../src/store/tests.rs | 0 .../src/subscription_interop.rs | 0 .../src/telemetry.rs | 0 .../src/test_support.rs | 0 .../src/topology.rs | 0 cmd/{racer-dataplane => racer}/src/worker.rs | 6 +- .../telemetry/Cargo.toml | 0 .../telemetry/src/lib.rs | 0 .../telemetry/src/server.rs | 0 .../telemetry/tests/workflows.rs | 0 .../tests/client_origin_conformance.rs | 68 ++++----- .../tests/conformance/sdk_fixture_test.go.txt | 0 .../tests/identity_integration.rs | 46 +++--- .../tests/payload_zeroization.rs | 48 +++--- .../tests/process_restart.rs | 22 +-- .../tests/process_restart/throughput.rs | 40 ++--- .../tests/production_dataplane.rs | 142 +++++++++--------- .../tests/production_dataplane/hotpath.rs | 14 +- .../tests/stop_signals.rs | 10 +- .../tests/subscription_interop.rs | 2 +- .../tests/support/enrollment.rs | 0 .../tests/support/subscription.rs | 0 .../topology/Cargo.toml | 0 .../topology/src/lib.rs | 0 .../topology/src/paths.rs | 0 .../topology/src/placement.rs | 0 .../topology/tests/workflows.rs | 0 .../uds-endpoint/Cargo.toml | 0 .../uds-endpoint/README.md | 4 +- .../uds-endpoint/src/directory.rs | 0 .../uds-endpoint/src/lib.rs | 0 .../uds-endpoint/src/publication.rs | 0 .../uds-endpoint/src/simulation.rs | 0 .../uds-endpoint/src/tests.rs | 0 .../uds-endpoint/tests/ownership.rs | 0 .../uds-endpoint/tests/publication.rs | 0 .../verbs/Cargo.toml | 0 .../verbs/native/discovery_faults.c | 0 .../verbs/native/verbs.c | 0 .../verbs/src/channel.rs | 0 .../verbs/src/control.rs | 0 .../verbs/src/discovery.rs | 0 .../verbs/src/discovery_fault_tests.rs | 0 .../verbs/src/ffi.rs | 0 .../verbs/src/lib.rs | 0 .../verbs/src/link.rs | 0 .../verbs/src/link/tests.rs | 0 .../verbs/src/node.rs | 0 .../verbs/src/pool.rs | 0 .../verbs/src/simulation.rs | 0 .../verbs/tests/links.rs | 0 .../wire-codec/Cargo.toml | 0 .../wire-codec/src/lib.rs | 0 .../wire-codec/tests/failover.rs | 0 .../wire-codec/tests/support/mod.rs | 0 .../wire-codec/tests/transport.rs | 0 deploy/racer-loadgen/direct/README.md | 2 +- .../racer-loadgen/direct/daemonset-patch.yaml | 4 +- deploy/racer/dataplane-config.yaml.tmpl | 8 +- deploy/racer/embed_test.go | 8 +- deploy/racer/policies.yaml.tmpl | 52 ++++--- deploy/racer/rbac.yaml.tmpl | 22 +-- ...ontrol-plane.md => racer-control-plane.md} | 2 +- designs/racer-gpudirect.md | 6 +- designs/racer-page-alloc.md | 2 +- designs/racer-rdma-sessions.md | 2 +- designs/racer-verbs.md | 2 +- docs/content/concepts/racer.md | 2 +- docs/content/guides/azure-blob-cache.md | 2 +- docs/content/guides/gantry.md | 8 +- docs/content/guides/racer-vllm.md | 6 +- docs/content/reference/gpu/nvidia.md | 2 +- docs/content/reference/racer-object.md | 6 +- docs/content/reference/racer.md | 50 +++--- e2e/racer/control_e2e.go | 8 +- e2e/racer/control_e2e_test.go | 12 +- e2e/racer/gantry_racer_e2e_test.go | 4 +- e2e/racer/harness_e2e.go | 14 +- e2e/racer/membership_e2e.go | 6 +- e2e/racer/racer_e2e_test.go | 6 +- e2e/racer/seat_count_e2e_test.go | 10 +- e2e/racer/token_authz_e2e_test.go | 6 +- hack/cmd/notice/README.md | 6 +- hack/cmd/notice/internal/cargo/cargo.go | 6 +- hack/cmd/notice/internal/cargo/cargo_test.go | 40 ++--- .../internal/cargo/license_index_test.go | 4 +- .../notice/internal/cargo/workspace_test.go | 18 +-- hack/cmd/release-bom/main.go | 2 +- hack/scripts/runtime-miri.py | 2 +- images/racer-loadgen/Containerfile | 2 +- images/racer-object/Containerfile | 2 +- .../{racer-dataplane => racer}/Containerfile | 106 ++++++------- .../build-native-cuda.sh | 2 +- .../build-native.sh | 0 .../check-debug-info.sh | 0 images/{racer-dataplane => racer}/cufile.json | 4 +- internal/operator/components/gantry/gantry.go | 2 +- internal/operator/components/gantry/racer.go | 6 +- .../operator/components/gantry/racer_test.go | 28 ++-- internal/operator/components/racer/config.go | 6 +- .../operator/components/racer/config_test.go | 9 +- internal/operator/imagecoverage_test.go | 2 +- internal/operator/override/apply_test.go | 16 +- internal/racer/workload/cufile_test.go | 2 +- internal/racer/workload/placement.go | 2 +- internal/racer/workload/workload.go | 12 +- internal/racer/workload/workload_test.go | 4 +- pkg/racersdk/runtime_test.go | 4 +- 937 files changed, 709 insertions(+), 708 deletions(-) delete mode 100644 cmd/racer-dataplane/.client-test-2179449-11/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179449-12/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179449-13/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179449-15/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179449-17/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179449-18/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179449-19/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179449-20/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179449-21/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179449-22/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179449-23/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179449-24/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179449-25/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179449-3/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179449-33/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179449-34/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179449-37/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179449-38/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179449-39/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179449-4/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179449-40/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179449-42/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179449-46/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179449-5/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179449-57/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179449-58/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179449-59/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179449-60/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179449-61/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179449-65/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179449-69/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179449-8/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179449-9/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-10/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-11/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-12/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-13/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-14/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-16/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-18/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-19/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-2/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-20/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-21/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-22/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-23/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-24/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-25/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-26/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-29/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-3/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-30/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-33/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-35/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-36/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-37/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-38/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-39/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-4/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-41/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-42/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-43/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-5/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-52/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-6/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-60/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-62/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-7/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-8/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2179709-9/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2180946-10/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2180946-11/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2180946-14/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2180946-17/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2180946-18/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2180946-19/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2180946-20/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2180946-21/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2180946-22/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2180946-25/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2180946-26/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2180946-28/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2180946-29/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2180946-3/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2180946-33/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2180946-36/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2180946-38/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2180946-39/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2180946-4/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2180946-42/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2180946-47/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2180946-57/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2180946-58/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2180946-61/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2180946-62/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2180946-63/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2180946-67/added/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2180946-67/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2180946-68/blocked delete mode 100644 cmd/racer-dataplane/.client-test-2180946-68/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2180946-69/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2180946-69/example/origin/socket delete mode 100644 cmd/racer-dataplane/.client-test-2180946-70/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2180946-71/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2180946-75/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2180946-8/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2180946-9/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181225-10/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181225-11/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181225-16/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181225-17/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181225-18/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181225-2/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181225-20/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181225-21/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181225-22/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181225-23/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181225-25/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181225-26/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181225-28/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181225-29/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181225-3/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181225-31/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181225-33/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181225-34/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181225-39/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181225-4/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181225-41/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181225-42/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181225-43/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181225-45/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181225-5/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181225-57/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181225-58/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181225-59/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181225-6/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181225-60/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181225-7/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181225-8/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181225-9/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-10/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-11/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-16/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-17/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-18/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-19/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-2/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-21/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-22/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-23/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-24/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-25/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-27/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-28/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-3/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-30/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-33/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-34/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-35/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-36/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-37/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-38/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-39/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-4/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-40/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-41/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-44/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-55/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-56/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-59/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-6/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-63/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-63/other/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-65/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-67/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-8/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2181449-9/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2182990-10/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2182990-13/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2182990-14/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2182990-16/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2182990-17/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2182990-18/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2182990-19/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2182990-2/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2182990-21/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2182990-22/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2182990-23/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2182990-24/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2182990-25/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2182990-26/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2182990-28/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2182990-29/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2182990-3/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2182990-33/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2182990-34/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2182990-35/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2182990-36/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2182990-38/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2182990-39/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2182990-4/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2182990-40/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2182990-41/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2182990-43/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2182990-47/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2182990-5/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2182990-8/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2182990-9/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2183207-10/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2183207-11/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2183207-12/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2183207-14/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2183207-16/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2183207-17/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2183207-18/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2183207-19/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2183207-2/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2183207-20/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2183207-23/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2183207-24/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2183207-25/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2183207-26/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2183207-28/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2183207-3/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2183207-33/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2183207-34/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2183207-35/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2183207-38/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2183207-39/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2183207-4/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2183207-41/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2183207-42/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2183207-5/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2183207-6/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2183207-60/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2183207-62/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2183207-7/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2183207-8/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2183207-9/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184396-11/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184396-12/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184396-14/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184396-15/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184396-17/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184396-18/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184396-19/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184396-20/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184396-22/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184396-23/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184396-28/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184396-29/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184396-3/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184396-30/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184396-31/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184396-33/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184396-36/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184396-37/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184396-38/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184396-4/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184396-40/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184396-41/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184396-42/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184396-43/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184396-45/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184396-5/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184396-54/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184396-55/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184396-6/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184396-8/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184396-9/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184635-11/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184635-14/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184635-16/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184635-17/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184635-18/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184635-19/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184635-2/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184635-21/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184635-22/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184635-23/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184635-27/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184635-32/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184635-33/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184635-34/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184635-35/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184635-36/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184635-4/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184635-40/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184635-41/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184635-43/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184635-45/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184635-5/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184635-57/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184635-59/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184635-60/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184635-61/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184635-64/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2184635-68/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2192245-102/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2192245-105/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2192245-14/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2192245-15/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2192245-16/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2192245-19/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2192245-20/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2192245-22/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2192245-24/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2192245-3/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2192245-36/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2192245-37/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2192245-38/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2192245-41/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2192245-46/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2192245-47/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2192245-48/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2192245-5/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2192245-51/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2192245-54/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2192245-58/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2192245-61/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2192245-63/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2192245-65/added/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2192245-65/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2192245-67/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2192245-67/example/origin/socket delete mode 100644 cmd/racer-dataplane/.client-test-2192245-76/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2192245-82/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2192245-82/ready delete mode 100644 cmd/racer-dataplane/.client-test-2192245-91/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2192245-96/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2192245-98/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193402-16/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193402-17/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193402-18/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193402-19/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193402-21/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193402-25/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193402-3/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193402-39/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193402-4/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193402-42/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193402-43/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193402-57/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193402-60/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193402-62/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193402-65/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193402-66/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193402-67/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193402-69/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193402-71/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193402-72/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193402-72/other/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193402-73/added/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193402-73/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193402-74/blocked delete mode 100644 cmd/racer-dataplane/.client-test-2193402-74/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193402-78/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193402-79/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193402-82/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193402-84/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193712-14/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193712-16/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193712-17/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193712-18/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193712-19/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193712-21/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193712-22/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193712-23/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193712-27/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193712-28/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193712-3/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193712-30/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193712-38/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193712-41/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193712-42/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193712-43/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193712-44/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193712-45/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193712-49/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193712-54/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193712-57/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193712-6/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193712-60/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193712-63/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193712-65/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193712-67/blocked delete mode 100644 cmd/racer-dataplane/.client-test-2193712-67/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193712-68/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193712-69/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193712-70/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193981-14/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193981-17/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193981-18/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193981-19/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193981-21/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193981-3/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193981-37/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193981-44/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193981-54/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193981-55/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193981-73/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193981-80/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193981-81/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193981-81/ready delete mode 100644 cmd/racer-dataplane/.client-test-2193981-82/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193981-83/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2193981-86/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194305-10/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194305-11/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194305-12/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194305-14/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194305-15/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194305-16/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194305-17/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194305-19/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194305-20/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194305-22/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194305-23/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194305-28/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194305-3/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194305-31/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194305-34/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194305-35/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194305-36/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194305-38/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194305-4/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194305-40/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194305-41/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194305-45/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194305-5/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194305-7/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194305-8/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-10/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-12/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-13/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-14/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-16/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-17/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-18/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-19/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-20/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-21/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-23/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-26/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-27/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-28/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-29/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-3/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-31/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-33/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-34/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-35/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-37/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-4/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-41/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-42/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-43/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-45/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-57/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-58/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-59/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-61/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-64/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-65/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-66/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-66/other/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-67/added/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-67/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-69/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-8/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194507-9/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194756-100/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194756-102/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194756-14/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194756-17/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194756-18/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194756-19/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194756-20/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194756-3/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194756-31/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194756-33/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194756-34/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194756-35/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194756-38/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194756-41/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194756-42/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194756-59/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194756-60/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194756-62/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194756-66/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194756-68/added/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194756-83/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194756-83/ready delete mode 100644 cmd/racer-dataplane/.client-test-2194756-85/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194756-94/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2194756-97/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195107-14/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195107-17/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195107-18/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195107-19/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195107-21/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195107-25/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195107-26/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195107-27/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195107-28/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195107-29/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195107-3/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195107-30/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195107-33/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195107-35/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195107-36/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195107-38/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195107-4/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195107-42/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195107-45/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195107-5/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195107-59/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195107-61/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195107-63/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195107-64/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195107-66/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195107-67/added/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195107-67/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195107-68/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195107-68/other/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195107-70/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195107-71/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195107-71/example/origin/socket delete mode 100644 cmd/racer-dataplane/.client-test-2195107-80/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195107-82/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195404-100/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195404-102/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195404-104/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195404-13/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195404-16/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195404-17/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195404-19/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195404-21/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195404-3/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195404-33/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195404-46/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195404-54/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195404-58/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195404-79/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195404-79/ready delete mode 100644 cmd/racer-dataplane/.client-test-2195404-80/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195404-83/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195404-87/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195404-93/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195404-95/example/client/.racer-client.lock delete mode 100644 cmd/racer-dataplane/.client-test-2195404-97/example/client/.racer-client.lock rename cmd/{racer-dataplane => racer}/.gitignore (100%) rename cmd/{racer-dataplane => racer}/Cargo.lock (99%) rename cmd/{racer-dataplane => racer}/Cargo.toml (98%) rename cmd/{racer-dataplane => racer}/README.md (100%) rename cmd/{racer-dataplane => racer}/admission/Cargo.toml (100%) rename cmd/{racer-dataplane => racer}/admission/src/lib.rs (100%) rename cmd/{racer-dataplane => racer}/admission/src/mutate.rs (100%) rename cmd/{racer-dataplane => racer}/admission/src/quantity.rs (100%) rename cmd/{racer-dataplane => racer}/admission/src/strict.rs (100%) rename cmd/{racer-dataplane => racer}/admission/src/tests.rs (100%) rename cmd/{racer-dataplane => racer}/alloc/.gitignore (100%) rename cmd/{racer-dataplane => racer}/alloc/Cargo.toml (100%) rename cmd/{racer-dataplane => racer}/alloc/src/demand.rs (100%) rename cmd/{racer-dataplane => racer}/alloc/src/index.rs (100%) rename cmd/{racer-dataplane => racer}/alloc/src/lib.rs (100%) rename cmd/{racer-dataplane => racer}/alloc/src/retention.rs (100%) rename cmd/{racer-dataplane => racer}/alloc/src/segments.rs (100%) rename cmd/{racer-dataplane => racer}/alloc/src/slab.rs (100%) rename cmd/{racer-dataplane => racer}/alloc/tests/dst.rs (100%) rename cmd/{racer-dataplane => racer}/alloc/tests/workflows.rs (100%) rename cmd/{racer-dataplane => racer}/cluster-control/Cargo.toml (88%) rename cmd/{racer-dataplane => racer}/cluster-control/src/annotations.rs (100%) rename cmd/{racer-dataplane => racer}/cluster-control/src/auth.rs (97%) rename cmd/{racer-dataplane => racer}/cluster-control/src/authority/catalog.rs (100%) rename cmd/{racer-dataplane => racer}/cluster-control/src/authority/election.rs (100%) rename cmd/{racer-dataplane => racer}/cluster-control/src/authority/keyring.rs (100%) rename cmd/{racer-dataplane => racer}/cluster-control/src/authority/members.rs (99%) rename cmd/{racer-dataplane => racer}/cluster-control/src/authority/mod.rs (100%) rename cmd/{racer-dataplane => racer}/cluster-control/src/authority/publication.rs (100%) rename cmd/{racer-dataplane => racer}/cluster-control/src/authority/rails.rs (100%) rename cmd/{racer-dataplane => racer}/cluster-control/src/authority/state.rs (100%) rename cmd/{racer-dataplane => racer}/cluster-control/src/config.rs (98%) rename cmd/{racer-dataplane => racer}/cluster-control/src/control.rs (100%) rename cmd/{racer-dataplane => racer}/cluster-control/src/entropy.rs (100%) rename cmd/{racer-dataplane => racer}/cluster-control/src/exec.rs (100%) rename cmd/{racer-dataplane => racer}/cluster-control/src/http.rs (100%) rename cmd/{racer-dataplane => racer}/cluster-control/src/kube/fake.rs (100%) rename cmd/{racer-dataplane => racer}/cluster-control/src/kube/mod.rs (100%) rename cmd/{racer-dataplane => racer}/cluster-control/src/lease.rs (100%) rename cmd/{racer-dataplane => racer}/cluster-control/src/lib.rs (97%) rename cmd/{racer-dataplane => racer}/cluster-control/src/limits.rs (100%) rename cmd/{racer-dataplane => racer}/cluster-control/src/pki.rs (100%) rename cmd/{racer-dataplane => racer}/cluster-control/src/primary.rs (99%) rename cmd/{racer-dataplane => racer}/cluster-control/src/seat.rs (100%) rename cmd/{racer-dataplane => racer}/cluster-control/src/server.rs (100%) rename cmd/{racer-dataplane => racer}/cluster-control/src/shared.rs (98%) rename cmd/{racer-dataplane => racer}/cluster-control/src/step/admission.rs (100%) rename cmd/{racer-dataplane => racer}/cluster-control/src/step/authz.rs (100%) rename cmd/{racer-dataplane => racer}/cluster-control/src/step/mod.rs (100%) rename cmd/{racer-dataplane => racer}/cluster-control/src/step/primary.rs (99%) rename cmd/{racer-dataplane => racer}/cluster-control/src/step/seat.rs (100%) rename cmd/{racer-dataplane => racer}/cluster-control/src/tests.rs (98%) rename cmd/{racer-dataplane => racer}/control-wire/Cargo.toml (100%) rename cmd/{racer-dataplane => racer}/control-wire/src/lib.rs (99%) rename cmd/{racer-dataplane => racer}/control-wire/testdata/bootstrap-block-devices.json (100%) rename cmd/{racer-dataplane => racer}/control-wire/testdata/bootstrap-request.json (100%) rename cmd/{racer-dataplane => racer}/control-wire/testdata/bootstrap-response.json (100%) rename cmd/{racer-dataplane => racer}/control-wire/testdata/bundle.json (100%) rename cmd/{racer-dataplane => racer}/control-wire/testdata/content.json (100%) rename cmd/{racer-dataplane => racer}/control-wire/testdata/delta.json (100%) rename cmd/{racer-dataplane => racer}/control-wire/testdata/hashes.json (100%) rename cmd/{racer-dataplane => racer}/control-wire/testdata/membership.json (100%) rename cmd/{racer-dataplane => racer}/control-wire/testdata/publication.json (100%) rename cmd/{racer-dataplane => racer}/control-wire/testdata/rejections.json (100%) rename cmd/{racer-dataplane => racer}/control-wire/testdata/site-vectors.json (100%) rename cmd/{racer-dataplane => racer}/controlplane/Cargo.toml (100%) rename cmd/{racer-dataplane => racer}/controlplane/src/feed.rs (100%) rename cmd/{racer-dataplane => racer}/controlplane/src/lib.rs (100%) rename cmd/{racer-dataplane => racer}/controlplane/src/published.rs (100%) rename cmd/{racer-dataplane => racer}/controlplane/src/rollout.rs (100%) rename cmd/{racer-dataplane => racer}/controlplane/tests/core.rs (100%) rename cmd/{racer-dataplane => racer}/core/Cargo.toml (100%) rename cmd/{racer-dataplane => racer}/core/clippy.toml (100%) rename cmd/{racer-dataplane => racer}/core/src/admission.rs (100%) rename cmd/{racer-dataplane => racer}/core/src/cache.rs (100%) rename cmd/{racer-dataplane => racer}/core/src/lib.rs (100%) rename cmd/{racer-dataplane => racer}/core/src/liveness.rs (100%) rename cmd/{racer-dataplane => racer}/core/src/read/budget.rs (100%) rename cmd/{racer-dataplane => racer}/core/src/read/flight.rs (100%) rename cmd/{racer-dataplane => racer}/core/src/read/flight/tests.rs (100%) rename cmd/{racer-dataplane => racer}/core/src/read/hints.rs (100%) rename cmd/{racer-dataplane => racer}/core/src/read/mod.rs (99%) rename cmd/{racer-dataplane => racer}/core/src/read/walk.rs (100%) rename cmd/{racer-dataplane => racer}/core/src/read/walk/tests.rs (100%) rename cmd/{racer-dataplane => racer}/core/src/route.rs (100%) rename cmd/{racer-dataplane => racer}/core/src/subscriptions.rs (100%) rename cmd/{racer-dataplane => racer}/core/src/time.rs (100%) rename cmd/{racer-dataplane => racer}/core/tests/lru_memory.rs (100%) rename cmd/{racer-dataplane => racer}/core/tests/purity.rs (100%) rename cmd/{racer-dataplane => racer}/crypto/Cargo.toml (100%) rename cmd/{racer-dataplane => racer}/crypto/src/enrollment.rs (100%) rename cmd/{racer-dataplane => racer}/crypto/src/lib.rs (99%) rename cmd/{racer-dataplane => racer}/crypto/tests/compile_fail.rs (100%) rename cmd/{racer-dataplane => racer}/crypto/tests/primitives.rs (100%) rename cmd/{racer-dataplane => racer}/flow/.gitignore (100%) rename cmd/{racer-dataplane => racer}/flow/Cargo.toml (100%) rename cmd/{racer-dataplane => racer}/flow/src/admission.rs (100%) rename cmd/{racer-dataplane => racer}/flow/src/coalesce.rs (100%) rename cmd/{racer-dataplane => racer}/flow/src/fifo.rs (100%) rename cmd/{racer-dataplane => racer}/flow/src/lib.rs (100%) rename cmd/{racer-dataplane => racer}/flow/src/pipe.rs (100%) rename cmd/{racer-dataplane => racer}/flow/src/progress.rs (100%) rename cmd/{racer-dataplane => racer}/flow/src/subscriptions.rs (100%) rename cmd/{racer-dataplane => racer}/flow/tests/drain_waker.rs (100%) rename cmd/{racer-dataplane => racer}/flow/tests/recycler.rs (100%) rename cmd/{racer-dataplane => racer}/flow/tests/workflows.rs (100%) rename cmd/{racer-dataplane => racer}/gpu/Cargo.toml (100%) rename cmd/{racer-dataplane => racer}/gpu/build.rs (92%) rename cmd/{racer-dataplane => racer}/gpu/native/cuda_private.h (100%) rename cmd/{racer-dataplane => racer}/gpu/native/gcm_core.h (100%) rename cmd/{racer-dataplane => racer}/gpu/native/gcm_host.c (100%) rename cmd/{racer-dataplane => racer}/gpu/native/gcm_kernel.cu (98%) rename cmd/{racer-dataplane => racer}/gpu/native/gpu_cuda.c (100%) rename cmd/{racer-dataplane => racer}/gpu/native/gpu_cuda.h (100%) rename cmd/{racer-dataplane => racer}/gpu/native/kernel_emulation.cc (100%) rename cmd/{racer-dataplane => racer}/gpu/native/run-kernel-emulation.sh (100%) rename cmd/{racer-dataplane => racer}/gpu/src/ffi.rs (100%) rename cmd/{racer-dataplane => racer}/gpu/src/gcm.rs (100%) rename cmd/{racer-dataplane => racer}/gpu/src/lib.rs (100%) rename cmd/{racer-dataplane => racer}/gpu/src/simulation.rs (100%) rename cmd/{racer-dataplane => racer}/gpu/tests/gcm_core.rs (100%) rename cmd/{racer-dataplane => racer}/gpu/tests/hardware.rs (100%) rename cmd/{racer-dataplane => racer}/gpu/tests/simulation.rs (100%) rename cmd/{racer-dataplane => racer}/http/Cargo.toml (100%) rename cmd/{racer-dataplane => racer}/http/src/connection.rs (100%) rename cmd/{racer-dataplane => racer}/http/src/lib.rs (100%) rename cmd/{racer-dataplane => racer}/http/src/transfer.rs (100%) rename cmd/{racer-dataplane => racer}/http/tests/exchanges.rs (100%) rename cmd/{racer-dataplane => racer}/http/tests/pool.rs (100%) rename cmd/{racer-dataplane => racer}/object-wire/Cargo.toml (100%) rename cmd/{racer-dataplane => racer}/object-wire/src/client.rs (100%) rename cmd/{racer-dataplane => racer}/object-wire/src/lib.rs (100%) rename cmd/{racer-dataplane => racer}/object-wire/src/model.rs (100%) rename cmd/{racer-dataplane => racer}/object-wire/src/origin.rs (100%) rename cmd/{racer-dataplane => racer}/object-wire/src/test_util.rs (100%) rename cmd/{racer-dataplane => racer}/object-wire/tests/body_length.rs (100%) rename cmd/{racer-dataplane => racer}/object-wire/tests/direct.rs (100%) rename cmd/{racer-dataplane => racer}/object-wire/tests/fixture.rs (100%) rename cmd/{racer-dataplane => racer}/object-wire/tests/host.rs (100%) rename cmd/{racer-dataplane => racer}/object-wire/tests/origin_content_type.rs (100%) rename cmd/{racer-dataplane => racer}/object-wire/tests/origin_request.rs (100%) rename cmd/{racer-dataplane => racer}/object-wire/tests/protocol.rs (100%) rename cmd/{racer-dataplane => racer}/peer-wire/Cargo.toml (100%) rename cmd/{racer-dataplane => racer}/peer-wire/src/control.rs (100%) rename cmd/{racer-dataplane => racer}/peer-wire/src/forwarding.rs (100%) rename cmd/{racer-dataplane => racer}/peer-wire/src/lib.rs (100%) rename cmd/{racer-dataplane => racer}/peer-wire/src/link.rs (100%) rename cmd/{racer-dataplane => racer}/peer-wire/src/session.rs (100%) rename cmd/{racer-dataplane => racer}/peer-wire/src/session/handshake_tests.rs (100%) rename cmd/{racer-dataplane => racer}/peer-wire/src/tests.rs (100%) rename cmd/{racer-dataplane => racer}/peer-wire/tests/control_deadline.rs (100%) rename cmd/{racer-dataplane => racer}/runtime/Cargo.toml (100%) rename cmd/{racer-dataplane => racer}/runtime/src/channel.rs (100%) rename cmd/{racer-dataplane => racer}/runtime/src/drivers.rs (100%) rename cmd/{racer-dataplane => racer}/runtime/src/environment.rs (100%) rename cmd/{racer-dataplane => racer}/runtime/src/group.rs (100%) rename cmd/{racer-dataplane => racer}/runtime/src/lib.rs (100%) rename cmd/{racer-dataplane => racer}/runtime/src/mailbox/executor.rs (100%) rename cmd/{racer-dataplane => racer}/runtime/src/offload.rs (100%) rename cmd/{racer-dataplane => racer}/runtime/src/reactor.rs (100%) rename cmd/{racer-dataplane => racer}/runtime/src/reactor/filesystem.rs (100%) rename cmd/{racer-dataplane => racer}/runtime/src/reactor/filesystem/checkpoint.rs (100%) rename cmd/{racer-dataplane => racer}/runtime/src/reactor/filesystem/operations.rs (100%) rename cmd/{racer-dataplane => racer}/runtime/src/reactor/simulation.rs (100%) rename cmd/{racer-dataplane => racer}/runtime/src/reactor/simulation/disk.rs (100%) rename cmd/{racer-dataplane => racer}/runtime/src/reactor/simulation/network.rs (100%) rename cmd/{racer-dataplane => racer}/runtime/src/reactor/tests.rs (100%) rename cmd/{racer-dataplane => racer}/runtime/tests/mailbox.rs (100%) rename cmd/{racer-dataplane => racer}/runtime/tests/runtime.rs (100%) rename cmd/{racer-dataplane => racer}/sim/Cargo.toml (100%) rename cmd/{racer-dataplane => racer}/sim/src/combined.rs (100%) rename cmd/{racer-dataplane => racer}/sim/src/config.rs (100%) rename cmd/{racer-dataplane => racer}/sim/src/control.rs (99%) rename cmd/{racer-dataplane => racer}/sim/src/engine.rs (100%) rename cmd/{racer-dataplane => racer}/sim/src/faults.rs (100%) rename cmd/{racer-dataplane => racer}/sim/src/lib.rs (100%) rename cmd/{racer-dataplane => racer}/sim/src/main.rs (100%) rename cmd/{racer-dataplane => racer}/sim/src/node/state.rs (100%) rename cmd/{racer-dataplane => racer}/sim/src/node/world.rs (100%) rename cmd/{racer-dataplane => racer}/sim/src/phantom.rs (100%) rename cmd/{racer-dataplane => racer}/sim/src/report.rs (100%) rename cmd/{racer-dataplane => racer}/sim/src/resources.rs (100%) rename cmd/{racer-dataplane => racer}/sim/src/workload.rs (100%) rename cmd/{racer-dataplane => racer}/sim/tests/contention_scenarios.rs (100%) rename cmd/{racer-dataplane => racer}/sim/tests/phantom_memory.rs (100%) rename cmd/{racer-dataplane => racer}/src/admission.rs (100%) rename cmd/{racer-dataplane => racer}/src/app.rs (98%) rename cmd/{racer-dataplane => racer}/src/app/devices.rs (97%) rename cmd/{racer-dataplane => racer}/src/app/devices/loop_test.rs (100%) rename cmd/{racer-dataplane => racer}/src/app/native.rs (100%) rename cmd/{racer-dataplane => racer}/src/app/recovery.rs (100%) rename cmd/{racer-dataplane => racer}/src/app/tests.rs (100%) rename cmd/{racer-dataplane => racer}/src/app/tests/dst.rs (100%) rename cmd/{racer-dataplane => racer}/src/client.rs (100%) rename cmd/{racer-dataplane => racer}/src/client/direct.rs (100%) rename cmd/{racer-dataplane => racer}/src/client/listener.rs (99%) rename cmd/{racer-dataplane => racer}/src/client/origin_directory.rs (99%) rename cmd/{racer-dataplane => racer}/src/client/tests.rs (100%) rename cmd/{racer-dataplane => racer}/src/client/tests/direct.rs (100%) rename cmd/{racer-dataplane => racer}/src/client/tests/direct/gpu.rs (100%) rename cmd/{racer-dataplane => racer}/src/config.rs (100%) rename cmd/{racer-dataplane => racer}/src/control.rs (100%) rename cmd/{racer-dataplane => racer}/src/control/managed.rs (98%) rename cmd/{racer-dataplane => racer}/src/control/publication.rs (100%) rename cmd/{racer-dataplane => racer}/src/control/rails.rs (100%) rename cmd/{racer-dataplane => racer}/src/control/session.rs (100%) rename cmd/{racer-dataplane => racer}/src/error.rs (100%) rename cmd/{racer-dataplane => racer}/src/gpu.rs (97%) rename cmd/{racer-dataplane => racer}/src/gpu_slot.rs (98%) rename cmd/{racer-dataplane => racer}/src/gpu_telemetry.rs (100%) rename cmd/{racer-dataplane => racer}/src/hardware.rs (100%) rename cmd/{racer-dataplane => racer}/src/http.rs (100%) rename cmd/{racer-dataplane => racer}/src/lib.rs (100%) rename cmd/{racer-dataplane => racer}/src/main.rs (82%) rename cmd/{racer-dataplane => racer}/src/memory.rs (100%) rename cmd/{racer-dataplane => racer}/src/model.rs (100%) rename cmd/{racer-dataplane => racer}/src/origin.rs (100%) rename cmd/{racer-dataplane => racer}/src/origin/tests.rs (100%) rename cmd/{racer-dataplane => racer}/src/peer.rs (99%) rename cmd/{racer-dataplane => racer}/src/peer/forwarding.rs (99%) rename cmd/{racer-dataplane => racer}/src/peer/protocol.rs (100%) rename cmd/{racer-dataplane => racer}/src/peer/receive.rs (100%) rename cmd/{racer-dataplane => racer}/src/peer/server.rs (99%) rename cmd/{racer-dataplane => racer}/src/peer/subscriptions.rs (100%) rename cmd/{racer-dataplane => racer}/src/peer/tests.rs (100%) rename cmd/{racer-dataplane => racer}/src/peer/tests/opaque.rs (100%) rename cmd/{racer-dataplane => racer}/src/peer/tests/protocol_socket.rs (100%) rename cmd/{racer-dataplane => racer}/src/peer/transport.rs (99%) rename cmd/{racer-dataplane => racer}/src/pressure.rs (100%) rename cmd/{racer-dataplane => racer}/src/priority.rs (100%) rename cmd/{racer-dataplane => racer}/src/profiling.rs (100%) rename cmd/{racer-dataplane => racer}/src/profiling/perf.rs (100%) rename cmd/{racer-dataplane => racer}/src/profiling/perf_abi_test.c (100%) rename cmd/{racer-dataplane => racer}/src/profiling/profile.rs (100%) rename cmd/{racer-dataplane => racer}/src/rdma.rs (100%) rename cmd/{racer-dataplane => racer}/src/rdma/link_setup.rs (100%) rename cmd/{racer-dataplane => racer}/src/rdma/links.rs (98%) rename cmd/{racer-dataplane => racer}/src/rdma/links/tests.rs (100%) rename cmd/{racer-dataplane => racer}/src/rdma/links/tests/zero_copy.rs (100%) rename cmd/{racer-dataplane => racer}/src/rdma/retry.rs (100%) rename cmd/{racer-dataplane => racer}/src/read.rs (100%) rename cmd/{racer-dataplane => racer}/src/read/candidates.rs (100%) rename cmd/{racer-dataplane => racer}/src/read/dispatch.rs (100%) rename cmd/{racer-dataplane => racer}/src/read/fill.rs (100%) rename cmd/{racer-dataplane => racer}/src/read/flight.rs (99%) rename cmd/{racer-dataplane => racer}/src/read/metadata.rs (100%) rename cmd/{racer-dataplane => racer}/src/read/range_stream.rs (99%) rename cmd/{racer-dataplane => racer}/src/read/sealed.rs (100%) rename cmd/{racer-dataplane => racer}/src/read/tests.rs (100%) rename cmd/{racer-dataplane => racer}/src/read/tests/fill.rs (100%) rename cmd/{racer-dataplane => racer}/src/read/tests/hot_reads.rs (100%) rename cmd/{racer-dataplane => racer}/src/read/tests/peer_copies.rs (100%) rename cmd/{racer-dataplane => racer}/src/read/tests/persist_policy.rs (100%) rename cmd/{racer-dataplane => racer}/src/read/tests/remote.rs (100%) rename cmd/{racer-dataplane => racer}/src/read/tests/warming.rs (100%) rename cmd/{racer-dataplane => racer}/src/read/warm.rs (100%) rename cmd/{racer-dataplane => racer}/src/retention.rs (100%) rename cmd/{racer-dataplane => racer}/src/runtime.rs (99%) rename cmd/{racer-dataplane => racer}/src/security.rs (99%) rename cmd/{racer-dataplane => racer}/src/security/aead_vectors.py (100%) rename cmd/{racer-dataplane => racer}/src/store.rs (100%) rename cmd/{racer-dataplane => racer}/src/store/catalog.rs (100%) rename cmd/{racer-dataplane => racer}/src/store/checkpoint.rs (100%) rename cmd/{racer-dataplane => racer}/src/store/holds.rs (100%) rename cmd/{racer-dataplane => racer}/src/store/tests.rs (100%) rename cmd/{racer-dataplane => racer}/src/subscription_interop.rs (100%) rename cmd/{racer-dataplane => racer}/src/telemetry.rs (100%) rename cmd/{racer-dataplane => racer}/src/test_support.rs (100%) rename cmd/{racer-dataplane => racer}/src/topology.rs (100%) rename cmd/{racer-dataplane => racer}/src/worker.rs (99%) rename cmd/{racer-dataplane => racer}/telemetry/Cargo.toml (100%) rename cmd/{racer-dataplane => racer}/telemetry/src/lib.rs (100%) rename cmd/{racer-dataplane => racer}/telemetry/src/server.rs (100%) rename cmd/{racer-dataplane => racer}/telemetry/tests/workflows.rs (100%) rename cmd/{racer-dataplane => racer}/tests/client_origin_conformance.rs (97%) rename cmd/{racer-dataplane => racer}/tests/conformance/sdk_fixture_test.go.txt (100%) rename cmd/{racer-dataplane => racer}/tests/identity_integration.rs (91%) rename cmd/{racer-dataplane => racer}/tests/payload_zeroization.rs (92%) rename cmd/{racer-dataplane => racer}/tests/process_restart.rs (99%) rename cmd/{racer-dataplane => racer}/tests/process_restart/throughput.rs (98%) rename cmd/{racer-dataplane => racer}/tests/production_dataplane.rs (94%) rename cmd/{racer-dataplane => racer}/tests/production_dataplane/hotpath.rs (99%) rename cmd/{racer-dataplane => racer}/tests/stop_signals.rs (97%) rename cmd/{racer-dataplane => racer}/tests/subscription_interop.rs (82%) rename cmd/{racer-dataplane => racer}/tests/support/enrollment.rs (100%) rename cmd/{racer-dataplane => racer}/tests/support/subscription.rs (100%) rename cmd/{racer-dataplane => racer}/topology/Cargo.toml (100%) rename cmd/{racer-dataplane => racer}/topology/src/lib.rs (100%) rename cmd/{racer-dataplane => racer}/topology/src/paths.rs (100%) rename cmd/{racer-dataplane => racer}/topology/src/placement.rs (100%) rename cmd/{racer-dataplane => racer}/topology/tests/workflows.rs (100%) rename cmd/{racer-dataplane => racer}/uds-endpoint/Cargo.toml (100%) rename cmd/{racer-dataplane => racer}/uds-endpoint/README.md (98%) rename cmd/{racer-dataplane => racer}/uds-endpoint/src/directory.rs (100%) rename cmd/{racer-dataplane => racer}/uds-endpoint/src/lib.rs (100%) rename cmd/{racer-dataplane => racer}/uds-endpoint/src/publication.rs (100%) rename cmd/{racer-dataplane => racer}/uds-endpoint/src/simulation.rs (100%) rename cmd/{racer-dataplane => racer}/uds-endpoint/src/tests.rs (100%) rename cmd/{racer-dataplane => racer}/uds-endpoint/tests/ownership.rs (100%) rename cmd/{racer-dataplane => racer}/uds-endpoint/tests/publication.rs (100%) rename cmd/{racer-dataplane => racer}/verbs/Cargo.toml (100%) rename cmd/{racer-dataplane => racer}/verbs/native/discovery_faults.c (100%) rename cmd/{racer-dataplane => racer}/verbs/native/verbs.c (100%) rename cmd/{racer-dataplane => racer}/verbs/src/channel.rs (100%) rename cmd/{racer-dataplane => racer}/verbs/src/control.rs (100%) rename cmd/{racer-dataplane => racer}/verbs/src/discovery.rs (100%) rename cmd/{racer-dataplane => racer}/verbs/src/discovery_fault_tests.rs (100%) rename cmd/{racer-dataplane => racer}/verbs/src/ffi.rs (100%) rename cmd/{racer-dataplane => racer}/verbs/src/lib.rs (100%) rename cmd/{racer-dataplane => racer}/verbs/src/link.rs (100%) rename cmd/{racer-dataplane => racer}/verbs/src/link/tests.rs (100%) rename cmd/{racer-dataplane => racer}/verbs/src/node.rs (100%) rename cmd/{racer-dataplane => racer}/verbs/src/pool.rs (100%) rename cmd/{racer-dataplane => racer}/verbs/src/simulation.rs (100%) rename cmd/{racer-dataplane => racer}/verbs/tests/links.rs (100%) rename cmd/{racer-dataplane => racer}/wire-codec/Cargo.toml (100%) rename cmd/{racer-dataplane => racer}/wire-codec/src/lib.rs (100%) rename cmd/{racer-dataplane => racer}/wire-codec/tests/failover.rs (100%) rename cmd/{racer-dataplane => racer}/wire-codec/tests/support/mod.rs (100%) rename cmd/{racer-dataplane => racer}/wire-codec/tests/transport.rs (100%) rename designs/{racer-dataplane-control-plane.md => racer-control-plane.md} (99%) rename images/{racer-dataplane => racer}/Containerfile (64%) rename images/{racer-dataplane => racer}/build-native-cuda.sh (95%) rename images/{racer-dataplane => racer}/build-native.sh (100%) rename images/{racer-dataplane => racer}/check-debug-info.sh (100%) rename images/{racer-dataplane => racer}/cufile.json (88%) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 85679b75c6..b027b04349 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -158,25 +158,25 @@ jobs: ~/.cargo/registry ~/.cargo/git bin/racer-cargo - key: racer-workspace-lint-${{ runner.os }}-${{ runner.arch }}-1.96.0-${{ hashFiles('cmd/racer-dataplane/Cargo.lock', 'cmd/racer-dataplane/**/Cargo.toml') }}-${{ github.sha }} + key: racer-workspace-lint-${{ runner.os }}-${{ runner.arch }}-1.96.0-${{ hashFiles('cmd/racer/Cargo.lock', 'cmd/racer/**/Cargo.toml') }}-${{ github.sha }} restore-keys: | - racer-workspace-lint-${{ runner.os }}-${{ runner.arch }}-1.96.0-${{ hashFiles('cmd/racer-dataplane/Cargo.lock', 'cmd/racer-dataplane/**/Cargo.toml') }}- + racer-workspace-lint-${{ runner.os }}-${{ runner.arch }}-1.96.0-${{ hashFiles('cmd/racer/Cargo.lock', 'cmd/racer/**/Cargo.toml') }}- - name: Check Rust formatting - run: timeout --signal=TERM --kill-after=10s 300s cargo +1.96.0 fmt --manifest-path cmd/racer-dataplane/Cargo.toml --all --check + run: timeout --signal=TERM --kill-after=10s 300s cargo +1.96.0 fmt --manifest-path cmd/racer/Cargo.toml --all --check - name: Strict runtime Clippy run: | - timeout --signal=TERM --kill-after=10s 600s cargo +1.96.0 clippy --locked --manifest-path cmd/racer-dataplane/Cargo.toml -p uring-runtime --all-targets --all-features -- -D warnings - timeout --signal=TERM --kill-after=10s 600s cargo +1.96.0 clippy --locked --manifest-path cmd/racer-dataplane/Cargo.toml -p uring-runtime --all-targets --no-default-features -- -D warnings + timeout --signal=TERM --kill-after=10s 600s cargo +1.96.0 clippy --locked --manifest-path cmd/racer/Cargo.toml -p uring-runtime --all-targets --all-features -- -D warnings + timeout --signal=TERM --kill-after=10s 600s cargo +1.96.0 clippy --locked --manifest-path cmd/racer/Cargo.toml -p uring-runtime --all-targets --no-default-features -- -D warnings # Keep allocator invocations separate from runtime/workspace builds: # runtime test features must not enable simulation in the production # allocator gate. Clippy also type-checks every allocator target. - name: Strict allocator Clippy run: | - timeout --signal=TERM --kill-after=10s 600s cargo +1.96.0 clippy --locked --manifest-path cmd/racer-dataplane/Cargo.toml -p page-alloc --all-targets --no-default-features -- -D warnings - timeout --signal=TERM --kill-after=10s 600s cargo +1.96.0 clippy --locked --manifest-path cmd/racer-dataplane/Cargo.toml -p page-alloc --all-targets --no-default-features --features simulation -- -D warnings + timeout --signal=TERM --kill-after=10s 600s cargo +1.96.0 clippy --locked --manifest-path cmd/racer/Cargo.toml -p page-alloc --all-targets --no-default-features -- -D warnings + timeout --signal=TERM --kill-after=10s 600s cargo +1.96.0 clippy --locked --manifest-path cmd/racer/Cargo.toml -p page-alloc --all-targets --no-default-features --features simulation -- -D warnings racer-rust: name: Racer Rust Workspace (${{ matrix.suite }}) @@ -214,20 +214,20 @@ jobs: ~/.cargo/registry ~/.cargo/git bin/racer-cargo - key: racer-workspace-${{ matrix.key }}-${{ runner.os }}-${{ runner.arch }}-1.96.0-${{ hashFiles('cmd/racer-dataplane/Cargo.lock', 'cmd/racer-dataplane/**/Cargo.toml') }}-${{ github.sha }} + key: racer-workspace-${{ matrix.key }}-${{ runner.os }}-${{ runner.arch }}-1.96.0-${{ hashFiles('cmd/racer/Cargo.lock', 'cmd/racer/**/Cargo.toml') }}-${{ github.sha }} restore-keys: | - racer-workspace-${{ matrix.key }}-${{ runner.os }}-${{ runner.arch }}-1.96.0-${{ hashFiles('cmd/racer-dataplane/Cargo.lock', 'cmd/racer-dataplane/**/Cargo.toml') }}- + racer-workspace-${{ matrix.key }}-${{ runner.os }}-${{ runner.arch }}-1.96.0-${{ hashFiles('cmd/racer/Cargo.lock', 'cmd/racer/**/Cargo.toml') }}- - name: Check - run: timeout --signal=TERM --kill-after=10s 1200s cargo +1.96.0 check --locked --manifest-path cmd/racer-dataplane/Cargo.toml --workspace --all-targets $FEATURES + run: timeout --signal=TERM --kill-after=10s 1200s cargo +1.96.0 check --locked --manifest-path cmd/racer/Cargo.toml --workspace --all-targets $FEATURES # Compile test binaries separately: a cold build of the dataplane test # targets takes far longer than running any single step's tests. - name: Build tests - run: timeout --signal=TERM --kill-after=10s 1800s cargo +1.96.0 test --locked --manifest-path cmd/racer-dataplane/Cargo.toml --workspace $FEATURES --no-run + run: timeout --signal=TERM --kill-after=10s 1800s cargo +1.96.0 test --locked --manifest-path cmd/racer/Cargo.toml --workspace $FEATURES --no-run - name: Test - run: timeout --signal=TERM --kill-after=10s 1500s cargo +1.96.0 test --locked --manifest-path cmd/racer-dataplane/Cargo.toml --workspace $FEATURES + run: timeout --signal=TERM --kill-after=10s 1500s cargo +1.96.0 test --locked --manifest-path cmd/racer/Cargo.toml --workspace $FEATURES racer-rust-gates: name: Racer Rust Production Gates @@ -254,24 +254,24 @@ jobs: ~/.cargo/registry ~/.cargo/git bin/racer-cargo - key: racer-workspace-gates-${{ runner.os }}-${{ runner.arch }}-1.96.0-${{ hashFiles('cmd/racer-dataplane/Cargo.lock', 'cmd/racer-dataplane/**/Cargo.toml') }}-${{ github.sha }} + key: racer-workspace-gates-${{ runner.os }}-${{ runner.arch }}-1.96.0-${{ hashFiles('cmd/racer/Cargo.lock', 'cmd/racer/**/Cargo.toml') }}-${{ github.sha }} restore-keys: | - racer-workspace-gates-${{ runner.os }}-${{ runner.arch }}-1.96.0-${{ hashFiles('cmd/racer-dataplane/Cargo.lock', 'cmd/racer-dataplane/**/Cargo.toml') }}- + racer-workspace-gates-${{ runner.os }}-${{ runner.arch }}-1.96.0-${{ hashFiles('cmd/racer/Cargo.lock', 'cmd/racer/**/Cargo.toml') }}- - name: Runtime production real I/O (no simulation) env: RUNTIME_REQUIRE_IO_URING: "1" - run: timeout --signal=TERM --kill-after=10s 900s cargo +1.96.0 test --locked --manifest-path cmd/racer-dataplane/Cargo.toml -p uring-runtime --no-default-features + run: timeout --signal=TERM --kill-after=10s 900s cargo +1.96.0 test --locked --manifest-path cmd/racer/Cargo.toml -p uring-runtime --no-default-features # Keep allocator invocations separate from runtime/workspace tests: runtime # test features must not enable simulation in the production allocator gate. - name: Allocator production real I/O (no simulation) env: PAGE_ALLOC_REQUIRE_REAL_IO: "1" - run: timeout --signal=TERM --kill-after=10s 900s cargo +1.96.0 test --locked --manifest-path cmd/racer-dataplane/Cargo.toml -p page-alloc --no-default-features + run: timeout --signal=TERM --kill-after=10s 900s cargo +1.96.0 test --locked --manifest-path cmd/racer/Cargo.toml -p page-alloc --no-default-features - name: Test allocator simulation - run: timeout --signal=TERM --kill-after=10s 900s cargo +1.96.0 test --locked --manifest-path cmd/racer-dataplane/Cargo.toml -p page-alloc --no-default-features --features simulation + run: timeout --signal=TERM --kill-after=10s 900s cargo +1.96.0 test --locked --manifest-path cmd/racer/Cargo.toml -p page-alloc --no-default-features --features simulation racer-verbs: name: Racer Verbs (${{ matrix.configuration }}) @@ -318,34 +318,34 @@ jobs: # Rust loads the adapter dynamically, so Cargo cannot compile-check its C ABI. - name: Compile native C adapter (not hardware validation) if: matrix.native - run: timeout --signal=TERM --kill-after=10s 300s sh images/racer-dataplane/build-native.sh cmd/racer-dataplane/verbs/native/verbs.c bin/racer-verbs-native/librdma_verbs.so.1 + run: timeout --signal=TERM --kill-after=10s 300s sh images/racer/build-native.sh cmd/racer/verbs/native/verbs.c bin/racer-verbs-native/librdma_verbs.so.1 - name: Require native adapter ABI and symbols (no hardware) if: matrix.native - run: timeout --signal=TERM --kill-after=10s 300s cargo +1.96.0 test --locked --manifest-path cmd/racer-dataplane/Cargo.toml -p rdma-verbs --no-default-features --features "$VERBS_FEATURES" --lib ffi::tests::required_native_adapter_loads_abi_and_symbols -- --exact --ignored + run: timeout --signal=TERM --kill-after=10s 300s cargo +1.96.0 test --locked --manifest-path cmd/racer/Cargo.toml -p rdma-verbs --no-default-features --features "$VERBS_FEATURES" --lib ffi::tests::required_native_adapter_loads_abi_and_symbols -- --exact --ignored - name: Test C discovery and open cleanup faults (no hardware) if: matrix.native run: | - timeout --signal=TERM --kill-after=10s 300s sh images/racer-dataplane/build-native.sh cmd/racer-dataplane/verbs/native/discovery_faults.c bin/racer-verbs-faults/librdma_verbs.so.1 - timeout --signal=TERM --kill-after=10s 300s env LD_LIBRARY_PATH="$GITHUB_WORKSPACE/bin/racer-verbs-faults" cargo +1.96.0 test --locked --manifest-path cmd/racer-dataplane/Cargo.toml -p rdma-verbs --no-default-features --features "$VERBS_FEATURES" --lib ffi::discovery_fault_tests::internal_close_failures_keep_admission_and_adapter -- --exact --ignored - timeout --signal=TERM --kill-after=10s 300s env LD_LIBRARY_PATH="$GITHUB_WORKSPACE/bin/racer-verbs-faults" cargo +1.96.0 test --locked --manifest-path cmd/racer-dataplane/Cargo.toml -p rdma-verbs --no-default-features --features "$VERBS_FEATURES" --lib ffi::discovery_fault_tests::open_cleanup_failures_keep_admission_and_adapter -- --exact --ignored - timeout --signal=TERM --kill-after=10s 300s env LD_LIBRARY_PATH="$GITHUB_WORKSPACE/bin/racer-verbs-faults" cargo +1.96.0 test --locked --manifest-path cmd/racer-dataplane/Cargo.toml -p rdma-verbs --no-default-features --features "$VERBS_FEATURES" --lib ffi::discovery_fault_tests::bind_is_signaled_and_fenced -- --exact --ignored + timeout --signal=TERM --kill-after=10s 300s sh images/racer/build-native.sh cmd/racer/verbs/native/discovery_faults.c bin/racer-verbs-faults/librdma_verbs.so.1 + timeout --signal=TERM --kill-after=10s 300s env LD_LIBRARY_PATH="$GITHUB_WORKSPACE/bin/racer-verbs-faults" cargo +1.96.0 test --locked --manifest-path cmd/racer/Cargo.toml -p rdma-verbs --no-default-features --features "$VERBS_FEATURES" --lib ffi::discovery_fault_tests::internal_close_failures_keep_admission_and_adapter -- --exact --ignored + timeout --signal=TERM --kill-after=10s 300s env LD_LIBRARY_PATH="$GITHUB_WORKSPACE/bin/racer-verbs-faults" cargo +1.96.0 test --locked --manifest-path cmd/racer/Cargo.toml -p rdma-verbs --no-default-features --features "$VERBS_FEATURES" --lib ffi::discovery_fault_tests::open_cleanup_failures_keep_admission_and_adapter -- --exact --ignored + timeout --signal=TERM --kill-after=10s 300s env LD_LIBRARY_PATH="$GITHUB_WORKSPACE/bin/racer-verbs-faults" cargo +1.96.0 test --locked --manifest-path cmd/racer/Cargo.toml -p rdma-verbs --no-default-features --features "$VERBS_FEATURES" --lib ffi::discovery_fault_tests::bind_is_signaled_and_fenced -- --exact --ignored - name: Check verbs formatting - run: timeout --signal=TERM --kill-after=10s 300s cargo +1.96.0 fmt --manifest-path cmd/racer-dataplane/Cargo.toml -p rdma-verbs --check + run: timeout --signal=TERM --kill-after=10s 300s cargo +1.96.0 fmt --manifest-path cmd/racer/Cargo.toml -p rdma-verbs --check - name: Check verbs feature configuration run: | features=() if [ -n "$VERBS_FEATURES" ]; then features=(--features "$VERBS_FEATURES"); fi - timeout --signal=TERM --kill-after=10s 300s cargo +1.96.0 check --locked --manifest-path cmd/racer-dataplane/Cargo.toml -p rdma-verbs --all-targets --no-default-features "${features[@]}" + timeout --signal=TERM --kill-after=10s 300s cargo +1.96.0 check --locked --manifest-path cmd/racer/Cargo.toml -p rdma-verbs --all-targets --no-default-features "${features[@]}" - name: Strict verbs Clippy run: | features=() if [ -n "$VERBS_FEATURES" ]; then features=(--features "$VERBS_FEATURES"); fi - timeout --signal=TERM --kill-after=10s 300s cargo +1.96.0 clippy --locked --manifest-path cmd/racer-dataplane/Cargo.toml -p rdma-verbs --all-targets --no-default-features "${features[@]}" -- -D warnings + timeout --signal=TERM --kill-after=10s 300s cargo +1.96.0 clippy --locked --manifest-path cmd/racer/Cargo.toml -p rdma-verbs --all-targets --no-default-features "${features[@]}" -- -D warnings # Explicit zero-port and active-provider tests remain ignored. A hosted # runner does not establish RDMA hardware or DMA/fencing correctness. @@ -353,7 +353,7 @@ jobs: run: | features=() if [ -n "$VERBS_FEATURES" ]; then features=(--features "$VERBS_FEATURES"); fi - timeout --signal=TERM --kill-after=10s 300s cargo +1.96.0 test --locked --manifest-path cmd/racer-dataplane/Cargo.toml -p rdma-verbs --no-default-features "${features[@]}" + timeout --signal=TERM --kill-after=10s 300s cargo +1.96.0 test --locked --manifest-path cmd/racer/Cargo.toml -p rdma-verbs --no-default-features "${features[@]}" racer-gpu: name: Racer GPU (${{ matrix.configuration }}) @@ -407,35 +407,35 @@ jobs: - name: Compile CUDA shim with kernels (not hardware validation) if: matrix.kernels - run: RACER_GPU_REQUIRE_PTX=1 timeout --signal=TERM --kill-after=10s 300s sh images/racer-dataplane/build-native-cuda.sh cmd/racer-dataplane/gpu/native bin/racer-gpu-native/libracer_gpu_cuda.so.1 + run: RACER_GPU_REQUIRE_PTX=1 timeout --signal=TERM --kill-after=10s 300s sh images/racer/build-native-cuda.sh cmd/racer/gpu/native bin/racer-gpu-native/libracer_gpu_cuda.so.1 - name: Compile CUDA shim without kernels (not hardware validation) if: matrix.native && !matrix.kernels - run: timeout --signal=TERM --kill-after=10s 300s sh images/racer-dataplane/build-native-cuda.sh cmd/racer-dataplane/gpu/native bin/racer-gpu-native/libracer_gpu_cuda.so.1 + run: timeout --signal=TERM --kill-after=10s 300s sh images/racer/build-native-cuda.sh cmd/racer/gpu/native bin/racer-gpu-native/libracer_gpu_cuda.so.1 - name: Require CUDA shim ABI and symbols (no hardware) if: matrix.native - run: timeout --signal=TERM --kill-after=10s 300s cargo +1.96.0 test --locked --manifest-path cmd/racer-dataplane/Cargo.toml -p racer-gpu --no-default-features --features "$GPU_FEATURES" --lib ffi::tests::required_native_shim_loads_abi_and_symbols -- --exact --ignored + run: timeout --signal=TERM --kill-after=10s 300s cargo +1.96.0 test --locked --manifest-path cmd/racer/Cargo.toml -p racer-gpu --no-default-features --features "$GPU_FEATURES" --lib ffi::tests::required_native_shim_loads_abi_and_symbols -- --exact --ignored - name: Run decrypt kernels on the CPU (kernel emulation) if: matrix.native - run: timeout --signal=TERM --kill-after=10s 300s sh cmd/racer-dataplane/gpu/native/run-kernel-emulation.sh bin/racer-gpu-emulation + run: timeout --signal=TERM --kill-after=10s 300s sh cmd/racer/gpu/native/run-kernel-emulation.sh bin/racer-gpu-emulation - name: Check GPU formatting - run: timeout --signal=TERM --kill-after=10s 300s cargo +1.96.0 fmt --manifest-path cmd/racer-dataplane/Cargo.toml -p racer-gpu --check + run: timeout --signal=TERM --kill-after=10s 300s cargo +1.96.0 fmt --manifest-path cmd/racer/Cargo.toml -p racer-gpu --check - name: Strict GPU Clippy run: | features=() if [ -n "$GPU_FEATURES" ]; then features=(--features "$GPU_FEATURES"); fi - timeout --signal=TERM --kill-after=10s 300s cargo +1.96.0 clippy --locked --manifest-path cmd/racer-dataplane/Cargo.toml -p racer-gpu --all-targets --no-default-features "${features[@]}" -- -D warnings + timeout --signal=TERM --kill-after=10s 300s cargo +1.96.0 clippy --locked --manifest-path cmd/racer/Cargo.toml -p racer-gpu --all-targets --no-default-features "${features[@]}" -- -D warnings # Includes the C AES-GCM/CRC core check against racer-crypto (16 MiB pages). - name: Test GPU crate without requiring GPU hardware run: | features=() if [ -n "$GPU_FEATURES" ]; then features=(--features "$GPU_FEATURES"); fi - timeout --signal=TERM --kill-after=10s 300s cargo +1.96.0 test --locked --manifest-path cmd/racer-dataplane/Cargo.toml -p racer-gpu --no-default-features "${features[@]}" + timeout --signal=TERM --kill-after=10s 300s cargo +1.96.0 test --locked --manifest-path cmd/racer/Cargo.toml -p racer-gpu --no-default-features "${features[@]}" runtime-miri: name: Runtime Miri (${{ matrix.group }}) @@ -681,7 +681,7 @@ jobs: - name: Provision locked Cargo sources for NOTICE run: | timeout --signal=TERM --kill-after=10s 300s rustup toolchain install 1.96.0 --profile minimal - timeout --signal=TERM --kill-after=10s 300s cargo +1.96.0 fetch --locked --manifest-path cmd/racer-dataplane/Cargo.toml + timeout --signal=TERM --kill-after=10s 300s cargo +1.96.0 fetch --locked --manifest-path cmd/racer/Cargo.toml - name: Verify NOTICE run: timeout --signal=TERM --kill-after=10s 300s make notice-check diff --git a/.github/workflows/dependabot-notice.yaml b/.github/workflows/dependabot-notice.yaml index 6751d295e8..d7d32a4017 100644 --- a/.github/workflows/dependabot-notice.yaml +++ b/.github/workflows/dependabot-notice.yaml @@ -50,7 +50,7 @@ jobs: run: timeout --signal=TERM --kill-after=10s 300s rustup toolchain install 1.96.0 --profile minimal - name: Fetch Rust dependencies - run: timeout --signal=TERM --kill-after=10s 300s cargo +1.96.0 fetch --manifest-path cmd/racer-dataplane/Cargo.toml --locked + run: timeout --signal=TERM --kill-after=10s 300s cargo +1.96.0 fetch --manifest-path cmd/racer/Cargo.toml --locked - name: Generate NOTICE run: timeout --signal=TERM --kill-after=10s 300s make notice diff --git a/.github/workflows/nightly.yaml b/.github/workflows/nightly.yaml index d6c9b67552..8fa7760e33 100644 --- a/.github/workflows/nightly.yaml +++ b/.github/workflows/nightly.yaml @@ -294,8 +294,8 @@ jobs: file: images/unbounded-operator/Containerfile - name: gantry file: images/gantry/Containerfile - - name: racer-dataplane - file: images/racer-dataplane/Containerfile + - name: racer + file: images/racer/Containerfile - name: racer-object file: images/racer-object/Containerfile - name: racer-vllm diff --git a/.github/workflows/racer-e2e.yaml b/.github/workflows/racer-e2e.yaml index 8a5ca1dfab..11dff39028 100644 --- a/.github/workflows/racer-e2e.yaml +++ b/.github/workflows/racer-e2e.yaml @@ -10,14 +10,14 @@ on: pull_request: paths: - api/racer/** - - cmd/racer-dataplane/** + - cmd/racer/** - cmd/racer-object/** - internal/racer/** - internal/racerobject/** - internal/operator/components/racer/** - pkg/racersdk/** - deploy/racer/** - - images/racer-dataplane/** + - images/racer/** - images/racer-object/** - cmd/gantry/** - internal/gantry/** @@ -38,14 +38,14 @@ on: - release-* paths: - api/racer/** - - cmd/racer-dataplane/** + - cmd/racer/** - cmd/racer-object/** - internal/racer/** - internal/racerobject/** - internal/operator/components/racer/** - pkg/racersdk/** - deploy/racer/** - - images/racer-dataplane/** + - images/racer/** - images/racer-object/** - cmd/gantry/** - internal/gantry/** diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index c391fcdee9..8d5b43f2f2 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -25,7 +25,7 @@ name: unbounded release # -> netboot-image (PXE boot artifact images) # -> metalman-image (stamped with the matching default netboot image) # -> component-images (matrix: machina, machine-ops-controller, unbounded-operator, -# token-refresher, orca, gantry, racer-dataplane, +# token-refresher, orca, gantry, racer, # racer-object, racer-vllm, # host-ubuntu2404, # host-azurelinux3, host-azurelinux3-nvidia, @@ -871,8 +871,8 @@ jobs: trivy: true # Includes GPU reads (CUDA shim and cuFile). The dataplane touches no # GPU until a client sends the first gpu-read. - - name: racer-dataplane - file: images/racer-dataplane/Containerfile + - name: racer + file: images/racer/Containerfile platforms: linux/amd64,linux/arm64 trivy: true - name: racer-object diff --git a/Makefile b/Makefile index 10216289e4..96c5bff8b7 100644 --- a/Makefile +++ b/Makefile @@ -375,7 +375,7 @@ help: ## Show this help @echo " racer-loadgen-test Race-test racer-loadgen" @echo " racer-object | racer-object-build Build racer-object (with/without focused tests)" @echo " racer-object-test Race-test racer-object" - @echo " image-racer-dataplane-local Build the racer-dataplane container image" + @echo " image-racer-local Build the racer container image" @echo " image-racer-loadgen-local Build the loadgen container image" @echo " image-racer-object-local Build the racer-object container image" @echo "" @@ -573,7 +573,7 @@ racer-go-test: ## Lint and race-test the Go Racer API and workload packages timeout --signal=TERM --kill-after=10s 300s $(GOTEST) -timeout=5m -race ./api/racer/... ./internal/racer/... racer-rust-test: ## Test the Rust Racer workspace, including the embedded cluster control plane - timeout --signal=TERM --kill-after=10s 1500s cargo test --locked --manifest-path cmd/racer-dataplane/Cargo.toml --workspace + timeout --signal=TERM --kill-after=10s 1500s cargo test --locked --manifest-path cmd/racer/Cargo.toml --workspace racer-test: racer-go-test racer-rust-test ## Check Racer @@ -583,9 +583,9 @@ RACER_GPU_TESTS ?= require .PHONY: racer-gpu-test racer-gpu-test: ## Build the CUDA shim with kernels (needs nvcc) and run GPU hardware tests (needs a GPU) - RACER_GPU_REQUIRE_PTX=1 timeout --signal=TERM --kill-after=10s 600s sh images/racer-dataplane/build-native-cuda.sh cmd/racer-dataplane/gpu/native "$(RACER_GPU_NATIVE)/libracer_gpu_cuda.so.1" - LD_LIBRARY_PATH="$(RACER_GPU_NATIVE)$${LD_LIBRARY_PATH:+:$$LD_LIBRARY_PATH}" timeout --signal=TERM --kill-after=10s 300s cargo test --locked --manifest-path cmd/racer-dataplane/Cargo.toml -p racer-gpu --no-default-features --features native --lib ffi::tests::required_native_shim_loads_abi_and_symbols -- --exact --ignored - LD_LIBRARY_PATH="$(RACER_GPU_NATIVE)$${LD_LIBRARY_PATH:+:$$LD_LIBRARY_PATH}" RACER_GPU_TESTS=$(RACER_GPU_TESTS) timeout --signal=TERM --kill-after=10s 900s cargo test --locked --manifest-path cmd/racer-dataplane/Cargo.toml -p racer-gpu --no-default-features --features native --test hardware -- --nocapture --test-threads=1 + RACER_GPU_REQUIRE_PTX=1 timeout --signal=TERM --kill-after=10s 600s sh images/racer/build-native-cuda.sh cmd/racer/gpu/native "$(RACER_GPU_NATIVE)/libracer_gpu_cuda.so.1" + LD_LIBRARY_PATH="$(RACER_GPU_NATIVE)$${LD_LIBRARY_PATH:+:$$LD_LIBRARY_PATH}" timeout --signal=TERM --kill-after=10s 300s cargo test --locked --manifest-path cmd/racer/Cargo.toml -p racer-gpu --no-default-features --features native --lib ffi::tests::required_native_shim_loads_abi_and_symbols -- --exact --ignored + LD_LIBRARY_PATH="$(RACER_GPU_NATIVE)$${LD_LIBRARY_PATH:+:$$LD_LIBRARY_PATH}" RACER_GPU_TESTS=$(RACER_GPU_TESTS) timeout --signal=TERM --kill-after=10s 900s cargo test --locked --manifest-path cmd/racer/Cargo.toml -p racer-gpu --no-default-features --features native --test hardware -- --nocapture --test-threads=1 @if [ -n "$$RACER_GPU_E2E_SOCKET" ]; then \ test -x "$(RACER_PY_VENV)/bin/pytest" || { timeout --signal=TERM --kill-after=10s 120s python3 -m venv "$(RACER_PY_VENV)" && \ timeout --signal=TERM --kill-after=10s 300s "$(RACER_PY_VENV)/bin/pip" install -q pytest; }; \ @@ -615,7 +615,7 @@ RACER_SIM_TIMEOUT ?= 7200s .PHONY: racer-sim racer-sim: ## Run the Racer discrete-event simulator; pass options with ARGS='--nodes 50000 --seed 1' - timeout --signal=TERM --kill-after=10s $(RACER_SIM_TIMEOUT) cargo run --release --locked --manifest-path cmd/racer-dataplane/Cargo.toml -p racer-sim -- $(ARGS) + timeout --signal=TERM --kill-after=10s $(RACER_SIM_TIMEOUT) cargo run --release --locked --manifest-path cmd/racer/Cargo.toml -p racer-sim -- $(ARGS) $(SETUP_ENVTEST): @mkdir -p bin tmp/envtest-tools @@ -635,14 +635,14 @@ racer-envtest: ## Run real API-server tests for Racer APIs and operator restrict racer-generate: ## Generate Racer deepcopy and CRD artifacts timeout --signal=TERM --kill-after=10s 300s $(GOCMD) generate ./api/racer/v1alpha1 -RACER_DATAPLANE_IMAGE ?= $(CONTAINER_REGISTRY)/racer-dataplane:$(VERSION_TAG) +RACER_IMAGE ?= $(CONTAINER_REGISTRY)/racer:$(VERSION_TAG) -.PHONY: image-racer-dataplane-local -image-racer-dataplane-local: ## Build the racer-dataplane container image locally (single-arch) +.PHONY: image-racer-local +image-racer-local: ## Build the racer container image locally (single-arch) $(CONTAINER_ENGINE) build \ - -t racer-dataplane:$(VERSION_TAG) -t $(RACER_DATAPLANE_IMAGE) \ - -f ./images/racer-dataplane/Containerfile . - $(call trivy-maybe,$(RACER_DATAPLANE_IMAGE)) + -t racer:$(VERSION_TAG) -t $(RACER_IMAGE) \ + -f ./images/racer/Containerfile . + $(call trivy-maybe,$(RACER_IMAGE)) RACER_LOADGEN_BIN=bin/racer-loadgen RACER_LOADGEN_CMD=./cmd/racer-loadgen diff --git a/clients/python/racer/src/racer/_wire.py b/clients/python/racer/src/racer/_wire.py index 5fa513beba..655b3c8817 100644 --- a/clients/python/racer/src/racer/_wire.py +++ b/clients/python/racer/src/racer/_wire.py @@ -3,7 +3,7 @@ """Racer client socket wire format. This mirrors the Go SDK in pkg/racersdk/internal/wire/wire.go and the -dataplane in cmd/racer-dataplane/object-wire/src/client.rs. +dataplane in cmd/racer/object-wire/src/client.rs. """ from __future__ import annotations diff --git a/clients/python/racer/tests/test_wire_golden.py b/clients/python/racer/tests/test_wire_golden.py index 61ab779474..2890d44ba1 100644 --- a/clients/python/racer/tests/test_wire_golden.py +++ b/clients/python/racer/tests/test_wire_golden.py @@ -2,7 +2,7 @@ # SPDX-License-Identifier: Apache-2.0 """Golden bytes shared with the dataplane. -Sources: cmd/racer-dataplane/object-wire/src/client.rs (RequestParser::parse, +Sources: cmd/racer/object-wire/src/client.rs (RequestParser::parse, direct_head, frame) and object-wire/tests/direct.rs. """ diff --git a/cmd/racer-dataplane/.client-test-2179449-11/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179449-11/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179449-12/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179449-12/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179449-13/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179449-13/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179449-15/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179449-15/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179449-17/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179449-17/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179449-18/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179449-18/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179449-19/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179449-19/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179449-20/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179449-20/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179449-21/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179449-21/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179449-22/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179449-22/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179449-23/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179449-23/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179449-24/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179449-24/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179449-25/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179449-25/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179449-3/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179449-3/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179449-33/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179449-33/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179449-34/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179449-34/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179449-37/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179449-37/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179449-38/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179449-38/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179449-39/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179449-39/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179449-4/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179449-4/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179449-40/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179449-40/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179449-42/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179449-42/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179449-46/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179449-46/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179449-5/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179449-5/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179449-57/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179449-57/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179449-58/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179449-58/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179449-59/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179449-59/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179449-60/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179449-60/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179449-61/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179449-61/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179449-65/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179449-65/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179449-69/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179449-69/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179449-8/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179449-8/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179449-9/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179449-9/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-10/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-10/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-11/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-11/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-12/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-12/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-13/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-13/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-14/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-14/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-16/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-16/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-18/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-18/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-19/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-19/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-2/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-2/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-20/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-20/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-21/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-21/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-22/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-22/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-23/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-23/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-24/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-24/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-25/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-25/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-26/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-26/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-29/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-29/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-3/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-3/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-30/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-30/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-33/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-33/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-35/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-35/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-36/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-36/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-37/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-37/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-38/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-38/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-39/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-39/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-4/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-4/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-41/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-41/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-42/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-42/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-43/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-43/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-5/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-5/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-52/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-52/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-6/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-6/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-60/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-60/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-62/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-62/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-7/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-7/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-8/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-8/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2179709-9/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2179709-9/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2180946-10/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2180946-10/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2180946-11/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2180946-11/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2180946-14/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2180946-14/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2180946-17/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2180946-17/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2180946-18/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2180946-18/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2180946-19/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2180946-19/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2180946-20/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2180946-20/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2180946-21/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2180946-21/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2180946-22/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2180946-22/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2180946-25/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2180946-25/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2180946-26/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2180946-26/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2180946-28/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2180946-28/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2180946-29/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2180946-29/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2180946-3/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2180946-3/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2180946-33/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2180946-33/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2180946-36/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2180946-36/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2180946-38/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2180946-38/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2180946-39/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2180946-39/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2180946-4/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2180946-4/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2180946-42/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2180946-42/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2180946-47/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2180946-47/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2180946-57/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2180946-57/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2180946-58/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2180946-58/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2180946-61/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2180946-61/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2180946-62/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2180946-62/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2180946-63/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2180946-63/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2180946-67/added/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2180946-67/added/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2180946-67/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2180946-67/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2180946-68/blocked b/cmd/racer-dataplane/.client-test-2180946-68/blocked deleted file mode 100644 index 2a5e269186..0000000000 --- a/cmd/racer-dataplane/.client-test-2180946-68/blocked +++ /dev/null @@ -1 +0,0 @@ -foreign \ No newline at end of file diff --git a/cmd/racer-dataplane/.client-test-2180946-68/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2180946-68/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2180946-69/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2180946-69/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2180946-69/example/origin/socket b/cmd/racer-dataplane/.client-test-2180946-69/example/origin/socket deleted file mode 100644 index 6fa78783bf..0000000000 --- a/cmd/racer-dataplane/.client-test-2180946-69/example/origin/socket +++ /dev/null @@ -1 +0,0 @@ -origin \ No newline at end of file diff --git a/cmd/racer-dataplane/.client-test-2180946-70/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2180946-70/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2180946-71/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2180946-71/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2180946-75/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2180946-75/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2180946-8/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2180946-8/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2180946-9/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2180946-9/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181225-10/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181225-10/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181225-11/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181225-11/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181225-16/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181225-16/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181225-17/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181225-17/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181225-18/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181225-18/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181225-2/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181225-2/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181225-20/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181225-20/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181225-21/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181225-21/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181225-22/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181225-22/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181225-23/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181225-23/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181225-25/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181225-25/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181225-26/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181225-26/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181225-28/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181225-28/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181225-29/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181225-29/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181225-3/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181225-3/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181225-31/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181225-31/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181225-33/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181225-33/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181225-34/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181225-34/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181225-39/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181225-39/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181225-4/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181225-4/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181225-41/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181225-41/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181225-42/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181225-42/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181225-43/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181225-43/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181225-45/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181225-45/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181225-5/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181225-5/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181225-57/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181225-57/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181225-58/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181225-58/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181225-59/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181225-59/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181225-6/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181225-6/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181225-60/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181225-60/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181225-7/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181225-7/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181225-8/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181225-8/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181225-9/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181225-9/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-10/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-10/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-11/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-11/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-16/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-16/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-17/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-17/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-18/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-18/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-19/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-19/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-2/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-2/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-21/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-21/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-22/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-22/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-23/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-23/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-24/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-24/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-25/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-25/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-27/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-27/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-28/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-28/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-3/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-3/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-30/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-30/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-33/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-33/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-34/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-34/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-35/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-35/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-36/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-36/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-37/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-37/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-38/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-38/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-39/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-39/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-4/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-4/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-40/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-40/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-41/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-41/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-44/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-44/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-55/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-55/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-56/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-56/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-59/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-59/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-6/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-6/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-63/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-63/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-63/other/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-63/other/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-65/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-65/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-67/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-67/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-8/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-8/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2181449-9/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2181449-9/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2182990-10/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2182990-10/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2182990-13/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2182990-13/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2182990-14/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2182990-14/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2182990-16/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2182990-16/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2182990-17/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2182990-17/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2182990-18/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2182990-18/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2182990-19/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2182990-19/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2182990-2/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2182990-2/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2182990-21/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2182990-21/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2182990-22/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2182990-22/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2182990-23/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2182990-23/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2182990-24/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2182990-24/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2182990-25/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2182990-25/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2182990-26/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2182990-26/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2182990-28/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2182990-28/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2182990-29/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2182990-29/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2182990-3/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2182990-3/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2182990-33/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2182990-33/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2182990-34/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2182990-34/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2182990-35/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2182990-35/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2182990-36/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2182990-36/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2182990-38/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2182990-38/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2182990-39/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2182990-39/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2182990-4/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2182990-4/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2182990-40/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2182990-40/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2182990-41/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2182990-41/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2182990-43/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2182990-43/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2182990-47/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2182990-47/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2182990-5/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2182990-5/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2182990-8/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2182990-8/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2182990-9/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2182990-9/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2183207-10/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2183207-10/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2183207-11/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2183207-11/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2183207-12/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2183207-12/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2183207-14/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2183207-14/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2183207-16/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2183207-16/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2183207-17/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2183207-17/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2183207-18/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2183207-18/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2183207-19/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2183207-19/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2183207-2/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2183207-2/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2183207-20/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2183207-20/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2183207-23/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2183207-23/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2183207-24/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2183207-24/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2183207-25/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2183207-25/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2183207-26/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2183207-26/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2183207-28/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2183207-28/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2183207-3/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2183207-3/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2183207-33/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2183207-33/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2183207-34/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2183207-34/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2183207-35/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2183207-35/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2183207-38/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2183207-38/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2183207-39/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2183207-39/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2183207-4/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2183207-4/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2183207-41/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2183207-41/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2183207-42/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2183207-42/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2183207-5/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2183207-5/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2183207-6/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2183207-6/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2183207-60/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2183207-60/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2183207-62/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2183207-62/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2183207-7/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2183207-7/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2183207-8/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2183207-8/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2183207-9/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2183207-9/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184396-11/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184396-11/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184396-12/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184396-12/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184396-14/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184396-14/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184396-15/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184396-15/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184396-17/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184396-17/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184396-18/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184396-18/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184396-19/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184396-19/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184396-20/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184396-20/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184396-22/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184396-22/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184396-23/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184396-23/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184396-28/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184396-28/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184396-29/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184396-29/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184396-3/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184396-3/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184396-30/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184396-30/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184396-31/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184396-31/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184396-33/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184396-33/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184396-36/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184396-36/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184396-37/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184396-37/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184396-38/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184396-38/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184396-4/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184396-4/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184396-40/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184396-40/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184396-41/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184396-41/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184396-42/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184396-42/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184396-43/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184396-43/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184396-45/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184396-45/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184396-5/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184396-5/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184396-54/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184396-54/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184396-55/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184396-55/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184396-6/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184396-6/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184396-8/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184396-8/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184396-9/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184396-9/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184635-11/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184635-11/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184635-14/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184635-14/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184635-16/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184635-16/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184635-17/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184635-17/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184635-18/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184635-18/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184635-19/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184635-19/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184635-2/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184635-2/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184635-21/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184635-21/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184635-22/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184635-22/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184635-23/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184635-23/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184635-27/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184635-27/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184635-32/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184635-32/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184635-33/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184635-33/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184635-34/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184635-34/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184635-35/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184635-35/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184635-36/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184635-36/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184635-4/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184635-4/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184635-40/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184635-40/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184635-41/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184635-41/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184635-43/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184635-43/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184635-45/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184635-45/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184635-5/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184635-5/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184635-57/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184635-57/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184635-59/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184635-59/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184635-60/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184635-60/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184635-61/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184635-61/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184635-64/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184635-64/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2184635-68/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2184635-68/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2192245-102/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2192245-102/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2192245-105/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2192245-105/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2192245-14/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2192245-14/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2192245-15/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2192245-15/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2192245-16/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2192245-16/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2192245-19/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2192245-19/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2192245-20/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2192245-20/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2192245-22/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2192245-22/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2192245-24/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2192245-24/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2192245-3/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2192245-3/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2192245-36/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2192245-36/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2192245-37/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2192245-37/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2192245-38/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2192245-38/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2192245-41/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2192245-41/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2192245-46/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2192245-46/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2192245-47/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2192245-47/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2192245-48/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2192245-48/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2192245-5/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2192245-5/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2192245-51/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2192245-51/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2192245-54/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2192245-54/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2192245-58/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2192245-58/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2192245-61/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2192245-61/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2192245-63/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2192245-63/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2192245-65/added/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2192245-65/added/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2192245-65/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2192245-65/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2192245-67/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2192245-67/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2192245-67/example/origin/socket b/cmd/racer-dataplane/.client-test-2192245-67/example/origin/socket deleted file mode 100644 index 6fa78783bf..0000000000 --- a/cmd/racer-dataplane/.client-test-2192245-67/example/origin/socket +++ /dev/null @@ -1 +0,0 @@ -origin \ No newline at end of file diff --git a/cmd/racer-dataplane/.client-test-2192245-76/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2192245-76/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2192245-82/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2192245-82/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2192245-82/ready b/cmd/racer-dataplane/.client-test-2192245-82/ready deleted file mode 100644 index ad50b53407..0000000000 --- a/cmd/racer-dataplane/.client-test-2192245-82/ready +++ /dev/null @@ -1 +0,0 @@ -ready \ No newline at end of file diff --git a/cmd/racer-dataplane/.client-test-2192245-91/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2192245-91/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2192245-96/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2192245-96/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2192245-98/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2192245-98/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193402-16/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193402-16/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193402-17/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193402-17/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193402-18/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193402-18/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193402-19/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193402-19/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193402-21/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193402-21/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193402-25/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193402-25/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193402-3/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193402-3/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193402-39/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193402-39/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193402-4/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193402-4/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193402-42/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193402-42/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193402-43/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193402-43/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193402-57/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193402-57/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193402-60/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193402-60/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193402-62/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193402-62/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193402-65/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193402-65/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193402-66/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193402-66/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193402-67/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193402-67/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193402-69/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193402-69/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193402-71/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193402-71/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193402-72/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193402-72/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193402-72/other/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193402-72/other/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193402-73/added/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193402-73/added/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193402-73/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193402-73/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193402-74/blocked b/cmd/racer-dataplane/.client-test-2193402-74/blocked deleted file mode 100644 index 2a5e269186..0000000000 --- a/cmd/racer-dataplane/.client-test-2193402-74/blocked +++ /dev/null @@ -1 +0,0 @@ -foreign \ No newline at end of file diff --git a/cmd/racer-dataplane/.client-test-2193402-74/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193402-74/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193402-78/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193402-78/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193402-79/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193402-79/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193402-82/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193402-82/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193402-84/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193402-84/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193712-14/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193712-14/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193712-16/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193712-16/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193712-17/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193712-17/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193712-18/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193712-18/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193712-19/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193712-19/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193712-21/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193712-21/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193712-22/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193712-22/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193712-23/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193712-23/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193712-27/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193712-27/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193712-28/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193712-28/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193712-3/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193712-3/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193712-30/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193712-30/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193712-38/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193712-38/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193712-41/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193712-41/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193712-42/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193712-42/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193712-43/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193712-43/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193712-44/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193712-44/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193712-45/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193712-45/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193712-49/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193712-49/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193712-54/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193712-54/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193712-57/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193712-57/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193712-6/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193712-6/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193712-60/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193712-60/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193712-63/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193712-63/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193712-65/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193712-65/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193712-67/blocked b/cmd/racer-dataplane/.client-test-2193712-67/blocked deleted file mode 100644 index 2a5e269186..0000000000 --- a/cmd/racer-dataplane/.client-test-2193712-67/blocked +++ /dev/null @@ -1 +0,0 @@ -foreign \ No newline at end of file diff --git a/cmd/racer-dataplane/.client-test-2193712-67/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193712-67/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193712-68/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193712-68/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193712-69/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193712-69/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193712-70/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193712-70/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193981-14/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193981-14/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193981-17/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193981-17/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193981-18/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193981-18/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193981-19/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193981-19/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193981-21/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193981-21/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193981-3/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193981-3/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193981-37/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193981-37/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193981-44/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193981-44/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193981-54/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193981-54/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193981-55/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193981-55/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193981-73/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193981-73/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193981-80/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193981-80/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193981-81/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193981-81/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193981-81/ready b/cmd/racer-dataplane/.client-test-2193981-81/ready deleted file mode 100644 index ad50b53407..0000000000 --- a/cmd/racer-dataplane/.client-test-2193981-81/ready +++ /dev/null @@ -1 +0,0 @@ -ready \ No newline at end of file diff --git a/cmd/racer-dataplane/.client-test-2193981-82/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193981-82/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193981-83/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193981-83/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2193981-86/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2193981-86/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194305-10/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194305-10/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194305-11/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194305-11/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194305-12/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194305-12/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194305-14/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194305-14/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194305-15/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194305-15/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194305-16/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194305-16/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194305-17/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194305-17/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194305-19/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194305-19/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194305-20/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194305-20/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194305-22/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194305-22/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194305-23/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194305-23/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194305-28/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194305-28/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194305-3/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194305-3/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194305-31/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194305-31/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194305-34/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194305-34/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194305-35/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194305-35/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194305-36/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194305-36/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194305-38/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194305-38/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194305-4/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194305-4/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194305-40/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194305-40/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194305-41/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194305-41/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194305-45/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194305-45/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194305-5/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194305-5/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194305-7/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194305-7/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194305-8/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194305-8/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-10/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-10/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-12/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-12/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-13/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-13/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-14/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-14/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-16/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-16/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-17/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-17/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-18/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-18/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-19/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-19/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-20/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-20/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-21/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-21/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-23/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-23/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-26/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-26/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-27/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-27/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-28/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-28/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-29/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-29/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-3/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-3/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-31/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-31/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-33/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-33/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-34/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-34/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-35/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-35/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-37/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-37/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-4/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-4/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-41/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-41/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-42/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-42/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-43/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-43/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-45/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-45/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-57/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-57/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-58/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-58/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-59/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-59/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-61/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-61/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-64/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-64/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-65/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-65/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-66/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-66/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-66/other/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-66/other/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-67/added/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-67/added/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-67/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-67/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-69/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-69/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-8/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-8/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194507-9/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194507-9/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194756-100/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194756-100/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194756-102/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194756-102/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194756-14/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194756-14/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194756-17/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194756-17/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194756-18/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194756-18/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194756-19/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194756-19/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194756-20/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194756-20/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194756-3/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194756-3/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194756-31/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194756-31/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194756-33/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194756-33/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194756-34/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194756-34/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194756-35/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194756-35/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194756-38/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194756-38/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194756-41/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194756-41/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194756-42/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194756-42/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194756-59/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194756-59/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194756-60/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194756-60/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194756-62/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194756-62/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194756-66/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194756-66/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194756-68/added/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194756-68/added/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194756-83/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194756-83/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194756-83/ready b/cmd/racer-dataplane/.client-test-2194756-83/ready deleted file mode 100644 index ad50b53407..0000000000 --- a/cmd/racer-dataplane/.client-test-2194756-83/ready +++ /dev/null @@ -1 +0,0 @@ -ready \ No newline at end of file diff --git a/cmd/racer-dataplane/.client-test-2194756-85/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194756-85/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194756-94/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194756-94/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2194756-97/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2194756-97/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195107-14/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195107-14/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195107-17/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195107-17/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195107-18/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195107-18/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195107-19/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195107-19/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195107-21/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195107-21/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195107-25/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195107-25/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195107-26/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195107-26/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195107-27/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195107-27/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195107-28/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195107-28/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195107-29/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195107-29/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195107-3/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195107-3/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195107-30/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195107-30/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195107-33/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195107-33/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195107-35/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195107-35/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195107-36/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195107-36/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195107-38/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195107-38/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195107-4/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195107-4/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195107-42/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195107-42/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195107-45/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195107-45/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195107-5/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195107-5/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195107-59/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195107-59/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195107-61/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195107-61/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195107-63/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195107-63/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195107-64/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195107-64/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195107-66/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195107-66/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195107-67/added/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195107-67/added/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195107-67/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195107-67/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195107-68/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195107-68/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195107-68/other/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195107-68/other/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195107-70/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195107-70/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195107-71/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195107-71/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195107-71/example/origin/socket b/cmd/racer-dataplane/.client-test-2195107-71/example/origin/socket deleted file mode 100644 index 6fa78783bf..0000000000 --- a/cmd/racer-dataplane/.client-test-2195107-71/example/origin/socket +++ /dev/null @@ -1 +0,0 @@ -origin \ No newline at end of file diff --git a/cmd/racer-dataplane/.client-test-2195107-80/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195107-80/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195107-82/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195107-82/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195404-100/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195404-100/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195404-102/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195404-102/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195404-104/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195404-104/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195404-13/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195404-13/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195404-16/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195404-16/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195404-17/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195404-17/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195404-19/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195404-19/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195404-21/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195404-21/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195404-3/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195404-3/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195404-33/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195404-33/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195404-46/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195404-46/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195404-54/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195404-54/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195404-58/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195404-58/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195404-79/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195404-79/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195404-79/ready b/cmd/racer-dataplane/.client-test-2195404-79/ready deleted file mode 100644 index ad50b53407..0000000000 --- a/cmd/racer-dataplane/.client-test-2195404-79/ready +++ /dev/null @@ -1 +0,0 @@ -ready \ No newline at end of file diff --git a/cmd/racer-dataplane/.client-test-2195404-80/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195404-80/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195404-83/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195404-83/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195404-87/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195404-87/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195404-93/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195404-93/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195404-95/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195404-95/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-dataplane/.client-test-2195404-97/example/client/.racer-client.lock b/cmd/racer-dataplane/.client-test-2195404-97/example/client/.racer-client.lock deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cmd/racer-loadgen/README.md b/cmd/racer-loadgen/README.md index 5fbbe1f0c4..26452acc34 100644 --- a/cmd/racer-loadgen/README.md +++ b/cmd/racer-loadgen/README.md @@ -145,7 +145,7 @@ registers cleanup with the test. These tests are not evidence of real Racer compatibility or performance. Use a dedicated cache, not a cache whose origin socket Gantry already owns. The -racer-dataplane creates the origin directory owned by UID/GID 65532 with mode +racer creates the origin directory owned by UID/GID 65532 with mode `0700`, and the loadgen image runs as that user. Loadgen creates no directories and changes no permissions: it fails at startup if the origin directory is missing, is not owned by its effective UID, or is group/world writable. The SDK provides exclusive ownership, stale-socket diff --git a/cmd/racer-loadgen/container_test.go b/cmd/racer-loadgen/container_test.go index 34e523a9fa..0c4b4f0b13 100644 --- a/cmd/racer-loadgen/container_test.go +++ b/cmd/racer-loadgen/container_test.go @@ -32,5 +32,5 @@ func TestContainerRuntimeUserSupportsUDS(t *testing.T) { } require.Equal(t, "scratch", base) - require.Equal(t, "65532:65532", user, "the UDS origin must run as the owner racer-dataplane assigns to /run/racer//origin") + require.Equal(t, "65532:65532", user, "the UDS origin must run as the owner racer assigns to /run/racer//origin") } diff --git a/cmd/racer-loadgen/origin_uds.go b/cmd/racer-loadgen/origin_uds.go index 1a506a4771..7ac35c9f10 100644 --- a/cmd/racer-loadgen/origin_uds.go +++ b/cmd/racer-loadgen/origin_uds.go @@ -142,9 +142,9 @@ func (b *originBlobBody) Close() error { return nil } -// originUID is the UID/GID the loadgen origin runs as. The racer-dataplane +// originUID is the UID/GID the loadgen origin runs as. The racer // creates /run/racer//origin owned by this user with mode 0700 -// (ORIGIN_UID in cmd/racer-dataplane/src/client/origin_directory.rs). +// (ORIGIN_UID in cmd/racer/src/client/origin_directory.rs). const originUID = 65532 // checkOriginDirectory creates nothing and changes nothing. It refuses @@ -161,7 +161,7 @@ func checkOriginDirectory(root, cache string) error { info, err := os.Lstat(path) if errors.Is(err, os.ErrNotExist) { - return fmt.Errorf("origin directory %s does not exist: racer-dataplane creates it owned by UID/GID %d "+ + return fmt.Errorf("origin directory %s does not exist: racer creates it owned by UID/GID %d "+ "with mode 0700; run the origin as UID %d and mount that directory", path, originUID, originUID) } diff --git a/cmd/racer-loadgen/performance/Cargo.toml b/cmd/racer-loadgen/performance/Cargo.toml index 4cf7b65b9f..b3fc66edd5 100644 --- a/cmd/racer-loadgen/performance/Cargo.toml +++ b/cmd/racer-loadgen/performance/Cargo.toml @@ -9,7 +9,7 @@ name = "racer-performance-control" path = "control.rs" [dependencies] -racer-control-wire = { path = "../../racer-dataplane/control-wire" } +racer-control-wire = { path = "../../racer/control-wire" } base64 = "0.22" getrandom = "0.2" rcgen = { version = "0.13", features = ["pem", "x509-parser"] } diff --git a/cmd/racer-loadgen/performance/run.sh b/cmd/racer-loadgen/performance/run.sh index ad501ff7f8..cf7af9287e 100644 --- a/cmd/racer-loadgen/performance/run.sh +++ b/cmd/racer-loadgen/performance/run.sh @@ -17,13 +17,13 @@ case "${1:-}" in export TMPDIR="${TMPDIR:-$out/tmp}" export CARGO_TARGET_DIR="$out/cargo" mkdir -p "$GOCACHE" "$GOMODCACHE" "$GOTMPDIR" "$TMPDIR" - cargo build --locked --release -j 2 --manifest-path "$root/cmd/racer-dataplane/Cargo.toml" --bin racer-dataplane + cargo build --locked --release -j 2 --manifest-path "$root/cmd/racer/Cargo.toml" --bin racer cargo build --locked --release -j 2 --manifest-path "$root/cmd/racer-loadgen/performance/Cargo.toml" "${GOCMD:-go}" test -c -o "$out/loadgen.test" ./cmd/racer-loadgen { "${GOCMD:-go}" version rustc --version - sha256sum "$out/loadgen.test" "$out/cargo/release/racer-dataplane" + sha256sum "$out/loadgen.test" "$out/cargo/release/racer" } >"$out/build-info.txt" ;; run) @@ -42,7 +42,7 @@ case "${1:-}" in chmod -R go-w "$run/runtime" mount --make-rprivate / mount --bind "$run/runtime" /run - export RACER_PERF_ROOT="$run" RACER_PERF_BIN="$out/cargo/release/racer-dataplane" + export RACER_PERF_ROOT="$run" RACER_PERF_BIN="$out/cargo/release/racer" export RACER_PERF_CONTROL="$out/cargo/release/racer-performance-control" export RACER_PERF_CONCURRENCY="${3:-32}" GOMAXPROCS=8 TMPDIR="$run" export RACER_PERF_START_SPACING="${4:-0s}" diff --git a/cmd/racer-object/main.go b/cmd/racer-object/main.go index 9195083ae9..cd2ae67d9f 100644 --- a/cmd/racer-object/main.go +++ b/cmd/racer-object/main.go @@ -389,7 +389,7 @@ func runOrigin(ctx context.Context, o options) error { defer closeResource(root) if err := checkOriginDirectory(root, []string{"run", "racer", o.cache, "origin"}); err != nil { - return fmt.Errorf("unsafe or missing origin directory /run/racer/%s/origin (racer-dataplane creates it "+ + return fmt.Errorf("unsafe or missing origin directory /run/racer/%s/origin (racer creates it "+ "owned by UID/GID %d with mode 0700; run the origin as UID %d and mount that directory): %w", o.cache, originUID, originUID, err) } @@ -408,9 +408,9 @@ func runOrigin(ctx context.Context, o options) error { return nil } -// originUID is the UID/GID origins run as. The racer-dataplane creates +// originUID is the UID/GID origins run as. The racer creates // /run/racer//origin owned by this user with mode 0700 -// (ORIGIN_UID in cmd/racer-dataplane/src/client/origin_directory.rs). +// (ORIGIN_UID in cmd/racer/src/client/origin_directory.rs). const originUID = 65532 // errOriginDirectoryMissing reports that the dataplane has not created the diff --git a/cmd/racer-dataplane/.gitignore b/cmd/racer/.gitignore similarity index 100% rename from cmd/racer-dataplane/.gitignore rename to cmd/racer/.gitignore diff --git a/cmd/racer-dataplane/Cargo.lock b/cmd/racer/Cargo.lock similarity index 99% rename from cmd/racer-dataplane/Cargo.lock rename to cmd/racer/Cargo.lock index 4637485448..16b73e17bc 100644 --- a/cmd/racer-dataplane/Cargo.lock +++ b/cmd/racer/Cargo.lock @@ -897,7 +897,7 @@ dependencies = [ ] [[package]] -name = "racer-dataplane" +name = "racer" version = "0.1.0" dependencies = [ "base64", diff --git a/cmd/racer-dataplane/Cargo.toml b/cmd/racer/Cargo.toml similarity index 98% rename from cmd/racer-dataplane/Cargo.toml rename to cmd/racer/Cargo.toml index f5082c97ab..d0b56f3737 100644 --- a/cmd/racer-dataplane/Cargo.toml +++ b/cmd/racer/Cargo.toml @@ -3,7 +3,7 @@ members = [".", "runtime", "alloc", "crypto", "verbs", "gpu", "http", "topology" resolver = "3" [package] -name = "racer-dataplane" +name = "racer" version = "0.1.0" edition = "2024" license = "Apache-2.0" @@ -73,7 +73,7 @@ uring-runtime = { path = "runtime", features = ["simulation", "test-util"] } # Keep source locations and inline frames for Parca. # -# The hot path crosses crate boundaries on every operation (racer-dataplane -> +# The hot path crosses crate boundaries on every operation (racer -> # uring-runtime -> flow-control -> page-alloc -> http1), so cross-crate inlining # is load bearing. `panic = "abort"` is deliberately absent: `catch_unwind` is # relied upon by the worker group and the reactor completion loop. diff --git a/cmd/racer-dataplane/README.md b/cmd/racer/README.md similarity index 100% rename from cmd/racer-dataplane/README.md rename to cmd/racer/README.md diff --git a/cmd/racer-dataplane/admission/Cargo.toml b/cmd/racer/admission/Cargo.toml similarity index 100% rename from cmd/racer-dataplane/admission/Cargo.toml rename to cmd/racer/admission/Cargo.toml diff --git a/cmd/racer-dataplane/admission/src/lib.rs b/cmd/racer/admission/src/lib.rs similarity index 100% rename from cmd/racer-dataplane/admission/src/lib.rs rename to cmd/racer/admission/src/lib.rs diff --git a/cmd/racer-dataplane/admission/src/mutate.rs b/cmd/racer/admission/src/mutate.rs similarity index 100% rename from cmd/racer-dataplane/admission/src/mutate.rs rename to cmd/racer/admission/src/mutate.rs diff --git a/cmd/racer-dataplane/admission/src/quantity.rs b/cmd/racer/admission/src/quantity.rs similarity index 100% rename from cmd/racer-dataplane/admission/src/quantity.rs rename to cmd/racer/admission/src/quantity.rs diff --git a/cmd/racer-dataplane/admission/src/strict.rs b/cmd/racer/admission/src/strict.rs similarity index 100% rename from cmd/racer-dataplane/admission/src/strict.rs rename to cmd/racer/admission/src/strict.rs diff --git a/cmd/racer-dataplane/admission/src/tests.rs b/cmd/racer/admission/src/tests.rs similarity index 100% rename from cmd/racer-dataplane/admission/src/tests.rs rename to cmd/racer/admission/src/tests.rs diff --git a/cmd/racer-dataplane/alloc/.gitignore b/cmd/racer/alloc/.gitignore similarity index 100% rename from cmd/racer-dataplane/alloc/.gitignore rename to cmd/racer/alloc/.gitignore diff --git a/cmd/racer-dataplane/alloc/Cargo.toml b/cmd/racer/alloc/Cargo.toml similarity index 100% rename from cmd/racer-dataplane/alloc/Cargo.toml rename to cmd/racer/alloc/Cargo.toml diff --git a/cmd/racer-dataplane/alloc/src/demand.rs b/cmd/racer/alloc/src/demand.rs similarity index 100% rename from cmd/racer-dataplane/alloc/src/demand.rs rename to cmd/racer/alloc/src/demand.rs diff --git a/cmd/racer-dataplane/alloc/src/index.rs b/cmd/racer/alloc/src/index.rs similarity index 100% rename from cmd/racer-dataplane/alloc/src/index.rs rename to cmd/racer/alloc/src/index.rs diff --git a/cmd/racer-dataplane/alloc/src/lib.rs b/cmd/racer/alloc/src/lib.rs similarity index 100% rename from cmd/racer-dataplane/alloc/src/lib.rs rename to cmd/racer/alloc/src/lib.rs diff --git a/cmd/racer-dataplane/alloc/src/retention.rs b/cmd/racer/alloc/src/retention.rs similarity index 100% rename from cmd/racer-dataplane/alloc/src/retention.rs rename to cmd/racer/alloc/src/retention.rs diff --git a/cmd/racer-dataplane/alloc/src/segments.rs b/cmd/racer/alloc/src/segments.rs similarity index 100% rename from cmd/racer-dataplane/alloc/src/segments.rs rename to cmd/racer/alloc/src/segments.rs diff --git a/cmd/racer-dataplane/alloc/src/slab.rs b/cmd/racer/alloc/src/slab.rs similarity index 100% rename from cmd/racer-dataplane/alloc/src/slab.rs rename to cmd/racer/alloc/src/slab.rs diff --git a/cmd/racer-dataplane/alloc/tests/dst.rs b/cmd/racer/alloc/tests/dst.rs similarity index 100% rename from cmd/racer-dataplane/alloc/tests/dst.rs rename to cmd/racer/alloc/tests/dst.rs diff --git a/cmd/racer-dataplane/alloc/tests/workflows.rs b/cmd/racer/alloc/tests/workflows.rs similarity index 100% rename from cmd/racer-dataplane/alloc/tests/workflows.rs rename to cmd/racer/alloc/tests/workflows.rs diff --git a/cmd/racer-dataplane/cluster-control/Cargo.toml b/cmd/racer/cluster-control/Cargo.toml similarity index 88% rename from cmd/racer-dataplane/cluster-control/Cargo.toml rename to cmd/racer/cluster-control/Cargo.toml index b4bbe5dbee..b7813fe400 100644 --- a/cmd/racer-dataplane/cluster-control/Cargo.toml +++ b/cmd/racer/cluster-control/Cargo.toml @@ -4,7 +4,7 @@ version = "0.1.0" edition = "2024" license = "Apache-2.0" publish = false -description = "Racer control plane embedded in racer-dataplane: Lease seats, primary, and control API" +description = "Racer control plane embedded in racer: Lease seats, primary, and control API" [dependencies] racer-control-wire = { path = "../control-wire" } diff --git a/cmd/racer-dataplane/cluster-control/src/annotations.rs b/cmd/racer/cluster-control/src/annotations.rs similarity index 100% rename from cmd/racer-dataplane/cluster-control/src/annotations.rs rename to cmd/racer/cluster-control/src/annotations.rs diff --git a/cmd/racer-dataplane/cluster-control/src/auth.rs b/cmd/racer/cluster-control/src/auth.rs similarity index 97% rename from cmd/racer-dataplane/cluster-control/src/auth.rs rename to cmd/racer/cluster-control/src/auth.rs index 5b5d55ef89..b2c648a1ab 100644 --- a/cmd/racer-dataplane/cluster-control/src/auth.rs +++ b/cmd/racer/cluster-control/src/auth.rs @@ -416,11 +416,11 @@ pub(crate) mod tests { let ns = "racer-system"; let seed = |pod_uid: &str, ds_uid: &str, sa_uid: &str, node_uid: &str| { api.put_object( - &paths::daemonset(ns, "racer-dataplane"), + &paths::daemonset(ns, "racer"), json!({"metadata":{"uid":ds_uid}}), ); api.put_object( - &paths::service_account(ns, "racer-dataplane"), + &paths::service_account(ns, "racer"), json!({"metadata":{"uid":sa_uid}}), ); api.put_object( @@ -429,12 +429,12 @@ pub(crate) mod tests { ); api.put_object(&paths::pod(ns, "p"), json!({ "metadata":{"name":"p","namespace":ns,"uid":pod_uid, - "ownerReferences":[{"apiVersion":"apps/v1","kind":"DaemonSet","name":"racer-dataplane","uid":"ds","controller":true}]}, - "spec":{"nodeName":"n","serviceAccountName":"racer-dataplane"}, + "ownerReferences":[{"apiVersion":"apps/v1","kind":"DaemonSet","name":"racer","uid":"ds","controller":true}]}, + "spec":{"nodeName":"n","serviceAccountName":"racer"}, "status":{"phase":"Running","podIP":"10.0.0.1"}})); }; api.on_post(|_, _| { - let mut s = review_status("system:serviceaccount:racer-system:racer-dataplane"); + let mut s = review_status("system:serviceaccount:racer-system:racer"); s["user"]["uid"] = "sa".into(); s["user"]["extra"]["authentication.kubernetes.io/node-uid"] = json!(["11111111-1111-4111-8111-111111111111"]); @@ -488,16 +488,16 @@ pub(crate) mod tests { let pod = |uid: &str| { json!({ "metadata":{"name":"p","namespace":ns,"uid":uid, - "ownerReferences":[{"apiVersion":"apps/v1","kind":"DaemonSet","name":"racer-dataplane","uid":"ds","controller":true}]}, - "spec":{"nodeName":"n","serviceAccountName":"racer-dataplane"}, + "ownerReferences":[{"apiVersion":"apps/v1","kind":"DaemonSet","name":"racer","uid":"ds","controller":true}]}, + "spec":{"nodeName":"n","serviceAccountName":"racer"}, "status":{"phase":"Running","podIP":"10.0.0.1"}}) }; api.put_object( - &paths::daemonset(ns, "racer-dataplane"), + &paths::daemonset(ns, "racer"), json!({"metadata":{"uid":"ds"}}), ); api.put_object( - &paths::service_account(ns, "racer-dataplane"), + &paths::service_account(ns, "racer"), json!({"metadata":{"uid":"sa"}}), ); api.put_object( @@ -508,7 +508,7 @@ pub(crate) mod tests { let authenticated = std::rc::Rc::new(std::cell::Cell::new(true)); let a = authenticated.clone(); api.on_post(move |_, _| { - let mut s = review_status("system:serviceaccount:racer-system:racer-dataplane"); + let mut s = review_status("system:serviceaccount:racer-system:racer"); s["user"]["uid"] = "sa".into(); s["user"]["extra"]["authentication.kubernetes.io/node-uid"] = json!([node]); s["authenticated"] = a.get().into(); @@ -587,7 +587,7 @@ pub(crate) mod tests { api.on_post(|_, _| { Some(( 201, - json!({"status": review_status("system:serviceaccount:racer-system:racer-dataplane")}), + json!({"status": review_status("system:serviceaccount:racer-system:racer")}), )) }); let header = format!("Bearer {}", jwt(1000)); diff --git a/cmd/racer-dataplane/cluster-control/src/authority/catalog.rs b/cmd/racer/cluster-control/src/authority/catalog.rs similarity index 100% rename from cmd/racer-dataplane/cluster-control/src/authority/catalog.rs rename to cmd/racer/cluster-control/src/authority/catalog.rs diff --git a/cmd/racer-dataplane/cluster-control/src/authority/election.rs b/cmd/racer/cluster-control/src/authority/election.rs similarity index 100% rename from cmd/racer-dataplane/cluster-control/src/authority/election.rs rename to cmd/racer/cluster-control/src/authority/election.rs diff --git a/cmd/racer-dataplane/cluster-control/src/authority/keyring.rs b/cmd/racer/cluster-control/src/authority/keyring.rs similarity index 100% rename from cmd/racer-dataplane/cluster-control/src/authority/keyring.rs rename to cmd/racer/cluster-control/src/authority/keyring.rs diff --git a/cmd/racer-dataplane/cluster-control/src/authority/members.rs b/cmd/racer/cluster-control/src/authority/members.rs similarity index 99% rename from cmd/racer-dataplane/cluster-control/src/authority/members.rs rename to cmd/racer/cluster-control/src/authority/members.rs index aa1c1fb468..15d3f17232 100644 --- a/cmd/racer-dataplane/cluster-control/src/authority/members.rs +++ b/cmd/racer/cluster-control/src/authority/members.rs @@ -493,9 +493,9 @@ mod tests { fn own() -> Ownership { Ownership { namespace: "ns".into(), - daemonset: "racer-dataplane".into(), + daemonset: "racer".into(), uid: DS.into(), - service_account: "racer-dataplane".into(), + service_account: "racer".into(), } } @@ -516,11 +516,11 @@ mod tests { pod_ip: ip.into(), phase: "Running".into(), creation: created.into(), - service_account: "racer-dataplane".into(), + service_account: "racer".into(), owner: Some(Owner { api_version: "apps/v1".into(), kind: "DaemonSet".into(), - name: "racer-dataplane".into(), + name: "racer".into(), uid: DS.into(), }), ..Default::default() @@ -697,8 +697,8 @@ mod tests { fn json_parsing() { let v = serde_json::json!({ "metadata": {"name":"p","namespace":"ns","uid":"u","creationTimestamp":"t", - "ownerReferences":[{"apiVersion":"apps/v1","kind":"DaemonSet","name":"racer-dataplane","uid":DS,"controller":true}]}, - "spec": {"nodeName":"n1","serviceAccountName":"racer-dataplane"}, + "ownerReferences":[{"apiVersion":"apps/v1","kind":"DaemonSet","name":"racer","uid":DS,"controller":true}]}, + "spec": {"nodeName":"n1","serviceAccountName":"racer"}, "status": {"podIP":"10.1.1.1","phase":"Running"} }); let p = PodInfo::from_json(&v); diff --git a/cmd/racer-dataplane/cluster-control/src/authority/mod.rs b/cmd/racer/cluster-control/src/authority/mod.rs similarity index 100% rename from cmd/racer-dataplane/cluster-control/src/authority/mod.rs rename to cmd/racer/cluster-control/src/authority/mod.rs diff --git a/cmd/racer-dataplane/cluster-control/src/authority/publication.rs b/cmd/racer/cluster-control/src/authority/publication.rs similarity index 100% rename from cmd/racer-dataplane/cluster-control/src/authority/publication.rs rename to cmd/racer/cluster-control/src/authority/publication.rs diff --git a/cmd/racer-dataplane/cluster-control/src/authority/rails.rs b/cmd/racer/cluster-control/src/authority/rails.rs similarity index 100% rename from cmd/racer-dataplane/cluster-control/src/authority/rails.rs rename to cmd/racer/cluster-control/src/authority/rails.rs diff --git a/cmd/racer-dataplane/cluster-control/src/authority/state.rs b/cmd/racer/cluster-control/src/authority/state.rs similarity index 100% rename from cmd/racer-dataplane/cluster-control/src/authority/state.rs rename to cmd/racer/cluster-control/src/authority/state.rs diff --git a/cmd/racer-dataplane/cluster-control/src/config.rs b/cmd/racer/cluster-control/src/config.rs similarity index 98% rename from cmd/racer-dataplane/cluster-control/src/config.rs rename to cmd/racer/cluster-control/src/config.rs index 8fb039379f..66f015d83d 100644 --- a/cmd/racer-dataplane/cluster-control/src/config.rs +++ b/cmd/racer/cluster-control/src/config.rs @@ -204,10 +204,10 @@ impl Config { .map_or_else(|| "/var/run/racer-token/token".into(), Into::into), daemonset: get("RACER_DAEMONSET") .filter(|v| !v.is_empty()) - .unwrap_or_else(|| "racer-dataplane".into()), + .unwrap_or_else(|| "racer".into()), service_account: get("RACER_SERVICE_ACCOUNT") .filter(|v| !v.is_empty()) - .unwrap_or_else(|| "racer-dataplane".into()), + .unwrap_or_else(|| "racer".into()), peer_port, rotation: Rotation::default(), }; @@ -246,7 +246,7 @@ mod tests { fn env(extra: &[(&str, &str)]) -> HashMap { let mut m: HashMap = [ ("RACER_NAMESPACE", "racer-system"), - ("RACER_POD_NAME", "racer-dataplane-abc"), + ("RACER_POD_NAME", "racer-abc"), ("RACER_POD_UID", "11111111-1111-4111-8111-111111111111"), ("RACER_NODE_NAME", "node-a"), ("RACER_POD_IP", "10.0.0.5"), diff --git a/cmd/racer-dataplane/cluster-control/src/control.rs b/cmd/racer/cluster-control/src/control.rs similarity index 100% rename from cmd/racer-dataplane/cluster-control/src/control.rs rename to cmd/racer/cluster-control/src/control.rs diff --git a/cmd/racer-dataplane/cluster-control/src/entropy.rs b/cmd/racer/cluster-control/src/entropy.rs similarity index 100% rename from cmd/racer-dataplane/cluster-control/src/entropy.rs rename to cmd/racer/cluster-control/src/entropy.rs diff --git a/cmd/racer-dataplane/cluster-control/src/exec.rs b/cmd/racer/cluster-control/src/exec.rs similarity index 100% rename from cmd/racer-dataplane/cluster-control/src/exec.rs rename to cmd/racer/cluster-control/src/exec.rs diff --git a/cmd/racer-dataplane/cluster-control/src/http.rs b/cmd/racer/cluster-control/src/http.rs similarity index 100% rename from cmd/racer-dataplane/cluster-control/src/http.rs rename to cmd/racer/cluster-control/src/http.rs diff --git a/cmd/racer-dataplane/cluster-control/src/kube/fake.rs b/cmd/racer/cluster-control/src/kube/fake.rs similarity index 100% rename from cmd/racer-dataplane/cluster-control/src/kube/fake.rs rename to cmd/racer/cluster-control/src/kube/fake.rs diff --git a/cmd/racer-dataplane/cluster-control/src/kube/mod.rs b/cmd/racer/cluster-control/src/kube/mod.rs similarity index 100% rename from cmd/racer-dataplane/cluster-control/src/kube/mod.rs rename to cmd/racer/cluster-control/src/kube/mod.rs diff --git a/cmd/racer-dataplane/cluster-control/src/lease.rs b/cmd/racer/cluster-control/src/lease.rs similarity index 100% rename from cmd/racer-dataplane/cluster-control/src/lease.rs rename to cmd/racer/cluster-control/src/lease.rs diff --git a/cmd/racer-dataplane/cluster-control/src/lib.rs b/cmd/racer/cluster-control/src/lib.rs similarity index 97% rename from cmd/racer-dataplane/cluster-control/src/lib.rs rename to cmd/racer/cluster-control/src/lib.rs index 7d22720574..e937cf30eb 100644 --- a/cmd/racer-dataplane/cluster-control/src/lib.rs +++ b/cmd/racer/cluster-control/src/lib.rs @@ -1,4 +1,4 @@ -//! Racer control plane that runs inside every racer-dataplane Pod. +//! Racer control plane that runs inside every racer Pod. //! //! There is no separate controller Deployment. Each dataplane Pod starts this //! runtime before dataplane enrollment. Pods compete for a small number of diff --git a/cmd/racer-dataplane/cluster-control/src/limits.rs b/cmd/racer/cluster-control/src/limits.rs similarity index 100% rename from cmd/racer-dataplane/cluster-control/src/limits.rs rename to cmd/racer/cluster-control/src/limits.rs diff --git a/cmd/racer-dataplane/cluster-control/src/pki.rs b/cmd/racer/cluster-control/src/pki.rs similarity index 100% rename from cmd/racer-dataplane/cluster-control/src/pki.rs rename to cmd/racer/cluster-control/src/pki.rs diff --git a/cmd/racer-dataplane/cluster-control/src/primary.rs b/cmd/racer/cluster-control/src/primary.rs similarity index 99% rename from cmd/racer-dataplane/cluster-control/src/primary.rs rename to cmd/racer/cluster-control/src/primary.rs index 07dcc1dcf4..e949222dfd 100644 --- a/cmd/racer-dataplane/cluster-control/src/primary.rs +++ b/cmd/racer/cluster-control/src/primary.rs @@ -937,7 +937,7 @@ mod tests { api.put_object(&mwc, json!({"metadata":{"name":"racer-object-sidecar-injector"},"webhooks":[{"name":"a.racer","clientConfig":{"service":{"name":"racer-webhook"}}}]})); api.put_object(&slice, json!({"metadata":{"name":"racer-webhook"},"addressType":"IPv4","ports":[{"port":9443}],"endpoints":[]})); let seat = |n: u8, ip: &str| WebhookSeat { - pod: format!("racer-dataplane-{n}"), + pod: format!("racer-{n}"), uid: format!("u{n}"), ips: vec![ip.parse().unwrap()], ca: crate::authority::keyring::tests::root(1), @@ -965,7 +965,7 @@ mod tests { assert!(bundle(&api).contains(&a.ca)); let eps = api.object(&slice).unwrap()["endpoints"].clone(); assert_eq!(eps.as_array().unwrap().len(), 1, "other family skipped"); - assert_eq!(eps[0]["targetRef"]["name"], "racer-dataplane-1"); + assert_eq!(eps[0]["targetRef"]["name"], "racer-1"); assert_eq!(api.object(&slice).unwrap()["ports"][0]["port"], 9443); // Replace seat a with b. Order: add b trust, swap endpoints, drop a trust. @@ -1024,7 +1024,7 @@ mod tests { {"name":"b.racer","clientConfig":{"service":{"name":"racer-webhook"},"caBundle":"c3RhbGU="}}]})); api.put_object(&slice, json!({"metadata":{"name":"racer-webhook"},"addressType":"IPv4","ports":[{"port":9443}],"endpoints":[]})); let seat = WebhookSeat { - pod: "racer-dataplane-1".into(), + pod: "racer-1".into(), uid: "u1".into(), ips: vec!["10.0.0.1".parse().unwrap()], ca: crate::authority::keyring::tests::root(1), @@ -1060,7 +1060,7 @@ mod tests { }), ); let seat = WebhookSeat { - pod: "racer-dataplane-1".into(), + pod: "racer-1".into(), uid: "u1".into(), ips: vec!["10.0.0.1".parse().unwrap()], ca: crate::authority::keyring::tests::root(1), @@ -1101,7 +1101,7 @@ mod tests { // IPv6-primary Service; status.podIP of the seats is IPv4. api.put_object(&slice, json!({"metadata":{"name":"racer-webhook"},"addressType":"IPv6","ports":[{"port":9443}],"endpoints":[]})); let seat = |n: u8, published: Option<&str>| WebhookSeat { - pod: format!("racer-dataplane-{n}"), + pod: format!("racer-{n}"), uid: format!("u{n}"), ips: webhook_ips( published.map(str::to_owned).as_ref(), @@ -1126,7 +1126,7 @@ mod tests { let eps = api.object(&slice).unwrap()["endpoints"].clone(); assert_eq!(eps.as_array().unwrap().len(), 1); assert_eq!(eps[0]["addresses"], json!(["fd00::1"])); - assert_eq!(eps[0]["targetRef"]["name"], "racer-dataplane-1"); + assert_eq!(eps[0]["targetRef"]["name"], "racer-1"); }); } diff --git a/cmd/racer-dataplane/cluster-control/src/seat.rs b/cmd/racer/cluster-control/src/seat.rs similarity index 100% rename from cmd/racer-dataplane/cluster-control/src/seat.rs rename to cmd/racer/cluster-control/src/seat.rs diff --git a/cmd/racer-dataplane/cluster-control/src/server.rs b/cmd/racer/cluster-control/src/server.rs similarity index 100% rename from cmd/racer-dataplane/cluster-control/src/server.rs rename to cmd/racer/cluster-control/src/server.rs diff --git a/cmd/racer-dataplane/cluster-control/src/shared.rs b/cmd/racer/cluster-control/src/shared.rs similarity index 98% rename from cmd/racer-dataplane/cluster-control/src/shared.rs rename to cmd/racer/cluster-control/src/shared.rs index 7872230d56..7f9bb31b09 100644 --- a/cmd/racer-dataplane/cluster-control/src/shared.rs +++ b/cmd/racer/cluster-control/src/shared.rs @@ -226,8 +226,8 @@ pub(crate) mod tests { api_ca: Default::default(), api_token: Default::default(), control_token: Default::default(), - daemonset: "racer-dataplane".into(), - service_account: "racer-dataplane".into(), + daemonset: "racer".into(), + service_account: "racer".into(), peer_port: 8082, rotation: Default::default(), }; diff --git a/cmd/racer-dataplane/cluster-control/src/step/admission.rs b/cmd/racer/cluster-control/src/step/admission.rs similarity index 100% rename from cmd/racer-dataplane/cluster-control/src/step/admission.rs rename to cmd/racer/cluster-control/src/step/admission.rs diff --git a/cmd/racer-dataplane/cluster-control/src/step/authz.rs b/cmd/racer/cluster-control/src/step/authz.rs similarity index 100% rename from cmd/racer-dataplane/cluster-control/src/step/authz.rs rename to cmd/racer/cluster-control/src/step/authz.rs diff --git a/cmd/racer-dataplane/cluster-control/src/step/mod.rs b/cmd/racer/cluster-control/src/step/mod.rs similarity index 100% rename from cmd/racer-dataplane/cluster-control/src/step/mod.rs rename to cmd/racer/cluster-control/src/step/mod.rs diff --git a/cmd/racer-dataplane/cluster-control/src/step/primary.rs b/cmd/racer/cluster-control/src/step/primary.rs similarity index 99% rename from cmd/racer-dataplane/cluster-control/src/step/primary.rs rename to cmd/racer/cluster-control/src/step/primary.rs index 38e42ccd56..96823507c1 100644 --- a/cmd/racer-dataplane/cluster-control/src/step/primary.rs +++ b/cmd/racer/cluster-control/src/step/primary.rs @@ -393,9 +393,9 @@ mod tests { fn ownership() -> Ownership { Ownership { namespace: "racer-system".into(), - daemonset: "racer-dataplane".into(), + daemonset: "racer".into(), uid: "ds-uid".into(), - service_account: "racer-dataplane".into(), + service_account: "racer".into(), } } @@ -417,9 +417,9 @@ mod tests { "name": format!("p{i}"), "namespace": "racer-system", "uid": format!("{i:08x}-1111-4000-8000-000000000000"), "annotations": {"racer.unbounded-cloud.io/report": "{\"shares\":1,\"rdma_nics\":[]}"}, - "ownerReferences": [{"apiVersion": "apps/v1", "kind": "DaemonSet", "name": "racer-dataplane", "uid": "ds-uid", "controller": true}] + "ownerReferences": [{"apiVersion": "apps/v1", "kind": "DaemonSet", "name": "racer", "uid": "ds-uid", "controller": true}] }, - "spec": {"nodeName": format!("n{i}"), "serviceAccountName": "racer-dataplane"}, + "spec": {"nodeName": format!("n{i}"), "serviceAccountName": "racer"}, "status": {"phase": "Running", "podIP": format!("10.1.{}.{}", i / 250, i % 250 + 1), "conditions": [{"type": "Ready", "status": "True"}]} })); diff --git a/cmd/racer-dataplane/cluster-control/src/step/seat.rs b/cmd/racer/cluster-control/src/step/seat.rs similarity index 100% rename from cmd/racer-dataplane/cluster-control/src/step/seat.rs rename to cmd/racer/cluster-control/src/step/seat.rs diff --git a/cmd/racer-dataplane/cluster-control/src/tests.rs b/cmd/racer/cluster-control/src/tests.rs similarity index 98% rename from cmd/racer-dataplane/cluster-control/src/tests.rs rename to cmd/racer/cluster-control/src/tests.rs index b0a9fd179d..f0065c2d5c 100644 --- a/cmd/racer-dataplane/cluster-control/src/tests.rs +++ b/cmd/racer/cluster-control/src/tests.rs @@ -65,12 +65,12 @@ fn seed(api: &fake::FakeApi, pods: usize) { ); } api.put_object( - &format!("/apis/apps/v1/namespaces/{NS}/daemonsets/racer-dataplane"), - json!({"metadata":{"name":"racer-dataplane","uid":DS_UID,"annotations":{crate::control::STATE_UID:SECRET_UID}}}), + &format!("/apis/apps/v1/namespaces/{NS}/daemonsets/racer"), + json!({"metadata":{"name":"racer","uid":DS_UID,"annotations":{crate::control::STATE_UID:SECRET_UID}}}), ); api.put_object( - &format!("/api/v1/namespaces/{NS}/serviceaccounts/racer-dataplane"), - json!({"metadata":{"name":"racer-dataplane","uid":SA_UID,"annotations":{crate::control::STATE_UID:SECRET_UID}}}), + &format!("/api/v1/namespaces/{NS}/serviceaccounts/racer"), + json!({"metadata":{"name":"racer","uid":SA_UID,"annotations":{crate::control::STATE_UID:SECRET_UID}}}), ); for i in 1..=pods { api.put_object( @@ -83,8 +83,8 @@ fn seed(api: &fake::FakeApi, pods: usize) { "metadata":{"name":format!("p{i}"),"namespace":NS,"uid":pod_uid(i),"creationTimestamp":"2026-01-01T00:00:00Z", // Serving dataplanes have reported. "annotations":{annotations::REPORT:"{\"shares\":1,\"rdma_nics\":[]}"}, - "ownerReferences":[{"apiVersion":"apps/v1","kind":"DaemonSet","name":"racer-dataplane","uid":DS_UID,"controller":true}]}, - "spec":{"nodeName":format!("n{i}"),"serviceAccountName":"racer-dataplane"}, + "ownerReferences":[{"apiVersion":"apps/v1","kind":"DaemonSet","name":"racer","uid":DS_UID,"controller":true}]}, + "spec":{"nodeName":format!("n{i}"),"serviceAccountName":"racer"}, "status":{"podIP":format!("127.0.0.{}", i + 1),"phase":"Running"} }), ); @@ -102,7 +102,7 @@ fn seed(api: &fake::FakeApi, pods: usize) { Some((201, json!({"status":{ "authenticated": true, "audiences": ["racer-control"], - "user": {"username": format!("system:serviceaccount:{NS}:racer-dataplane"), "uid": SA_UID, "extra": { + "user": {"username": format!("system:serviceaccount:{NS}:racer"), "uid": SA_UID, "extra": { "authentication.kubernetes.io/pod-name": [format!("p{i}")], "authentication.kubernetes.io/pod-uid": [pod_uid(i)], "authentication.kubernetes.io/node-name": [format!("n{i}")], @@ -174,8 +174,8 @@ impl FakeCluster { api_ca: self.kube.ca.clone(), api_token: self.kube.token.clone(), control_token: token, - daemonset: "racer-dataplane".into(), - service_account: "racer-dataplane".into(), + daemonset: "racer".into(), + service_account: "racer".into(), peer_port: 8082, rotation: Rotation::default(), } @@ -712,8 +712,8 @@ fn record_of(cluster: &FakeCluster) -> Value { #[test] fn bootstrap_requires_the_installation_state_binding() { const REPLACED: &str = "c1c1c1c1-0000-4000-8000-0000000000ff"; - let ds = format!("/apis/apps/v1/namespaces/{NS}/daemonsets/racer-dataplane"); - let sa = format!("/api/v1/namespaces/{NS}/serviceaccounts/racer-dataplane"); + let ds = format!("/apis/apps/v1/namespaces/{NS}/daemonsets/racer"); + let sa = format!("/api/v1/namespaces/{NS}/serviceaccounts/racer"); let state = format!("/api/v1/namespaces/{NS}/secrets/racer-state"); type Mutate = fn(&mut Value, &mut Value, &mut Value); let cases: [(&str, Mutate); 6] = [ diff --git a/cmd/racer-dataplane/control-wire/Cargo.toml b/cmd/racer/control-wire/Cargo.toml similarity index 100% rename from cmd/racer-dataplane/control-wire/Cargo.toml rename to cmd/racer/control-wire/Cargo.toml diff --git a/cmd/racer-dataplane/control-wire/src/lib.rs b/cmd/racer/control-wire/src/lib.rs similarity index 99% rename from cmd/racer-dataplane/control-wire/src/lib.rs rename to cmd/racer/control-wire/src/lib.rs index 66feda9562..aba5f42f81 100644 --- a/cmd/racer-dataplane/control-wire/src/lib.rs +++ b/cmd/racer/control-wire/src/lib.rs @@ -39,7 +39,7 @@ //! from the repository root: //! //! ```sh -//! timeout --signal=TERM --kill-after=10s 300s cargo test --locked --manifest-path cmd/racer-dataplane/Cargo.toml -p racer-control-wire +//! timeout --signal=TERM --kill-after=10s 300s cargo test --locked --manifest-path cmd/racer/Cargo.toml -p racer-control-wire //! ``` pub use codec::*; diff --git a/cmd/racer-dataplane/control-wire/testdata/bootstrap-block-devices.json b/cmd/racer/control-wire/testdata/bootstrap-block-devices.json similarity index 100% rename from cmd/racer-dataplane/control-wire/testdata/bootstrap-block-devices.json rename to cmd/racer/control-wire/testdata/bootstrap-block-devices.json diff --git a/cmd/racer-dataplane/control-wire/testdata/bootstrap-request.json b/cmd/racer/control-wire/testdata/bootstrap-request.json similarity index 100% rename from cmd/racer-dataplane/control-wire/testdata/bootstrap-request.json rename to cmd/racer/control-wire/testdata/bootstrap-request.json diff --git a/cmd/racer-dataplane/control-wire/testdata/bootstrap-response.json b/cmd/racer/control-wire/testdata/bootstrap-response.json similarity index 100% rename from cmd/racer-dataplane/control-wire/testdata/bootstrap-response.json rename to cmd/racer/control-wire/testdata/bootstrap-response.json diff --git a/cmd/racer-dataplane/control-wire/testdata/bundle.json b/cmd/racer/control-wire/testdata/bundle.json similarity index 100% rename from cmd/racer-dataplane/control-wire/testdata/bundle.json rename to cmd/racer/control-wire/testdata/bundle.json diff --git a/cmd/racer-dataplane/control-wire/testdata/content.json b/cmd/racer/control-wire/testdata/content.json similarity index 100% rename from cmd/racer-dataplane/control-wire/testdata/content.json rename to cmd/racer/control-wire/testdata/content.json diff --git a/cmd/racer-dataplane/control-wire/testdata/delta.json b/cmd/racer/control-wire/testdata/delta.json similarity index 100% rename from cmd/racer-dataplane/control-wire/testdata/delta.json rename to cmd/racer/control-wire/testdata/delta.json diff --git a/cmd/racer-dataplane/control-wire/testdata/hashes.json b/cmd/racer/control-wire/testdata/hashes.json similarity index 100% rename from cmd/racer-dataplane/control-wire/testdata/hashes.json rename to cmd/racer/control-wire/testdata/hashes.json diff --git a/cmd/racer-dataplane/control-wire/testdata/membership.json b/cmd/racer/control-wire/testdata/membership.json similarity index 100% rename from cmd/racer-dataplane/control-wire/testdata/membership.json rename to cmd/racer/control-wire/testdata/membership.json diff --git a/cmd/racer-dataplane/control-wire/testdata/publication.json b/cmd/racer/control-wire/testdata/publication.json similarity index 100% rename from cmd/racer-dataplane/control-wire/testdata/publication.json rename to cmd/racer/control-wire/testdata/publication.json diff --git a/cmd/racer-dataplane/control-wire/testdata/rejections.json b/cmd/racer/control-wire/testdata/rejections.json similarity index 100% rename from cmd/racer-dataplane/control-wire/testdata/rejections.json rename to cmd/racer/control-wire/testdata/rejections.json diff --git a/cmd/racer-dataplane/control-wire/testdata/site-vectors.json b/cmd/racer/control-wire/testdata/site-vectors.json similarity index 100% rename from cmd/racer-dataplane/control-wire/testdata/site-vectors.json rename to cmd/racer/control-wire/testdata/site-vectors.json diff --git a/cmd/racer-dataplane/controlplane/Cargo.toml b/cmd/racer/controlplane/Cargo.toml similarity index 100% rename from cmd/racer-dataplane/controlplane/Cargo.toml rename to cmd/racer/controlplane/Cargo.toml diff --git a/cmd/racer-dataplane/controlplane/src/feed.rs b/cmd/racer/controlplane/src/feed.rs similarity index 100% rename from cmd/racer-dataplane/controlplane/src/feed.rs rename to cmd/racer/controlplane/src/feed.rs diff --git a/cmd/racer-dataplane/controlplane/src/lib.rs b/cmd/racer/controlplane/src/lib.rs similarity index 100% rename from cmd/racer-dataplane/controlplane/src/lib.rs rename to cmd/racer/controlplane/src/lib.rs diff --git a/cmd/racer-dataplane/controlplane/src/published.rs b/cmd/racer/controlplane/src/published.rs similarity index 100% rename from cmd/racer-dataplane/controlplane/src/published.rs rename to cmd/racer/controlplane/src/published.rs diff --git a/cmd/racer-dataplane/controlplane/src/rollout.rs b/cmd/racer/controlplane/src/rollout.rs similarity index 100% rename from cmd/racer-dataplane/controlplane/src/rollout.rs rename to cmd/racer/controlplane/src/rollout.rs diff --git a/cmd/racer-dataplane/controlplane/tests/core.rs b/cmd/racer/controlplane/tests/core.rs similarity index 100% rename from cmd/racer-dataplane/controlplane/tests/core.rs rename to cmd/racer/controlplane/tests/core.rs diff --git a/cmd/racer-dataplane/core/Cargo.toml b/cmd/racer/core/Cargo.toml similarity index 100% rename from cmd/racer-dataplane/core/Cargo.toml rename to cmd/racer/core/Cargo.toml diff --git a/cmd/racer-dataplane/core/clippy.toml b/cmd/racer/core/clippy.toml similarity index 100% rename from cmd/racer-dataplane/core/clippy.toml rename to cmd/racer/core/clippy.toml diff --git a/cmd/racer-dataplane/core/src/admission.rs b/cmd/racer/core/src/admission.rs similarity index 100% rename from cmd/racer-dataplane/core/src/admission.rs rename to cmd/racer/core/src/admission.rs diff --git a/cmd/racer-dataplane/core/src/cache.rs b/cmd/racer/core/src/cache.rs similarity index 100% rename from cmd/racer-dataplane/core/src/cache.rs rename to cmd/racer/core/src/cache.rs diff --git a/cmd/racer-dataplane/core/src/lib.rs b/cmd/racer/core/src/lib.rs similarity index 100% rename from cmd/racer-dataplane/core/src/lib.rs rename to cmd/racer/core/src/lib.rs diff --git a/cmd/racer-dataplane/core/src/liveness.rs b/cmd/racer/core/src/liveness.rs similarity index 100% rename from cmd/racer-dataplane/core/src/liveness.rs rename to cmd/racer/core/src/liveness.rs diff --git a/cmd/racer-dataplane/core/src/read/budget.rs b/cmd/racer/core/src/read/budget.rs similarity index 100% rename from cmd/racer-dataplane/core/src/read/budget.rs rename to cmd/racer/core/src/read/budget.rs diff --git a/cmd/racer-dataplane/core/src/read/flight.rs b/cmd/racer/core/src/read/flight.rs similarity index 100% rename from cmd/racer-dataplane/core/src/read/flight.rs rename to cmd/racer/core/src/read/flight.rs diff --git a/cmd/racer-dataplane/core/src/read/flight/tests.rs b/cmd/racer/core/src/read/flight/tests.rs similarity index 100% rename from cmd/racer-dataplane/core/src/read/flight/tests.rs rename to cmd/racer/core/src/read/flight/tests.rs diff --git a/cmd/racer-dataplane/core/src/read/hints.rs b/cmd/racer/core/src/read/hints.rs similarity index 100% rename from cmd/racer-dataplane/core/src/read/hints.rs rename to cmd/racer/core/src/read/hints.rs diff --git a/cmd/racer-dataplane/core/src/read/mod.rs b/cmd/racer/core/src/read/mod.rs similarity index 99% rename from cmd/racer-dataplane/core/src/read/mod.rs rename to cmd/racer/core/src/read/mod.rs index 3f15b3dd11..2d2d00c83e 100644 --- a/cmd/racer-dataplane/core/src/read/mod.rs +++ b/cmd/racer/core/src/read/mod.rs @@ -970,7 +970,7 @@ pub fn leader_source( } /// How a failed leader settles its flight. `E` is the driver's error type -/// (production `AcquisitionFailure` is `FailureKind`). +/// (production `AcquisitionFailure` is `FailureKind`). #[derive(Clone, Copy, Debug, Eq, PartialEq)] pub enum FailureKind { /// A validated credential-specific origin rejection. diff --git a/cmd/racer-dataplane/core/src/read/walk.rs b/cmd/racer/core/src/read/walk.rs similarity index 100% rename from cmd/racer-dataplane/core/src/read/walk.rs rename to cmd/racer/core/src/read/walk.rs diff --git a/cmd/racer-dataplane/core/src/read/walk/tests.rs b/cmd/racer/core/src/read/walk/tests.rs similarity index 100% rename from cmd/racer-dataplane/core/src/read/walk/tests.rs rename to cmd/racer/core/src/read/walk/tests.rs diff --git a/cmd/racer-dataplane/core/src/route.rs b/cmd/racer/core/src/route.rs similarity index 100% rename from cmd/racer-dataplane/core/src/route.rs rename to cmd/racer/core/src/route.rs diff --git a/cmd/racer-dataplane/core/src/subscriptions.rs b/cmd/racer/core/src/subscriptions.rs similarity index 100% rename from cmd/racer-dataplane/core/src/subscriptions.rs rename to cmd/racer/core/src/subscriptions.rs diff --git a/cmd/racer-dataplane/core/src/time.rs b/cmd/racer/core/src/time.rs similarity index 100% rename from cmd/racer-dataplane/core/src/time.rs rename to cmd/racer/core/src/time.rs diff --git a/cmd/racer-dataplane/core/tests/lru_memory.rs b/cmd/racer/core/tests/lru_memory.rs similarity index 100% rename from cmd/racer-dataplane/core/tests/lru_memory.rs rename to cmd/racer/core/tests/lru_memory.rs diff --git a/cmd/racer-dataplane/core/tests/purity.rs b/cmd/racer/core/tests/purity.rs similarity index 100% rename from cmd/racer-dataplane/core/tests/purity.rs rename to cmd/racer/core/tests/purity.rs diff --git a/cmd/racer-dataplane/crypto/Cargo.toml b/cmd/racer/crypto/Cargo.toml similarity index 100% rename from cmd/racer-dataplane/crypto/Cargo.toml rename to cmd/racer/crypto/Cargo.toml diff --git a/cmd/racer-dataplane/crypto/src/enrollment.rs b/cmd/racer/crypto/src/enrollment.rs similarity index 100% rename from cmd/racer-dataplane/crypto/src/enrollment.rs rename to cmd/racer/crypto/src/enrollment.rs diff --git a/cmd/racer-dataplane/crypto/src/lib.rs b/cmd/racer/crypto/src/lib.rs similarity index 99% rename from cmd/racer-dataplane/crypto/src/lib.rs rename to cmd/racer/crypto/src/lib.rs index 8570f6241d..8d231226e2 100644 --- a/cmd/racer-dataplane/crypto/src/lib.rs +++ b/cmd/racer/crypto/src/lib.rs @@ -476,7 +476,7 @@ pub mod identity { //! Private certificate-cache and epoch state-space tests live here. Public identity //! workflows live in `tests/primitives.rs`. Cross-component application //! integration tests are outside this extracted workspace. - //! Run these gates from `cmd/racer-dataplane`: + //! Run these gates from `cmd/racer`: //! //! ```sh //! timeout --signal=TERM --kill-after=10s 300s cargo test --locked -p racer-crypto diff --git a/cmd/racer-dataplane/crypto/tests/compile_fail.rs b/cmd/racer/crypto/tests/compile_fail.rs similarity index 100% rename from cmd/racer-dataplane/crypto/tests/compile_fail.rs rename to cmd/racer/crypto/tests/compile_fail.rs diff --git a/cmd/racer-dataplane/crypto/tests/primitives.rs b/cmd/racer/crypto/tests/primitives.rs similarity index 100% rename from cmd/racer-dataplane/crypto/tests/primitives.rs rename to cmd/racer/crypto/tests/primitives.rs diff --git a/cmd/racer-dataplane/flow/.gitignore b/cmd/racer/flow/.gitignore similarity index 100% rename from cmd/racer-dataplane/flow/.gitignore rename to cmd/racer/flow/.gitignore diff --git a/cmd/racer-dataplane/flow/Cargo.toml b/cmd/racer/flow/Cargo.toml similarity index 100% rename from cmd/racer-dataplane/flow/Cargo.toml rename to cmd/racer/flow/Cargo.toml diff --git a/cmd/racer-dataplane/flow/src/admission.rs b/cmd/racer/flow/src/admission.rs similarity index 100% rename from cmd/racer-dataplane/flow/src/admission.rs rename to cmd/racer/flow/src/admission.rs diff --git a/cmd/racer-dataplane/flow/src/coalesce.rs b/cmd/racer/flow/src/coalesce.rs similarity index 100% rename from cmd/racer-dataplane/flow/src/coalesce.rs rename to cmd/racer/flow/src/coalesce.rs diff --git a/cmd/racer-dataplane/flow/src/fifo.rs b/cmd/racer/flow/src/fifo.rs similarity index 100% rename from cmd/racer-dataplane/flow/src/fifo.rs rename to cmd/racer/flow/src/fifo.rs diff --git a/cmd/racer-dataplane/flow/src/lib.rs b/cmd/racer/flow/src/lib.rs similarity index 100% rename from cmd/racer-dataplane/flow/src/lib.rs rename to cmd/racer/flow/src/lib.rs diff --git a/cmd/racer-dataplane/flow/src/pipe.rs b/cmd/racer/flow/src/pipe.rs similarity index 100% rename from cmd/racer-dataplane/flow/src/pipe.rs rename to cmd/racer/flow/src/pipe.rs diff --git a/cmd/racer-dataplane/flow/src/progress.rs b/cmd/racer/flow/src/progress.rs similarity index 100% rename from cmd/racer-dataplane/flow/src/progress.rs rename to cmd/racer/flow/src/progress.rs diff --git a/cmd/racer-dataplane/flow/src/subscriptions.rs b/cmd/racer/flow/src/subscriptions.rs similarity index 100% rename from cmd/racer-dataplane/flow/src/subscriptions.rs rename to cmd/racer/flow/src/subscriptions.rs diff --git a/cmd/racer-dataplane/flow/tests/drain_waker.rs b/cmd/racer/flow/tests/drain_waker.rs similarity index 100% rename from cmd/racer-dataplane/flow/tests/drain_waker.rs rename to cmd/racer/flow/tests/drain_waker.rs diff --git a/cmd/racer-dataplane/flow/tests/recycler.rs b/cmd/racer/flow/tests/recycler.rs similarity index 100% rename from cmd/racer-dataplane/flow/tests/recycler.rs rename to cmd/racer/flow/tests/recycler.rs diff --git a/cmd/racer-dataplane/flow/tests/workflows.rs b/cmd/racer/flow/tests/workflows.rs similarity index 100% rename from cmd/racer-dataplane/flow/tests/workflows.rs rename to cmd/racer/flow/tests/workflows.rs diff --git a/cmd/racer-dataplane/gpu/Cargo.toml b/cmd/racer/gpu/Cargo.toml similarity index 100% rename from cmd/racer-dataplane/gpu/Cargo.toml rename to cmd/racer/gpu/Cargo.toml diff --git a/cmd/racer-dataplane/gpu/build.rs b/cmd/racer/gpu/build.rs similarity index 92% rename from cmd/racer-dataplane/gpu/build.rs rename to cmd/racer/gpu/build.rs index 44fd1d1639..d7d8ffaf20 100644 --- a/cmd/racer-dataplane/gpu/build.rs +++ b/cmd/racer/gpu/build.rs @@ -2,7 +2,7 @@ //! which includes `native/gcm_core.h`) into a static library. Only the //! simulation backend and tests reference it, so release builds without them //! link none of it. `libracer_gpu_cuda.so.1` is built separately by -//! `images/racer-dataplane/build-native-cuda.sh`. +//! `images/racer/build-native-cuda.sh`. fn main() { println!("cargo:rerun-if-changed=native/gcm_core.h"); println!("cargo:rerun-if-changed=native/gcm_host.c"); diff --git a/cmd/racer-dataplane/gpu/native/cuda_private.h b/cmd/racer/gpu/native/cuda_private.h similarity index 100% rename from cmd/racer-dataplane/gpu/native/cuda_private.h rename to cmd/racer/gpu/native/cuda_private.h diff --git a/cmd/racer-dataplane/gpu/native/gcm_core.h b/cmd/racer/gpu/native/gcm_core.h similarity index 100% rename from cmd/racer-dataplane/gpu/native/gcm_core.h rename to cmd/racer/gpu/native/gcm_core.h diff --git a/cmd/racer-dataplane/gpu/native/gcm_host.c b/cmd/racer/gpu/native/gcm_host.c similarity index 100% rename from cmd/racer-dataplane/gpu/native/gcm_host.c rename to cmd/racer/gpu/native/gcm_host.c diff --git a/cmd/racer-dataplane/gpu/native/gcm_kernel.cu b/cmd/racer/gpu/native/gcm_kernel.cu similarity index 98% rename from cmd/racer-dataplane/gpu/native/gcm_kernel.cu rename to cmd/racer/gpu/native/gcm_kernel.cu index 35cb78fcc1..6ddfbc9308 100644 --- a/cmd/racer-dataplane/gpu/native/gcm_kernel.cu +++ b/cmd/racer/gpu/native/gcm_kernel.cu @@ -1,6 +1,6 @@ /* CUDA kernels for GPU page decryption. See gcm_core.h for the math. * - * Built to PTX by images/racer-dataplane/build-native-cuda.sh with + * Built to PTX by images/racer/build-native-cuda.sh with * `nvcc -ptx -arch=compute_80`. compute_80 (Ampere) is the baseline: the * driver JIT-compiles the PTX for the installed GPU, so newer GPUs work and * older ones fail at cuModuleLoadData (the shim then reports no kernels). diff --git a/cmd/racer-dataplane/gpu/native/gpu_cuda.c b/cmd/racer/gpu/native/gpu_cuda.c similarity index 100% rename from cmd/racer-dataplane/gpu/native/gpu_cuda.c rename to cmd/racer/gpu/native/gpu_cuda.c diff --git a/cmd/racer-dataplane/gpu/native/gpu_cuda.h b/cmd/racer/gpu/native/gpu_cuda.h similarity index 100% rename from cmd/racer-dataplane/gpu/native/gpu_cuda.h rename to cmd/racer/gpu/native/gpu_cuda.h diff --git a/cmd/racer-dataplane/gpu/native/kernel_emulation.cc b/cmd/racer/gpu/native/kernel_emulation.cc similarity index 100% rename from cmd/racer-dataplane/gpu/native/kernel_emulation.cc rename to cmd/racer/gpu/native/kernel_emulation.cc diff --git a/cmd/racer-dataplane/gpu/native/run-kernel-emulation.sh b/cmd/racer/gpu/native/run-kernel-emulation.sh similarity index 100% rename from cmd/racer-dataplane/gpu/native/run-kernel-emulation.sh rename to cmd/racer/gpu/native/run-kernel-emulation.sh diff --git a/cmd/racer-dataplane/gpu/src/ffi.rs b/cmd/racer/gpu/src/ffi.rs similarity index 100% rename from cmd/racer-dataplane/gpu/src/ffi.rs rename to cmd/racer/gpu/src/ffi.rs diff --git a/cmd/racer-dataplane/gpu/src/gcm.rs b/cmd/racer/gpu/src/gcm.rs similarity index 100% rename from cmd/racer-dataplane/gpu/src/gcm.rs rename to cmd/racer/gpu/src/gcm.rs diff --git a/cmd/racer-dataplane/gpu/src/lib.rs b/cmd/racer/gpu/src/lib.rs similarity index 100% rename from cmd/racer-dataplane/gpu/src/lib.rs rename to cmd/racer/gpu/src/lib.rs diff --git a/cmd/racer-dataplane/gpu/src/simulation.rs b/cmd/racer/gpu/src/simulation.rs similarity index 100% rename from cmd/racer-dataplane/gpu/src/simulation.rs rename to cmd/racer/gpu/src/simulation.rs diff --git a/cmd/racer-dataplane/gpu/tests/gcm_core.rs b/cmd/racer/gpu/tests/gcm_core.rs similarity index 100% rename from cmd/racer-dataplane/gpu/tests/gcm_core.rs rename to cmd/racer/gpu/tests/gcm_core.rs diff --git a/cmd/racer-dataplane/gpu/tests/hardware.rs b/cmd/racer/gpu/tests/hardware.rs similarity index 100% rename from cmd/racer-dataplane/gpu/tests/hardware.rs rename to cmd/racer/gpu/tests/hardware.rs diff --git a/cmd/racer-dataplane/gpu/tests/simulation.rs b/cmd/racer/gpu/tests/simulation.rs similarity index 100% rename from cmd/racer-dataplane/gpu/tests/simulation.rs rename to cmd/racer/gpu/tests/simulation.rs diff --git a/cmd/racer-dataplane/http/Cargo.toml b/cmd/racer/http/Cargo.toml similarity index 100% rename from cmd/racer-dataplane/http/Cargo.toml rename to cmd/racer/http/Cargo.toml diff --git a/cmd/racer-dataplane/http/src/connection.rs b/cmd/racer/http/src/connection.rs similarity index 100% rename from cmd/racer-dataplane/http/src/connection.rs rename to cmd/racer/http/src/connection.rs diff --git a/cmd/racer-dataplane/http/src/lib.rs b/cmd/racer/http/src/lib.rs similarity index 100% rename from cmd/racer-dataplane/http/src/lib.rs rename to cmd/racer/http/src/lib.rs diff --git a/cmd/racer-dataplane/http/src/transfer.rs b/cmd/racer/http/src/transfer.rs similarity index 100% rename from cmd/racer-dataplane/http/src/transfer.rs rename to cmd/racer/http/src/transfer.rs diff --git a/cmd/racer-dataplane/http/tests/exchanges.rs b/cmd/racer/http/tests/exchanges.rs similarity index 100% rename from cmd/racer-dataplane/http/tests/exchanges.rs rename to cmd/racer/http/tests/exchanges.rs diff --git a/cmd/racer-dataplane/http/tests/pool.rs b/cmd/racer/http/tests/pool.rs similarity index 100% rename from cmd/racer-dataplane/http/tests/pool.rs rename to cmd/racer/http/tests/pool.rs diff --git a/cmd/racer-dataplane/object-wire/Cargo.toml b/cmd/racer/object-wire/Cargo.toml similarity index 100% rename from cmd/racer-dataplane/object-wire/Cargo.toml rename to cmd/racer/object-wire/Cargo.toml diff --git a/cmd/racer-dataplane/object-wire/src/client.rs b/cmd/racer/object-wire/src/client.rs similarity index 100% rename from cmd/racer-dataplane/object-wire/src/client.rs rename to cmd/racer/object-wire/src/client.rs diff --git a/cmd/racer-dataplane/object-wire/src/lib.rs b/cmd/racer/object-wire/src/lib.rs similarity index 100% rename from cmd/racer-dataplane/object-wire/src/lib.rs rename to cmd/racer/object-wire/src/lib.rs diff --git a/cmd/racer-dataplane/object-wire/src/model.rs b/cmd/racer/object-wire/src/model.rs similarity index 100% rename from cmd/racer-dataplane/object-wire/src/model.rs rename to cmd/racer/object-wire/src/model.rs diff --git a/cmd/racer-dataplane/object-wire/src/origin.rs b/cmd/racer/object-wire/src/origin.rs similarity index 100% rename from cmd/racer-dataplane/object-wire/src/origin.rs rename to cmd/racer/object-wire/src/origin.rs diff --git a/cmd/racer-dataplane/object-wire/src/test_util.rs b/cmd/racer/object-wire/src/test_util.rs similarity index 100% rename from cmd/racer-dataplane/object-wire/src/test_util.rs rename to cmd/racer/object-wire/src/test_util.rs diff --git a/cmd/racer-dataplane/object-wire/tests/body_length.rs b/cmd/racer/object-wire/tests/body_length.rs similarity index 100% rename from cmd/racer-dataplane/object-wire/tests/body_length.rs rename to cmd/racer/object-wire/tests/body_length.rs diff --git a/cmd/racer-dataplane/object-wire/tests/direct.rs b/cmd/racer/object-wire/tests/direct.rs similarity index 100% rename from cmd/racer-dataplane/object-wire/tests/direct.rs rename to cmd/racer/object-wire/tests/direct.rs diff --git a/cmd/racer-dataplane/object-wire/tests/fixture.rs b/cmd/racer/object-wire/tests/fixture.rs similarity index 100% rename from cmd/racer-dataplane/object-wire/tests/fixture.rs rename to cmd/racer/object-wire/tests/fixture.rs diff --git a/cmd/racer-dataplane/object-wire/tests/host.rs b/cmd/racer/object-wire/tests/host.rs similarity index 100% rename from cmd/racer-dataplane/object-wire/tests/host.rs rename to cmd/racer/object-wire/tests/host.rs diff --git a/cmd/racer-dataplane/object-wire/tests/origin_content_type.rs b/cmd/racer/object-wire/tests/origin_content_type.rs similarity index 100% rename from cmd/racer-dataplane/object-wire/tests/origin_content_type.rs rename to cmd/racer/object-wire/tests/origin_content_type.rs diff --git a/cmd/racer-dataplane/object-wire/tests/origin_request.rs b/cmd/racer/object-wire/tests/origin_request.rs similarity index 100% rename from cmd/racer-dataplane/object-wire/tests/origin_request.rs rename to cmd/racer/object-wire/tests/origin_request.rs diff --git a/cmd/racer-dataplane/object-wire/tests/protocol.rs b/cmd/racer/object-wire/tests/protocol.rs similarity index 100% rename from cmd/racer-dataplane/object-wire/tests/protocol.rs rename to cmd/racer/object-wire/tests/protocol.rs diff --git a/cmd/racer-dataplane/peer-wire/Cargo.toml b/cmd/racer/peer-wire/Cargo.toml similarity index 100% rename from cmd/racer-dataplane/peer-wire/Cargo.toml rename to cmd/racer/peer-wire/Cargo.toml diff --git a/cmd/racer-dataplane/peer-wire/src/control.rs b/cmd/racer/peer-wire/src/control.rs similarity index 100% rename from cmd/racer-dataplane/peer-wire/src/control.rs rename to cmd/racer/peer-wire/src/control.rs diff --git a/cmd/racer-dataplane/peer-wire/src/forwarding.rs b/cmd/racer/peer-wire/src/forwarding.rs similarity index 100% rename from cmd/racer-dataplane/peer-wire/src/forwarding.rs rename to cmd/racer/peer-wire/src/forwarding.rs diff --git a/cmd/racer-dataplane/peer-wire/src/lib.rs b/cmd/racer/peer-wire/src/lib.rs similarity index 100% rename from cmd/racer-dataplane/peer-wire/src/lib.rs rename to cmd/racer/peer-wire/src/lib.rs diff --git a/cmd/racer-dataplane/peer-wire/src/link.rs b/cmd/racer/peer-wire/src/link.rs similarity index 100% rename from cmd/racer-dataplane/peer-wire/src/link.rs rename to cmd/racer/peer-wire/src/link.rs diff --git a/cmd/racer-dataplane/peer-wire/src/session.rs b/cmd/racer/peer-wire/src/session.rs similarity index 100% rename from cmd/racer-dataplane/peer-wire/src/session.rs rename to cmd/racer/peer-wire/src/session.rs diff --git a/cmd/racer-dataplane/peer-wire/src/session/handshake_tests.rs b/cmd/racer/peer-wire/src/session/handshake_tests.rs similarity index 100% rename from cmd/racer-dataplane/peer-wire/src/session/handshake_tests.rs rename to cmd/racer/peer-wire/src/session/handshake_tests.rs diff --git a/cmd/racer-dataplane/peer-wire/src/tests.rs b/cmd/racer/peer-wire/src/tests.rs similarity index 100% rename from cmd/racer-dataplane/peer-wire/src/tests.rs rename to cmd/racer/peer-wire/src/tests.rs diff --git a/cmd/racer-dataplane/peer-wire/tests/control_deadline.rs b/cmd/racer/peer-wire/tests/control_deadline.rs similarity index 100% rename from cmd/racer-dataplane/peer-wire/tests/control_deadline.rs rename to cmd/racer/peer-wire/tests/control_deadline.rs diff --git a/cmd/racer-dataplane/runtime/Cargo.toml b/cmd/racer/runtime/Cargo.toml similarity index 100% rename from cmd/racer-dataplane/runtime/Cargo.toml rename to cmd/racer/runtime/Cargo.toml diff --git a/cmd/racer-dataplane/runtime/src/channel.rs b/cmd/racer/runtime/src/channel.rs similarity index 100% rename from cmd/racer-dataplane/runtime/src/channel.rs rename to cmd/racer/runtime/src/channel.rs diff --git a/cmd/racer-dataplane/runtime/src/drivers.rs b/cmd/racer/runtime/src/drivers.rs similarity index 100% rename from cmd/racer-dataplane/runtime/src/drivers.rs rename to cmd/racer/runtime/src/drivers.rs diff --git a/cmd/racer-dataplane/runtime/src/environment.rs b/cmd/racer/runtime/src/environment.rs similarity index 100% rename from cmd/racer-dataplane/runtime/src/environment.rs rename to cmd/racer/runtime/src/environment.rs diff --git a/cmd/racer-dataplane/runtime/src/group.rs b/cmd/racer/runtime/src/group.rs similarity index 100% rename from cmd/racer-dataplane/runtime/src/group.rs rename to cmd/racer/runtime/src/group.rs diff --git a/cmd/racer-dataplane/runtime/src/lib.rs b/cmd/racer/runtime/src/lib.rs similarity index 100% rename from cmd/racer-dataplane/runtime/src/lib.rs rename to cmd/racer/runtime/src/lib.rs diff --git a/cmd/racer-dataplane/runtime/src/mailbox/executor.rs b/cmd/racer/runtime/src/mailbox/executor.rs similarity index 100% rename from cmd/racer-dataplane/runtime/src/mailbox/executor.rs rename to cmd/racer/runtime/src/mailbox/executor.rs diff --git a/cmd/racer-dataplane/runtime/src/offload.rs b/cmd/racer/runtime/src/offload.rs similarity index 100% rename from cmd/racer-dataplane/runtime/src/offload.rs rename to cmd/racer/runtime/src/offload.rs diff --git a/cmd/racer-dataplane/runtime/src/reactor.rs b/cmd/racer/runtime/src/reactor.rs similarity index 100% rename from cmd/racer-dataplane/runtime/src/reactor.rs rename to cmd/racer/runtime/src/reactor.rs diff --git a/cmd/racer-dataplane/runtime/src/reactor/filesystem.rs b/cmd/racer/runtime/src/reactor/filesystem.rs similarity index 100% rename from cmd/racer-dataplane/runtime/src/reactor/filesystem.rs rename to cmd/racer/runtime/src/reactor/filesystem.rs diff --git a/cmd/racer-dataplane/runtime/src/reactor/filesystem/checkpoint.rs b/cmd/racer/runtime/src/reactor/filesystem/checkpoint.rs similarity index 100% rename from cmd/racer-dataplane/runtime/src/reactor/filesystem/checkpoint.rs rename to cmd/racer/runtime/src/reactor/filesystem/checkpoint.rs diff --git a/cmd/racer-dataplane/runtime/src/reactor/filesystem/operations.rs b/cmd/racer/runtime/src/reactor/filesystem/operations.rs similarity index 100% rename from cmd/racer-dataplane/runtime/src/reactor/filesystem/operations.rs rename to cmd/racer/runtime/src/reactor/filesystem/operations.rs diff --git a/cmd/racer-dataplane/runtime/src/reactor/simulation.rs b/cmd/racer/runtime/src/reactor/simulation.rs similarity index 100% rename from cmd/racer-dataplane/runtime/src/reactor/simulation.rs rename to cmd/racer/runtime/src/reactor/simulation.rs diff --git a/cmd/racer-dataplane/runtime/src/reactor/simulation/disk.rs b/cmd/racer/runtime/src/reactor/simulation/disk.rs similarity index 100% rename from cmd/racer-dataplane/runtime/src/reactor/simulation/disk.rs rename to cmd/racer/runtime/src/reactor/simulation/disk.rs diff --git a/cmd/racer-dataplane/runtime/src/reactor/simulation/network.rs b/cmd/racer/runtime/src/reactor/simulation/network.rs similarity index 100% rename from cmd/racer-dataplane/runtime/src/reactor/simulation/network.rs rename to cmd/racer/runtime/src/reactor/simulation/network.rs diff --git a/cmd/racer-dataplane/runtime/src/reactor/tests.rs b/cmd/racer/runtime/src/reactor/tests.rs similarity index 100% rename from cmd/racer-dataplane/runtime/src/reactor/tests.rs rename to cmd/racer/runtime/src/reactor/tests.rs diff --git a/cmd/racer-dataplane/runtime/tests/mailbox.rs b/cmd/racer/runtime/tests/mailbox.rs similarity index 100% rename from cmd/racer-dataplane/runtime/tests/mailbox.rs rename to cmd/racer/runtime/tests/mailbox.rs diff --git a/cmd/racer-dataplane/runtime/tests/runtime.rs b/cmd/racer/runtime/tests/runtime.rs similarity index 100% rename from cmd/racer-dataplane/runtime/tests/runtime.rs rename to cmd/racer/runtime/tests/runtime.rs diff --git a/cmd/racer-dataplane/sim/Cargo.toml b/cmd/racer/sim/Cargo.toml similarity index 100% rename from cmd/racer-dataplane/sim/Cargo.toml rename to cmd/racer/sim/Cargo.toml diff --git a/cmd/racer-dataplane/sim/src/combined.rs b/cmd/racer/sim/src/combined.rs similarity index 100% rename from cmd/racer-dataplane/sim/src/combined.rs rename to cmd/racer/sim/src/combined.rs diff --git a/cmd/racer-dataplane/sim/src/config.rs b/cmd/racer/sim/src/config.rs similarity index 100% rename from cmd/racer-dataplane/sim/src/config.rs rename to cmd/racer/sim/src/config.rs diff --git a/cmd/racer-dataplane/sim/src/control.rs b/cmd/racer/sim/src/control.rs similarity index 99% rename from cmd/racer-dataplane/sim/src/control.rs rename to cmd/racer/sim/src/control.rs index 3cf919466e..6933027f61 100644 --- a/cmd/racer-dataplane/sim/src/control.rs +++ b/cmd/racer/sim/src/control.rs @@ -648,9 +648,9 @@ impl ControlSim { }, ownership: Ownership { namespace: "racer-system".into(), - daemonset: "racer-dataplane".into(), + daemonset: "racer".into(), uid: uuid(0, 0xd5), - service_account: "racer-dataplane".into(), + service_account: "racer".into(), }, policy: Policy::from(racer_cluster_control::Rotation::default()), cluster: "c1c1c1c1-0000-4000-8000-000000000001".into(), diff --git a/cmd/racer-dataplane/sim/src/engine.rs b/cmd/racer/sim/src/engine.rs similarity index 100% rename from cmd/racer-dataplane/sim/src/engine.rs rename to cmd/racer/sim/src/engine.rs diff --git a/cmd/racer-dataplane/sim/src/faults.rs b/cmd/racer/sim/src/faults.rs similarity index 100% rename from cmd/racer-dataplane/sim/src/faults.rs rename to cmd/racer/sim/src/faults.rs diff --git a/cmd/racer-dataplane/sim/src/lib.rs b/cmd/racer/sim/src/lib.rs similarity index 100% rename from cmd/racer-dataplane/sim/src/lib.rs rename to cmd/racer/sim/src/lib.rs diff --git a/cmd/racer-dataplane/sim/src/main.rs b/cmd/racer/sim/src/main.rs similarity index 100% rename from cmd/racer-dataplane/sim/src/main.rs rename to cmd/racer/sim/src/main.rs diff --git a/cmd/racer-dataplane/sim/src/node/state.rs b/cmd/racer/sim/src/node/state.rs similarity index 100% rename from cmd/racer-dataplane/sim/src/node/state.rs rename to cmd/racer/sim/src/node/state.rs diff --git a/cmd/racer-dataplane/sim/src/node/world.rs b/cmd/racer/sim/src/node/world.rs similarity index 100% rename from cmd/racer-dataplane/sim/src/node/world.rs rename to cmd/racer/sim/src/node/world.rs diff --git a/cmd/racer-dataplane/sim/src/phantom.rs b/cmd/racer/sim/src/phantom.rs similarity index 100% rename from cmd/racer-dataplane/sim/src/phantom.rs rename to cmd/racer/sim/src/phantom.rs diff --git a/cmd/racer-dataplane/sim/src/report.rs b/cmd/racer/sim/src/report.rs similarity index 100% rename from cmd/racer-dataplane/sim/src/report.rs rename to cmd/racer/sim/src/report.rs diff --git a/cmd/racer-dataplane/sim/src/resources.rs b/cmd/racer/sim/src/resources.rs similarity index 100% rename from cmd/racer-dataplane/sim/src/resources.rs rename to cmd/racer/sim/src/resources.rs diff --git a/cmd/racer-dataplane/sim/src/workload.rs b/cmd/racer/sim/src/workload.rs similarity index 100% rename from cmd/racer-dataplane/sim/src/workload.rs rename to cmd/racer/sim/src/workload.rs diff --git a/cmd/racer-dataplane/sim/tests/contention_scenarios.rs b/cmd/racer/sim/tests/contention_scenarios.rs similarity index 100% rename from cmd/racer-dataplane/sim/tests/contention_scenarios.rs rename to cmd/racer/sim/tests/contention_scenarios.rs diff --git a/cmd/racer-dataplane/sim/tests/phantom_memory.rs b/cmd/racer/sim/tests/phantom_memory.rs similarity index 100% rename from cmd/racer-dataplane/sim/tests/phantom_memory.rs rename to cmd/racer/sim/tests/phantom_memory.rs diff --git a/cmd/racer-dataplane/src/admission.rs b/cmd/racer/src/admission.rs similarity index 100% rename from cmd/racer-dataplane/src/admission.rs rename to cmd/racer/src/admission.rs diff --git a/cmd/racer-dataplane/src/app.rs b/cmd/racer/src/app.rs similarity index 98% rename from cmd/racer-dataplane/src/app.rs rename to cmd/racer/src/app.rs index af3c3a4b31..5c9bd34756 100644 --- a/cmd/racer-dataplane/src/app.rs +++ b/cmd/racer/src/app.rs @@ -414,7 +414,7 @@ fn retry_enrollment( Err(error) if crate::control::transient(error) && !stop() => { attempts += 1; eprintln!( - "racer-dataplane: stage=enrollment state=retrying attempt={attempts} error={error}" + "racer: stage=enrollment state=retrying attempt={attempts} error={error}" ); } Err(error) if stop() && crate::control::transient(error) => { @@ -480,7 +480,7 @@ fn stage_result(worker: WorkerId, stage: &str, result: Result) -> Result= Duration::from_secs(60)) { eprintln!( - "racer-dataplane: worker={} stage=placement-maintenance status=blocked retry_ms=100 action=check-inflight-requests-or-increase-RACER_PLACEMENT_CACHE_BYTES", + "racer: worker={} stage=placement-maintenance status=blocked retry_ms=100 action=check-inflight-requests-or-increase-RACER_PLACEMENT_CACHE_BYTES", self.worker.0 ); self.placement_warning = Some(now); @@ -1896,7 +1896,7 @@ impl WorkerApplication { self.clients.install_retirement(connection, authorization)?; } Err(error) => eprintln!( - "racer-dataplane: stage=client-retirement operation=from-reserved error={error}" + "racer: stage=client-retirement operation=from-reserved error={error}" ), } continue; @@ -1944,7 +1944,7 @@ impl WorkerApplication { if let Some(endpoint) = &mut self.endpoint { endpoint.poll(cx, budget).inspect_err(|error| { eprintln!( - "racer-dataplane: worker={} stage=worker-endpoint error={error:?}", + "racer: worker={} stage=worker-endpoint error={error:?}", self.worker.0 ); })?; @@ -1958,7 +1958,7 @@ impl WorkerApplication { .poll_budgeted(cx, budget) .inspect_err(|error| { eprintln!( - "racer-dataplane: worker={} stage=client-listeners error={error:?}", + "racer: worker={} stage=client-listeners error={error:?}", self.worker.0 ); })?; @@ -2943,7 +2943,7 @@ fn partition_limits_with_cause( fn log_worker_plan(stage: &str, plan: &AffinityPlan) { let groups = plan.crypto_groups(); eprintln!( - "racer-dataplane: stage=worker-plan state={stage} io_workers={} crypto_workers={} total_threads={} max_threads={}", + "racer: stage=worker-plan state={stage} io_workers={} crypto_workers={} total_threads={} max_threads={}", plan.pairs.len(), groups.len(), plan.pairs.len() + groups.len(), @@ -2959,7 +2959,7 @@ fn log_worker_plan(stage: &str, plan: &AffinityPlan) { }) .collect::>(); eprintln!( - "racer-dataplane: stage=worker-placement state={stage} crypto_cpu={} crypto_numa={:?} io_worker_cpu_numa={io:?}", + "racer: stage=worker-placement state={stage} crypto_cpu={} crypto_numa={:?} io_worker_cpu_numa={io:?}", crypto.cpu, crypto.numa_node ); } @@ -3020,7 +3020,7 @@ fn size_workers_policy( Ok(limits) => { if count != plan.pairs.len() { eprintln!( - "racer-dataplane: stage=worker-sizing planned_io={} final_io={count} limiting_resource={}", + "racer: stage=worker-sizing planned_io={} final_io={count} limiting_resource={}", plan.pairs.len(), limiting_resource.unwrap_or("unknown") ); @@ -3034,7 +3034,7 @@ fn size_workers_policy( } Err((dimension, error)) => { eprintln!( - "racer-dataplane: stage=worker-sizing io_workers={count} limiting_resource={dimension} error={error:?}" + "racer: stage=worker-sizing io_workers={count} limiting_resource={dimension} error={error:?}" ); return Err(error); } @@ -3499,7 +3499,7 @@ pub(crate) fn gpu_slot( config.gpu_pci_p2pdma, ); if mode == GpuMode::Auto && built { - eprintln!("racer-dataplane: stage=gpu state=standby start=first-gpu-read"); + eprintln!("racer: stage=gpu state=standby start=first-gpu-read"); return Ok(Arc::new(crate::gpu_slot::GpuSlot::lazy( Box::new(move || { crate::gpu::GpuHelper::start_built(mode, built, staging, p2pdma, loader) diff --git a/cmd/racer-dataplane/src/app/devices.rs b/cmd/racer/src/app/devices.rs similarity index 97% rename from cmd/racer-dataplane/src/app/devices.rs rename to cmd/racer/src/app/devices.rs index 4e7b38be66..2853b23c3b 100644 --- a/cmd/racer-dataplane/src/app/devices.rs +++ b/cmd/racer/src/app/devices.rs @@ -123,7 +123,7 @@ pub fn discover(config: &Config, selector: Option<&str>, workers: usize) -> Opti match result { Ok(plan) => Some(plan), Err(error) => { - eprintln!("racer-dataplane: block device discovery failed; using slab files: {error}"); + eprintln!("racer: block device discovery failed; using slab files: {error}"); None } } @@ -174,7 +174,7 @@ fn open_with_busy_wait( Err(error) if is_busy(&error) && !wait.is_zero() => busy.push(candidate), Err(error) => { eprintln!( - "racer-dataplane: skipping block device {:?}: {error}", + "racer: skipping block device {:?}: {error}", candidate.id() ); } @@ -184,7 +184,7 @@ fn open_with_busy_wait( return busy; } eprintln!( - "racer-dataplane: waiting up to {}s for {} busy block device(s) to be released", + "racer: waiting up to {}s for {} busy block device(s) to be released", wait.as_secs(), busy.len() ); @@ -202,7 +202,7 @@ fn open_with_busy_wait( Err(error) if is_busy(&error) => still.push(candidate), Err(error) => { eprintln!( - "racer-dataplane: skipping block device {:?}: {error}", + "racer: skipping block device {:?}: {error}", candidate.id() ); } @@ -211,7 +211,7 @@ fn open_with_busy_wait( busy = still; if busy.is_empty() { eprintln!( - "racer-dataplane: busy block devices released after {}ms", + "racer: busy block devices released after {}ms", clock.elapsed().saturating_sub(start).as_millis() ); return busy; @@ -219,7 +219,7 @@ fn open_with_busy_wait( } for candidate in &busy { eprintln!( - "racer-dataplane: skipping block device {:?}: still busy after {}s", + "racer: skipping block device {:?}: still busy after {}s", candidate.id(), wait.as_secs() ); @@ -425,7 +425,7 @@ fn plan(mut devices: Vec, config: &Config, workers: usize) -> Result, config: &Config, workers: usize) -> Result MAX_PAGES { eprintln!( - "racer-dataplane: worker={worker} disk page index capped at {MAX_PAGES}; requested={requested}" + "racer: worker={worker} disk page index capped at {MAX_PAGES}; requested={requested}" ); } let mut hash = Sha256::new(); @@ -524,11 +524,11 @@ fn plan(mut devices: Vec, config: &Config, workers: usize) -> Result MAX_CHECKPOINT { eprintln!( - "racer-dataplane: checkpoint working-set capped at {MAX_CHECKPOINT}; worst-case demand={requested}; oversized cuts will be skipped" + "racer: checkpoint working-set capped at {MAX_CHECKPOINT}; worst-case demand={requested}; oversized cuts will be skipped" ); } eprintln!( - "racer-dataplane: raw-device storage devices={} workers={workers} segments={usable} segment_bytes={}", + "racer: raw-device storage devices={} workers={workers} segments={usable} segment_bytes={}", devices.len(), config.segment_bytes ); diff --git a/cmd/racer-dataplane/src/app/devices/loop_test.rs b/cmd/racer/src/app/devices/loop_test.rs similarity index 100% rename from cmd/racer-dataplane/src/app/devices/loop_test.rs rename to cmd/racer/src/app/devices/loop_test.rs diff --git a/cmd/racer-dataplane/src/app/native.rs b/cmd/racer/src/app/native.rs similarity index 100% rename from cmd/racer-dataplane/src/app/native.rs rename to cmd/racer/src/app/native.rs diff --git a/cmd/racer-dataplane/src/app/recovery.rs b/cmd/racer/src/app/recovery.rs similarity index 100% rename from cmd/racer-dataplane/src/app/recovery.rs rename to cmd/racer/src/app/recovery.rs diff --git a/cmd/racer-dataplane/src/app/tests.rs b/cmd/racer/src/app/tests.rs similarity index 100% rename from cmd/racer-dataplane/src/app/tests.rs rename to cmd/racer/src/app/tests.rs diff --git a/cmd/racer-dataplane/src/app/tests/dst.rs b/cmd/racer/src/app/tests/dst.rs similarity index 100% rename from cmd/racer-dataplane/src/app/tests/dst.rs rename to cmd/racer/src/app/tests/dst.rs diff --git a/cmd/racer-dataplane/src/client.rs b/cmd/racer/src/client.rs similarity index 100% rename from cmd/racer-dataplane/src/client.rs rename to cmd/racer/src/client.rs diff --git a/cmd/racer-dataplane/src/client/direct.rs b/cmd/racer/src/client/direct.rs similarity index 100% rename from cmd/racer-dataplane/src/client/direct.rs rename to cmd/racer/src/client/direct.rs diff --git a/cmd/racer-dataplane/src/client/listener.rs b/cmd/racer/src/client/listener.rs similarity index 99% rename from cmd/racer-dataplane/src/client/listener.rs rename to cmd/racer/src/client/listener.rs index e57d10cb33..a829ce4a34 100644 --- a/cmd/racer-dataplane/src/client/listener.rs +++ b/cmd/racer/src/client/listener.rs @@ -336,7 +336,7 @@ impl ClientListeners { self.install(connection, authorization.cache, authorization.retired, true) { eprintln!( - "racer-dataplane: stage=client-retirement operation=install cache={} error={error}", + "racer: stage=client-retirement operation=install cache={} error={error}", cache.0 ); } @@ -486,7 +486,7 @@ impl ClientListeners { &temporary, previous.as_deref(), ).inspect_err(|error| { - eprintln!("racer-dataplane: stage=client-endpoint operation=bind cache={} path={} error={error}", + eprintln!("racer: stage=client-endpoint operation=bind cache={} path={} error={error}", definition.id.0, self.root.join(&definition.name).join("client").display()); })?); let replacement = Replacement::prepare( @@ -797,7 +797,7 @@ impl ClientListeners { fn retirement_error(&self, entry: &Retiring, operation: &str, error: impl std::fmt::Display) { eprintln!( - "racer-dataplane: stage=client-retirement operation={operation} cache={} path={} error={error}", + "racer: stage=client-retirement operation={operation} cache={} path={} error={error}", entry.listener.definition.id.0, self.root .join(&entry.listener.definition.name) @@ -1296,7 +1296,7 @@ fn directory_error(error: std::io::Error) -> Error { // Racer's Copy boundary error cannot retain an io::Error payload. Log before // mapping so semantic ownership failures and syscall errno remain actionable. eprintln!( - "racer-dataplane: stage=client-endpoint error={error} errno={:?}", + "racer: stage=client-endpoint error={error} errno={:?}", error.raw_os_error() ); if error.kind() == std::io::ErrorKind::InvalidInput && error.raw_os_error().is_none() { diff --git a/cmd/racer-dataplane/src/client/origin_directory.rs b/cmd/racer/src/client/origin_directory.rs similarity index 99% rename from cmd/racer-dataplane/src/client/origin_directory.rs rename to cmd/racer/src/client/origin_directory.rs index 6f69d5703e..994951a45d 100644 --- a/cmd/racer-dataplane/src/client/origin_directory.rs +++ b/cmd/racer/src/client/origin_directory.rs @@ -161,7 +161,7 @@ fn prepare_with( // running as the dataplane's own user instead of failing. Err(error) if error.raw_os_error() == Some(libc::EPERM) && !privileged => { eprintln!( - "racer-dataplane: stage=origin-directory warning=unprivileged \ + "racer: stage=origin-directory warning=unprivileged \ uid={} gid={} error={error}", owner.uid, owner.gid ); @@ -209,7 +209,7 @@ fn trusted_previous_owner(uid: u32, mode: u32, euid: u32, privileged: bool) -> b /// migration. Entries that were already moved are skipped on retry. fn adopt_entries(directory: &File, owner: Owner, ops: &mut impl Ops) -> io::Result { let names = ops.read_entries(directory).inspect_err(|error| { - eprintln!("racer-dataplane: stage=origin-directory-migrate error={error}"); + eprintln!("racer: stage=origin-directory-migrate error={error}"); })?; let mut adopted = 0; let mut failure = None; @@ -219,7 +219,7 @@ fn adopt_entries(directory: &File, owner: Owner, ops: &mut impl Ops) -> io::Resu Ok(false) => {} Err(error) => { eprintln!( - "racer-dataplane: stage=origin-directory-migrate entry={:?} error={error}", + "racer: stage=origin-directory-migrate entry={:?} error={error}", name ); failure.get_or_insert(error); diff --git a/cmd/racer-dataplane/src/client/tests.rs b/cmd/racer/src/client/tests.rs similarity index 100% rename from cmd/racer-dataplane/src/client/tests.rs rename to cmd/racer/src/client/tests.rs diff --git a/cmd/racer-dataplane/src/client/tests/direct.rs b/cmd/racer/src/client/tests/direct.rs similarity index 100% rename from cmd/racer-dataplane/src/client/tests/direct.rs rename to cmd/racer/src/client/tests/direct.rs diff --git a/cmd/racer-dataplane/src/client/tests/direct/gpu.rs b/cmd/racer/src/client/tests/direct/gpu.rs similarity index 100% rename from cmd/racer-dataplane/src/client/tests/direct/gpu.rs rename to cmd/racer/src/client/tests/direct/gpu.rs diff --git a/cmd/racer-dataplane/src/config.rs b/cmd/racer/src/config.rs similarity index 100% rename from cmd/racer-dataplane/src/config.rs rename to cmd/racer/src/config.rs diff --git a/cmd/racer-dataplane/src/control.rs b/cmd/racer/src/control.rs similarity index 100% rename from cmd/racer-dataplane/src/control.rs rename to cmd/racer/src/control.rs diff --git a/cmd/racer-dataplane/src/control/managed.rs b/cmd/racer/src/control/managed.rs similarity index 98% rename from cmd/racer-dataplane/src/control/managed.rs rename to cmd/racer/src/control/managed.rs index 504b4d9033..f0a8c9885e 100644 --- a/cmd/racer-dataplane/src/control/managed.rs +++ b/cmd/racer/src/control/managed.rs @@ -106,7 +106,7 @@ fn start_with( match outcome { Ok(bootstrapped) => break bootstrapped, Err(BootstrapError::Retry | BootstrapError::Pending) => { - eprintln!("racer-dataplane: stage=cluster-bootstrap state=waiting"); + eprintln!("racer: stage=cluster-bootstrap state=waiting"); let resume = started + floor; while let Some(left) = resume.checked_duration_since(std::time::Instant::now()) { if left.is_zero() { @@ -119,7 +119,7 @@ fn start_with( } } Err(BootstrapError::Fatal) => { - eprintln!("racer-dataplane: stage=cluster-bootstrap fatal error=control stopped"); + eprintln!("racer: stage=cluster-bootstrap fatal error=control stopped"); return Err(Error::Unavailable); } } @@ -156,7 +156,7 @@ pub fn bind_cluster(root: &Path, cluster: &ClusterId) -> Result { Some(recorded) if recorded == cluster.0 => {} Some(recorded) => { eprintln!( - "racer-dataplane: stage=cluster-binding fatal error=cluster UID changed from {recorded} to {}; \ + "racer: stage=cluster-binding fatal error=cluster UID changed from {recorded} to {}; \ this node identity stays bound to {recorded}. If the racer-state Secret was \ intentionally recreated, stop the dataplane and remove {} to re-enroll", cluster.0, @@ -187,7 +187,7 @@ fn refuse_orphans(managed: &Path, cluster: &ClusterId) -> Result<()> { continue; } eprintln!( - "racer-dataplane: stage=cluster-binding fatal error=missing sentinel beside {}; \ + "racer: stage=cluster-binding fatal error=missing sentinel beside {}; \ refusing to bind {} without operator action. Remove {} to re-enroll", name.to_string_lossy(), cluster.0, diff --git a/cmd/racer-dataplane/src/control/publication.rs b/cmd/racer/src/control/publication.rs similarity index 100% rename from cmd/racer-dataplane/src/control/publication.rs rename to cmd/racer/src/control/publication.rs diff --git a/cmd/racer-dataplane/src/control/rails.rs b/cmd/racer/src/control/rails.rs similarity index 100% rename from cmd/racer-dataplane/src/control/rails.rs rename to cmd/racer/src/control/rails.rs diff --git a/cmd/racer-dataplane/src/control/session.rs b/cmd/racer/src/control/session.rs similarity index 100% rename from cmd/racer-dataplane/src/control/session.rs rename to cmd/racer/src/control/session.rs diff --git a/cmd/racer-dataplane/src/error.rs b/cmd/racer/src/error.rs similarity index 100% rename from cmd/racer-dataplane/src/error.rs rename to cmd/racer/src/error.rs diff --git a/cmd/racer-dataplane/src/gpu.rs b/cmd/racer/src/gpu.rs similarity index 97% rename from cmd/racer-dataplane/src/gpu.rs rename to cmd/racer/src/gpu.rs index 549da927ea..9e30330400 100644 --- a/cmd/racer-dataplane/src/gpu.rs +++ b/cmd/racer/src/gpu.rs @@ -509,7 +509,7 @@ impl GpuHelper { match mode { GpuMode::Disabled => Ok(None), GpuMode::Auto if !built => { - eprintln!("racer-dataplane: stage=gpu state=disabled reason=not-built"); + eprintln!("racer: stage=gpu state=disabled reason=not-built"); Ok(None) } _ => Self::start_with_options(mode, staging_bytes, pci_p2pdma, loader), @@ -568,7 +568,7 @@ impl GpuHelper { Err(error) => error.to_string(), Ok(_) => "no-usable-gpu".into(), }; - eprintln!("racer-dataplane: stage=gpu state=disabled reason={reason}"); + eprintln!("racer: stage=gpu state=disabled reason={reason}"); return if mode == GpuMode::Required { Err(Error::Unavailable) } else { @@ -590,7 +590,7 @@ impl GpuHelper { }) .collect::>(); eprintln!( - "racer-dataplane: stage=gpu state=enabled usable={} decrypt={} staging_slots={} pci_p2pdma={}", + "racer: stage=gpu state=enabled usable={} decrypt={} staging_slots={} pci_p2pdma={}", devices.len(), shared.iter().filter(|device| device.decrypt).count(), slots, @@ -998,7 +998,7 @@ fn reader_main( let failed = result.is_err(); if let Err(error) = &result { counters.file_failures.fetch_add(1, Ordering::Relaxed); - eprintln!("racer-dataplane: stage=gpu state=cufile-read-failed reason={error}"); + eprintln!("racer: stage=gpu state=cufile-read-failed reason={error}"); } else { counters.staged.fetch_add(1, Ordering::Relaxed); } @@ -1149,7 +1149,7 @@ fn open_cufile( && cufile.swap(false, Ordering::Relaxed) { counters.cufile_disabled(CufileDisable::DriverOpen); - eprintln!("racer-dataplane: stage=gpu state=cufile-disabled reason={error}"); + eprintln!("racer: stage=gpu state=cufile-disabled reason={error}"); } }) .ok() @@ -1180,7 +1180,7 @@ fn probe_decrypt(context: &racer_gpu::Context) -> bool { let usable = queued.is_ok() && verdict.is_ok_and(|v| v != racer_gpu::Verdict::NotRun); if !usable { eprintln!( - "racer-dataplane: stage=gpu ordinal={} decrypt=unavailable reason={:?}", + "racer: stage=gpu ordinal={} decrypt=unavailable reason={:?}", context.ordinal(), queued.err() ); @@ -1197,7 +1197,7 @@ fn discover(loader: Loader) -> racer_gpu::Result { let mut usable = Vec::new(); for device in gpu.devices()? { eprintln!( - "racer-dataplane: stage=gpu ordinal={} uuid={} pci_bus_id={} numa_node={} compute_mode={:?} usable={}", + "racer: stage=gpu ordinal={} uuid={} pci_bus_id={} numa_node={} compute_mode={:?} usable={}", device.ordinal, device.uuid_string(), device.pci_bus_id, @@ -1214,7 +1214,7 @@ fn discover(loader: Loader) -> racer_gpu::Result { usable.push(device); } Err(error) => eprintln!( - "racer-dataplane: stage=gpu ordinal={} state=skipped reason={error}", + "racer: stage=gpu ordinal={} state=skipped reason={error}", device.ordinal ), } @@ -1321,7 +1321,7 @@ impl Helper { Job::FreeLanding { id, fd } => { drop(fd); if self.landing.remove(&id).is_some() { - eprintln!("racer-dataplane: stage=gpu-landing allocation={id} state=freed"); + eprintln!("racer: stage=gpu-landing allocation={id} state=freed"); } self.note_leaks(); } @@ -1340,7 +1340,7 @@ impl Helper { .ok_or(Error::Unavailable)?; let buffer = context.staging(length).map_err(|error| { eprintln!( - "racer-dataplane: stage=gpu ordinal={ordinal} state=landing-failed reason={error}" + "racer: stage=gpu ordinal={ordinal} state=landing-failed reason={error}" ); Error::Overloaded })?; @@ -1352,7 +1352,7 @@ impl Helper { } buffer.dma_buf(0, length).map_err(|error| { eprintln!( - "racer-dataplane: stage=gpu ordinal={ordinal} state=landing-export-failed reason={error}" + "racer: stage=gpu ordinal={ordinal} state=landing-export-failed reason={error}" ); Error::Unavailable }) @@ -1376,7 +1376,7 @@ impl Helper { if let Some(uuid) = gpu_uuid { let Some(first) = self.uuids.iter().position(|known| *known == uuid) else { eprintln!( - "racer-dataplane: stage=gpu state=import-skipped reason=unknown-gpu-uuid uuid={}", + "racer: stage=gpu state=import-skipped reason=unknown-gpu-uuid uuid={}", racer_gpu::uuid_string(&uuid) ); return Err(Error::NotImplemented); @@ -1392,7 +1392,7 @@ impl Helper { Ok(import) => { if attempt > 0 && gpu_uuid.is_some() { eprintln!( - "racer-dataplane: stage=gpu state=uuid-mismatch ordinal={} uuid={}", + "racer: stage=gpu state=uuid-mismatch ordinal={} uuid={}", context.ordinal(), racer_gpu::uuid_string(&self.uuids[index]) ); @@ -1442,7 +1442,7 @@ impl Helper { let size = self.state.slots.max(SCRATCH_SLOTS) * SLOT_BYTES; let buffer = context.staging(size).map_err(|error| { eprintln!( - "racer-dataplane: stage=gpu ordinal={ordinal} state=staging-failed reason={error}" + "racer: stage=gpu ordinal={ordinal} state=staging-failed reason={error}" ); Error::Overloaded })?; @@ -1597,7 +1597,7 @@ impl Helper { .fetch_add(1, Ordering::Relaxed); let (major, minor) = (libc::major(device), libc::minor(device)); eprintln!( - "racer-dataplane: stage=gpu state=cufile-unsupported dev={major}:{minor} reason={error}" + "racer: stage=gpu state=cufile-unsupported dev={major}:{minor} reason={error}" ); } } @@ -1606,7 +1606,7 @@ impl Helper { fn disable_cufile(&self, error: racer_gpu::Error, reason: CufileDisable) { if self.state.cufile.swap(false, Ordering::Relaxed) { self.state.counters.cufile_disabled(reason); - eprintln!("racer-dataplane: stage=gpu state=cufile-disabled reason={error}"); + eprintln!("racer: stage=gpu state=cufile-disabled reason={error}"); } } @@ -1735,7 +1735,7 @@ impl Helper { fn note_leaks(&self) { let leaked = self.gpu.leaked(); if self.state.leaked.swap(leaked, Ordering::Relaxed) != leaked { - eprintln!("racer-dataplane: stage=gpu state=leaked total={leaked}"); + eprintln!("racer: stage=gpu state=leaked total={leaked}"); } } } diff --git a/cmd/racer-dataplane/src/gpu_slot.rs b/cmd/racer/src/gpu_slot.rs similarity index 98% rename from cmd/racer-dataplane/src/gpu_slot.rs rename to cmd/racer/src/gpu_slot.rs index c153bd5887..8b186df17e 100644 --- a/cmd/racer-dataplane/src/gpu_slot.rs +++ b/cmd/racer/src/gpu_slot.rs @@ -145,7 +145,7 @@ impl GpuSlot { .name("racer-gpu-start".into()) .spawn(move || { let helper = start().unwrap_or_else(|error| { - eprintln!("racer-dataplane: stage=gpu state=disabled reason={error}"); + eprintln!("racer: stage=gpu state=disabled reason={error}"); None }); if let (Some(helper), Some(on_start)) = (&helper, on_start) { @@ -154,7 +154,7 @@ impl GpuSlot { inner.finish(helper); }); if spawned.is_err() { - eprintln!("racer-dataplane: stage=gpu state=disabled reason=spawn-failed"); + eprintln!("racer: stage=gpu state=disabled reason=spawn-failed"); self.inner.finish(None); } } diff --git a/cmd/racer-dataplane/src/gpu_telemetry.rs b/cmd/racer/src/gpu_telemetry.rs similarity index 100% rename from cmd/racer-dataplane/src/gpu_telemetry.rs rename to cmd/racer/src/gpu_telemetry.rs diff --git a/cmd/racer-dataplane/src/hardware.rs b/cmd/racer/src/hardware.rs similarity index 100% rename from cmd/racer-dataplane/src/hardware.rs rename to cmd/racer/src/hardware.rs diff --git a/cmd/racer-dataplane/src/http.rs b/cmd/racer/src/http.rs similarity index 100% rename from cmd/racer-dataplane/src/http.rs rename to cmd/racer/src/http.rs diff --git a/cmd/racer-dataplane/src/lib.rs b/cmd/racer/src/lib.rs similarity index 100% rename from cmd/racer-dataplane/src/lib.rs rename to cmd/racer/src/lib.rs diff --git a/cmd/racer-dataplane/src/main.rs b/cmd/racer/src/main.rs similarity index 82% rename from cmd/racer-dataplane/src/main.rs rename to cmd/racer/src/main.rs index 61e6f92e06..4c92489bc8 100644 --- a/cmd/racer-dataplane/src/main.rs +++ b/cmd/racer/src/main.rs @@ -4,10 +4,10 @@ //! its own bounded thread, and the dataplane waits for its bootstrap before any //! worker is assembled. Standalone fixtures set a static endpoint instead. -use racer_dataplane::app::{Application, StopSignals}; -use racer_dataplane::config::Config; -use racer_dataplane::control::managed::{BootstrapError, Bootstrapped, ClusterControl}; -use racer_dataplane::error::Error; +use racer::app::{Application, StopSignals}; +use racer::config::Config; +use racer::control::managed::{BootstrapError, Bootstrapped, ClusterControl}; +use racer::error::Error; use std::sync::Arc; use std::time::Duration; @@ -18,7 +18,7 @@ fn main() -> std::process::ExitCode { Ok(()) => std::process::ExitCode::SUCCESS, Err((stage, error)) => { // Workers log their own failing stage first; this names the lifecycle phase. - eprintln!("racer-dataplane: fatal stage={stage} error={error}"); + eprintln!("racer: fatal stage={stage} error={error}"); std::process::ExitCode::FAILURE } } @@ -37,7 +37,7 @@ impl ClusterControl for Embedded { Err(racer_cluster_control::Error::Unavailable) => Err(BootstrapError::Retry), Err(racer_cluster_control::Error::Timeout) => Err(BootstrapError::Pending), Err(error) => { - eprintln!("racer-dataplane: stage=cluster-bootstrap control error={error}"); + eprintln!("racer: stage=cluster-bootstrap control error={error}"); Err(BootstrapError::Fatal) } } @@ -50,7 +50,7 @@ impl ClusterControl for Embedded { fn report(&self, shares: u32, rails: Vec) { // Reports are retried by control; a refused enqueue is logged, never fatal. if let Err(error) = self.0.report(shares, rails) { - eprintln!("racer-dataplane: stage=cluster-report error={error}"); + eprintln!("racer: stage=cluster-report error={error}"); } } } @@ -61,7 +61,7 @@ fn run() -> std::result::Result<(), (&'static str, Error)> { // managed bootstrap wait; the application shares, never resets, this state. let signals = StopSignals::install().map_err(|error| ("signals", error))?; let control = racer_cluster_control::Config::from_env().map_err(|error| { - eprintln!("racer-dataplane: stage=cluster-control-config error={error}"); + eprintln!("racer: stage=cluster-control-config error={error}"); ("cluster-control-config", Error::InvalidConfiguration) })?; // Retained until the application stops; dropping it stops control boundedly. @@ -70,19 +70,19 @@ fn run() -> std::result::Result<(), (&'static str, Error)> { (None, false) => None, (Some(control), true) => { let handle = racer_cluster_control::start(control).map_err(|error| { - eprintln!("racer-dataplane: stage=cluster-control-start error={error}"); + eprintln!("racer: stage=cluster-control-start error={error}"); ("cluster-control-start", Error::Unavailable) })?; let concrete = Arc::new(Embedded(handle)); let embedded: Arc = concrete.clone(); - match racer_dataplane::control::managed::start(&mut config, embedded, &|| { + match racer::control::managed::start(&mut config, embedded, &|| { signals.requested() }) { Ok(()) => {} // A requested stop during bootstrap is a clean exit; dropping the // handle stops embedded control boundedly. Err(Error::Cancelled) if signals.requested() => { - eprintln!("racer-dataplane: stage=cluster-bootstrap stopped by signal"); + eprintln!("racer: stage=cluster-bootstrap stopped by signal"); return Ok(()); } Err(error) => return Err(fatal(&concrete, ("cluster-bootstrap", error))), @@ -91,13 +91,13 @@ fn run() -> std::result::Result<(), (&'static str, Error)> { } (Some(_), false) => { eprintln!( - "racer-dataplane: RACER_CLUSTER_ID and RACER_CONTROL_ENDPOINT must be unset when RACER_NAMESPACE selects managed control" + "racer: RACER_CLUSTER_ID and RACER_CONTROL_ENDPOINT must be unset when RACER_NAMESPACE selects managed control" ); return Err(("config", Error::InvalidConfiguration)); } (None, true) => { eprintln!( - "racer-dataplane: set RACER_NAMESPACE for managed control, or both RACER_CLUSTER_ID and RACER_CONTROL_ENDPOINT for standalone control" + "racer: set RACER_NAMESPACE for managed control, or both RACER_CLUSTER_ID and RACER_CONTROL_ENDPOINT for standalone control" ); return Err(("config", Error::InvalidConfiguration)); } @@ -119,7 +119,7 @@ fn fatal(control: &Embedded, failure: (&'static str, Error)) -> (&'static str, E .last_error .map_or_else(|| "none".to_owned(), |error| error.to_string()); eprintln!( - "racer-dataplane: stage={} control role={:?} sequence={} ready={} tasks={} last_error={last_error}", + "racer: stage={} control role={:?} sequence={} ready={} tasks={} last_error={last_error}", failure.0, state.role, state.sequence, state.ready, state.tasks ); failure @@ -152,17 +152,17 @@ fn should_set_mmap_threshold(env: Option<&std::ffi::OsStr>) -> bool { fn tune_allocator() { let env = std::env::var_os(MALLOC_MMAP_THRESHOLD_ENV); if !should_set_mmap_threshold(env.as_deref()) { - eprintln!("racer-dataplane: malloc mmap threshold left to {MALLOC_MMAP_THRESHOLD_ENV}"); + eprintln!("racer: malloc mmap threshold left to {MALLOC_MMAP_THRESHOLD_ENV}"); return; } // SAFETY: mallopt only adjusts allocator parameters and is called before other threads exist. let applied = unsafe { libc::mallopt(libc::M_MMAP_THRESHOLD, MMAP_THRESHOLD_BYTES) }; if applied == 1 { - eprintln!("racer-dataplane: malloc mmap threshold set bytes={MMAP_THRESHOLD_BYTES}"); + eprintln!("racer: malloc mmap threshold set bytes={MMAP_THRESHOLD_BYTES}"); } else { eprintln!( - "racer-dataplane: malloc mmap threshold not applied bytes={MMAP_THRESHOLD_BYTES}" + "racer: malloc mmap threshold not applied bytes={MMAP_THRESHOLD_BYTES}" ); } } diff --git a/cmd/racer-dataplane/src/memory.rs b/cmd/racer/src/memory.rs similarity index 100% rename from cmd/racer-dataplane/src/memory.rs rename to cmd/racer/src/memory.rs diff --git a/cmd/racer-dataplane/src/model.rs b/cmd/racer/src/model.rs similarity index 100% rename from cmd/racer-dataplane/src/model.rs rename to cmd/racer/src/model.rs diff --git a/cmd/racer-dataplane/src/origin.rs b/cmd/racer/src/origin.rs similarity index 100% rename from cmd/racer-dataplane/src/origin.rs rename to cmd/racer/src/origin.rs diff --git a/cmd/racer-dataplane/src/origin/tests.rs b/cmd/racer/src/origin/tests.rs similarity index 100% rename from cmd/racer-dataplane/src/origin/tests.rs rename to cmd/racer/src/origin/tests.rs diff --git a/cmd/racer-dataplane/src/peer.rs b/cmd/racer/src/peer.rs similarity index 99% rename from cmd/racer-dataplane/src/peer.rs rename to cmd/racer/src/peer.rs index d5fda3a816..af93c6d365 100644 --- a/cmd/racer-dataplane/src/peer.rs +++ b/cmd/racer/src/peer.rs @@ -358,7 +358,7 @@ impl Relay { /// binding before appending a reverse hop. Never re-sign the original response. /// /// ```compile_fail,E0308 - /// use racer_dataplane::{peer::{Relay, protocol::SignedRequest}, + /// use racer::{peer::{Relay, protocol::SignedRequest}, /// runtime::RequestScope, topology::Membership}; /// fn unverified(relay: &Relay, request: SignedRequest, /// membership: std::sync::Arc, scope: &RequestScope) { @@ -702,7 +702,7 @@ impl Requester { /// Requesters handle both complete and opaque I/O. /// /// ```no_run -/// use racer_dataplane::{error::Result, peer::{Requester, +/// use racer::{error::Result, peer::{Requester, /// Relay, server::PeerServer, /// protocol::{PeerRequest, SignedRequest, SignedResponse}, forwarding::VerifiedResponse}, /// runtime::RequestScope, peer::forwarding::Forwarding, diff --git a/cmd/racer-dataplane/src/peer/forwarding.rs b/cmd/racer/src/peer/forwarding.rs similarity index 99% rename from cmd/racer-dataplane/src/peer/forwarding.rs rename to cmd/racer/src/peer/forwarding.rs index 569de0a2e8..bea552ecbb 100644 --- a/cmd/racer-dataplane/src/peer/forwarding.rs +++ b/cmd/racer/src/peer/forwarding.rs @@ -6,7 +6,7 @@ //! //! ```no_run //! use racer_control_wire::NodeId; -//! use racer_dataplane::{ +//! use racer::{ //! error::Result, //! peer::{server::LocalPageService, protocol::PeerRequest}, //! runtime::RequestScope, @@ -161,7 +161,7 @@ pub use peer_wire::ForwardedHead; /// request. No credentials are decoded or decrypted here. /// /// ```compile_fail -/// use racer_dataplane::peer::forwarding::RequestBinding; +/// use racer::peer::forwarding::RequestBinding; /// fn fabricate_binding() -> RequestBinding { /// RequestBinding { original: todo!() } /// } @@ -189,14 +189,14 @@ impl RequestBinding { /// from modifying signed fields after verification. /// /// ```compile_fail -/// use racer_dataplane::peer::{protocol::SignedRequest, forwarding::VerifiedRequest}; +/// use racer::peer::{protocol::SignedRequest, forwarding::VerifiedRequest}; /// fn bypass_verification(request: SignedRequest) -> VerifiedRequest { /// request.into() /// } /// ``` /// /// ```compile_fail -/// use racer_dataplane::peer::forwarding::VerifiedRequest; +/// use racer::peer::forwarding::VerifiedRequest; /// fn change_verified_route(request: VerifiedRequest) { /// request.request().route.remaining_links = 255; /// } @@ -252,14 +252,14 @@ impl VerifiedRequest { /// This is distinct from both an unsigned local result and unverified wire input. /// /// ```compile_fail -/// use racer_dataplane::peer::{protocol::SignedResponse, forwarding::VerifiedResponse}; +/// use racer::peer::{protocol::SignedResponse, forwarding::VerifiedResponse}; /// fn bypass_verification(response: SignedResponse) -> VerifiedResponse { /// response.into() /// } /// ``` /// /// ```compile_fail -/// use racer_dataplane::peer::{protocol::PeerResponse, forwarding::VerifiedResponse}; +/// use racer::peer::{protocol::PeerResponse, forwarding::VerifiedResponse}; /// fn replace_verified_result(mut response: VerifiedResponse) { /// *response.response() = PeerResponse::Miss; /// } @@ -564,7 +564,7 @@ impl Forwarding { /// operation, membership, attempt, and freshness without hashing page bytes. /// /// ```compile_fail - /// use racer_dataplane::{peer::protocol::SignedResponse, peer::forwarding::Forwarding}; + /// use racer::{peer::protocol::SignedResponse, peer::forwarding::Forwarding}; /// fn unbound_response(auth: &Forwarding, response: SignedResponse) { /// auth.verify_response(response); /// } diff --git a/cmd/racer-dataplane/src/peer/protocol.rs b/cmd/racer/src/peer/protocol.rs similarity index 100% rename from cmd/racer-dataplane/src/peer/protocol.rs rename to cmd/racer/src/peer/protocol.rs diff --git a/cmd/racer-dataplane/src/peer/receive.rs b/cmd/racer/src/peer/receive.rs similarity index 100% rename from cmd/racer-dataplane/src/peer/receive.rs rename to cmd/racer/src/peer/receive.rs diff --git a/cmd/racer-dataplane/src/peer/server.rs b/cmd/racer/src/peer/server.rs similarity index 99% rename from cmd/racer-dataplane/src/peer/server.rs rename to cmd/racer/src/peer/server.rs index 6b31b0673a..5e00a114c6 100644 --- a/cmd/racer-dataplane/src/peer/server.rs +++ b/cmd/racer/src/peer/server.rs @@ -20,7 +20,7 @@ use std::time::Instant; /// it with a retained clone of the request binding. /// /// ```compile_fail -/// use racer_dataplane::{peer::{server::LocalPageService, protocol::PeerRequest}, +/// use racer::{peer::{server::LocalPageService, protocol::PeerRequest}, /// runtime::RequestScope, topology::Membership}; /// fn unverified(service: &dyn LocalPageService, request: PeerRequest, /// membership: std::sync::Arc, scope: &RequestScope) { diff --git a/cmd/racer-dataplane/src/peer/subscriptions.rs b/cmd/racer/src/peer/subscriptions.rs similarity index 100% rename from cmd/racer-dataplane/src/peer/subscriptions.rs rename to cmd/racer/src/peer/subscriptions.rs diff --git a/cmd/racer-dataplane/src/peer/tests.rs b/cmd/racer/src/peer/tests.rs similarity index 100% rename from cmd/racer-dataplane/src/peer/tests.rs rename to cmd/racer/src/peer/tests.rs diff --git a/cmd/racer-dataplane/src/peer/tests/opaque.rs b/cmd/racer/src/peer/tests/opaque.rs similarity index 100% rename from cmd/racer-dataplane/src/peer/tests/opaque.rs rename to cmd/racer/src/peer/tests/opaque.rs diff --git a/cmd/racer-dataplane/src/peer/tests/protocol_socket.rs b/cmd/racer/src/peer/tests/protocol_socket.rs similarity index 100% rename from cmd/racer-dataplane/src/peer/tests/protocol_socket.rs rename to cmd/racer/src/peer/tests/protocol_socket.rs diff --git a/cmd/racer-dataplane/src/peer/transport.rs b/cmd/racer/src/peer/transport.rs similarity index 99% rename from cmd/racer-dataplane/src/peer/transport.rs rename to cmd/racer/src/peer/transport.rs index 3d6a2a58e8..687f0407a0 100644 --- a/cmd/racer-dataplane/src/peer/transport.rs +++ b/cmd/racer/src/peer/transport.rs @@ -1097,7 +1097,7 @@ impl Transfers { /// Authentication and charged decoding are mandatory, even for HTTP-only peers. /// /// ```compile_fail - /// use racer_dataplane::{http::{HttpIo, HttpPool}, peer::transport::Transfers}; + /// use racer::{http::{HttpIo, HttpPool}, peer::transport::Transfers}; /// use std::rc::Rc; /// fn unsigned(pool: Rc, io: Rc) { /// let _ = Transfers::new(pool, io, None); diff --git a/cmd/racer-dataplane/src/pressure.rs b/cmd/racer/src/pressure.rs similarity index 100% rename from cmd/racer-dataplane/src/pressure.rs rename to cmd/racer/src/pressure.rs diff --git a/cmd/racer-dataplane/src/priority.rs b/cmd/racer/src/priority.rs similarity index 100% rename from cmd/racer-dataplane/src/priority.rs rename to cmd/racer/src/priority.rs diff --git a/cmd/racer-dataplane/src/profiling.rs b/cmd/racer/src/profiling.rs similarity index 100% rename from cmd/racer-dataplane/src/profiling.rs rename to cmd/racer/src/profiling.rs diff --git a/cmd/racer-dataplane/src/profiling/perf.rs b/cmd/racer/src/profiling/perf.rs similarity index 100% rename from cmd/racer-dataplane/src/profiling/perf.rs rename to cmd/racer/src/profiling/perf.rs diff --git a/cmd/racer-dataplane/src/profiling/perf_abi_test.c b/cmd/racer/src/profiling/perf_abi_test.c similarity index 100% rename from cmd/racer-dataplane/src/profiling/perf_abi_test.c rename to cmd/racer/src/profiling/perf_abi_test.c diff --git a/cmd/racer-dataplane/src/profiling/profile.rs b/cmd/racer/src/profiling/profile.rs similarity index 100% rename from cmd/racer-dataplane/src/profiling/profile.rs rename to cmd/racer/src/profiling/profile.rs diff --git a/cmd/racer-dataplane/src/rdma.rs b/cmd/racer/src/rdma.rs similarity index 100% rename from cmd/racer-dataplane/src/rdma.rs rename to cmd/racer/src/rdma.rs diff --git a/cmd/racer-dataplane/src/rdma/link_setup.rs b/cmd/racer/src/rdma/link_setup.rs similarity index 100% rename from cmd/racer-dataplane/src/rdma/link_setup.rs rename to cmd/racer/src/rdma/link_setup.rs diff --git a/cmd/racer-dataplane/src/rdma/links.rs b/cmd/racer/src/rdma/links.rs similarity index 98% rename from cmd/racer-dataplane/src/rdma/links.rs rename to cmd/racer/src/rdma/links.rs index 7bece703e3..4c0007d67b 100644 --- a/cmd/racer-dataplane/src/rdma/links.rs +++ b/cmd/racer/src/rdma/links.rs @@ -521,12 +521,12 @@ impl Links { let eligible = publication.len(); fund_publication(&mut publication, registered_bytes); if publication.is_empty() { - eprintln!("racer-dataplane: RACER_REGISTERED_BYTES funds no RDMA device; using HTTP"); + eprintln!("racer: RACER_REGISTERED_BYTES funds no RDMA device; using HTTP"); return Err(Error::Unavailable); } if publication.len() < eligible { eprintln!( - "racer-dataplane: RACER_REGISTERED_BYTES funds {} of {eligible} RDMA devices", + "racer: RACER_REGISTERED_BYTES funds {} of {eligible} RDMA devices", publication.len() ); } @@ -593,7 +593,7 @@ impl Links { let slots = (bytes / BUFFER_LEN as u64) as usize; if slots == 0 { eprintln!( - "racer-dataplane: stage=gpu-landing state=disabled reason=too-small bytes={bytes}" + "racer: stage=gpu-landing state=disabled reason=too-small bytes={bytes}" ); return; } @@ -619,7 +619,7 @@ impl Links { Ok(landing) => landing, Err(error) => { eprintln!( - "racer-dataplane: stage=gpu-landing ordinal={ordinal} state=failed reason={error}" + "racer: stage=gpu-landing ordinal={ordinal} state=failed reason={error}" ); continue; } @@ -631,7 +631,7 @@ impl Links { offset += length; let Some(slice) = slice else { eprintln!( - "racer-dataplane: stage=gpu-landing rail={} ordinal={ordinal} state=failed reason=bad-slice", + "racer: stage=gpu-landing rail={} ordinal={ordinal} state=failed reason=bad-slice", rail.0 ); continue; @@ -647,14 +647,14 @@ impl Links { { Ok(slots) => { eprintln!( - "racer-dataplane: stage=gpu-landing rail={} ordinal={ordinal} state=enabled slots={slots}", + "racer: stage=gpu-landing rail={} ordinal={ordinal} state=enabled slots={slots}", rail.0 ); LinkNode::lock(&self.node.landings).insert((rail.0, ordinal), slice); LinkNode::lock(&self.node.landing_slots).insert((rail.0, ordinal), slots); } Err(error) => eprintln!( - "racer-dataplane: stage=gpu-landing rail={} ordinal={ordinal} state=failed reason={error}", + "racer: stage=gpu-landing rail={} ordinal={ordinal} state=failed reason={error}", rail.0 ), } diff --git a/cmd/racer-dataplane/src/rdma/links/tests.rs b/cmd/racer/src/rdma/links/tests.rs similarity index 100% rename from cmd/racer-dataplane/src/rdma/links/tests.rs rename to cmd/racer/src/rdma/links/tests.rs diff --git a/cmd/racer-dataplane/src/rdma/links/tests/zero_copy.rs b/cmd/racer/src/rdma/links/tests/zero_copy.rs similarity index 100% rename from cmd/racer-dataplane/src/rdma/links/tests/zero_copy.rs rename to cmd/racer/src/rdma/links/tests/zero_copy.rs diff --git a/cmd/racer-dataplane/src/rdma/retry.rs b/cmd/racer/src/rdma/retry.rs similarity index 100% rename from cmd/racer-dataplane/src/rdma/retry.rs rename to cmd/racer/src/rdma/retry.rs diff --git a/cmd/racer-dataplane/src/read.rs b/cmd/racer/src/read.rs similarity index 100% rename from cmd/racer-dataplane/src/read.rs rename to cmd/racer/src/read.rs diff --git a/cmd/racer-dataplane/src/read/candidates.rs b/cmd/racer/src/read/candidates.rs similarity index 100% rename from cmd/racer-dataplane/src/read/candidates.rs rename to cmd/racer/src/read/candidates.rs diff --git a/cmd/racer-dataplane/src/read/dispatch.rs b/cmd/racer/src/read/dispatch.rs similarity index 100% rename from cmd/racer-dataplane/src/read/dispatch.rs rename to cmd/racer/src/read/dispatch.rs diff --git a/cmd/racer-dataplane/src/read/fill.rs b/cmd/racer/src/read/fill.rs similarity index 100% rename from cmd/racer-dataplane/src/read/fill.rs rename to cmd/racer/src/read/fill.rs diff --git a/cmd/racer-dataplane/src/read/flight.rs b/cmd/racer/src/read/flight.rs similarity index 99% rename from cmd/racer-dataplane/src/read/flight.rs rename to cmd/racer/src/read/flight.rs index 2caec510c4..67d2d1da2b 100644 --- a/cmd/racer-dataplane/src/read/flight.rs +++ b/cmd/racer/src/read/flight.rs @@ -358,7 +358,7 @@ impl FlightOperation { /// Original acquisition budget; the rule lives in racer-core. /// ```compile_fail -/// use racer_dataplane::read::flight::AcquisitionBudget; +/// use racer::read::flight::AcquisitionBudget; /// fn duplicate(budget: AcquisitionBudget) { let _other = budget.clone(); } /// ``` pub use racer_core::read::AcquisitionBudget; @@ -396,7 +396,7 @@ impl Fence { /// Unique publication capability. Resources live in the worker table, not here. /// Membership/authority are acquisition state, never part of the flight key. /// ```compile_fail -/// use racer_dataplane::read::flight::FlightLeader; +/// use racer::read::flight::FlightLeader; /// fn duplicate(leader: FlightLeader) { let _other = leader.clone(); } /// ``` pub struct FlightLeader { @@ -412,7 +412,7 @@ pub struct FlightLeader { /// retain their own admitted allocations until actual completion. Detach drops /// these borrows, not another caller's context or outstanding transport owners. /// ```compile_fail -/// use racer_dataplane::read::flight::AcquisitionWaiter; +/// use racer::read::flight::AcquisitionWaiter; /// fn retain(waiter: AcquisitionWaiter<'_>) -> AcquisitionWaiter<'static> { waiter } /// ``` pub struct AcquisitionWaiter<'a> { @@ -435,7 +435,7 @@ pub(super) struct Registration { /// No credentials, membership, budget, or API to obtain a leader capability. /// ```compile_fail -/// use racer_dataplane::read::flight::{CopyWaiter, FlightLeader}; +/// use racer::read::flight::{CopyWaiter, FlightLeader}; /// fn acquire(mut waiter: CopyWaiter<'_>, leader: &FlightLeader) { /// let _context = waiter.acquisition(leader); /// } diff --git a/cmd/racer-dataplane/src/read/metadata.rs b/cmd/racer/src/read/metadata.rs similarity index 100% rename from cmd/racer-dataplane/src/read/metadata.rs rename to cmd/racer/src/read/metadata.rs diff --git a/cmd/racer-dataplane/src/read/range_stream.rs b/cmd/racer/src/read/range_stream.rs similarity index 99% rename from cmd/racer-dataplane/src/read/range_stream.rs rename to cmd/racer/src/read/range_stream.rs index d5ca372ceb..c2f11b5d20 100644 --- a/cmd/racer-dataplane/src/read/range_stream.rs +++ b/cmd/racer/src/read/range_stream.rs @@ -549,7 +549,7 @@ pub struct RangeStreams { /// The body stays on the ingress reactor, including its delivery pipe leases. /// ```compile_fail -/// use racer_dataplane::read::range_stream::RangeStream; +/// use racer::read::range_stream::RangeStream; /// fn send() {} /// send::(); /// ``` diff --git a/cmd/racer-dataplane/src/read/sealed.rs b/cmd/racer/src/read/sealed.rs similarity index 100% rename from cmd/racer-dataplane/src/read/sealed.rs rename to cmd/racer/src/read/sealed.rs diff --git a/cmd/racer-dataplane/src/read/tests.rs b/cmd/racer/src/read/tests.rs similarity index 100% rename from cmd/racer-dataplane/src/read/tests.rs rename to cmd/racer/src/read/tests.rs diff --git a/cmd/racer-dataplane/src/read/tests/fill.rs b/cmd/racer/src/read/tests/fill.rs similarity index 100% rename from cmd/racer-dataplane/src/read/tests/fill.rs rename to cmd/racer/src/read/tests/fill.rs diff --git a/cmd/racer-dataplane/src/read/tests/hot_reads.rs b/cmd/racer/src/read/tests/hot_reads.rs similarity index 100% rename from cmd/racer-dataplane/src/read/tests/hot_reads.rs rename to cmd/racer/src/read/tests/hot_reads.rs diff --git a/cmd/racer-dataplane/src/read/tests/peer_copies.rs b/cmd/racer/src/read/tests/peer_copies.rs similarity index 100% rename from cmd/racer-dataplane/src/read/tests/peer_copies.rs rename to cmd/racer/src/read/tests/peer_copies.rs diff --git a/cmd/racer-dataplane/src/read/tests/persist_policy.rs b/cmd/racer/src/read/tests/persist_policy.rs similarity index 100% rename from cmd/racer-dataplane/src/read/tests/persist_policy.rs rename to cmd/racer/src/read/tests/persist_policy.rs diff --git a/cmd/racer-dataplane/src/read/tests/remote.rs b/cmd/racer/src/read/tests/remote.rs similarity index 100% rename from cmd/racer-dataplane/src/read/tests/remote.rs rename to cmd/racer/src/read/tests/remote.rs diff --git a/cmd/racer-dataplane/src/read/tests/warming.rs b/cmd/racer/src/read/tests/warming.rs similarity index 100% rename from cmd/racer-dataplane/src/read/tests/warming.rs rename to cmd/racer/src/read/tests/warming.rs diff --git a/cmd/racer-dataplane/src/read/warm.rs b/cmd/racer/src/read/warm.rs similarity index 100% rename from cmd/racer-dataplane/src/read/warm.rs rename to cmd/racer/src/read/warm.rs diff --git a/cmd/racer-dataplane/src/retention.rs b/cmd/racer/src/retention.rs similarity index 100% rename from cmd/racer-dataplane/src/retention.rs rename to cmd/racer/src/retention.rs diff --git a/cmd/racer-dataplane/src/runtime.rs b/cmd/racer/src/runtime.rs similarity index 99% rename from cmd/racer-dataplane/src/runtime.rs rename to cmd/racer/src/runtime.rs index eafa59d1ea..0450af1df1 100644 --- a/cmd/racer-dataplane/src/runtime.rs +++ b/cmd/racer/src/runtime.rs @@ -278,29 +278,29 @@ impl uring_runtime::Budget for AdmissionBudget { /// /// Inline storage cannot meet the stable-buffer contract: /// ```compile_fail -/// use racer_dataplane::error::Result; +/// use racer::error::Result; /// use uring_runtime::reactor::IoBuffer; /// struct Inline([u8; 16]); /// impl IoBuffer for Inline { -/// type Error = racer_dataplane::error::Error; +/// type Error = racer::error::Error; /// fn bytes(&self) -> Result<&[u8]> { Ok(&self.0) } /// fn bytes_mut(&mut self) -> Result<&mut [u8]> { Ok(&mut self.0) } /// } /// ``` /// Borrowed storage does not have an independent completion lifetime: /// ```compile_fail -/// use racer_dataplane::error::Result; +/// use racer::error::Result; /// use uring_runtime::reactor::IoBuffer; /// struct Borrowed<'a>(&'a mut [u8]); /// unsafe impl IoBuffer for Borrowed<'_> { -/// type Error = racer_dataplane::error::Error; +/// type Error = racer::error::Error; /// fn bytes(&self) -> Result<&[u8]> { Ok(self.0) } /// fn bytes_mut(&mut self) -> Result<&mut [u8]> { Ok(self.0) } /// } /// ``` /// Audited production buffers own independent storage: /// ``` -/// use racer_dataplane::{memory::PlaintextBuffer, admission::AdmissionPolicy}; +/// use racer::{memory::PlaintextBuffer, admission::AdmissionPolicy}; /// use uring_runtime::reactor::IoBuffer; /// use flow_control::Charge; /// use page_alloc::AlignedBuffer; @@ -312,7 +312,7 @@ impl uring_runtime::Budget for AdmissionBudget { /// Immutable ciphertext cannot be used for receive: /// ```compile_fail /// use std::rc::Rc; -/// use racer_dataplane::{memory::CiphertextPage, runtime::{Reactor, RequestScope}}; +/// use racer::{memory::CiphertextPage, runtime::{Reactor, RequestScope}}; /// use uring_runtime::reactor::descriptor::Descriptor; /// fn receive(r: &Reactor, fd: Rc, page: CiphertextPage, scope: &RequestScope) { /// let _ = r.recv(fd, page, (), scope); diff --git a/cmd/racer-dataplane/src/security.rs b/cmd/racer/src/security.rs similarity index 99% rename from cmd/racer-dataplane/src/security.rs rename to cmd/racer/src/security.rs index 627ae7171c..8e3f351c32 100644 --- a/cmd/racer-dataplane/src/security.rs +++ b/cmd/racer/src/security.rs @@ -116,7 +116,7 @@ impl fmt::Debug for OpaqueMetadata { /// One request owns the raw context and lends it to origin writes and sealing. /// Retrying/fanning out must not require duplicating secrets: /// ```compile_fail -/// use racer_dataplane::security::OriginContext; +/// use racer::security::OriginContext; /// fn duplicate(origin: OriginContext) { let _copy = origin.clone(); } /// ``` pub struct OriginContext { @@ -145,12 +145,12 @@ impl fmt::Debug for EncryptedAuthorization { /// Owned per-attempt envelope, with no borrow of raw context. Relays preserve it /// unopened. Local quota and scope are never serialized on the wire. /// ```compile_fail -/// use racer_dataplane::security::PeerOriginContext; +/// use racer::security::PeerOriginContext; /// fn duplicate(envelope: PeerOriginContext) { let _copy = envelope.clone(); } /// ``` /// Wire decoding must admit allocations before constructing this owner: /// ```compile_fail -/// use racer_dataplane::{security::PeerOriginContext, model::{ObjectId, RequestId, AttemptId}}; +/// use racer::{security::PeerOriginContext, model::{ObjectId, RequestId, AttemptId}}; /// fn uncharged(object: ObjectId, request: RequestId, attempt: AttemptId) { /// let _envelope = PeerOriginContext { object, request, attempt, metadata: None, authorization: None }; /// } @@ -336,7 +336,7 @@ impl PageCrypto { /// Authenticate the entire page before constructing a publishable lease. /// Futures stay on I/O, even though inputs/completions are Send: /// ```compile_fail - /// use racer_dataplane::{security::PageCrypto, + /// use racer::{security::PageCrypto, /// memory::CiphertextPage, /// admission::AdmissionPolicy, runtime::RequestScope}; /// fn require_send(_: T) {} @@ -800,7 +800,7 @@ impl uring_runtime::group::Service for PageCryptoEngine { // A helper error ends the worker group; name it before the process exits. self.drive(cx, work_budget).inspect_err(|error| { if *error != Error::Cancelled { - eprintln!("racer-dataplane: stage=crypto-helper fatal error={error:?}"); + eprintln!("racer: stage=crypto-helper fatal error={error:?}"); } }) } @@ -885,7 +885,7 @@ fn credential_bounds( /// envelopes can coexist and leave that borrow's lifetime. Nonces are generated /// internally and temporary secrets are zeroized. /// ```no_run -/// use racer_dataplane::{error::Result, model::AttemptId, +/// use racer::{error::Result, model::AttemptId, /// runtime::RequestScope, security::{CredentialCrypto, OriginContext, PeerOriginContext}}; /// fn fanout(crypto: &CredentialCrypto, origin: &OriginContext, scope: &RequestScope, /// first: AttemptId, second: AttemptId) -> Result<(PeerOriginContext, PeerOriginContext)> { @@ -1194,7 +1194,7 @@ pub enum CryptoOutput { /// Non-cloneable, pair-bound reservation of both submission and completion space. /// Only the I/O endpoint can mint it. Failed submission returns the entire job. /// ```compile_fail -/// use racer_dataplane::security::CryptoPermit; +/// use racer::security::CryptoPermit; /// fn duplicate(permit: CryptoPermit) { let _second = permit.clone(); } /// ``` pub struct CryptoPermit { diff --git a/cmd/racer-dataplane/src/security/aead_vectors.py b/cmd/racer/src/security/aead_vectors.py similarity index 100% rename from cmd/racer-dataplane/src/security/aead_vectors.py rename to cmd/racer/src/security/aead_vectors.py diff --git a/cmd/racer-dataplane/src/store.rs b/cmd/racer/src/store.rs similarity index 100% rename from cmd/racer-dataplane/src/store.rs rename to cmd/racer/src/store.rs diff --git a/cmd/racer-dataplane/src/store/catalog.rs b/cmd/racer/src/store/catalog.rs similarity index 100% rename from cmd/racer-dataplane/src/store/catalog.rs rename to cmd/racer/src/store/catalog.rs diff --git a/cmd/racer-dataplane/src/store/checkpoint.rs b/cmd/racer/src/store/checkpoint.rs similarity index 100% rename from cmd/racer-dataplane/src/store/checkpoint.rs rename to cmd/racer/src/store/checkpoint.rs diff --git a/cmd/racer-dataplane/src/store/holds.rs b/cmd/racer/src/store/holds.rs similarity index 100% rename from cmd/racer-dataplane/src/store/holds.rs rename to cmd/racer/src/store/holds.rs diff --git a/cmd/racer-dataplane/src/store/tests.rs b/cmd/racer/src/store/tests.rs similarity index 100% rename from cmd/racer-dataplane/src/store/tests.rs rename to cmd/racer/src/store/tests.rs diff --git a/cmd/racer-dataplane/src/subscription_interop.rs b/cmd/racer/src/subscription_interop.rs similarity index 100% rename from cmd/racer-dataplane/src/subscription_interop.rs rename to cmd/racer/src/subscription_interop.rs diff --git a/cmd/racer-dataplane/src/telemetry.rs b/cmd/racer/src/telemetry.rs similarity index 100% rename from cmd/racer-dataplane/src/telemetry.rs rename to cmd/racer/src/telemetry.rs diff --git a/cmd/racer-dataplane/src/test_support.rs b/cmd/racer/src/test_support.rs similarity index 100% rename from cmd/racer-dataplane/src/test_support.rs rename to cmd/racer/src/test_support.rs diff --git a/cmd/racer-dataplane/src/topology.rs b/cmd/racer/src/topology.rs similarity index 100% rename from cmd/racer-dataplane/src/topology.rs rename to cmd/racer/src/topology.rs diff --git a/cmd/racer-dataplane/src/worker.rs b/cmd/racer/src/worker.rs similarity index 99% rename from cmd/racer-dataplane/src/worker.rs rename to cmd/racer/src/worker.rs index 11bcb33546..dde800ef16 100644 --- a/cmd/racer-dataplane/src/worker.rs +++ b/cmd/racer/src/worker.rs @@ -211,7 +211,7 @@ impl AffinityPlan { /// Constructed on I/O; never move the local graph to the crypto thread. /// ```compile_fail -/// use racer_dataplane::worker::WorkerRuntime; +/// use racer::worker::WorkerRuntime; /// fn require_send() {} /// require_send::(); /// ``` @@ -227,7 +227,7 @@ pub use crate::security::CryptoRuntime; /// Rc-backed factories cannot cross the startup boundary: /// ```compile_fail /// use std::rc::Rc; -/// use racer_dataplane::{error::Result, runtime::RequestScope}; +/// use racer::{error::Result, runtime::RequestScope}; /// use uring_runtime::group::{Factory, Service}; /// struct LocalFactory(Rc<()>); /// impl Factory for LocalFactory { @@ -495,7 +495,7 @@ fn drive_local<'a>( /// exit message carries only the error, so name the failing stage first. fn log_fatal(stage: &str, error: Error) { if error != Error::Cancelled { - eprintln!("racer-dataplane: stage={stage} fatal error={error:?}"); + eprintln!("racer: stage={stage} fatal error={error:?}"); } } diff --git a/cmd/racer-dataplane/telemetry/Cargo.toml b/cmd/racer/telemetry/Cargo.toml similarity index 100% rename from cmd/racer-dataplane/telemetry/Cargo.toml rename to cmd/racer/telemetry/Cargo.toml diff --git a/cmd/racer-dataplane/telemetry/src/lib.rs b/cmd/racer/telemetry/src/lib.rs similarity index 100% rename from cmd/racer-dataplane/telemetry/src/lib.rs rename to cmd/racer/telemetry/src/lib.rs diff --git a/cmd/racer-dataplane/telemetry/src/server.rs b/cmd/racer/telemetry/src/server.rs similarity index 100% rename from cmd/racer-dataplane/telemetry/src/server.rs rename to cmd/racer/telemetry/src/server.rs diff --git a/cmd/racer-dataplane/telemetry/tests/workflows.rs b/cmd/racer/telemetry/tests/workflows.rs similarity index 100% rename from cmd/racer-dataplane/telemetry/tests/workflows.rs rename to cmd/racer/telemetry/tests/workflows.rs diff --git a/cmd/racer-dataplane/tests/client_origin_conformance.rs b/cmd/racer/tests/client_origin_conformance.rs similarity index 97% rename from cmd/racer-dataplane/tests/client_origin_conformance.rs rename to cmd/racer/tests/client_origin_conformance.rs index 381afea8e9..5cb0108a44 100644 --- a/cmd/racer-dataplane/tests/client_origin_conformance.rs +++ b/cmd/racer/tests/client_origin_conformance.rs @@ -5,35 +5,35 @@ use http1::Header; use http1::MessageHead; use http1::StartLine; use racer_control_wire::CacheId; -use racer_dataplane::admission::AdmissionPolicy; -use racer_dataplane::client::ClientRequest; -use racer_dataplane::client::ReadKind; -use racer_dataplane::client::RequestParser; -use racer_dataplane::client::Responses; -use racer_dataplane::config::Limits; -use racer_dataplane::error::Error; -use racer_dataplane::error::Result; -use racer_dataplane::http::Codec; -use racer_dataplane::http::ConnectionLease; -use racer_dataplane::http::Delivery; -use racer_dataplane::http::HttpIo; -use racer_dataplane::model::ByteRange; -use racer_dataplane::model::CacheKey; -use racer_dataplane::model::ExpiresAt; -use racer_dataplane::model::ObjectId; -use racer_dataplane::model::ObjectMetadata; -use racer_dataplane::model::ObjectVersion; -use racer_dataplane::model::PageId; -use racer_dataplane::model::PageNumber; -use racer_dataplane::model::RequestId; -use racer_dataplane::model::StrongEtag; -use racer_dataplane::origin::validate_bootstrap; -use racer_dataplane::origin::validate_metadata; -use racer_dataplane::origin::validate_page; -use racer_dataplane::read::ReadPayload; -use racer_dataplane::read::ReadResponse; -use racer_dataplane::runtime::Reactor; -use racer_dataplane::runtime::RequestScope; +use racer::admission::AdmissionPolicy; +use racer::client::ClientRequest; +use racer::client::ReadKind; +use racer::client::RequestParser; +use racer::client::Responses; +use racer::config::Limits; +use racer::error::Error; +use racer::error::Result; +use racer::http::Codec; +use racer::http::ConnectionLease; +use racer::http::Delivery; +use racer::http::HttpIo; +use racer::model::ByteRange; +use racer::model::CacheKey; +use racer::model::ExpiresAt; +use racer::model::ObjectId; +use racer::model::ObjectMetadata; +use racer::model::ObjectVersion; +use racer::model::PageId; +use racer::model::PageNumber; +use racer::model::RequestId; +use racer::model::StrongEtag; +use racer::origin::validate_bootstrap; +use racer::origin::validate_metadata; +use racer::origin::validate_page; +use racer::read::ReadPayload; +use racer::read::ReadResponse; +use racer::runtime::Reactor; +use racer::runtime::RequestScope; use std::future::Future; use std::io::Read; use std::io::Write; @@ -84,7 +84,7 @@ impl Rig { relay_transfers: n, }))); let reactor = Rc::new(Reactor::new(admission.clone())); - let io = Rc::new(racer_dataplane::http::new_io( + let io = Rc::new(racer::http::new_io( reactor.clone(), Codec::new(LIMIT), admission.clone(), @@ -97,7 +97,7 @@ impl Rig { } } fn lease(&self, socket: UnixStream) -> ConnectionLease { - racer_dataplane::http::from_accepted(socket.into(), &self.admission).unwrap() + racer::http::from_accepted(socket.into(), &self.admission).unwrap() } fn drive(&self, future: impl Future) -> T { let mut future = std::pin::pin!(future); @@ -807,7 +807,7 @@ fn raw_uds_client_empty_bootstrap_and_head_success_writer() { // Keep this module path: the racer-sdk-conformance Make target selects it exactly. mod sdk { use super::*; - use racer_dataplane::admission::ResourceClass; + use racer::admission::ResourceClass; use std::fs; use std::os::fd::AsRawFd; use std::os::unix::net::UnixListener; @@ -1028,7 +1028,7 @@ mod sdk { assert_eq!(parsed.kind.pin().unwrap().as_bytes(), b"\"v\""); let metadata = ObjectMetadata { content_type: Some( - racer_dataplane::model::ContentType::parse(b"text/plain").unwrap(), + racer::model::ContentType::parse(b"text/plain").unwrap(), ), version: ObjectVersion { object: object(), @@ -1200,7 +1200,7 @@ mod sdk { // One credit forces exact releases before the next page, including clipped pages. async fn send_subscription( rig: &Rig, - connection: racer_dataplane::http::ConnectionLease, + connection: racer::http::ConnectionLease, releases: &mut UnixStream, size: u64, first: u64, diff --git a/cmd/racer-dataplane/tests/conformance/sdk_fixture_test.go.txt b/cmd/racer/tests/conformance/sdk_fixture_test.go.txt similarity index 100% rename from cmd/racer-dataplane/tests/conformance/sdk_fixture_test.go.txt rename to cmd/racer/tests/conformance/sdk_fixture_test.go.txt diff --git a/cmd/racer-dataplane/tests/identity_integration.rs b/cmd/racer/tests/identity_integration.rs similarity index 91% rename from cmd/racer-dataplane/tests/identity_integration.rs rename to cmd/racer/tests/identity_integration.rs index 11fbdd3f1c..4ef95e75be 100644 --- a/cmd/racer-dataplane/tests/identity_integration.rs +++ b/cmd/racer/tests/identity_integration.rs @@ -8,30 +8,30 @@ mod fixture_io; use racer_control_wire as wire; use racer_control_wire::*; use racer_crypto::identity::BundleInstaller; -use racer_dataplane as dataplane; -use racer_dataplane::admission::AdmissionPolicy; -use racer_dataplane::admission::ResourceClass; -use racer_dataplane::error::Error; -use racer_dataplane::memory::BufferPool; -use racer_dataplane::model::CacheKey; -use racer_dataplane::model::ObjectId; -use racer_dataplane::model::ObjectVersion; -use racer_dataplane::model::PageId; -use racer_dataplane::model::PageNumber; -use racer_dataplane::model::RequestId; -use racer_dataplane::model::StrongEtag; -use racer_dataplane::model::WorkerId; -use racer_dataplane::runtime::RequestScope; -use racer_dataplane::security; -use racer_dataplane::security::CryptoClient; -use racer_dataplane::security::CryptoInput; -use racer_dataplane::security::CryptoOutput; -use racer_dataplane::worker::CryptoRuntime; +use racer as dataplane; +use racer::admission::AdmissionPolicy; +use racer::admission::ResourceClass; +use racer::error::Error; +use racer::memory::BufferPool; +use racer::model::CacheKey; +use racer::model::ObjectId; +use racer::model::ObjectVersion; +use racer::model::PageId; +use racer::model::PageNumber; +use racer::model::RequestId; +use racer::model::StrongEtag; +use racer::model::WorkerId; +use racer::runtime::RequestScope; +use racer::security; +use racer::security::CryptoClient; +use racer::security::CryptoInput; +use racer::security::CryptoOutput; +use racer::worker::CryptoRuntime; use racer_crypto::identity::KeyEpochs; use racer_crypto::identity::KeyPurpose; use racer_crypto::identity::Keyring; -use racer_dataplane::security::PageCryptoEngine; +use racer::security::PageCryptoEngine; use std::rc::Rc; use std::sync::Arc; use std::time::Duration; @@ -165,7 +165,7 @@ fn record(generation: u64, byte: u8) -> CacheEncryptionKey { fn install_decoded( installer: &BundleInstaller, bundle: &KeyringBundle, -) -> racer_dataplane::error::Result<(BundleGeneration, Vec>)> { +) -> racer::error::Result<(BundleGeneration, Vec>)> { let encoded = zeroize::Zeroizing::new(wire::encode_bundle(bundle).unwrap()); installer .install(wire::decode_bundle(&encoded).unwrap()) @@ -219,7 +219,7 @@ fn real_decode_installer_rotation_retained_lease_and_rejection_are_atomic() { Err(racer_crypto::identity::Error::InvalidConfiguration) ); assert_eq!( - racer_dataplane::model::key_id_from_generation(0, 1), + racer::model::key_id_from_generation(0, 1), Err(Error::InvalidConfiguration) ); } @@ -296,7 +296,7 @@ fn active_crypto_operation_completes_after_rotation_with_its_original_key_lease( racer_crypto::open( &[7; 32], &ciphertext.envelope().nonce.0, - &racer_dataplane::security::page_aad(ciphertext.envelope()).unwrap(), + &racer::security::page_aad(ciphertext.envelope()).unwrap(), ciphertext.bytes(), &mut opened, ) diff --git a/cmd/racer-dataplane/tests/payload_zeroization.rs b/cmd/racer/tests/payload_zeroization.rs similarity index 92% rename from cmd/racer-dataplane/tests/payload_zeroization.rs rename to cmd/racer/tests/payload_zeroization.rs index 87634cefdb..f1f29dd840 100644 --- a/cmd/racer-dataplane/tests/payload_zeroization.rs +++ b/cmd/racer/tests/payload_zeroization.rs @@ -6,19 +6,19 @@ mod fixture_io; use racer_control_wire::CacheId; use racer_control_wire::KeyId; -use racer_dataplane as dataplane; -use racer_dataplane::admission::AdmissionPolicy; -use racer_dataplane::admission::ResourceClass; -use racer_dataplane::config::Config; -use racer_dataplane::memory::BufferPool; -use racer_dataplane::model::CacheKey; -use racer_dataplane::model::Nonce; -use racer_dataplane::model::ObjectId; -use racer_dataplane::model::ObjectVersion; -use racer_dataplane::model::PageEnvelope; -use racer_dataplane::model::PageId; -use racer_dataplane::model::PageNumber; -use racer_dataplane::model::StrongEtag; +use racer as dataplane; +use racer::admission::AdmissionPolicy; +use racer::admission::ResourceClass; +use racer::config::Config; +use racer::memory::BufferPool; +use racer::model::CacheKey; +use racer::model::Nonce; +use racer::model::ObjectId; +use racer::model::ObjectVersion; +use racer::model::PageEnvelope; +use racer::model::PageId; +use racer::model::PageNumber; +use racer::model::StrongEtag; use std::alloc::GlobalAlloc; use std::alloc::Layout; use std::alloc::System; @@ -34,7 +34,7 @@ static WATCH: AtomicPtr = AtomicPtr::new(std::ptr::null_mut()); static FREED: AtomicBool = AtomicBool::new(false); static ZEROED: AtomicBool = AtomicBool::new(false); static NEXT_SIZE: AtomicUsize = AtomicUsize::new(0); -static CANCEL_AT_ALLOCATION: Mutex> = +static CANCEL_AT_ALLOCATION: Mutex> = Mutex::new(None); // SAFETY: All allocation operations delegate to System with the original layout. @@ -126,7 +126,7 @@ fn final_payload_owner_scrubs_full_allocation_on_reclaim_and_rejection() { .ciphertext( reservation, PageEnvelope { - cipher: racer_dataplane::model::PageCipher::Xaes256Gcm, + cipher: racer::model::PageCipher::Xaes256Gcm, page: PageId { version: ObjectVersion { object: ObjectId { @@ -212,14 +212,14 @@ fn failed_crypto_output_is_scrubbed(config: &Config) { use racer_crypto::identity::KeyPurpose; use racer_crypto::identity::Keyring; use racer_crypto::{TAG_LEN, seal}; - use racer_dataplane::model::RequestId; - use racer_dataplane::model::WorkerId; - use racer_dataplane::runtime::RequestScope; - use racer_dataplane::security::CryptoId; - use racer_dataplane::security::CryptoInput; - use racer_dataplane::security::PageCryptoEngine; - use racer_dataplane::security::page_aad; - use racer_dataplane::security::pair; + use racer::model::RequestId; + use racer::model::WorkerId; + use racer::runtime::RequestScope; + use racer::security::CryptoId; + use racer::security::CryptoInput; + use racer::security::PageCryptoEngine; + use racer::security::page_aad; + use racer::security::pair; use std::sync::Arc; use std::task::Context; use std::task::Poll; @@ -265,7 +265,7 @@ fn failed_crypto_output_is_scrubbed(config: &Config) { let pool = BufferPool::new(admission.clone()); let key = keys.active(&cache, KeyPurpose::Page).unwrap(); let mut descriptor = PageEnvelope { - cipher: racer_dataplane::model::PageCipher::Xaes256Gcm, + cipher: racer::model::PageCipher::Xaes256Gcm, page: PageId { version: ObjectVersion { object: ObjectId { diff --git a/cmd/racer-dataplane/tests/process_restart.rs b/cmd/racer/tests/process_restart.rs similarity index 99% rename from cmd/racer-dataplane/tests/process_restart.rs rename to cmd/racer/tests/process_restart.rs index 00309ee54d..858e1eb2d6 100644 --- a/cmd/racer-dataplane/tests/process_restart.rs +++ b/cmd/racer/tests/process_restart.rs @@ -8,9 +8,9 @@ mod throughput; #[path = "support/subscription.rs"] mod subscription; -use racer_dataplane as dataplane; -use racer_dataplane::model::PAGE_BYTES; -use racer_dataplane::store::checkpoint; +use racer as dataplane; +use racer::model::PAGE_BYTES; +use racer::store::checkpoint; #[path = "support/enrollment.rs"] #[allow(dead_code)] mod enrollment_io; @@ -667,9 +667,9 @@ fn profile_thread_cap(io_shards: usize) -> usize { io_shards + io_shards.div_ceil(2) } -fn profile_plan(io_shards: usize) -> racer_dataplane::worker::AffinityPlan { - use racer_dataplane::config::Config; - use racer_dataplane::worker::AffinityPlan; +fn profile_plan(io_shards: usize) -> racer::worker::AffinityPlan { + use racer::config::Config; + use racer::worker::AffinityPlan; let config = Config::from_lookup(|name| { Ok(match name { "RACER_CLUSTER_ID" => Some(CLUSTER.into()), @@ -690,7 +690,7 @@ fn profile_plan(io_shards: usize) -> racer_dataplane::worker::AffinityPlan { #[test] fn capped_profiles_count_io_shards_and_unique_crypto_threads() { - use racer_dataplane::worker::AffinityPlan; + use racer::worker::AffinityPlan; let mut config = enrollment_io::default_config(CLUSTER); for (io, crypto, cap) in [(1, 1, 2), (2, 1, 3), (4, 2, 6)] { config.max_threads = profile_thread_cap(io); @@ -794,7 +794,7 @@ impl Process { .unwrap(); let diagnostic = TcpListener::bind("127.0.0.1:0").unwrap(); let diagnostics = diagnostic.local_addr().unwrap(); - let mut command = Command::new(env!("CARGO_BIN_EXE_racer-dataplane")); + let mut command = Command::new(env!("CARGO_BIN_EXE_racer")); for (key, _) in std::env::vars_os() { if key.as_encoded_bytes().starts_with(b"RACER_") { command.env_remove(key); @@ -1093,7 +1093,7 @@ fn enrolled_identity( ClusterId(CLUSTER.into()), scratch.0.join("token"), scratch.0.join("identity"), - std::rc::Rc::new(racer_dataplane::control::ReactorControlIo::new( + std::rc::Rc::new(racer::control::ReactorControlIo::new( reactor.clone(), )), ); @@ -1103,8 +1103,8 @@ fn enrolled_identity( .unwrap(); // Verify the persisted certificate's chain, SAN, validity, request correlation, // and local key pairing rather than comparing opaque identity.json bytes. - let scope = racer_dataplane::runtime::RequestScope::new( - racer_dataplane::model::RequestId([9; 16]), + let scope = racer::runtime::RequestScope::new( + racer::model::RequestId([9; 16]), Instant::now() + Duration::from_secs(15), ) .unwrap(); diff --git a/cmd/racer-dataplane/tests/process_restart/throughput.rs b/cmd/racer/tests/process_restart/throughput.rs similarity index 98% rename from cmd/racer-dataplane/tests/process_restart/throughput.rs rename to cmd/racer/tests/process_restart/throughput.rs index 4b24ee30c5..fba9ec9f48 100644 --- a/cmd/racer-dataplane/tests/process_restart/throughput.rs +++ b/cmd/racer/tests/process_restart/throughput.rs @@ -735,14 +735,14 @@ fn production_blocked_control_progress() { fn owner_key(cache: &str, page: u64, owner: u16) -> u64 { use racer_control_wire::CacheId; - use racer_dataplane::model::CacheKey; - use racer_dataplane::model::ObjectId; - use racer_dataplane::model::ObjectVersion; - use racer_dataplane::model::PageId; - use racer_dataplane::model::PageNumber; - use racer_dataplane::model::StrongEtag; - use racer_dataplane::model::WorkerId; - use racer_dataplane::read::dispatch::WorkerMap; + use racer::model::CacheKey; + use racer::model::ObjectId; + use racer::model::ObjectVersion; + use racer::model::PageId; + use racer::model::PageNumber; + use racer::model::StrongEtag; + use racer::model::WorkerId; + use racer::read::dispatch::WorkerMap; let map = WorkerMap::new((0..4).map(WorkerId).collect()).unwrap(); (0..10000) .find(|key| { @@ -894,12 +894,12 @@ fn production_peer_and_failed_neighbor_progress() { use racer_control_wire::CacheId; use racer_control_wire::MembershipVersion; use racer_control_wire::NodeId; - use racer_dataplane::model::CacheKey; - use racer_dataplane::model::ObjectId; - use racer_dataplane::model::PageNumber; - use racer_dataplane::topology::Member; - use racer_dataplane::topology::Membership; - use racer_dataplane::topology::Placement; + use racer::model::CacheKey; + use racer::model::ObjectId; + use racer::model::PageNumber; + use racer::topology::Member; + use racer::topology::Membership; + use racer::topology::Placement; const OTHER: &str = "33333333-3333-4333-8333-333333333333"; for pairs in [1, 2, 4] { let first_root = Scratch::new(); @@ -1033,12 +1033,12 @@ fn production_remote_bootstrap_one_get_and_empty() { use racer_control_wire::CacheId; use racer_control_wire::MembershipVersion; use racer_control_wire::NodeId; - use racer_dataplane::model::CacheKey; - use racer_dataplane::model::ObjectId; - use racer_dataplane::model::PageNumber; - use racer_dataplane::topology::Member; - use racer_dataplane::topology::Membership; - use racer_dataplane::topology::Placement; + use racer::model::CacheKey; + use racer::model::ObjectId; + use racer::model::PageNumber; + use racer::topology::Member; + use racer::topology::Membership; + use racer::topology::Placement; for length in [0, 113] { let roots: Vec<_> = (0..4).map(|_| Scratch::new()).collect(); let profile = Profile::new(1, length, 1); diff --git a/cmd/racer-dataplane/tests/production_dataplane.rs b/cmd/racer/tests/production_dataplane.rs similarity index 94% rename from cmd/racer-dataplane/tests/production_dataplane.rs rename to cmd/racer/tests/production_dataplane.rs index d8470f9f12..66a4e1a211 100644 --- a/cmd/racer-dataplane/tests/production_dataplane.rs +++ b/cmd/racer/tests/production_dataplane.rs @@ -8,70 +8,70 @@ use racer_control_wire::Publication; use racer_control_wire::PublicationSequence; use racer_control_wire::canonical_socket_paths; use racer_control_wire::{CacheId, ClusterId, MembershipVersion, NodeId}; -use racer_dataplane::admission::AdmissionPolicy; -use racer_dataplane::admission::ResourceClass; -use racer_dataplane::client::RequestParser; -use racer_dataplane::client::Responses; -use racer_dataplane::config::Limits; -use racer_dataplane::control::Snapshot; -use racer_dataplane::control::publication::PublicationTarget; -use racer_dataplane::error::Error; -use racer_dataplane::error::Operation; -use racer_dataplane::error::Result; -use racer_dataplane::http::Codec; -use racer_dataplane::http::Delivery; -use racer_dataplane::http::HttpIo; -use racer_dataplane::http::new_pipe_pool; -use racer_dataplane::memory::BufferPool; -use racer_dataplane::memory::MemoryCache; -use racer_dataplane::model::PAGE_BYTES; -use racer_dataplane::model::*; -use racer_dataplane::origin::OriginClient; -use racer_dataplane::peer::PeerNetwork; -use racer_dataplane::peer::Requester; -use racer_dataplane::peer::protocol::FetchMode; -use racer_dataplane::peer::protocol::Operation as PeerOperation; -use racer_dataplane::peer::protocol::PeerRequest; -use racer_dataplane::peer::protocol::PeerResponse; -use racer_dataplane::peer::server::LocalPageService; -use racer_dataplane::peer::transport::Transfers; -use racer_dataplane::read::Coordinator; -use racer_dataplane::read::candidates::CandidatePolicy; -use racer_dataplane::read::dispatch::WorkerDirectory; -use racer_dataplane::read::dispatch::WorkerEndpoint; -use racer_dataplane::read::dispatch::WorkerMap; -use racer_dataplane::read::fill::Fill; -use racer_dataplane::read::fill::FillDependencies; -use racer_dataplane::read::flight::Flights; -use racer_dataplane::read::metadata::MetadataDependencies; -use racer_dataplane::read::metadata::MetadataService; -use racer_dataplane::read::range_stream::RangeStreams; -use racer_dataplane::runtime::Reactor; -use racer_dataplane::runtime::RequestScope; -use racer_dataplane::security; -use racer_dataplane::security::CryptoClient; -use racer_dataplane::security::{Authorization, OpaqueMetadata, OriginContext}; -use racer_dataplane::worker::CryptoRuntime; +use racer::admission::AdmissionPolicy; +use racer::admission::ResourceClass; +use racer::client::RequestParser; +use racer::client::Responses; +use racer::config::Limits; +use racer::control::Snapshot; +use racer::control::publication::PublicationTarget; +use racer::error::Error; +use racer::error::Operation; +use racer::error::Result; +use racer::http::Codec; +use racer::http::Delivery; +use racer::http::HttpIo; +use racer::http::new_pipe_pool; +use racer::memory::BufferPool; +use racer::memory::MemoryCache; +use racer::model::PAGE_BYTES; +use racer::model::*; +use racer::origin::OriginClient; +use racer::peer::PeerNetwork; +use racer::peer::Requester; +use racer::peer::protocol::FetchMode; +use racer::peer::protocol::Operation as PeerOperation; +use racer::peer::protocol::PeerRequest; +use racer::peer::protocol::PeerResponse; +use racer::peer::server::LocalPageService; +use racer::peer::transport::Transfers; +use racer::read::Coordinator; +use racer::read::candidates::CandidatePolicy; +use racer::read::dispatch::WorkerDirectory; +use racer::read::dispatch::WorkerEndpoint; +use racer::read::dispatch::WorkerMap; +use racer::read::fill::Fill; +use racer::read::fill::FillDependencies; +use racer::read::flight::Flights; +use racer::read::metadata::MetadataDependencies; +use racer::read::metadata::MetadataService; +use racer::read::range_stream::RangeStreams; +use racer::runtime::Reactor; +use racer::runtime::RequestScope; +use racer::security; +use racer::security::CryptoClient; +use racer::security::{Authorization, OpaqueMetadata, OriginContext}; +use racer::worker::CryptoRuntime; -use racer_dataplane::peer::forwarding::Forwarding; -use racer_dataplane::peer::protocol::Signatures; -use racer_dataplane::security::CredentialCrypto; -use racer_dataplane::security::PageCrypto; -use racer_dataplane::security::PageCryptoEngine; +use racer::peer::forwarding::Forwarding; +use racer::peer::protocol::Signatures; +use racer::security::CredentialCrypto; +use racer::security::PageCrypto; +use racer::security::PageCryptoEngine; -use racer_dataplane::store::StoreReader; -use racer_dataplane::store::StoreWriter; -use racer_dataplane::store::catalog::Index; -use racer_dataplane::store::catalog::SegmentClock; -use racer_dataplane::topology::LinkHealth; +use racer::store::StoreReader; +use racer::store::StoreWriter; +use racer::store::catalog::Index; +use racer::store::catalog::SegmentClock; +use racer::topology::LinkHealth; use racer_crypto::identity::Certificates; use racer_crypto::identity::KeyEpochs; use racer_crypto::identity::Keyring; use racer_crypto::identity::PendingIdentity; -use racer_dataplane::topology::Paths; -use racer_dataplane::topology::Placement; -use racer_dataplane::topology::RouteBudget; +use racer::topology::Paths; +use racer::topology::Placement; +use racer::topology::RouteBudget; use std::cell::RefCell; use std::collections::BTreeMap; use std::fs; @@ -106,7 +106,7 @@ const TIMEOUT: Duration = Duration::from_secs(40); #[path = "production_dataplane/hotpath.rs"] mod hotpath; -use racer_dataplane as dataplane; +use racer as dataplane; #[path = "support/enrollment.rs"] #[allow(dead_code)] mod fixture_io; @@ -422,7 +422,7 @@ struct Rig { } struct RigWorker { scratch: Scratch, - runtime: racer_dataplane::worker::WorkerRuntime, + runtime: racer::worker::WorkerRuntime, worker: WorkerId, directory: Arc, slab_bytes: u64, @@ -485,13 +485,13 @@ impl Rig { } }; let entries = if benchmarking { 512 } else { 64 }; - let io = Rc::new(racer_dataplane::http::new_io( + let io = Rc::new(racer::http::new_io( reactor.clone(), Codec::new(32768), admission.clone(), P + 16, )); - let http = Rc::new(racer_dataplane::http::new_pool( + let http = Rc::new(racer::http::new_pool( reactor.clone(), admission.clone(), 8, @@ -499,7 +499,7 @@ impl Rig { let buffers = BufferPool::new(admission.clone()); let (keys, sender_keys) = fixture_keys(); let published = Arc::new(Published::new(Snapshot::retention(4))); - let availability = Rc::new(racer_dataplane::control::Availability::new( + let availability = Rc::new(racer::control::Availability::new( published.clone(), keys.clone(), )); @@ -530,7 +530,7 @@ impl Rig { http.clone(), io.clone(), admission.clone(), - Rc::new(racer_dataplane::peer::protocol::SecurityCodec::new( + Rc::new(racer::peer::protocol::SecurityCodec::new( admission.clone(), buffers.clone(), )), @@ -577,7 +577,7 @@ impl Rig { ) } }; - let availability = Rc::new(racer_dataplane::control::Availability::new( + let availability = Rc::new(racer::control::Availability::new( published.clone(), keys.clone(), )); @@ -631,7 +631,7 @@ impl Rig { coordinator.clone(), snapshot.membership.clone(), ); - let client_io = Rc::new(racer_dataplane::http::client_io( + let client_io = Rc::new(racer::http::client_io( reactor.clone(), admission.clone(), )); @@ -701,7 +701,7 @@ impl Rig { } } async fn serve(&self, stream: UnixStream, scope: &RequestScope) -> Result<()> { - let lease = racer_dataplane::http::from_accepted(stream.into(), &self.admission)?; + let lease = racer::http::from_accepted(stream.into(), &self.admission)?; let received = self.io.receive_head(lease, scope).await?; let request = RequestParser::new(32768).parse(&CacheId(CACHE.into()), received.value)?; let kind = request.kind.clone(); @@ -793,7 +793,7 @@ struct Bootstrap { receiver: Rc, credentials: CredentialCrypto, coordinator: Rc, - membership: std::sync::Arc, + membership: std::sync::Arc, } /// Open fixture storage with independently supplied worker resources and limits. @@ -806,7 +806,7 @@ fn open_fixture_storage( reactor: &Rc, admission: &Rc>, buffers: BufferPool, - availability: Rc, + availability: Rc, ) -> (Rc, Rc, Rc) { let index = Rc::new(Index::new(worker, entries, availability.clone())); let segments = Rc::new(page_alloc::Segments::new(64 * 1024 * 1024)); @@ -814,7 +814,7 @@ fn open_fixture_storage( path.join(format!("worker-{}-slab-0.dat", worker.0)), slab_bytes, 64 * 1024 * 1024, - racer_dataplane::model::PAGE_BYTES as usize + racer_dataplane::store::MAX_HEADER_BYTES + 16, + racer::model::PAGE_BYTES as usize + racer::store::MAX_HEADER_BYTES + 16, )); let eviction = Rc::new(SegmentClock::new(index.clone(), segments.clone(), 1)); let disk = Rc::new(StoreReader::new( @@ -932,7 +932,7 @@ impl Bootstrap { receiver: Rc, admission: Rc>, coordinator: Rc, - membership: std::sync::Arc, + membership: std::sync::Arc, ) -> Self { let certificates = Rc::new(Certificates::new(ClusterId(CLUSTER.into()), sender.clone())); Self { @@ -995,7 +995,7 @@ impl Bootstrap { racer_crypto::open( &[7; 32], &page.envelope().nonce.0, - &racer_dataplane::security::page_aad(page.envelope())?, + &racer::security::page_aad(page.envelope())?, page.bytes(), &mut body, ) diff --git a/cmd/racer-dataplane/tests/production_dataplane/hotpath.rs b/cmd/racer/tests/production_dataplane/hotpath.rs similarity index 99% rename from cmd/racer-dataplane/tests/production_dataplane/hotpath.rs rename to cmd/racer/tests/production_dataplane/hotpath.rs index 2222137968..8b3046a2da 100644 --- a/cmd/racer-dataplane/tests/production_dataplane/hotpath.rs +++ b/cmd/racer/tests/production_dataplane/hotpath.rs @@ -5,12 +5,12 @@ //! with Page, Complete, and EOF validation and reconnect per request. Focused //! harness checks are not performance results. use super::*; -use racer_dataplane::config::Config; -use racer_dataplane::config::DEFAULT_MAX_THREADS; -use racer_dataplane::worker::AffinityPlan; -use racer_dataplane::worker::Resources; -use racer_dataplane::worker::WorkerGroup; -use racer_dataplane::worker::WorkerRuntime; +use racer::config::Config; +use racer::config::DEFAULT_MAX_THREADS; +use racer::worker::AffinityPlan; +use racer::worker::Resources; +use racer::worker::WorkerGroup; +use racer::worker::WorkerRuntime; use std::collections::VecDeque; use std::io::BufReader; use std::sync::Barrier; @@ -203,7 +203,7 @@ impl Service { let requests = self.requests.clone(); self.clients.push_back(Box::pin(async move { let lease = - racer_dataplane::http::from_accepted(socket.into(), &rig.admission)?; + racer::http::from_accepted(socket.into(), &rig.admission)?; let scope = scope(); let received = rig.io.receive_head(lease, &scope).await?; let request = RequestParser::new(32768) diff --git a/cmd/racer-dataplane/tests/stop_signals.rs b/cmd/racer/tests/stop_signals.rs similarity index 97% rename from cmd/racer-dataplane/tests/stop_signals.rs rename to cmd/racer/tests/stop_signals.rs index 1d91ed6026..3bdacb02ec 100644 --- a/cmd/racer-dataplane/tests/stop_signals.rs +++ b/cmd/racer/tests/stop_signals.rs @@ -3,10 +3,10 @@ //! Signal handlers are process-wide, so this binary holds a single test that runs //! its phases sequentially in its own process. -use racer_dataplane::app::StopSignals; -use racer_dataplane::config::Config; -use racer_dataplane::control::managed::{self, BootstrapError, Bootstrapped, ClusterControl}; -use racer_dataplane::error::Error; +use racer::app::StopSignals; +use racer::config::Config; +use racer::control::managed::{self, BootstrapError, Bootstrapped, ClusterControl}; +use racer::error::Error; use std::sync::Arc; use std::sync::atomic::{AtomicUsize, Ordering}; use std::time::{Duration, Instant}; @@ -102,7 +102,7 @@ fn binary_exits_cleanly_on_signal_during_bootstrap() { let api_listener = std::net::TcpListener::bind("127.0.0.1:0").unwrap(); api_listener.set_nonblocking(true).unwrap(); let api = api_listener.local_addr().unwrap(); - let mut command = std::process::Command::new(env!("CARGO_BIN_EXE_racer-dataplane")); + let mut command = std::process::Command::new(env!("CARGO_BIN_EXE_racer")); for (key, _) in std::env::vars_os() { let key_bytes = key.as_encoded_bytes(); if key_bytes.starts_with(b"RACER_") || key_bytes.starts_with(b"KUBERNETES_") { diff --git a/cmd/racer-dataplane/tests/subscription_interop.rs b/cmd/racer/tests/subscription_interop.rs similarity index 82% rename from cmd/racer-dataplane/tests/subscription_interop.rs rename to cmd/racer/tests/subscription_interop.rs index 4f714971cd..52c1de4733 100644 --- a/cmd/racer-dataplane/tests/subscription_interop.rs +++ b/cmd/racer/tests/subscription_interop.rs @@ -2,5 +2,5 @@ #[test] #[ignore = "run RACER_SUBSCRIPTION_INTEROP=1 go test ./pkg/racersdk -run '^TestRustSubscriptionInterop$' -timeout=5m under external timeout"] fn go_sdk_subscription_server() { - racer_dataplane::run_subscription_interop_fixture(); + racer::run_subscription_interop_fixture(); } diff --git a/cmd/racer-dataplane/tests/support/enrollment.rs b/cmd/racer/tests/support/enrollment.rs similarity index 100% rename from cmd/racer-dataplane/tests/support/enrollment.rs rename to cmd/racer/tests/support/enrollment.rs diff --git a/cmd/racer-dataplane/tests/support/subscription.rs b/cmd/racer/tests/support/subscription.rs similarity index 100% rename from cmd/racer-dataplane/tests/support/subscription.rs rename to cmd/racer/tests/support/subscription.rs diff --git a/cmd/racer-dataplane/topology/Cargo.toml b/cmd/racer/topology/Cargo.toml similarity index 100% rename from cmd/racer-dataplane/topology/Cargo.toml rename to cmd/racer/topology/Cargo.toml diff --git a/cmd/racer-dataplane/topology/src/lib.rs b/cmd/racer/topology/src/lib.rs similarity index 100% rename from cmd/racer-dataplane/topology/src/lib.rs rename to cmd/racer/topology/src/lib.rs diff --git a/cmd/racer-dataplane/topology/src/paths.rs b/cmd/racer/topology/src/paths.rs similarity index 100% rename from cmd/racer-dataplane/topology/src/paths.rs rename to cmd/racer/topology/src/paths.rs diff --git a/cmd/racer-dataplane/topology/src/placement.rs b/cmd/racer/topology/src/placement.rs similarity index 100% rename from cmd/racer-dataplane/topology/src/placement.rs rename to cmd/racer/topology/src/placement.rs diff --git a/cmd/racer-dataplane/topology/tests/workflows.rs b/cmd/racer/topology/tests/workflows.rs similarity index 100% rename from cmd/racer-dataplane/topology/tests/workflows.rs rename to cmd/racer/topology/tests/workflows.rs diff --git a/cmd/racer-dataplane/uds-endpoint/Cargo.toml b/cmd/racer/uds-endpoint/Cargo.toml similarity index 100% rename from cmd/racer-dataplane/uds-endpoint/Cargo.toml rename to cmd/racer/uds-endpoint/Cargo.toml diff --git a/cmd/racer-dataplane/uds-endpoint/README.md b/cmd/racer/uds-endpoint/README.md similarity index 98% rename from cmd/racer-dataplane/uds-endpoint/README.md rename to cmd/racer/uds-endpoint/README.md index 68fdea9982..becb28a83c 100644 --- a/cmd/racer-dataplane/uds-endpoint/README.md +++ b/cmd/racer/uds-endpoint/README.md @@ -1,6 +1,6 @@ # uds-endpoint -Private Linux filesystem-ownership helper for `racer-dataplane`. This unpublished +Private Linux filesystem-ownership helper for `racer`. This unpublished crate depends only on `libc`. It does not depend on an application model, runtime, protocol, reactor, or service-activation policy. It owns Unix stream socket names and a worker-local publication journal, not application readiness or admission. @@ -131,7 +131,7 @@ for arbitrary changes to a bound socket's cleanup name. ## Validation -Run from `cmd/racer-dataplane`. No new dependencies or privileged test setup are +Run from `cmd/racer`. No new dependencies or privileged test setup are needed. Integration fixtures use Cargo's `CARGO_TARGET_TMPDIR`; cleanup avoids a second panic during unwinding. Crash/umask cases run in isolated subprocesses, not through process-wide umask changes or fork inside parallel test workers. diff --git a/cmd/racer-dataplane/uds-endpoint/src/directory.rs b/cmd/racer/uds-endpoint/src/directory.rs similarity index 100% rename from cmd/racer-dataplane/uds-endpoint/src/directory.rs rename to cmd/racer/uds-endpoint/src/directory.rs diff --git a/cmd/racer-dataplane/uds-endpoint/src/lib.rs b/cmd/racer/uds-endpoint/src/lib.rs similarity index 100% rename from cmd/racer-dataplane/uds-endpoint/src/lib.rs rename to cmd/racer/uds-endpoint/src/lib.rs diff --git a/cmd/racer-dataplane/uds-endpoint/src/publication.rs b/cmd/racer/uds-endpoint/src/publication.rs similarity index 100% rename from cmd/racer-dataplane/uds-endpoint/src/publication.rs rename to cmd/racer/uds-endpoint/src/publication.rs diff --git a/cmd/racer-dataplane/uds-endpoint/src/simulation.rs b/cmd/racer/uds-endpoint/src/simulation.rs similarity index 100% rename from cmd/racer-dataplane/uds-endpoint/src/simulation.rs rename to cmd/racer/uds-endpoint/src/simulation.rs diff --git a/cmd/racer-dataplane/uds-endpoint/src/tests.rs b/cmd/racer/uds-endpoint/src/tests.rs similarity index 100% rename from cmd/racer-dataplane/uds-endpoint/src/tests.rs rename to cmd/racer/uds-endpoint/src/tests.rs diff --git a/cmd/racer-dataplane/uds-endpoint/tests/ownership.rs b/cmd/racer/uds-endpoint/tests/ownership.rs similarity index 100% rename from cmd/racer-dataplane/uds-endpoint/tests/ownership.rs rename to cmd/racer/uds-endpoint/tests/ownership.rs diff --git a/cmd/racer-dataplane/uds-endpoint/tests/publication.rs b/cmd/racer/uds-endpoint/tests/publication.rs similarity index 100% rename from cmd/racer-dataplane/uds-endpoint/tests/publication.rs rename to cmd/racer/uds-endpoint/tests/publication.rs diff --git a/cmd/racer-dataplane/verbs/Cargo.toml b/cmd/racer/verbs/Cargo.toml similarity index 100% rename from cmd/racer-dataplane/verbs/Cargo.toml rename to cmd/racer/verbs/Cargo.toml diff --git a/cmd/racer-dataplane/verbs/native/discovery_faults.c b/cmd/racer/verbs/native/discovery_faults.c similarity index 100% rename from cmd/racer-dataplane/verbs/native/discovery_faults.c rename to cmd/racer/verbs/native/discovery_faults.c diff --git a/cmd/racer-dataplane/verbs/native/verbs.c b/cmd/racer/verbs/native/verbs.c similarity index 100% rename from cmd/racer-dataplane/verbs/native/verbs.c rename to cmd/racer/verbs/native/verbs.c diff --git a/cmd/racer-dataplane/verbs/src/channel.rs b/cmd/racer/verbs/src/channel.rs similarity index 100% rename from cmd/racer-dataplane/verbs/src/channel.rs rename to cmd/racer/verbs/src/channel.rs diff --git a/cmd/racer-dataplane/verbs/src/control.rs b/cmd/racer/verbs/src/control.rs similarity index 100% rename from cmd/racer-dataplane/verbs/src/control.rs rename to cmd/racer/verbs/src/control.rs diff --git a/cmd/racer-dataplane/verbs/src/discovery.rs b/cmd/racer/verbs/src/discovery.rs similarity index 100% rename from cmd/racer-dataplane/verbs/src/discovery.rs rename to cmd/racer/verbs/src/discovery.rs diff --git a/cmd/racer-dataplane/verbs/src/discovery_fault_tests.rs b/cmd/racer/verbs/src/discovery_fault_tests.rs similarity index 100% rename from cmd/racer-dataplane/verbs/src/discovery_fault_tests.rs rename to cmd/racer/verbs/src/discovery_fault_tests.rs diff --git a/cmd/racer-dataplane/verbs/src/ffi.rs b/cmd/racer/verbs/src/ffi.rs similarity index 100% rename from cmd/racer-dataplane/verbs/src/ffi.rs rename to cmd/racer/verbs/src/ffi.rs diff --git a/cmd/racer-dataplane/verbs/src/lib.rs b/cmd/racer/verbs/src/lib.rs similarity index 100% rename from cmd/racer-dataplane/verbs/src/lib.rs rename to cmd/racer/verbs/src/lib.rs diff --git a/cmd/racer-dataplane/verbs/src/link.rs b/cmd/racer/verbs/src/link.rs similarity index 100% rename from cmd/racer-dataplane/verbs/src/link.rs rename to cmd/racer/verbs/src/link.rs diff --git a/cmd/racer-dataplane/verbs/src/link/tests.rs b/cmd/racer/verbs/src/link/tests.rs similarity index 100% rename from cmd/racer-dataplane/verbs/src/link/tests.rs rename to cmd/racer/verbs/src/link/tests.rs diff --git a/cmd/racer-dataplane/verbs/src/node.rs b/cmd/racer/verbs/src/node.rs similarity index 100% rename from cmd/racer-dataplane/verbs/src/node.rs rename to cmd/racer/verbs/src/node.rs diff --git a/cmd/racer-dataplane/verbs/src/pool.rs b/cmd/racer/verbs/src/pool.rs similarity index 100% rename from cmd/racer-dataplane/verbs/src/pool.rs rename to cmd/racer/verbs/src/pool.rs diff --git a/cmd/racer-dataplane/verbs/src/simulation.rs b/cmd/racer/verbs/src/simulation.rs similarity index 100% rename from cmd/racer-dataplane/verbs/src/simulation.rs rename to cmd/racer/verbs/src/simulation.rs diff --git a/cmd/racer-dataplane/verbs/tests/links.rs b/cmd/racer/verbs/tests/links.rs similarity index 100% rename from cmd/racer-dataplane/verbs/tests/links.rs rename to cmd/racer/verbs/tests/links.rs diff --git a/cmd/racer-dataplane/wire-codec/Cargo.toml b/cmd/racer/wire-codec/Cargo.toml similarity index 100% rename from cmd/racer-dataplane/wire-codec/Cargo.toml rename to cmd/racer/wire-codec/Cargo.toml diff --git a/cmd/racer-dataplane/wire-codec/src/lib.rs b/cmd/racer/wire-codec/src/lib.rs similarity index 100% rename from cmd/racer-dataplane/wire-codec/src/lib.rs rename to cmd/racer/wire-codec/src/lib.rs diff --git a/cmd/racer-dataplane/wire-codec/tests/failover.rs b/cmd/racer/wire-codec/tests/failover.rs similarity index 100% rename from cmd/racer-dataplane/wire-codec/tests/failover.rs rename to cmd/racer/wire-codec/tests/failover.rs diff --git a/cmd/racer-dataplane/wire-codec/tests/support/mod.rs b/cmd/racer/wire-codec/tests/support/mod.rs similarity index 100% rename from cmd/racer-dataplane/wire-codec/tests/support/mod.rs rename to cmd/racer/wire-codec/tests/support/mod.rs diff --git a/cmd/racer-dataplane/wire-codec/tests/transport.rs b/cmd/racer/wire-codec/tests/transport.rs similarity index 100% rename from cmd/racer-dataplane/wire-codec/tests/transport.rs rename to cmd/racer/wire-codec/tests/transport.rs diff --git a/deploy/racer-loadgen/direct/README.md b/deploy/racer-loadgen/direct/README.md index d256938ce8..0312d243f5 100644 --- a/deploy/racer-loadgen/direct/README.md +++ b/deploy/racer-loadgen/direct/README.md @@ -93,7 +93,7 @@ are mounted read-write, using hostPath type `Directory`, not all of assumes trusted node administrators, Racer, and load-generator images. Treat permission to mount these paths as cache access. -The racer-dataplane creates both directories when it publishes the cache. It +The racer creates both directories when it publishes the cache. It creates the origin directory owned by UID/GID 65532 with mode `0700` and repairs the owner and mode if they drift. Until the directories exist, the pod stays in `ContainerCreating`; the load generator never creates them. diff --git a/deploy/racer-loadgen/direct/daemonset-patch.yaml b/deploy/racer-loadgen/direct/daemonset-patch.yaml index f55e1bf9ca..8f7f11cb09 100644 --- a/deploy/racer-loadgen/direct/daemonset-patch.yaml +++ b/deploy/racer-loadgen/direct/daemonset-patch.yaml @@ -6,7 +6,7 @@ spec: template: spec: # Inherits the base pod securityContext: runAsNonRoot with UID/GID 65532, - # the owner the racer-dataplane assigns to the origin directory. + # the owner the racer assigns to the origin directory. containers: - name: racer-loadgen # Replace all OCI arguments: generic blobs exclude image sizing flags. @@ -37,7 +37,7 @@ spec: mountPath: /run/racer/racer-loadgen/client - name: racer-origin mountPath: /run/racer/racer-loadgen/origin - # The racer-dataplane creates both directories once it publishes the + # The racer creates both directories once it publishes the # cache. Type Directory keeps the pod in ContainerCreating until then # instead of creating root-owned directories the origin cannot use. volumes: diff --git a/deploy/racer/dataplane-config.yaml.tmpl b/deploy/racer/dataplane-config.yaml.tmpl index a3a6ecaa72..83d229a9a1 100644 --- a/deploy/racer/dataplane-config.yaml.tmpl +++ b/deploy/racer/dataplane-config.yaml.tmpl @@ -3,7 +3,7 @@ apiVersion: v1 kind: ConfigMap metadata: - name: racer-dataplane-config + name: racer-settings namespace: {{ .Namespace | default "unbounded-system" }} data: # Existing administrator data is preserved. @@ -18,11 +18,11 @@ data: RACER_ENABLE_RDMA: "auto" # NVIDIA driver libraries for the dataplane: off, env (default), or cdi. # env sets NVIDIA_VISIBLE_DEVICES=all and NVIDIA_DRIVER_CAPABILITIES=compute,utility. - # cdi also adds the Pod annotation cdi.k8s.io/racer-dataplane: nvidia.com/gpu=all; + # cdi also adds the Pod annotation cdi.k8s.io/racer: nvidia.com/gpu=all; # containerd then fails the Pod on any node without an NVIDIA CDI spec. # The operator reads this key and changes the DaemonSet accordingly. - # RACER_DATAPLANE_NVIDIA: "env" - # GPU reads. The racer-dataplane image is built with CUDA. auto touches no + # RACER_NVIDIA: "env" + # GPU reads. The racer image is built with CUDA. auto touches no # GPU until the first gpu-read, then turns GPU mode on if a usable GPU is # found; true sets up the GPUs at startup and fails startup when none is # found; false turns it off. diff --git a/deploy/racer/embed_test.go b/deploy/racer/embed_test.go index 7a620c299f..68e2714a86 100644 --- a/deploy/racer/embed_test.go +++ b/deploy/racer/embed_test.go @@ -192,15 +192,15 @@ func TestRBACGrantsExactly(t *testing.T) { {APIGroups: []string{"coordination.k8s.io"}, Resources: []string{"leases"}, Verbs: []string{"get", "list", "watch", "update"}}, {APIGroups: []string{""}, Resources: []string{"secrets"}, ResourceNames: []string{"racer-state"}, Verbs: []string{"get", "update"}}, {APIGroups: []string{""}, Resources: []string{"pods"}, Verbs: []string{"get", "list", "watch", "patch"}}, - {APIGroups: []string{"apps"}, Resources: []string{"daemonsets"}, ResourceNames: []string{"racer-dataplane"}, Verbs: []string{"get"}}, - {APIGroups: []string{""}, Resources: []string{"serviceaccounts"}, ResourceNames: []string{"racer-dataplane"}, Verbs: []string{"get"}}, + {APIGroups: []string{"apps"}, Resources: []string{"daemonsets"}, ResourceNames: []string{"racer"}, Verbs: []string{"get"}}, + {APIGroups: []string{""}, Resources: []string{"serviceaccounts"}, ResourceNames: []string{"racer"}, Verbs: []string{"get"}}, {APIGroups: []string{"discovery.k8s.io"}, Resources: []string{"endpointslices"}, ResourceNames: []string{"racer-webhook"}, Verbs: []string{"get", "update"}}, }, role.Rules) for _, obj := range []*unstructured.Unstructured{objects[1], objects[3]} { subjects, _, err := unstructured.NestedSlice(obj.Object, "subjects") require.NoError(t, err) - require.Equal(t, []any{map[string]any{"kind": "ServiceAccount", "name": "racer-dataplane", "namespace": "unbounded-system"}}, subjects) + require.Equal(t, []any{map[string]any{"kind": "ServiceAccount", "name": "racer", "namespace": "unbounded-system"}}, subjects) } } @@ -217,7 +217,7 @@ func TestPoliciesBindEachPolicy(t *testing.T) { require.Equal(t, []admissionregistrationv1.ValidationAction{admissionregistrationv1.Deny}, binding.Spec.ValidationActions) require.Equal(t, admissionregistrationv1.Fail, *policy.Spec.FailurePolicy) require.Len(t, policy.Spec.MatchConditions, 1) - require.Equal(t, `request.userInfo.username == "system:serviceaccount:unbounded-system:racer-dataplane"`, policy.Spec.MatchConditions[0].Expression) + require.Equal(t, `request.userInfo.username == "system:serviceaccount:unbounded-system:racer"`, policy.Spec.MatchConditions[0].Expression) } } diff --git a/deploy/racer/policies.yaml.tmpl b/deploy/racer/policies.yaml.tmpl index f0e7cf8874..d80f23ff41 100644 --- a/deploy/racer/policies.yaml.tmpl +++ b/deploy/racer/policies.yaml.tmpl @@ -1,7 +1,7 @@ # Copyright (c) Microsoft Corporation. # SPDX-License-Identifier: Apache-2.0 # -# Admission limits for writes by the racer-dataplane ServiceAccount. RBAC +# Admission limits for writes by the racer ServiceAccount. RBAC # selects which objects it may write; these policies limit what each write may # change. The caller Pod comes from the bound token's # authentication.kubernetes.io/pod-name and pod-uid extras, which kubelet @@ -9,11 +9,11 @@ # # Admission has no clock, so Lease expiry is enforced by the runtime, not # here. These policies only stop a Pod from writing on behalf of another Pod. -{{- $user := printf "system:serviceaccount:%s:racer-dataplane" (.Namespace | default "unbounded-system") | toJson }} +{{- $user := printf "system:serviceaccount:%s:racer" (.Namespace | default "unbounded-system") | toJson }} apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingAdmissionPolicy metadata: - name: racer-dataplane-pod-report + name: racer-pod-report spec: failurePolicy: Fail matchConstraints: @@ -23,7 +23,7 @@ spec: operations: ["UPDATE"] resources: ["pods"] matchConditions: - - name: racer-dataplane + - name: racer expression: request.userInfo.username == {{ $user }} variables: - name: extra @@ -77,15 +77,15 @@ spec: apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingAdmissionPolicyBinding metadata: - name: racer-dataplane-pod-report + name: racer-pod-report spec: - policyName: racer-dataplane-pod-report + policyName: racer-pod-report validationActions: [Deny] --- apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingAdmissionPolicy metadata: - name: racer-dataplane-lease + name: racer-lease spec: failurePolicy: Fail matchConstraints: @@ -95,7 +95,7 @@ spec: operations: ["UPDATE"] resources: ["leases"] matchConditions: - - name: racer-dataplane + - name: racer expression: request.userInfo.username == {{ $user }} variables: - name: extra @@ -192,15 +192,15 @@ spec: apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingAdmissionPolicyBinding metadata: - name: racer-dataplane-lease + name: racer-lease spec: - policyName: racer-dataplane-lease + policyName: racer-lease validationActions: [Deny] --- apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingAdmissionPolicy metadata: - name: racer-dataplane-state + name: racer-state spec: failurePolicy: Fail matchConstraints: @@ -210,7 +210,7 @@ spec: operations: ["UPDATE"] resources: ["secrets"] matchConditions: - - name: racer-dataplane + - name: racer expression: request.userInfo.username == {{ $user }} variables: - name: annotations @@ -273,15 +273,15 @@ spec: apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingAdmissionPolicyBinding metadata: - name: racer-dataplane-state + name: racer-state spec: - policyName: racer-dataplane-state + policyName: racer-state validationActions: [Deny] --- apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingAdmissionPolicy metadata: - name: racer-dataplane-webhook-configuration + name: racer-webhook-configuration spec: failurePolicy: Fail matchConstraints: @@ -291,7 +291,7 @@ spec: operations: ["UPDATE"] resources: ["mutatingwebhookconfigurations"] matchConditions: - - name: racer-dataplane + - name: racer expression: request.userInfo.username == {{ $user }} variables: - name: oldHooks @@ -320,15 +320,15 @@ spec: apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingAdmissionPolicyBinding metadata: - name: racer-dataplane-webhook-configuration + name: racer-webhook-configuration spec: - policyName: racer-dataplane-webhook-configuration + policyName: racer-webhook-configuration validationActions: [Deny] --- apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingAdmissionPolicy metadata: - name: racer-dataplane-webhook-endpoints + name: racer-webhook-endpoints spec: failurePolicy: Fail matchConstraints: @@ -338,7 +338,7 @@ spec: operations: ["UPDATE"] resources: ["endpointslices"] matchConditions: - - name: racer-dataplane + - name: racer expression: request.userInfo.username == {{ $user }} validations: - expression: object.metadata.name == 'racer-webhook' @@ -356,20 +356,22 @@ spec: (k in dyn(object.metadata) && dyn(oldObject.metadata)[k] == dyn(object.metadata)[k])) message: Racer may not change EndpointSlice metadata reason: Forbidden - # Endpoints may only name dataplane Pods in this namespace, one per seat. + # Endpoints may only name racer DaemonSet Pods in this namespace, one per + # seat. The DaemonSet controller names them racer- plus a 5-character + # generated suffix, which excludes other racer-* Pods such as origins. - expression: >- !has(object.endpoints) || (size(object.endpoints) <= 16 && object.endpoints.all(e, has(e.targetRef) && has(e.targetRef.kind) && e.targetRef.kind == 'Pod' && has(e.targetRef.namespace) && e.targetRef.namespace == object.metadata.namespace && - has(e.targetRef.name) && e.targetRef.name.startsWith('racer-dataplane-') && has(e.targetRef.uid))) - message: Racer webhook endpoints must reference up to 16 racer-dataplane Pods in its namespace + has(e.targetRef.name) && e.targetRef.name.matches('^racer-[a-z0-9]{5}$') && has(e.targetRef.uid))) + message: Racer webhook endpoints must reference up to 16 racer DaemonSet Pods in its namespace reason: Forbidden --- apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingAdmissionPolicyBinding metadata: - name: racer-dataplane-webhook-endpoints + name: racer-webhook-endpoints spec: - policyName: racer-dataplane-webhook-endpoints + policyName: racer-webhook-endpoints validationActions: [Deny] diff --git a/deploy/racer/rbac.yaml.tmpl b/deploy/racer/rbac.yaml.tmpl index 91c6f5b26e..685f81c0b8 100644 --- a/deploy/racer/rbac.yaml.tmpl +++ b/deploy/racer/rbac.yaml.tmpl @@ -1,7 +1,7 @@ # Copyright (c) Microsoft Corporation. # SPDX-License-Identifier: Apache-2.0 # -# Every racer-dataplane Pod runs the Racer control plane under this one +# Every racer Pod runs the Racer control plane under this one # ServiceAccount, so every Pod holds the same permissions. Seat and primary # roles are runtime state, not a security boundary. The admission policies in # policies.yaml narrow each write further; the operator binds these grants only @@ -11,7 +11,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: - name: racer-dataplane + name: racer rules: # Membership is computed from Nodes. No Node writes. - apiGroups: [""] @@ -33,20 +33,20 @@ rules: apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: - name: racer-dataplane + name: racer roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole - name: racer-dataplane + name: racer subjects: - kind: ServiceAccount - name: racer-dataplane + name: racer namespace: {{ $ns }} --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: - name: racer-dataplane + name: racer namespace: {{ $ns }} rules: # Seat and primary Leases. The operator creates all 17; the runtime never @@ -74,11 +74,11 @@ rules: # Workload identity checks only. - apiGroups: ["apps"] resources: ["daemonsets"] - resourceNames: ["racer-dataplane"] + resourceNames: ["racer"] verbs: ["get"] - apiGroups: [""] resources: ["serviceaccounts"] - resourceNames: ["racer-dataplane"] + resourceNames: ["racer"] verbs: ["get"] # Ready seat webhook endpoints, published by the primary. - apiGroups: ["discovery.k8s.io"] @@ -89,13 +89,13 @@ rules: apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: - name: racer-dataplane + name: racer namespace: {{ $ns }} roleRef: apiGroup: rbac.authorization.k8s.io kind: Role - name: racer-dataplane + name: racer subjects: - kind: ServiceAccount - name: racer-dataplane + name: racer namespace: {{ $ns }} diff --git a/designs/racer-dataplane-control-plane.md b/designs/racer-control-plane.md similarity index 99% rename from designs/racer-dataplane-control-plane.md rename to designs/racer-control-plane.md index 7aff906c6f..901d335759 100644 --- a/designs/racer-dataplane-control-plane.md +++ b/designs/racer-control-plane.md @@ -2,7 +2,7 @@ ## Scope -Run Racer with one `racer-dataplane` DaemonSet. Remove the Go controller binary, +Run Racer with one `racer` DaemonSet. Remove the Go controller binary, image, Deployment, Service, and its operator bootstrap and PKI code. Keep ClusterCache, the SDK, origins, sidecars, and the existing data path. diff --git a/designs/racer-gpudirect.md b/designs/racer-gpudirect.md index 632297d2ce..4a6e128dbc 100644 --- a/designs/racer-gpudirect.md +++ b/designs/racer-gpudirect.md @@ -171,7 +171,7 @@ plaintext slice from the `VerifiedPage` into the client's file with io_uring ### GPU mode -A new crate, `cmd/racer-dataplane/gpu`, follows the `verbs` pattern: +A new crate, `cmd/racer/gpu`, follows the `verbs` pattern: - A small C shim, `libracer_gpu_cuda.so.1`, wraps the CUDA driver API, NVML and cuFile. Racer loads it with `dlopen` and checks `racer_gpu_abi()`. @@ -353,7 +353,7 @@ provider, and GPU decryption from a landing buffer. ### Disk layout v2 The store already writes format version 2 records (see -`cmd/racer-dataplane/src/store.rs`): the header and its SHA-256 digest, then zero +`cmd/racer/src/store.rs`): the header and its SHA-256 digest, then zero padding up to `header_len`, then the ciphertext, then zero padding up to the extent. `header_len` and the ciphertext body are rounded up to the record unit. Readers treat other versions, including the old unpadded v1 layout, as cold @@ -377,7 +377,7 @@ not aligned. NVIDIA runtime to inject them without requesting `nvidia.com/gpu`: `NVIDIA_VISIBLE_DEVICES=all` and `NVIDIA_DRIVER_CAPABILITIES=compute,utility`. The operator knob - `RACER_DATAPLANE_NVIDIA=off|env|cdi` (default `env`) controls this. `cdi` + `RACER_NVIDIA=off|env|cdi` (default `env`) controls this. `cdi` also adds the CDI annotation for `nvidia.com/gpu=all`. It is opt-in because containerd fails pod creation when a CDI device cannot be resolved, which would break the DaemonSet on nodes without NVIDIA GPUs. On other nodes the diff --git a/designs/racer-page-alloc.md b/designs/racer-page-alloc.md index 4698967eba..db7e3ad59b 100644 --- a/designs/racer-page-alloc.md +++ b/designs/racer-page-alloc.md @@ -3,7 +3,7 @@ ## Summary `page-alloc` is the storage layer under the Racer dataplane. It lives in -`cmd/racer-dataplane/alloc/`. It gives one worker thread three things: +`cmd/racer/alloc/`. It gives one worker thread three things: 1. Memory buffers aligned for direct I/O, with caller-selected wiping rules. 2. A table of fixed-size segments in a sparse cache file or caller-opened files diff --git a/designs/racer-rdma-sessions.md b/designs/racer-rdma-sessions.md index 4884bc9282..5e9c540573 100644 --- a/designs/racer-rdma-sessions.md +++ b/designs/racer-rdma-sessions.md @@ -2,7 +2,7 @@ Status: implemented. This file describes Racer's link setup, page protocol, memory ownership, and configuration. [racer-verbs.md](racer-verbs.md) covers -the verbs crate. Paths below are relative to `cmd/racer-dataplane/`. +the verbs crate. Paths below are relative to `cmd/racer/`. ## Design diff --git a/designs/racer-verbs.md b/designs/racer-verbs.md index 75c06e963c..7cda8638af 100644 --- a/designs/racer-verbs.md +++ b/designs/racer-verbs.md @@ -2,7 +2,7 @@ Status: implemented. This file covers the verbs crate. Racer's signed setup and HTTP page protocol are in [racer-rdma-sessions.md](racer-rdma-sessions.md). -Paths below are relative to `cmd/racer-dataplane/verbs/`. +Paths below are relative to `cmd/racer/verbs/`. ## Contract diff --git a/docs/content/concepts/racer.md b/docs/content/concepts/racer.md index 4b39728e1f..08e264f810 100644 --- a/docs/content/concepts/racer.md +++ b/docs/content/concepts/racer.md @@ -26,7 +26,7 @@ another fetch. ## Architecture -Racer runs as one **DaemonSet**, `racer-dataplane`. Each pod runs the same Rust +Racer runs as one **DaemonSet**, `racer`. Each pod runs the same Rust binary. It: - Serves app reads on per-cache Unix sockets under `/run/racer//`. diff --git a/docs/content/guides/azure-blob-cache.md b/docs/content/guides/azure-blob-cache.md index b4cc31b092..2eb19ac8f4 100644 --- a/docs/content/guides/azure-blob-cache.md +++ b/docs/content/guides/azure-blob-cache.md @@ -59,7 +59,7 @@ account, create another ClusterCache. Wait for the cache to start: ```bash -kubectl -n unbounded-system rollout status daemonset/racer-dataplane --timeout=5m +kubectl -n unbounded-system rollout status daemonset/racer --timeout=5m kubectl -n unbounded-system rollout status daemonset/racer-origin-racer-object --timeout=5m ``` diff --git a/docs/content/guides/gantry.md b/docs/content/guides/gantry.md index ed563f286d..5cbc06b356 100644 --- a/docs/content/guides/gantry.md +++ b/docs/content/guides/gantry.md @@ -369,10 +369,10 @@ DaemonSet in `unbounded-system`: - It mounts the Racer sockets from `/run/racer/gantry/client` and `/run/racer/gantry/origin`. - It copies node affinity, node selector, and tolerations from the - `racer-dataplane` DaemonSet. Gantry then runs on every Racer node, so each + `racer` DaemonSet. Gantry then runs on every Racer node, so each node can serve origin reads for the cache. -The operator waits for `racer-dataplane` to exist before it makes these +The operator waits for `racer` to exist before it makes these changes. The cache does not install Gantry. If no Site enables Gantry, the `gantry` cache is a plain Racer cache. The exception is a Gantry install the operator already manages. It stays in place after every Site turns Gantry off, @@ -435,11 +435,11 @@ an image from a configured registry and check these metrics: does for any failed mirror host. - A `404` without a `Gantry-Racer-Request-ID` header means the registry is not in `upstream_registries`. -- If Gantry pods stay not ready, check the `racer-dataplane` pod on the same +- If Gantry pods stay not ready, check the `racer` pod on the same node and confirm that `/run/racer/gantry/client` and `/run/racer/gantry/origin` exist. - If the operator reports `RacerPending` for Gantry, it is waiting for the - `racer-dataplane` DaemonSet. + `racer` DaemonSet. ### Turn Off Racer Mode diff --git a/docs/content/guides/racer-vllm.md b/docs/content/guides/racer-vllm.md index 141c9fe9b9..fcd5bff708 100644 --- a/docs/content/guides/racer-vllm.md +++ b/docs/content/guides/racer-vllm.md @@ -24,7 +24,7 @@ client falls back to host memory, then to a plain stream. ## 1. Check GPU Mode -GPU mode is on by default. The `racer-dataplane` image is built with CUDA, and +GPU mode is on by default. The `racer` image is built with CUDA, and `RACER_ENABLE_GPU` is `auto`. The dataplane does not touch the GPUs until the first GPU read, so vLLM's first load turns GPU mode on. After a load, check a dataplane log on the GPU node: @@ -40,7 +40,7 @@ To make the dataplane set up the GPUs at startup and fail when it finds none, so a broken setup is not silent, set `RACER_ENABLE_GPU` to `true`: ```bash -kubectl -n unbounded-system patch configmap racer-dataplane-config \ +kubectl -n unbounded-system patch configmap racer-settings \ --type merge -p '{"data":{"RACER_ENABLE_GPU":"true"}}' ``` @@ -49,7 +49,7 @@ Storage. Without GPUDirect Storage on the host, disk reads go through host memory. The dataplane gets the NVIDIA driver libraries without requesting a GPU. This -is on by default (`RACER_DATAPLANE_NVIDIA: env` in `racer-dataplane-config`). See +is on by default (`RACER_NVIDIA: env` in `racer-settings`). See [GPU reads]({{< relref "reference/racer" >}}#gpu-reads). ## 2. Deploy vLLM diff --git a/docs/content/reference/gpu/nvidia.md b/docs/content/reference/gpu/nvidia.md index e42658d119..aabaf994e6 100644 --- a/docs/content/reference/gpu/nvidia.md +++ b/docs/content/reference/gpu/nvidia.md @@ -142,7 +142,7 @@ open flavor supports Turing and later GPUs only. NVMe also needs NVMe patches from MLNX_OFED or DOCA. The Azure Linux host images do not install `nvidia-fs`; its repository has no package for it. cuFile uses P2PDMA only when asked: for Racer, set - `RACER_GPU_PCI_P2PDMA=true` in `racer-dataplane-config`. + `RACER_GPU_PCI_P2PDMA=true` in `racer-settings`. On Ubuntu Azure VMs, `hack/agent/azure-gpu-vm/install-nvidia-drivers.sh` installs `nvidia-fs` when you pass `--gds`: diff --git a/docs/content/reference/racer-object.md b/docs/content/reference/racer-object.md index 5689bf7cc0..9538338075 100644 --- a/docs/content/reference/racer-object.md +++ b/docs/content/reference/racer-object.md @@ -34,7 +34,7 @@ name. Unbounded releases publish the image as `ghcr.io/azure/racer-object:vX.Y.Z`; use the same [release](https://github.com/Azure/unbounded/releases) tag as your -operator's `racer-dataplane` image. Contributors can build +operator's `racer` image. Contributors can build from source with `make racer-object` (binary at `bin/racer-object`) or `make image-racer-object-local`. @@ -238,7 +238,7 @@ so the pod's namespace must allow hostPath volumes under Pod Security Admission. ### Automatic Injection -Elected control seats in `racer-dataplane` run a mutating admission webhook that +Elected control seats in `racer` run a mutating admission webhook that adds the sidecar to opted-in pods. The unbounded operator installs the `MutatingWebhookConfiguration` named `racer-object-sidecar-injector`. The elected primary maintains its CA bundle and the `racer-webhook` Service's endpoints. @@ -313,7 +313,7 @@ The webhook makes these changes to the pod: - Adds an init container named `racer-object` with `restartPolicy: Always`, placed first. It uses the `racer-object` image of the same release as - `racer-dataplane`, and the args + `racer`, and the args `sidecar --cache=...` plus `--api` and `--listen` when set. - Sets the security context described below, with `RuntimeDefault` seccomp. diff --git a/docs/content/reference/racer.md b/docs/content/reference/racer.md index f4f26b47b0..553a65c07b 100644 --- a/docs/content/reference/racer.md +++ b/docs/content/reference/racer.md @@ -124,7 +124,7 @@ Unset optional fields use the `racer-object` defaults. The operator names the DaemonSet and its ServiceAccount `racer-origin-` in the Racer namespace. It copies node affinity, node selector, tolerations, and -image pull secrets from the `racer-dataplane` DaemonSet, and waits until that +image pull secrets from the `racer` DaemonSet, and waits until that DaemonSet exists. The origin runs as UID and GID 65532 and serves `/run/racer//origin/socket`, which the dataplane creates. @@ -193,7 +193,7 @@ Site uses current labels. Invalid `block-devices` selectors instead fall back to ## Dataplane configuration -Tune `racer-dataplane-config` in the installation namespace (normally `unbounded-system`). +Tune `racer-settings` in the installation namespace (normally `unbounded-system`). The operator preserves administrator data and hashes edits into managed rollouts. Explicit workload environment wiring takes precedence over ConfigMap imports. Numeric values are unsigned decimal strings: `268435456`, not `256Mi`. @@ -735,7 +735,7 @@ quiesce traffic until all dataplanes run the same version.** ## Elected control plane -`racer-dataplane` is both the cache daemon and the control-plane binary. There is +`racer` is both the cache daemon and the control-plane binary. There is no `racer-controller` Deployment, image, or control Service. Pods elect control seats with Leases named `racer-seat-0` through `racer-seat-15`. One seat also holds `racer-primary` and commits membership, catalog, keyring, and trust changes. @@ -752,7 +752,7 @@ how long startup can wait for the control plane. SIGTERM stops startup. ```bash kubectl -n unbounded-system get leases -l racer.unbounded-cloud.io/control=true -kubectl -n unbounded-system get daemonset racer-dataplane +kubectl -n unbounded-system get daemonset racer kubectl -n unbounded-system get endpointslice racer-webhook ``` @@ -785,9 +785,9 @@ limits, not process memory limits. ### Operator-managed dataplane -When any `ClusterCache` exists, the operator installs DaemonSet `racer-dataplane` +When any `ClusterCache` exists, the operator installs DaemonSet `racer` with its ServiceAccount, restricted RBAC, election Leases, initial state Secret, -webhook resources, and ConfigMap `racer-dataplane-config`. The ConfigMap is seeded +webhook resources, and ConfigMap `racer-settings`. The ConfigMap is seeded only when absent. The DaemonSet uses the operator's registry and tag and imports the ConfigMap with `envFrom`. A pod-template annotation carries its payload hash, so edits roll out. @@ -798,17 +798,25 @@ The operator still checks the admission guards. If they drift or disappear, it revokes dataplane permissions and repairs the guards. It restores permissions only when a cache exists again. -| Setting in `racer-dataplane-config` | Default | Purpose | +Earlier releases named these objects `racer-dataplane`, with ConfigMap +`racer-dataplane-config`. On upgrade the operator seeds `racer-settings` from +`racer-dataplane-config`, renaming `RACER_DATAPLANE_NVIDIA` to `RACER_NVIDIA`. +Once the new DaemonSet is applied, it deletes the old objects it created: the +DaemonSet, ServiceAccount, RBAC, and ConfigMap first, then the old admission +policies. Old and new Pods may run side by side briefly. It leaves alone any +old-named object it did not create. + +| Setting in `racer-settings` | Default | Purpose | |------------------------------------|---------|---------| | `RACER_CONTROL_SEATS` | `auto` | Choose the number of control seats automatically, or request 1 to 16 | -| `RACER_DATAPLANE_NVIDIA` | `env` | How the dataplane asks for NVIDIA driver libraries: `off`, `env`, or `cdi`; see [GPU reads](#gpu-reads) | +| `RACER_NVIDIA` | `env` | How the dataplane asks for NVIDIA driver libraries: `off`, `env`, or `cdi`; see [GPU reads](#gpu-reads) | -Set `RACER_CONTROL_SEATS` in `racer-dataplane-config` to `auto` (the default) or +Set `RACER_CONTROL_SEATS` in `racer-settings` to `auto` (the default) or an integer from 1 to 16. The active count cannot exceed the eligible node count. For example, to request three seats: ```bash -kubectl -n unbounded-system patch configmap racer-dataplane-config \ +kubectl -n unbounded-system patch configmap racer-settings \ --type merge -p '{"data":{"RACER_CONTROL_SEATS":"3"}}' ``` @@ -907,7 +915,7 @@ For a standalone listener, save and inspect a profile with the matching binary: ```sh curl --fail --max-time 75 'http://127.0.0.1:9090/debug/pprof/profile?seconds=30' -o profile.pb -go tool pprof -top ./racer-dataplane profile.pb +go tool pprof -top ./racer profile.pb ``` Keep the exact binary and its debug information for symbol resolution. Userspace @@ -986,10 +994,10 @@ this upgrade. The operator refuses migration if the old `racer-config` requests a non-default peer port, a diagnostics port, host networking, a pod-network node split, or a -non-default `RACER_DATAPLANE_NVIDIA`. Managed ports are now fixed at 8082 and +non-default `RACER_NVIDIA`. Managed ports are now fixed at 8082 and 9090. Review and remove these old settings before migration; use a DaemonSet -override for host networking and set `RACER_DATAPLANE_NVIDIA` in -`racer-dataplane-config`. The operator does +override for host networking and set `RACER_NVIDIA` in +`racer-config`. The operator does not silently discard them or stop the old controller first. Expect a cold cache after changing device layout, @@ -1081,12 +1089,12 @@ container already sets `RACER_SOCKET` or mounts that path. GPU reads let a client on the node read an object straight into its own NVIDIA GPU memory. They need: -- A dataplane image built with CUDA. The released `racer-dataplane` image is, +- A dataplane image built with CUDA. The released `racer` image is, so no setup is needed. It runs on nodes without GPUs too. An image built with `--build-arg RACER_NATIVE_CUDA=false` has no GPU reads. - An NVIDIA node set up by the unbounded agent, which installs the NVIDIA container runtime and a CDI spec. -- `RACER_ENABLE_GPU` in `racer-dataplane-config`. `auto`, the default, does +- `RACER_ENABLE_GPU` in `racer-settings`. `auto`, the default, does not touch any GPU until a client sends the first `gpu-read`. Only then does the dataplane load CUDA, look for GPUs, and turn GPU mode on, or off if it finds no usable GPU. It does not try again until the pod restarts. `true` @@ -1164,13 +1172,13 @@ against 2.44 seconds with the defaults. That is close to the drive's speed. The dataplane does not request `nvidia.com/gpu`. It is privileged, so it already sees `/dev/nvidia*`. It only needs the host driver libraries. -`RACER_DATAPLANE_NVIDIA` in `racer-dataplane-config` controls how it asks for them. +`RACER_NVIDIA` in `racer-settings` controls how it asks for them. The operator reads it and changes the DaemonSet: -| `RACER_DATAPLANE_NVIDIA` | Behavior | +| `RACER_NVIDIA` | Behavior | |--------------------------|----------| | `env` (default) | Sets `NVIDIA_VISIBLE_DEVICES=all` and `NVIDIA_DRIVER_CAPABILITIES=compute,utility` on the dataplane container, mounts the host `/run/udev` read-only at `/run/udev` (cuFile reads each slab device's filesystem type from the udev database), and mounts a 64 MiB `emptyDir` at `/var/log/cufile` for the cuFile log. The NVIDIA runtime injects the libraries. Other runtimes ignore these variables, so nodes without NVIDIA are not affected | -| `cdi` | Everything `env` adds, plus the Pod annotation `cdi.k8s.io/racer-dataplane: nvidia.com/gpu=all`. containerd fails to create the container on any node that cannot resolve this CDI device, so use it only when every dataplane node has an NVIDIA CDI spec | +| `cdi` | Everything `env` adds, plus the Pod annotation `cdi.k8s.io/racer: nvidia.com/gpu=all`. containerd fails to create the container on any node that cannot resolve this CDI device, so use it only when every dataplane node has an NVIDIA CDI spec | | `off` | Adds none of these: no NVIDIA variables, no CDI annotation, no `/run/udev` mount, and no cuFile log volume. Without driver libraries there is no GPU, so cuFile is not used | The dataplane image ships `/etc/racer/cufile.json` and sets @@ -1179,7 +1187,7 @@ cuFile fails instead of copying through host memory and Racer uses its own host read path, and it logs errors to `/var/log/cufile/cufile.log`. Other cuFile settings keep their built-in defaults. To use your own file, build an image from the dataplane image that adds it, and set `CUFILE_ENV_PATH_JSON` -in `racer-dataplane-config`. Setting `CUFILE_ALLOW_COMPAT_MODE=true` +in `racer-settings`. Setting `CUFILE_ALLOW_COMPAT_MODE=true` turns compatibility mode back on. On nodes set up by the unbounded agent, the NVIDIA runtime is the default @@ -1197,7 +1205,7 @@ make racer-gpu-test ``` This builds `libracer_gpu_cuda.so.1` with its kernels and runs the hardware -tests in `cmd/racer-dataplane/gpu/tests/hardware.rs`: shim load, device +tests in `cmd/racer/gpu/tests/hardware.rs`: shim load, device discovery, import of an exported client allocation, GPU decrypt checked against the CPU, and cuFile reads. It fails when no GPU is found; pass `RACER_GPU_TESTS=1` to skip instead. cuFile tests skip when cuFile cannot open diff --git a/e2e/racer/control_e2e.go b/e2e/racer/control_e2e.go index 64f0b9e896..be9b053678 100644 --- a/e2e/racer/control_e2e.go +++ b/e2e/racer/control_e2e.go @@ -23,7 +23,7 @@ const ( racerStateSecret = "racer-state" webhookName = "racer-webhook" webhookPort = 9443 - dataplaneLabel = "app.kubernetes.io/name=racer-dataplane" + dataplaneLabel = "app.kubernetes.io/name=racer" // leaseSkew tolerates clock skew between the host and kind nodes when // judging whether a Lease has expired. leaseSkew = 5 * time.Second @@ -44,7 +44,7 @@ func (l lease) unexpired(now time.Time) bool { return l.Duration > 0 && !l.RenewTime.IsZero() && now.Before(l.RenewTime.Add(l.Duration+leaseSkew)) } -// dataplanePod is a racer-dataplane pod that may hold a seat. +// dataplanePod is a racer pod that may hold a seat. type dataplanePod struct { Name string UID string @@ -97,7 +97,7 @@ type podList struct { } } -// controlView reads the seat and primary Leases and the racer-dataplane pods. +// controlView reads the seat and primary Leases and the racer pods. // Read errors yield an empty view so callers polling with waitFor retry. func (h *harness) controlView() controlView { h.t.Helper() @@ -229,7 +229,7 @@ func (v controlView) seatProblems() []string { return problems } -// readyPods counts ready racer-dataplane pods. +// readyPods counts ready racer pods. func (v controlView) readyPods() int { n := 0 diff --git a/e2e/racer/control_e2e_test.go b/e2e/racer/control_e2e_test.go index f85ee76f20..f72633fd02 100644 --- a/e2e/racer/control_e2e_test.go +++ b/e2e/racer/control_e2e_test.go @@ -16,7 +16,7 @@ import ( ) // TestControlPlaneSeatsAndFailover checks the control plane embedded in the -// racer-dataplane DaemonSet: no standalone controller is installed, enough +// racer DaemonSet: no standalone controller is installed, enough // pods on distinct nodes hold unexpired seats, the primary holds a seat, the // state Secret and webhook wiring exist, and deleting the primary pod moves // the primary to another seat. Every dataplane must report the same fully @@ -93,7 +93,7 @@ func TestControlPlaneSeatsAndFailover(t *testing.T) { return rv != stateRV, "resourceVersion unchanged" }) - h.rollout("daemonset", "racer-dataplane", 10*time.Minute) + h.rollout("daemonset", "racer", 10*time.Minute) h.waitHealthy("seats after failover") h.waitWebhook() h.assertWebhookAdmission(admissionNS) @@ -117,7 +117,7 @@ func TestControlPlaneSeatsAndFailover(t *testing.T) { }) } -// restartAllDataplanes deletes every racer-dataplane pod at once, so no +// restartAllDataplanes deletes every racer pod at once, so no // process that held issuer keys in memory survives, then waits for // replacements to elect, become ready, and converge on a goal state no older // than floor from the same racer-state Secret. Nodes are left alone. @@ -129,10 +129,10 @@ func (h *harness) restartAllDataplanes(stateUID string, floor membership) { old[p.UID] = true } - h.t.Logf("deleting all %d racer-dataplane pods", len(old)) + h.t.Logf("deleting all %d racer pods", len(old)) h.kubectl("-n", operatorNamespace, "delete", "pod", "-l", dataplaneLabel, "--wait=false") - h.waitFor("every racer-dataplane pod replaced", 5*time.Minute, func() (bool, string) { + h.waitFor("every racer pod replaced", 5*time.Minute, func() (bool, string) { v := h.controlView() desired := h.dataplaneDesired() @@ -146,7 +146,7 @@ func (h *harness) restartAllDataplanes(stateUID string, floor membership) { fmt.Sprintf("ready new pods %d/%d of %d desired", v.readyPods(), len(v.Pods), desired) }) - h.rollout("daemonset", "racer-dataplane", 10*time.Minute) + h.rollout("daemonset", "racer", 10*time.Minute) h.waitHealthy("election after restarting every dataplane") goal, v := h.waitConverged("all dataplanes to converge after full restart") diff --git a/e2e/racer/gantry_racer_e2e_test.go b/e2e/racer/gantry_racer_e2e_test.go index 345d093e4c..04f9286948 100644 --- a/e2e/racer/gantry_racer_e2e_test.go +++ b/e2e/racer/gantry_racer_e2e_test.go @@ -198,10 +198,10 @@ func (h *harness) checkGantryRacerSpec() { const placement = `jsonpath={.spec.template.spec.nodeSelector}|{.spec.template.spec.tolerations}|{.spec.template.spec.affinity.nodeAffinity}` gantry := h.kubectl("-n", operatorNamespace, "get", "daemonset", "gantry", "-o", placement) - dataplane := h.kubectl("-n", operatorNamespace, "get", "daemonset", "racer-dataplane", "-o", placement) + dataplane := h.kubectl("-n", operatorNamespace, "get", "daemonset", "racer", "-o", placement) if gantry != dataplane { - h.t.Fatalf("Gantry placement does not follow racer-dataplane:\ngantry: %s\ndataplane: %s", gantry, dataplane) + h.t.Fatalf("Gantry placement does not follow racer:\ngantry: %s\ndataplane: %s", gantry, dataplane) } } diff --git a/e2e/racer/harness_e2e.go b/e2e/racer/harness_e2e.go index 4ea7bb9102..51d18e8b56 100644 --- a/e2e/racer/harness_e2e.go +++ b/e2e/racer/harness_e2e.go @@ -323,7 +323,7 @@ func (h *harness) buildImages() { images := []image{ {"image-unbounded-operator-local", "unbounded-operator"}, {"image-racer-object-local", "racer-object"}, - {"image-racer-dataplane-local", "racer-dataplane"}, + {"image-racer-local", "racer"}, {"image-gantry-local", "gantry"}, } @@ -333,7 +333,7 @@ func (h *harness) buildImages() { for _, img := range images { ref := h.imageRegistry() + "/" + img.repo + ":" + imageTag - if !skipAll && (!skipDataplane || img.repo != "racer-dataplane") { + if !skipAll && (!skipDataplane || img.repo != "racer") { h.t.Logf("building %s", ref) h.run(60*time.Minute, "make", img.target, "CONTAINER_ENGINE=docker", "TRIVY=", "VERSION="+imageTag, "CONTAINER_REGISTRY="+h.imageRegistry()) @@ -359,7 +359,7 @@ func (h *harness) install() { // installRacer waits for the operator to install Racer after a ClusterCache // is created, caps the dataplane threads for kind, waits for the -// racer-dataplane DaemonSet to roll out, and waits for its embedded control +// racer DaemonSet to roll out, and waits for its embedded control // plane to elect a primary. It is safe to call more than once. func (h *harness) installRacer() { h.t.Helper() @@ -367,12 +367,12 @@ func (h *harness) installRacer() { // Automatic sizing scales with host cores. The operator seeds this // ConfigMap once and preserves administrator edits, rolling the DaemonSet // on change. - h.waitExists("configmap", "racer-dataplane-config", 5*time.Minute) - h.kubectl("-n", operatorNamespace, "patch", "configmap", "racer-dataplane-config", "--type=merge", + h.waitExists("configmap", "racer-settings", 5*time.Minute) + h.kubectl("-n", operatorNamespace, "patch", "configmap", "racer-settings", "--type=merge", "-p", `{"data":{"RACER_MAX_THREADS":"3"}}`) // The embedded control plane needs a dedicated thread, so 3 is the floor. - h.rollout("daemonset", "racer-dataplane", 10*time.Minute) + h.rollout("daemonset", "racer", 10*time.Minute) h.waitFor("racer-primary lease held by a live seat", 5*time.Minute, func() (bool, string) { v := h.controlView() _, ok := v.primarySeat() @@ -437,7 +437,7 @@ func (h *harness) dumpDiagnostics(namespaces ...string) { {"-n", operatorNamespace, "get", "endpointslices", "-o", "wide"}, // Metadata only: racer-state holds key material and must not be logged. {"-n", operatorNamespace, "get", "secret", racerStateSecret, "-o", "jsonpath={.metadata.uid} {.metadata.resourceVersion}"}, - {"-n", operatorNamespace, "logs", "-l", "app.kubernetes.io/name=racer-dataplane", "--all-containers", "--tail=200", "--prefix"}, + {"-n", operatorNamespace, "logs", "-l", "app.kubernetes.io/name=racer", "--all-containers", "--tail=200", "--prefix"}, {"-n", operatorNamespace, "logs", "-l", "app.kubernetes.io/name=racer-origin", "--all-containers", "--tail=200", "--prefix"}, {"get", "sites", "-o", "yaml"}, {"-n", operatorNamespace, "get", "ds/gantry", "cm/gantry-config", "-o", "yaml"}, diff --git a/e2e/racer/membership_e2e.go b/e2e/racer/membership_e2e.go index c7c48269fa..3dfab45329 100644 --- a/e2e/racer/membership_e2e.go +++ b/e2e/racer/membership_e2e.go @@ -13,7 +13,7 @@ import ( "time" ) -// diagnosticsPort is the fixed racer-dataplane diagnostics port that serves +// diagnosticsPort is the fixed racer diagnostics port that serves // /debug/membership. const diagnosticsPort = 9090 @@ -23,7 +23,7 @@ const diagnosticsPort = 9090 var errMembershipUnavailable = errors.New("membership unavailable") // membershipFields lists the /debug/membership keys in the order -// MembershipDiagnostic::write in cmd/racer-dataplane/src/telemetry.rs +// MembershipDiagnostic::write in cmd/racer/src/telemetry.rs // prints them. var membershipFields = []string{ "accepted_sequence", "accepted_membership", "accepted_membership_hash", @@ -202,7 +202,7 @@ func (h *harness) podMembership(pod string) (membership, bool, string) { func (h *harness) dataplaneDesired() int { h.t.Helper() - out, err := h.exec(time.Minute, nil, "kubectl", "-n", operatorNamespace, "get", "daemonset", "racer-dataplane", + out, err := h.exec(time.Minute, nil, "kubectl", "-n", operatorNamespace, "get", "daemonset", "racer", "-o", "jsonpath={.status.desiredNumberScheduled}") if err != nil { return 0 diff --git a/e2e/racer/racer_e2e_test.go b/e2e/racer/racer_e2e_test.go index 1b75ef2fc2..4531c6b6c1 100644 --- a/e2e/racer/racer_e2e_test.go +++ b/e2e/racer/racer_e2e_test.go @@ -59,17 +59,17 @@ func TestObjectCacheFromAzureOrigin(t *testing.T) { // fetchPod returns a pod that reads the blob twice through the sidecar and // verifies its digest each time. -// checkDataplaneHardware reads /debug/hardware from a racer-dataplane pod +// checkDataplaneHardware reads /debug/hardware from a racer pod // through the API server pod proxy and checks the report shape. Kind nodes // always expose block devices, but RDMA devices are not expected. func (h *harness) checkDataplaneHardware() { h.t.Helper() pod := strings.TrimSpace(h.kubectl("-n", operatorNamespace, "get", "pods", - "-l", "app.kubernetes.io/name=racer-dataplane", + "-l", "app.kubernetes.io/name=racer", "-o", "jsonpath={.items[0].metadata.name}")) if pod == "" { - h.t.Fatal("no racer-dataplane pod found") + h.t.Fatal("no racer pod found") } port := strings.TrimSpace(h.kubectl("-n", operatorNamespace, "get", "pod", pod, "-o", diff --git a/e2e/racer/seat_count_e2e_test.go b/e2e/racer/seat_count_e2e_test.go index d74d81923f..e420c6bb5f 100644 --- a/e2e/racer/seat_count_e2e_test.go +++ b/e2e/racer/seat_count_e2e_test.go @@ -92,11 +92,11 @@ func TestControlPlaneConfiguredSeatCount(t *testing.T) { func (h *harness) setSeatCount(count string) { h.t.Helper() - h.kubectl("-n", operatorNamespace, "patch", "configmap", "racer-dataplane-config", + h.kubectl("-n", operatorNamespace, "patch", "configmap", "racer-settings", "--type=merge", "-p", fmt.Sprintf(`{"data":{"RACER_CONTROL_SEATS":%q}}`, count)) var config corev1.ConfigMap - if !h.getJSON(&config, "-n", operatorNamespace, "get", "configmap", "racer-dataplane-config") { + if !h.getJSON(&config, "-n", operatorNamespace, "get", "configmap", "racer-settings") { h.t.Fatal("dataplane configuration could not be read after changing the seat count") } @@ -104,12 +104,12 @@ func (h *harness) setSeatCount(count string) { h.waitFor("DaemonSet to use seat count "+count, time.Minute, func() (bool, string) { var ds appsv1.DaemonSet - if !h.getJSON(&ds, "-n", operatorNamespace, "get", "daemonset", "racer-dataplane") { + if !h.getJSON(&ds, "-n", operatorNamespace, "get", "daemonset", "racer") { return false, "DaemonSet could not be read" } - return ds.Spec.Template.Annotations["unbounded-cloud.io/racer-dataplane-config-hash"] == expected, + return ds.Spec.Template.Annotations["unbounded-cloud.io/racer-settings-hash"] == expected, "configuration hash not yet applied" }) - h.rollout("daemonset", "racer-dataplane", 5*time.Minute) + h.rollout("daemonset", "racer", 5*time.Minute) } diff --git a/e2e/racer/token_authz_e2e_test.go b/e2e/racer/token_authz_e2e_test.go index 18fdf53d6a..19d2d98ddb 100644 --- a/e2e/racer/token_authz_e2e_test.go +++ b/e2e/racer/token_authz_e2e_test.go @@ -28,7 +28,7 @@ import ( ) const ( - dataplaneServiceAccount = "racer-dataplane" + dataplaneServiceAccount = "racer" dataplaneReportAnnotation = "racer.unbounded-cloud.io/report" // tokenAuthzProbeKey is an annotation no Racer component owns. tokenAuthzProbeKey = "e2e.unbounded-cloud.io/token-authz-probe" @@ -97,7 +97,7 @@ func (h *harness) podTokenClient(ctx context.Context, admin kubernetes.Interface return client, redact } -// TestDataplaneTokenAuthorization checks what a racer-dataplane pod's own +// TestDataplaneTokenAuthorization checks what a racer pod's own // bound token may write. The token comes from TokenRequest bound to a live // pod, so the API server attaches the pod and node extras that admission // policies match on; impersonation would drop them. Every write is a server @@ -124,7 +124,7 @@ func TestDataplaneTokenAuthorization(t *testing.T) { var pods []corev1.Pod - h.waitFor("two running racer-dataplane pods with reports", 5*time.Minute, func() (bool, string) { + h.waitFor("two running racer pods with reports", 5*time.Minute, func() (bool, string) { list, err := admin.CoreV1().Pods(operatorNamespace).List(ctx, metav1.ListOptions{LabelSelector: dataplaneLabel}) if err != nil { return false, err.Error() diff --git a/hack/cmd/notice/README.md b/hack/cmd/notice/README.md index 7ddac51430..42af03877d 100644 --- a/hack/cmd/notice/README.md +++ b/hack/cmd/notice/README.md @@ -1,7 +1,7 @@ # notice Generates and verifies the project's `NOTICE` file from direct dependencies in -`go.mod`, `frontend/package.json`, and `cmd/racer-dataplane/Cargo.toml` plus +`go.mod`, `frontend/package.json`, and `cmd/racer/Cargo.toml` plus the pinned libfabric and OpenSSL source versions in `Makefile`, when present. ## Usage @@ -51,7 +51,7 @@ hack/cmd/notice/ ### Cargo and native collectors The Cargo collector reads the Racer dataplane workspace under -`cmd/racer-dataplane`. It reads the root package and its declared workspace +`cmd/racer`. It reads the root package and its declared workspace members using the root lockfile. Collection is skipped when neither `Cargo.toml` nor `Cargo.lock` exists. A workspace without direct registry dependencies needs no Cargo registry cache. @@ -100,7 +100,7 @@ To add a new ecosystem (e.g. PyPI, Cargo): - Cargo collection reads `Cargo.toml` and exact versions from `Cargo.lock`, then reads license files from the local Cargo registry source cache for direct dependencies. When the Racer crate has dependencies, populate it with - `cargo fetch --manifest-path cmd/racer-dataplane/Cargo.toml --locked`. + `cargo fetch --manifest-path cmd/racer/Cargo.toml --locked`. Development dependencies are excluded; normal, target, build, and optional direct dependencies are included. Local path dependencies must be declared workspace members, including paths in development and target-specific diff --git a/hack/cmd/notice/internal/cargo/cargo.go b/hack/cmd/notice/internal/cargo/cargo.go index e4a48be2d0..9e7a22ae1e 100644 --- a/hack/cmd/notice/internal/cargo/cargo.go +++ b/hack/cmd/notice/internal/cargo/cargo.go @@ -2,7 +2,7 @@ // SPDX-License-Identifier: Apache-2.0 // Package cargo implements a notice.Collector for direct non-development -// dependencies of cmd/racer-dataplane. +// dependencies of cmd/racer. package cargo import ( @@ -22,8 +22,8 @@ import ( ) const ( - cratePath = "cmd/racer-dataplane" - crateName = "racer-dataplane" + cratePath = "cmd/racer" + crateName = "racer" ) // Collector reads Cargo.toml and Cargo.lock locally and obtains license text diff --git a/hack/cmd/notice/internal/cargo/cargo_test.go b/hack/cmd/notice/internal/cargo/cargo_test.go index 2d49d86d83..8a138bec80 100644 --- a/hack/cmd/notice/internal/cargo/cargo_test.go +++ b/hack/cmd/notice/internal/cargo/cargo_test.go @@ -23,7 +23,7 @@ func TestCollectorAbsentCargoFiles(t *testing.T) { t.Run(name, func(t *testing.T) { root := t.TempDir() if placeholder { - testutil.WriteTree(t, root, map[string]string{"cmd/racer-dataplane/README.md": "Placeholder"}) + testutil.WriteTree(t, root, map[string]string{"cmd/racer/README.md": "Placeholder"}) } c := New(filepath.Join(t.TempDir(), "nonexistent-cache")) @@ -97,7 +97,7 @@ func TestCollectorCollectHermetic(t *testing.T) { root := t.TempDir() cargoHome := t.TempDir() testutil.WriteTree(t, root, map[string]string{ - "cmd/racer-dataplane/Cargo.toml": `[dependencies] + "cmd/racer/Cargo.toml": `[dependencies] foo = "1" [build-dependencies] @@ -109,7 +109,7 @@ linux-only = "3" [dev-dependencies] test-only = "4" `, - "cmd/racer-dataplane/Cargo.lock": `version = 4 + "cmd/racer/Cargo.lock": `version = 4 [[package]] name = "foo" @@ -128,7 +128,7 @@ name = "test-only" version = "4.0.0" [[package]] -name = "racer-dataplane" +name = "racer" version = "0.1.0" dependencies = [ "build-helper", @@ -185,7 +185,7 @@ version = "0.8.6" name = "rand" version = "0.9.2" [[package]] -name = "racer-dataplane" +name = "racer" version = "0.1.0" dependencies = [ "rand 0.8.6", @@ -216,11 +216,11 @@ func TestDirectDependenciesResolvesPackageAlias(t *testing.T) { func TestCollectorPrecheckAndCollectWithoutDependencies(t *testing.T) { root := t.TempDir() testutil.WriteTree(t, root, map[string]string{ - "cmd/racer-dataplane/Cargo.toml": "[dependencies]\n", - "cmd/racer-dataplane/Cargo.lock": `version = 4 + "cmd/racer/Cargo.toml": "[dependencies]\n", + "cmd/racer/Cargo.lock": `version = 4 [[package]] -name = "racer-dataplane" +name = "racer" version = "0.1.0" `, }) @@ -239,15 +239,15 @@ version = "0.1.0" func TestCollectorPrecheckReportsMissingCache(t *testing.T) { root := t.TempDir() testutil.WriteTree(t, root, map[string]string{ - "cmd/racer-dataplane/Cargo.toml": "[dependencies]\nfoo = \"1\"\n", - "cmd/racer-dataplane/Cargo.lock": `version = 4 + "cmd/racer/Cargo.toml": "[dependencies]\nfoo = \"1\"\n", + "cmd/racer/Cargo.lock": `version = 4 [[package]] name = "foo" version = "1.2.3" [[package]] -name = "racer-dataplane" +name = "racer" version = "0.1.0" dependencies = [ "foo", @@ -265,15 +265,15 @@ func TestCollectorRejectsDuplicateRegistrySources(t *testing.T) { root := t.TempDir() cargoHome := t.TempDir() testutil.WriteTree(t, root, map[string]string{ - "cmd/racer-dataplane/Cargo.toml": "[dependencies]\nfoo = \"1\"\n", - "cmd/racer-dataplane/Cargo.lock": `version = 4 + "cmd/racer/Cargo.toml": "[dependencies]\nfoo = \"1\"\n", + "cmd/racer/Cargo.lock": `version = 4 [[package]] name = "foo" version = "1.2.3" [[package]] -name = "racer-dataplane" +name = "racer" version = "0.1.0" dependencies = [ "foo", @@ -297,15 +297,15 @@ func TestCollectorCollectsMultipleLicenseFiles(t *testing.T) { root := t.TempDir() cargoHome := t.TempDir() testutil.WriteTree(t, root, map[string]string{ - "cmd/racer-dataplane/Cargo.toml": "[dependencies]\nfoo = \"1\"\n", - "cmd/racer-dataplane/Cargo.lock": `version = 4 + "cmd/racer/Cargo.toml": "[dependencies]\nfoo = \"1\"\n", + "cmd/racer/Cargo.lock": `version = 4 [[package]] name = "foo" version = "1.2.3" [[package]] -name = "racer-dataplane" +name = "racer" version = "0.1.0" dependencies = [ "foo", @@ -335,15 +335,15 @@ func TestCollectorUsesDeclaredLicenseWithoutLicenseFile(t *testing.T) { root := t.TempDir() cargoHome := t.TempDir() testutil.WriteTree(t, root, map[string]string{ - "cmd/racer-dataplane/Cargo.toml": "[dependencies]\nfoo = \"1\"\n", - "cmd/racer-dataplane/Cargo.lock": `version = 4 + "cmd/racer/Cargo.toml": "[dependencies]\nfoo = \"1\"\n", + "cmd/racer/Cargo.lock": `version = 4 [[package]] name = "foo" version = "1.2.3" [[package]] -name = "racer-dataplane" +name = "racer" version = "0.1.0" dependencies = [ "foo", diff --git a/hack/cmd/notice/internal/cargo/license_index_test.go b/hack/cmd/notice/internal/cargo/license_index_test.go index 16c1fcf9b9..ceaa01e639 100644 --- a/hack/cmd/notice/internal/cargo/license_index_test.go +++ b/hack/cmd/notice/internal/cargo/license_index_test.go @@ -130,7 +130,7 @@ func TestCollectorDevelopmentPathsRequireDeclaredMembers(t *testing.T) { members = "['.', 'member', 'helper']" } - rootManifest := "[package]\nname='racer-dataplane'\n[workspace]\nmembers=" + members + "\n" + rootManifest := "[package]\nname='racer'\n[workspace]\nmembers=" + members + "\n" memberManifest := "[package]\nname='member'\n[dependencies]\nfoo='1'\n" path := "helper" @@ -149,7 +149,7 @@ func TestCollectorDevelopmentPathsRequireDeclaredMembers(t *testing.T) { if fromMember { lock = strings.Replace(lock, " \"foo 1.2.3\",", " \"foo 1.2.3\",\n \"helper\",\n \"registry-dev\",", 1) } else { - lock = strings.Replace(lock, "name = \"racer-dataplane\"\nversion = \"0.1.0\"", "name = \"racer-dataplane\"\nversion = \"0.1.0\"\ndependencies = ['helper', 'registry-dev']", 1) + lock = strings.Replace(lock, "name = \"racer\"\nversion = \"0.1.0\"", "name = \"racer\"\nversion = \"0.1.0\"\ndependencies = ['helper', 'registry-dev']", 1) } testutil.WriteTree(t, root, map[string]string{ diff --git a/hack/cmd/notice/internal/cargo/workspace_test.go b/hack/cmd/notice/internal/cargo/workspace_test.go index 4aa1a93e1d..42e88b68b6 100644 --- a/hack/cmd/notice/internal/cargo/workspace_test.go +++ b/hack/cmd/notice/internal/cargo/workspace_test.go @@ -14,7 +14,7 @@ import ( const workspaceLock = `version = 4 [[package]] -name = "racer-dataplane" +name = "racer" version = "0.1.0" [[package]] name = "member" @@ -34,7 +34,7 @@ func workspaceFixture(t *testing.T) string { t.Helper() root := t.TempDir() testutil.WriteTree(t, root, map[string]string{ - cratePath + "/Cargo.toml": "[package]\nname = 'racer-dataplane'\n[workspace]\nmembers = [\n '.', # root\n 'member',\n]\n", + cratePath + "/Cargo.toml": "[package]\nname = 'racer'\n[workspace]\nmembers = [\n '.', # root\n 'member',\n]\n", cratePath + "/Cargo.lock": workspaceLock, cratePath + "/member/Cargo.toml": "[package]\nname = 'member'\n[dependencies]\nfoo = '1'\n", cratePath + "/member/Cargo.lock": "invalid stale lock", @@ -70,7 +70,7 @@ func TestWorkspaceFailures(t *testing.T) { {"exclude", "[workspace]\nexclude=['member']", workspaceLock, "exclude"}, {"unlisted path", "[dependencies]\nlocal={path='member'}", workspaceLock, "declared workspace member"}, {"missing root lock entry", "[workspace]\nmembers=['member']", "version=4\n", "package not found"}, - {"missing member lock entry", "[workspace]\nmembers=['member']", "[[package]]\nname = \"racer-dataplane\"\nversion = \"0.1.0\"\n", "member package not found"}, + {"missing member lock entry", "[workspace]\nmembers=['member']", "[[package]]\nname = \"racer\"\nversion = \"0.1.0\"\n", "member package not found"}, } { t.Run(tc.name, func(t *testing.T) { root := workspaceFixture(t) @@ -129,7 +129,7 @@ func TestWorkspaceDeduplicationAndConflicts(t *testing.T) { for _, version := range []string{"1.2.3", "2.0.0"} { t.Run(version, func(t *testing.T) { root := workspaceFixture(t) - lock := strings.Replace(workspaceLock, "name = \"racer-dataplane\"\nversion = \"0.1.0\"", "name = \"racer-dataplane\"\nversion = \"0.1.0\"\ndependencies = [\n \"foo "+version+"\",\n]", 1) + lock := strings.Replace(workspaceLock, "name = \"racer\"\nversion = \"0.1.0\"", "name = \"racer\"\nversion = \"0.1.0\"\ndependencies = [\n \"foo "+version+"\",\n]", 1) testutil.WriteTree(t, root, map[string]string{ cratePath + "/Cargo.toml": "[workspace]\nmembers=['member']\n[dependencies]\nfoo='1'\nlocal={path='member'}\n", cratePath + "/Cargo.lock": lock, @@ -269,11 +269,11 @@ ignored = { path = "missing" } func TestLockedPackageFailures(t *testing.T) { for _, tc := range []struct{ lock, want string }{ - {"[[package]]\nname='racer-dataplane'\nversion='1'\ndependencies=['foo 1']\n", "no lock entry"}, - {"[[package]]\nname='racer-dataplane'\nversion='1'\ndependencies=['foo']\n", "no locked version"}, - {"[[package]]\nname='racer-dataplane'\nversion='1'\n", "not found in root lock entry"}, - {"[[package]]\nname='racer-dataplane'\n[[package]]\nname='racer-dataplane'\n", "ambiguous workspace"}, - {"[[package]]\nname='racer-dataplane'\ndependencies=['foo']\n[[package]]\nname='foo'\nversion='1'\n[[package]]\nname='foo'\nversion='2'\n", "ambiguous locked"}, + {"[[package]]\nname='racer'\nversion='1'\ndependencies=['foo 1']\n", "no lock entry"}, + {"[[package]]\nname='racer'\nversion='1'\ndependencies=['foo']\n", "no locked version"}, + {"[[package]]\nname='racer'\nversion='1'\n", "not found in root lock entry"}, + {"[[package]]\nname='racer'\n[[package]]\nname='racer'\n", "ambiguous workspace"}, + {"[[package]]\nname='racer'\ndependencies=['foo']\n[[package]]\nname='foo'\nversion='1'\n[[package]]\nname='foo'\nversion='2'\n", "ambiguous locked"}, } { _, err := lockedDirectVersions(tc.lock, map[string]dependency{"foo": {packageName: "foo"}}) if err == nil || !strings.Contains(err.Error(), tc.want) { diff --git a/hack/cmd/release-bom/main.go b/hack/cmd/release-bom/main.go index 121160a1b3..c6b8258445 100644 --- a/hack/cmd/release-bom/main.go +++ b/hack/cmd/release-bom/main.go @@ -41,7 +41,7 @@ var releaseImageNames = []string{ "netboot", "netboot-azurelinux", "orca", - "racer-dataplane", + "racer", "racer-object", "racer-vllm", "token-refresher", diff --git a/hack/scripts/runtime-miri.py b/hack/scripts/runtime-miri.py index ed0ac52d21..9d91dcac97 100644 --- a/hack/scripts/runtime-miri.py +++ b/hack/scripts/runtime-miri.py @@ -74,7 +74,7 @@ def main(): command = [ "timeout", "--signal=TERM", "--kill-after=10s", "290s", "cargo", "+" + TOOLCHAIN, "miri", "test", "--locked", - "--manifest-path", str(root / "cmd/racer-dataplane/Cargo.toml"), + "--manifest-path", str(root / "cmd/racer/Cargo.toml"), "--target-dir", os.environ.get("RUNTIME_MIRI_TARGET_DIR", str(root / "tmp/runtime-miri-target")), "-p", "uring-runtime", "--no-default-features", "--lib", "-j", "2", "--", "--exact", "--test-threads=1", *tests, diff --git a/images/racer-loadgen/Containerfile b/images/racer-loadgen/Containerfile index 09c22c3dd8..01ca69a627 100644 --- a/images/racer-loadgen/Containerfile +++ b/images/racer-loadgen/Containerfile @@ -44,7 +44,7 @@ ENV PATH="/unbounded/bin" WORKDIR /unbounded -# The racer-dataplane creates /run/racer//origin owned by 65532:65532 +# The racer creates /run/racer//origin owned by 65532:65532 # with mode 0700, so the UDS origin runs as that user. The privileged # dataplane can still connect to the origin's mode 0600 socket. USER 65532:65532 diff --git a/images/racer-object/Containerfile b/images/racer-object/Containerfile index f33e707d8e..1a46f18e61 100644 --- a/images/racer-object/Containerfile +++ b/images/racer-object/Containerfile @@ -53,7 +53,7 @@ WORKDIR /unbounded # The sidecar needs no root: Racer client sockets are mode 0666 and access is # controlled by which hostPath directory the pod mounts. Origin mode also runs -# as 65532: the racer-dataplane creates /run/racer//origin owned by +# as 65532: the racer creates /run/racer//origin owned by # 65532:65532 with mode 0700, and the origin requires owning that directory. USER 65532:65532 diff --git a/images/racer-dataplane/Containerfile b/images/racer/Containerfile similarity index 64% rename from images/racer-dataplane/Containerfile rename to images/racer/Containerfile index 5406f06e85..7dae6ff976 100644 --- a/images/racer-dataplane/Containerfile +++ b/images/racer/Containerfile @@ -47,67 +47,67 @@ RUN set -eu; \ ENV PATH="${PATH}:/usr/local/cuda/bin" # Copy only build inputs, never host target trees or deployment credentials. -COPY cmd/racer-dataplane/Cargo.toml cmd/racer-dataplane/Cargo.lock ./ -COPY cmd/racer-dataplane/src ./src -COPY cmd/racer-dataplane/control-wire/Cargo.toml ./control-wire/Cargo.toml -COPY cmd/racer-dataplane/control-wire/src ./control-wire/src -COPY cmd/racer-dataplane/controlplane/Cargo.toml ./controlplane/Cargo.toml -COPY cmd/racer-dataplane/controlplane/src ./controlplane/src -COPY cmd/racer-dataplane/cluster-control/Cargo.toml ./cluster-control/Cargo.toml -COPY cmd/racer-dataplane/cluster-control/src ./cluster-control/src -COPY cmd/racer-dataplane/admission/Cargo.toml ./admission/Cargo.toml -COPY cmd/racer-dataplane/admission/src ./admission/src -COPY cmd/racer-dataplane/core/Cargo.toml ./core/Cargo.toml -COPY cmd/racer-dataplane/core/src ./core/src -COPY cmd/racer-dataplane/peer-wire/Cargo.toml ./peer-wire/Cargo.toml -COPY cmd/racer-dataplane/peer-wire/src ./peer-wire/src -COPY cmd/racer-dataplane/object-wire/Cargo.toml ./object-wire/Cargo.toml -COPY cmd/racer-dataplane/object-wire/src ./object-wire/src -COPY cmd/racer-dataplane/runtime/Cargo.toml ./runtime/Cargo.toml -COPY cmd/racer-dataplane/runtime/src ./runtime/src -COPY cmd/racer-dataplane/alloc/Cargo.toml ./alloc/Cargo.toml -COPY cmd/racer-dataplane/alloc/src ./alloc/src -COPY cmd/racer-dataplane/flow/Cargo.toml ./flow/Cargo.toml -COPY cmd/racer-dataplane/flow/src ./flow/src -COPY cmd/racer-dataplane/crypto/Cargo.toml ./crypto/Cargo.toml -COPY cmd/racer-dataplane/crypto/src ./crypto/src -COPY cmd/racer-dataplane/verbs/Cargo.toml ./verbs/Cargo.toml -COPY cmd/racer-dataplane/verbs/src ./verbs/src -COPY cmd/racer-dataplane/verbs/native/verbs.c ./verbs/native/verbs.c -COPY cmd/racer-dataplane/gpu/Cargo.toml cmd/racer-dataplane/gpu/build.rs ./gpu/ -COPY cmd/racer-dataplane/gpu/src ./gpu/src -COPY cmd/racer-dataplane/gpu/native ./gpu/native -COPY cmd/racer-dataplane/http/Cargo.toml ./http/Cargo.toml -COPY cmd/racer-dataplane/http/src ./http/src -COPY cmd/racer-dataplane/http/tests ./http/tests -COPY cmd/racer-dataplane/topology/Cargo.toml ./topology/Cargo.toml -COPY cmd/racer-dataplane/topology/src ./topology/src -COPY cmd/racer-dataplane/telemetry/Cargo.toml ./telemetry/Cargo.toml -COPY cmd/racer-dataplane/telemetry/src ./telemetry/src -COPY cmd/racer-dataplane/uds-endpoint/Cargo.toml ./uds-endpoint/Cargo.toml -COPY cmd/racer-dataplane/uds-endpoint/src ./uds-endpoint/src -COPY cmd/racer-dataplane/wire-codec/Cargo.toml ./wire-codec/Cargo.toml -COPY cmd/racer-dataplane/wire-codec/src ./wire-codec/src -COPY cmd/racer-dataplane/wire-codec/tests ./wire-codec/tests -COPY cmd/racer-dataplane/sim/Cargo.toml ./sim/Cargo.toml -COPY cmd/racer-dataplane/sim/src ./sim/src -COPY images/racer-dataplane/build-native.sh ./build-native.sh -COPY images/racer-dataplane/build-native-cuda.sh ./build-native-cuda.sh -COPY images/racer-dataplane/check-debug-info.sh ./check-debug-info.sh +COPY cmd/racer/Cargo.toml cmd/racer/Cargo.lock ./ +COPY cmd/racer/src ./src +COPY cmd/racer/control-wire/Cargo.toml ./control-wire/Cargo.toml +COPY cmd/racer/control-wire/src ./control-wire/src +COPY cmd/racer/controlplane/Cargo.toml ./controlplane/Cargo.toml +COPY cmd/racer/controlplane/src ./controlplane/src +COPY cmd/racer/cluster-control/Cargo.toml ./cluster-control/Cargo.toml +COPY cmd/racer/cluster-control/src ./cluster-control/src +COPY cmd/racer/admission/Cargo.toml ./admission/Cargo.toml +COPY cmd/racer/admission/src ./admission/src +COPY cmd/racer/core/Cargo.toml ./core/Cargo.toml +COPY cmd/racer/core/src ./core/src +COPY cmd/racer/peer-wire/Cargo.toml ./peer-wire/Cargo.toml +COPY cmd/racer/peer-wire/src ./peer-wire/src +COPY cmd/racer/object-wire/Cargo.toml ./object-wire/Cargo.toml +COPY cmd/racer/object-wire/src ./object-wire/src +COPY cmd/racer/runtime/Cargo.toml ./runtime/Cargo.toml +COPY cmd/racer/runtime/src ./runtime/src +COPY cmd/racer/alloc/Cargo.toml ./alloc/Cargo.toml +COPY cmd/racer/alloc/src ./alloc/src +COPY cmd/racer/flow/Cargo.toml ./flow/Cargo.toml +COPY cmd/racer/flow/src ./flow/src +COPY cmd/racer/crypto/Cargo.toml ./crypto/Cargo.toml +COPY cmd/racer/crypto/src ./crypto/src +COPY cmd/racer/verbs/Cargo.toml ./verbs/Cargo.toml +COPY cmd/racer/verbs/src ./verbs/src +COPY cmd/racer/verbs/native/verbs.c ./verbs/native/verbs.c +COPY cmd/racer/gpu/Cargo.toml cmd/racer/gpu/build.rs ./gpu/ +COPY cmd/racer/gpu/src ./gpu/src +COPY cmd/racer/gpu/native ./gpu/native +COPY cmd/racer/http/Cargo.toml ./http/Cargo.toml +COPY cmd/racer/http/src ./http/src +COPY cmd/racer/http/tests ./http/tests +COPY cmd/racer/topology/Cargo.toml ./topology/Cargo.toml +COPY cmd/racer/topology/src ./topology/src +COPY cmd/racer/telemetry/Cargo.toml ./telemetry/Cargo.toml +COPY cmd/racer/telemetry/src ./telemetry/src +COPY cmd/racer/uds-endpoint/Cargo.toml ./uds-endpoint/Cargo.toml +COPY cmd/racer/uds-endpoint/src ./uds-endpoint/src +COPY cmd/racer/wire-codec/Cargo.toml ./wire-codec/Cargo.toml +COPY cmd/racer/wire-codec/src ./wire-codec/src +COPY cmd/racer/wire-codec/tests ./wire-codec/tests +COPY cmd/racer/sim/Cargo.toml ./sim/Cargo.toml +COPY cmd/racer/sim/src ./sim/src +COPY images/racer/build-native.sh ./build-native.sh +COPY images/racer/build-native-cuda.sh ./build-native-cuda.sh +COPY images/racer/check-debug-info.sh ./check-debug-info.sh RUN set -eu; \ mkdir -p /out/unbounded/bin /out/usr/local/lib; \ features=; \ if [ "$RACER_NATIVE_RDMA" = true ]; then features=rdma; fi; \ if [ "$RACER_NATIVE_CUDA" = true ]; then features="${features:+$features,}cuda"; fi; \ - cargo build --locked --release --bin racer-dataplane --no-default-features ${features:+--features "$features"}; \ + cargo build --locked --release --bin racer --no-default-features ${features:+--features "$features"}; \ if [ "$RACER_NATIVE_RDMA" = true ]; then \ sh ./build-native.sh verbs/native/verbs.c /out/usr/local/lib/librdma_verbs.so.1; \ fi; \ if [ "$RACER_NATIVE_CUDA" = true ]; then \ RACER_GPU_REQUIRE_PTX=1 sh ./build-native-cuda.sh gpu/native /out/usr/local/lib/libracer_gpu_cuda.so.1; \ fi; \ - sh ./check-debug-info.sh target/release/racer-dataplane; \ - install -m 0755 target/release/racer-dataplane /out/unbounded/bin/racer-dataplane + sh ./check-debug-info.sh target/release/racer; \ + install -m 0755 target/release/racer /out/unbounded/bin/racer # Runtime stage # ubuntu:noble like the other component images. The Debian bookworm builder @@ -166,13 +166,13 @@ RUN set -eu; \ chown -R 65532:65532 /run/racer /var/lib/racer; \ chmod 0700 /var/lib/racer/identity /var/lib/racer/slabs -# Install /unbounded/bin/racer-dataplane and, with RDMA or CUDA, the verbs +# Install /unbounded/bin/racer and, with RDMA or CUDA, the verbs # adapter and CUDA shim under /usr/local/lib where the dynamic loader finds it by soname. COPY --from=builder /out/ / COPY LICENSE NOTICE /unbounded/licenses/ # cuFile reads its configuration from CUFILE_ENV_PATH_JSON. Images built # without CUDA never load cuFile, so the file and variable are inert there. -COPY images/racer-dataplane/cufile.json /etc/racer/cufile.json +COPY images/racer/cufile.json /etc/racer/cufile.json RUN ldconfig ENV CUFILE_ENV_PATH_JSON=/etc/racer/cufile.json @@ -186,4 +186,4 @@ USER 65532:65532 EXPOSE 7443 8082 8443 9443 9090 STOPSIGNAL SIGTERM -ENTRYPOINT ["/unbounded/bin/racer-dataplane"] +ENTRYPOINT ["/unbounded/bin/racer"] diff --git a/images/racer-dataplane/build-native-cuda.sh b/images/racer/build-native-cuda.sh similarity index 95% rename from images/racer-dataplane/build-native-cuda.sh rename to images/racer/build-native-cuda.sh index 46a1bd9718..f383f9c36b 100755 --- a/images/racer-dataplane/build-native-cuda.sh +++ b/images/racer/build-native-cuda.sh @@ -2,7 +2,7 @@ # Copyright (c) Microsoft Corporation. # SPDX-License-Identifier: Apache-2.0 # -# Build libracer_gpu_cuda.so.1 from cmd/racer-dataplane/gpu/native. +# Build libracer_gpu_cuda.so.1 from cmd/racer/gpu/native. # # The shim dlopens the CUDA driver, NVML and cuFile, so it needs no CUDA # headers or libraries. When nvcc is found (NVCC, or nvcc on PATH) the decrypt diff --git a/images/racer-dataplane/build-native.sh b/images/racer/build-native.sh similarity index 100% rename from images/racer-dataplane/build-native.sh rename to images/racer/build-native.sh diff --git a/images/racer-dataplane/check-debug-info.sh b/images/racer/check-debug-info.sh similarity index 100% rename from images/racer-dataplane/check-debug-info.sh rename to images/racer/check-debug-info.sh diff --git a/images/racer-dataplane/cufile.json b/images/racer/cufile.json similarity index 88% rename from images/racer-dataplane/cufile.json rename to images/racer/cufile.json index ef368da118..5cd5052a03 100644 --- a/images/racer-dataplane/cufile.json +++ b/images/racer/cufile.json @@ -6,7 +6,7 @@ // one and set CUFILE_ENV_PATH_JSON to it. "logging": { // The dataplane root filesystem is read-only. The operator mounts an - // emptyDir here whenever RACER_DATAPLANE_NVIDIA is not off. + // emptyDir here whenever RACER_NVIDIA is not off. "dir": "/var/log/cufile", // Errors only. Racer logs its own stage=gpu lines to stderr. "level": "ERROR" @@ -16,7 +16,7 @@ // the GPU helper thread. Racer's host read path does that work on I/O // threads instead, so cuFile must fail rather than fall back. The CUDA // shim also sets it at runtime: off, or on when CUFILE_ALLOW_COMPAT_MODE - // is true (cmd/racer-dataplane/gpu/native/gpu_cuda.c). + // is true (cmd/racer/gpu/native/gpu_cuda.c). "allow_compat_mode": false } } diff --git a/internal/operator/components/gantry/gantry.go b/internal/operator/components/gantry/gantry.go index dd83251ae7..439d0f1e6b 100644 --- a/internal/operator/components/gantry/gantry.go +++ b/internal/operator/components/gantry/gantry.go @@ -236,7 +236,7 @@ func (Component) SetupWatches(b *builder.Builder, env *component.Env) { // ConfigMap edit. b.Watches(&corev1.ConfigMap{}, env.RequestSingleton(), builder.WithPredicates(env.ManagedConfigPredicate(env.InNamespaceNamed(configName, legacyNodeConfigName)))) - // The racer-dataplane DaemonSet supplies the agent placement in Racer mode. + // The racer DaemonSet supplies the agent placement in Racer mode. b.Watches(&appsv1.DaemonSet{}, env.RequestSingleton(), builder.WithPredicates(env.ManagedWorkloadPredicate(env.InNamespaceNamed(daemonSetName, legacyNodeConfigDaemonSetName, workload.DataplaneDaemonSetName)))) b.Watches(&coordinationv1.Lease{}, env.RequestSingleton(), diff --git a/internal/operator/components/gantry/racer.go b/internal/operator/components/gantry/racer.go index 2cfc3965ca..5640b44047 100644 --- a/internal/operator/components/gantry/racer.go +++ b/internal/operator/components/gantry/racer.go @@ -52,7 +52,7 @@ func racerSocketDir(role string) string { } // racerMode reports whether the Gantry Racer backend is requested and, when -// it is, the node placement of the live racer-dataplane DaemonSet. Racer mode +// it is, the node placement of the live racer DaemonSet. Racer mode // is requested while ClusterCache/gantry exists and is not being deleted. A // nil placement with requested=true means the dataplane DaemonSet does not // exist yet, so no safe placement is known and the caller must wait. @@ -185,7 +185,7 @@ func setPlacement(podSpec map[string]any, placement *workload.NodePlacement) err if placement.Affinity != nil && placement.Affinity.NodeAffinity != nil { nodeAffinity, err := runtime.DefaultUnstructuredConverter.ToUnstructured(placement.Affinity.NodeAffinity) if err != nil { - return fmt.Errorf("convert racer-dataplane node affinity: %w", err) + return fmt.Errorf("convert racer node affinity: %w", err) } if affinity == nil { @@ -220,7 +220,7 @@ func setPlacement(podSpec map[string]any, placement *workload.NodePlacement) err for i := range placement.Tolerations { toleration, err := runtime.DefaultUnstructuredConverter.ToUnstructured(&placement.Tolerations[i]) if err != nil { - return fmt.Errorf("convert racer-dataplane toleration: %w", err) + return fmt.Errorf("convert racer toleration: %w", err) } tolerations = append(tolerations, toleration) diff --git a/internal/operator/components/gantry/racer_test.go b/internal/operator/components/gantry/racer_test.go index 0c5c9fb45b..3ff48e272f 100644 --- a/internal/operator/components/gantry/racer_test.go +++ b/internal/operator/components/gantry/racer_test.go @@ -27,9 +27,9 @@ func racerCache() *racerv1.ClusterCache { return &racerv1.ClusterCache{ObjectMeta: metav1.ObjectMeta{Name: RacerCacheName}} } -// racerDataplane returns a dataplane DaemonSet whose placement differs from +// racerDaemonSet returns a dataplane DaemonSet whose placement differs from // the Gantry manifest in every copied field. -func racerDataplane() *appsv1.DaemonSet { +func racerDaemonSet() *appsv1.DaemonSet { return &appsv1.DaemonSet{ ObjectMeta: metav1.ObjectMeta{Namespace: component.DefaultNamespace, Name: workload.DataplaneDaemonSetName}, Spec: appsv1.DaemonSetSpec{Template: corev1.PodTemplateSpec{Spec: corev1.PodSpec{ @@ -115,7 +115,7 @@ func TestRacerCacheNameMatchesAgent(t *testing.T) { } func TestPlanWithoutRacerCacheKeepsDefaultMode(t *testing.T) { - env := testEnv(t, racerDataplane()) + env := testEnv(t, racerDaemonSet()) plan, res := planGantry(t, env, *siteWithGantry("edge", nil)) if !res.Ready { @@ -128,12 +128,12 @@ func TestPlanWithoutRacerCacheKeepsDefaultMode(t *testing.T) { } if ds.Spec.Template.Spec.NodeSelector["pool"] == "cache" { - t.Fatal("placement copied from racer-dataplane without ClusterCache/gantry") + t.Fatal("placement copied from racer without ClusterCache/gantry") } } func TestPlanWithRacerCacheConfiguresRacerBackend(t *testing.T) { - env := testEnv(t, racerCache(), racerDataplane()) + env := testEnv(t, racerCache(), racerDaemonSet()) plan, res := planGantry(t, env, *siteWithGantry("edge", nil)) if !res.Ready { @@ -191,21 +191,21 @@ func TestPlanWithRacerCacheConfiguresRacerBackend(t *testing.T) { pod := ds.Spec.Template.Spec if len(pod.NodeSelector) != 1 || pod.NodeSelector["pool"] != "cache" { - t.Fatalf("nodeSelector = %#v, want racer-dataplane selector", pod.NodeSelector) + t.Fatalf("nodeSelector = %#v, want racer selector", pod.NodeSelector) } if len(pod.Tolerations) != 1 || pod.Tolerations[0].Key != "dedicated" { - t.Fatalf("tolerations = %#v, want racer-dataplane tolerations", pod.Tolerations) + t.Fatalf("tolerations = %#v, want racer tolerations", pod.Tolerations) } if pod.Affinity == nil || pod.Affinity.NodeAffinity == nil || pod.Affinity.PodAntiAffinity != nil { - t.Fatalf("affinity = %#v, want racer-dataplane node affinity only", pod.Affinity) + t.Fatalf("affinity = %#v, want racer node affinity only", pod.Affinity) } } func TestPlanWithRacerCacheDoesNotInstallGantry(t *testing.T) { no := false - env := testEnv(t, racerCache(), racerDataplane()) + env := testEnv(t, racerCache(), racerDaemonSet()) plan, res := planGantry(t, env, *siteWithGantry("edge", &no)) if res.Reason != component.ReasonDisabled { @@ -235,7 +235,7 @@ func TestPlanWithRacerCacheWaitsForDataplane(t *testing.T) { } if _, ok := agentOperation(t, plan); ok { - t.Fatal("agent DaemonSet applied before the racer-dataplane placement is known") + t.Fatal("agent DaemonSet applied before the racer placement is known") } // Everything else is still reconciled. @@ -248,7 +248,7 @@ func TestPlanRevertsWhenRacerCacheIsDeleting(t *testing.T) { cache := racerCache() cache.Finalizers = []string{"example.com/hold"} cache.DeletionTimestamp = ptr.To(metav1.NewTime(time.Now())) - env := testEnv(t, cache, racerDataplane()) + env := testEnv(t, cache, racerDaemonSet()) plan, res := planGantry(t, env, *siteWithGantry("edge", nil)) if !res.Ready { @@ -264,7 +264,7 @@ func TestPlanRevertsWhenRacerCacheIsDeleting(t *testing.T) { func TestPlanRetainedInstallationFollowsRacerCache(t *testing.T) { no := false existing := &appsv1.DaemonSet{ObjectMeta: metav1.ObjectMeta{Namespace: component.DefaultNamespace, Name: daemonSetName}} - env := testEnv(t, existing, racerCache(), racerDataplane()) + env := testEnv(t, existing, racerCache(), racerDaemonSet()) plan, _ := planGantry(t, env, *siteWithGantry("edge", &no)) @@ -366,7 +366,7 @@ func racerCacheWithOrigin() *racerv1.ClusterCache { } func TestPlanWithRacerCacheOriginKeepsDefaultMode(t *testing.T) { - env := testEnv(t, racerCacheWithOrigin(), racerDataplane()) + env := testEnv(t, racerCacheWithOrigin(), racerDaemonSet()) plan, res := planGantry(t, env, *siteWithGantry("edge", nil)) if res.Ready || res.Reason != reasonRacerOriginConflict { @@ -383,7 +383,7 @@ func TestPlanWithRacerCacheOriginKeepsDefaultMode(t *testing.T) { } if ds.Spec.Template.Spec.NodeSelector["pool"] == "cache" { - t.Fatal("placement copied from racer-dataplane despite the origin conflict") + t.Fatal("placement copied from racer despite the origin conflict") } for _, volume := range ds.Spec.Template.Spec.Volumes { diff --git a/internal/operator/components/racer/config.go b/internal/operator/components/racer/config.go index 2ac57a0c48..8da1a7a844 100644 --- a/internal/operator/components/racer/config.go +++ b/internal/operator/components/racer/config.go @@ -15,10 +15,10 @@ import ( "github.com/Azure/unbounded/internal/racer/workload" ) -// gpuStagingUnit mirrors GPU_STAGING_UNIT in cmd/racer-dataplane/src/config.rs. +// gpuStagingUnit mirrors GPU_STAGING_UNIT in cmd/racer/src/config.rs. const gpuStagingUnit = 2 << 20 -// Constants mirrored from cmd/racer-dataplane/src: MIB, MAX_BYTES, and +// Constants mirrored from cmd/racer/src: MIB, MAX_BYTES, and // MAX_ENTRIES in config.rs, PAGE_BYTES in model, DUPLICATE_BYTES in // read/candidates.rs, and the storage record size checked in config.rs // (a page, a 16-byte tag, and MAX_HEADER_BYTES from store.rs). @@ -32,7 +32,7 @@ const ( ) // The checks below mirror the startup parsing in -// cmd/racer-dataplane/src/config.rs so that a value the dataplane would refuse +// cmd/racer/src/config.rs so that a value the dataplane would refuse // fails the operator plan instead of rolling Pods into a crash loop. They // cover per-key syntax and ranges, not cross-key or hardware policy. var ( diff --git a/internal/operator/components/racer/config_test.go b/internal/operator/components/racer/config_test.go index 62ac4bb00b..84f339382d 100644 --- a/internal/operator/components/racer/config_test.go +++ b/internal/operator/components/racer/config_test.go @@ -16,7 +16,7 @@ func TestValidateDataplaneConfigAccepts(t *testing.T) { "empty": {}, "gpu": { "RACER_ENABLE_GPU": "true", "RACER_GPU_STAGING_BYTES": "2097152", - "RACER_GPU_LANDING_BYTES": "0", "RACER_DATAPLANE_NVIDIA": "cdi", + "RACER_GPU_LANDING_BYTES": "0", "RACER_NVIDIA": "cdi", "RACER_GPU_PCI_P2PDMA": "true", }, "gpu pci p2pdma off": {"RACER_GPU_PCI_P2PDMA": "false"}, @@ -77,7 +77,7 @@ func TestValidateDataplaneConfigRejects(t *testing.T) { {"RACER_GPU_LANDING_BYTES", "1048576"}, {"RACER_GPU_LANDING_BYTES", "-2097152"}, {"RACER_GPU_LANDING_BYTES", "+2097152"}, - {"RACER_DATAPLANE_NVIDIA", "on"}, + {"RACER_NVIDIA", "on"}, {"RACER_ALLOW_SMT", "1"}, {"RACER_GPU_PCI_P2PDMA", "TRUE"}, {"RACER_GPU_PCI_P2PDMA", "1"}, @@ -188,7 +188,8 @@ func TestInvalidDataplaneConfigKeepsDaemonSet(t *testing.T) { } // One image serves GPU and CPU nodes, so no ConfigMap key selects another -// image. An unknown key such as RACER_DATAPLANE_CUDA is ignored. +// image. An unknown key such as RACER_CUDA, the renamed RACER_DATAPLANE_CUDA, +// is ignored. func TestDataplaneImage(t *testing.T) { env := testEnv(t, cacheObject("cache")) initialize(t, env) @@ -199,7 +200,7 @@ func TestDataplaneImage(t *testing.T) { for _, value := range []string{"true", "false", "yes"} { config := &corev1.ConfigMap{} require.NoError(t, env.Client.Get(t.Context(), objectKey(env, dataplaneConfigName), config)) - config.Data["RACER_DATAPLANE_CUDA"] = value + config.Data["RACER_CUDA"] = value require.NoError(t, env.Client.Update(t.Context(), config)) persist(t, env, planPass(t, env)) diff --git a/internal/operator/imagecoverage_test.go b/internal/operator/imagecoverage_test.go index e5cf1ec592..29d0d690e9 100644 --- a/internal/operator/imagecoverage_test.go +++ b/internal/operator/imagecoverage_test.go @@ -64,7 +64,7 @@ var componentImages = map[string][]string{ "gantry": {"gantry"}, "metalman": {"metalman"}, "token-refresher": {"token-refresher"}, - "racer": {"racer-dataplane", "racer-object"}, + "racer": {"racer", "racer-object"}, } // imagelessComponents are registered components that apply no workloads, only diff --git a/internal/operator/override/apply_test.go b/internal/operator/override/apply_test.go index 3c773d4c10..a39f298a33 100644 --- a/internal/operator/override/apply_test.go +++ b/internal/operator/override/apply_test.go @@ -20,7 +20,7 @@ func TestApplyRacerEnvironmentParity(t *testing.T) { map[string]any{"name": "POD_NAMESPACE", "valueFrom": map[string]any{"fieldRef": map[string]any{"fieldPath": "metadata.namespace"}}}, } envFrom := []any{ - map[string]any{"configMapRef": map[string]any{"name": "racer-dataplane-config"}}, + map[string]any{"configMapRef": map[string]any{"name": "racer-settings"}}, map[string]any{"configMapRef": map[string]any{"name": "defaults"}, "prefix": "DEFAULT_"}, } @@ -38,9 +38,9 @@ func TestApplyRacerEnvironmentParity(t *testing.T) { {name: "env field source", container: map[string]any{"env": []any{map[string]any{"name": "POD_NAMESPACE", "valueFrom": map[string]any{"fieldRef": map[string]any{"fieldPath": "metadata.name"}}}}}, wantError: "env"}, {name: "envFrom source", container: map[string]any{"envFrom": []any{map[string]any{"secretRef": map[string]any{"name": "other"}}}}, wantError: "envFrom"}, {name: "envFrom configMap name", container: map[string]any{"envFrom": []any{map[string]any{"configMapRef": map[string]any{"name": "other"}}, envFrom[1]}}, wantError: "envFrom"}, - {name: "envFrom optional", container: map[string]any{"envFrom": []any{map[string]any{"configMapRef": map[string]any{"name": "racer-dataplane-config", "optional": true}}, envFrom[1]}}, wantError: "envFrom"}, + {name: "envFrom optional", container: map[string]any{"envFrom": []any{map[string]any{"configMapRef": map[string]any{"name": "racer-settings", "optional": true}}, envFrom[1]}}, wantError: "envFrom"}, {name: "envFrom order", container: map[string]any{"envFrom": []any{envFrom[1], envFrom[0]}}, wantError: "envFrom"}, - {name: "envFrom prefix", container: map[string]any{"envFrom": []any{map[string]any{"configMapRef": map[string]any{"name": "racer-dataplane-config"}, "prefix": "OTHER_"}, envFrom[1]}}, wantError: "envFrom"}, + {name: "envFrom prefix", container: map[string]any{"envFrom": []any{map[string]any{"configMapRef": map[string]any{"name": "racer-settings"}, "prefix": "OTHER_"}, envFrom[1]}}, wantError: "envFrom"}, {name: "envFrom removal", container: map[string]any{"envFrom": []any{}}, wantError: "envFrom"}, {name: "container replacement removes env", container: map[string]any{"image": "racer:test"}, bypassValidate: true, wantError: "env"}, {name: "controller removal", container: map[string]any{"$patch": "delete"}, bypassValidate: true, wantError: "exactly one"}, @@ -54,7 +54,7 @@ func TestApplyRacerEnvironmentParity(t *testing.T) { } workload := testWorkload("racer") - workload.SetName("racer-dataplane") + workload.SetName("racer") if componentName == "racer" { workload.SetKind("DaemonSet") @@ -101,7 +101,7 @@ func TestApplyRacerEnvironmentParity(t *testing.T) { report := Apply(plan, entries, nil) if tt.wantError != "" { - if !report.Failed() || !strings.Contains(report.Err().Error(), tt.wantError) || !strings.Contains(report.Err().Error(), "ConfigMap racer-dataplane-config") { + if !report.Failed() || !strings.Contains(report.Err().Error(), tt.wantError) || !strings.Contains(report.Err().Error(), "ConfigMap racer-settings") { t.Fatalf("error = %v, want %q and tuning interface", report.Err(), tt.wantError) } @@ -109,7 +109,7 @@ func TestApplyRacerEnvironmentParity(t *testing.T) { t.Fatal("failed racer Deployment must be withheld without dropping unrelated operations") } - if len(report.Withheld) != 1 || report.Withheld[0].Component != "racer" || report.Withheld[0].Ref.Name != "racer-dataplane" || report.Workloads[0].Hash == "" { + if len(report.Withheld) != 1 || report.Withheld[0].Component != "racer" || report.Withheld[0].Ref.Name != "racer" || report.Workloads[0].Hash == "" { t.Fatalf("failure attribution = %+v", report) } } else { @@ -139,7 +139,7 @@ func TestApplyRacerEnvironmentParity(t *testing.T) { } func TestApplyRacerManifestEnvironmentParity(t *testing.T) { - ds, err := workload.DaemonSet(workload.DefaultConfig("unbounded-system", "racer-dataplane:test", "racer-object:test")) + ds, err := workload.DaemonSet(workload.DefaultConfig("unbounded-system", "racer:test", "racer-object:test")) if err != nil { t.Fatal(err) } @@ -178,7 +178,7 @@ func TestApplyRacerManifestEnvironmentParity(t *testing.T) { } if tt.wantError { - if len(plan.Operations) != 0 || len(report.Withheld) != 1 || !strings.Contains(report.Err().Error(), "ConfigMap racer-dataplane-config") { + if len(plan.Operations) != 0 || len(report.Withheld) != 1 || !strings.Contains(report.Err().Error(), "ConfigMap racer-settings") { t.Fatalf("invalid manifest override was not withheld: %+v", report) } diff --git a/internal/racer/workload/cufile_test.go b/internal/racer/workload/cufile_test.go index 46ae950663..82b6914c73 100644 --- a/internal/racer/workload/cufile_test.go +++ b/internal/racer/workload/cufile_test.go @@ -12,7 +12,7 @@ import ( // The image's cufile.json must parse and agree with the workload wiring. func TestImageCUFileConfig(t *testing.T) { - raw, err := os.ReadFile("../../../images/racer-dataplane/cufile.json") + raw, err := os.ReadFile("../../../images/racer/cufile.json") if err != nil { t.Fatal(err) } diff --git a/internal/racer/workload/placement.go b/internal/racer/workload/placement.go index 0b2714461d..279541e7da 100644 --- a/internal/racer/workload/placement.go +++ b/internal/racer/workload/placement.go @@ -16,7 +16,7 @@ import ( type NodePlacement struct { // Affinity carries only node affinity. Pod affinity and anti-affinity // are relative to dataplane Pods, so a rule such as hostname - // anti-affinity against racer-dataplane would otherwise exclude the + // anti-affinity against racer would otherwise exclude the // copying workload from every dataplane node. Affinity *corev1.Affinity NodeSelector map[string]string diff --git a/internal/racer/workload/workload.go b/internal/racer/workload/workload.go index 867b4327c4..e1d7054f12 100644 --- a/internal/racer/workload/workload.go +++ b/internal/racer/workload/workload.go @@ -23,7 +23,7 @@ import ( const ( // DataplaneDaemonSetName names the dataplane DaemonSet and its ServiceAccount. - DataplaneDaemonSetName = "racer-dataplane" + DataplaneDaemonSetName = "racer" // ContainerName names the dataplane container. ContainerName = "dataplane" @@ -42,7 +42,7 @@ const ( WebhookPort = 9443 // ControlSeatsKey is the administrator seat policy, read from - // racer-dataplane-config: auto picks 1 to 16 seats, or a fixed count of + // racer-settings: auto picks 1 to 16 seats, or a fixed count of // 1 to 16. It is never injected as explicit env so the ConfigMap wins. ControlSeatsKey = "RACER_CONTROL_SEATS" // MaxControlSeats bounds a fixed seat count. @@ -73,18 +73,18 @@ const ( const ( // NVIDIAKey selects the NVIDIAInjection mode, read from - // racer-dataplane-config by the operator. Unset selects NVIDIAEnv. - NVIDIAKey = "RACER_DATAPLANE_NVIDIA" + // racer-settings by the operator. Unset selects NVIDIAEnv. + NVIDIAKey = "RACER_NVIDIA" // CDIAnnotation requests the NVIDIA CDI device on the dataplane Pod. // containerd treats every key with the cdi.k8s.io/ prefix as a CDI request. - CDIAnnotation = "cdi.k8s.io/racer-dataplane" + CDIAnnotation = "cdi.k8s.io/racer" // CDIAllGPUs is the fully qualified CDI name for every GPU on the node. CDIAllGPUs = "nvidia.com/gpu=all" ) const ( // CUFileLogDirectory is the logging.dir of the cufile.json in the - // dataplane image (images/racer-dataplane/cufile.json). + // dataplane image (images/racer/cufile.json). CUFileLogDirectory = "/var/log/cufile" // CUFileLogSizeLimit bounds the cuFile log emptyDir. cuFile logs at // ERROR level only, so this is far above normal use. diff --git a/internal/racer/workload/workload_test.go b/internal/racer/workload/workload_test.go index cee02433c1..c0461d7f31 100644 --- a/internal/racer/workload/workload_test.go +++ b/internal/racer/workload/workload_test.go @@ -11,7 +11,7 @@ import ( ) func testConfig() Config { - return DefaultConfig("custom-system", "registry.test/racer-dataplane:v1", "registry.test/racer-object:v1") + return DefaultConfig("custom-system", "registry.test/racer:v1", "registry.test/racer-object:v1") } func envMap(t *testing.T, c corev1.Container) map[string]corev1.EnvVar { @@ -36,7 +36,7 @@ func TestDaemonSetRuntimeContract(t *testing.T) { } pod := ds.Spec.Template.Spec - if pod.ServiceAccountName != "racer-dataplane" || pod.AutomountServiceAccountToken == nil || *pod.AutomountServiceAccountToken { + if pod.ServiceAccountName != "racer" || pod.AutomountServiceAccountToken == nil || *pod.AutomountServiceAccountToken { t.Fatalf("service account wiring = %q %v", pod.ServiceAccountName, pod.AutomountServiceAccountToken) } diff --git a/pkg/racersdk/runtime_test.go b/pkg/racersdk/runtime_test.go index 26352a5031..8f38dbb563 100644 --- a/pkg/racersdk/runtime_test.go +++ b/pkg/racersdk/runtime_test.go @@ -22,7 +22,7 @@ import ( ) // The tests in this file are driven by opt-in Rust dataplane fixtures in -// cmd/racer-dataplane/tests. They skip unless those fixtures run them. +// cmd/racer/tests. They skip unless those fixtures run them. // TestRealRuntimeConnectionAgeLoad is driven by the real_sdk_connection_age_sustained // Rust executable fixture. Only socket paths and the connection age differ from @@ -288,7 +288,7 @@ func TestRustSubscriptionInterop(t *testing.T) { ctx, cancel := context.WithTimeout(t.Context(), 240*time.Second) defer cancel() - cmd := exec.CommandContext(ctx, "timeout", "--signal=TERM", "--kill-after=10s", "230s", "cargo", "test", "--locked", "--manifest-path", filepath.Join(root, "cmd/racer-dataplane/Cargo.toml"), "--features", "subscription-interop", "--test", "subscription_interop", "go_sdk_subscription_server", "--", "--exact", "--ignored", "--nocapture") + cmd := exec.CommandContext(ctx, "timeout", "--signal=TERM", "--kill-after=10s", "230s", "cargo", "test", "--locked", "--manifest-path", filepath.Join(root, "cmd/racer/Cargo.toml"), "--features", "subscription-interop", "--test", "subscription_interop", "go_sdk_subscription_server", "--", "--exact", "--ignored", "--nocapture") cmd.Env = append(os.Environ(), "RACER_SUBSCRIPTION_INTEROP_DIR="+directory) cmd.Stdout, cmd.Stderr = os.Stdout, os.Stderr From 302fc0f79183de9e50b442f4c50aaf1160dffdf2 Mon Sep 17 00:00:00 2001 From: Jordan Olshevski Date: Wed, 28 Oct 2026 16:52:20 +0000 Subject: [PATCH 02/11] operator: remove racer-dataplane objects after the rename Pods of the renamed racer DaemonSet are not matched by the old names, so an upgraded cluster would keep running the racer-dataplane DaemonSet alongside the new one. After the new DaemonSet is planned, delete the operator-owned racer-dataplane DaemonSet, ServiceAccount and RBAC, then racer-dataplane-config once racer-settings exists, and finally the old admission policies once nothing they guard remains. racer-settings is seeded from an owned racer-dataplane-config so tuning carries over, with RACER_DATAPLANE_* keys renamed. Unowned look-alikes are left alone. --- internal/operator/components/racer/config.go | 2 +- .../operator/components/racer/config_test.go | 4 +- .../operator/components/racer/dataplane.go | 20 ++- internal/operator/components/racer/guards.go | 2 +- .../operator/components/racer/migration.go | 12 +- .../components/racer/policies_envtest_test.go | 15 +- internal/operator/components/racer/racer.go | 8 +- .../operator/components/racer/racer_test.go | 35 ++-- internal/operator/components/racer/rename.go | 159 ++++++++++++++++++ .../operator/components/racer/rename_test.go | 117 +++++++++++++ 10 files changed, 341 insertions(+), 33 deletions(-) create mode 100644 internal/operator/components/racer/rename.go create mode 100644 internal/operator/components/racer/rename_test.go diff --git a/internal/operator/components/racer/config.go b/internal/operator/components/racer/config.go index 8da1a7a844..b903fb6f60 100644 --- a/internal/operator/components/racer/config.go +++ b/internal/operator/components/racer/config.go @@ -109,7 +109,7 @@ var ( } ) -// validateDataplaneConfig reports every racer-dataplane-config value the +// validateDataplaneConfig reports every racer-settings value the // dataplane or operator would reject, sorted by key, in one error. func validateDataplaneConfig(data map[string]string) error { var problems []string diff --git a/internal/operator/components/racer/config_test.go b/internal/operator/components/racer/config_test.go index 84f339382d..9d879a8c52 100644 --- a/internal/operator/components/racer/config_test.go +++ b/internal/operator/components/racer/config_test.go @@ -195,7 +195,7 @@ func TestDataplaneImage(t *testing.T) { initialize(t, env) image := func() string { return liveDataplane(t, env).Spec.Template.Spec.Containers[0].Image } - require.Equal(t, "mirror.test/unbounded/racer-dataplane:v1", image()) + require.Equal(t, "mirror.test/unbounded/racer:v1", image()) for _, value := range []string{"true", "false", "yes"} { config := &corev1.ConfigMap{} @@ -204,6 +204,6 @@ func TestDataplaneImage(t *testing.T) { require.NoError(t, env.Client.Update(t.Context(), config)) persist(t, env, planPass(t, env)) - require.Equal(t, "mirror.test/unbounded/racer-dataplane:v1", image(), "value %q", value) + require.Equal(t, "mirror.test/unbounded/racer:v1", image(), "value %q", value) } } diff --git a/internal/operator/components/racer/dataplane.go b/internal/operator/components/racer/dataplane.go index f6538c5e89..48b186e3c5 100644 --- a/internal/operator/components/racer/dataplane.go +++ b/internal/operator/components/racer/dataplane.go @@ -23,19 +23,19 @@ import ( const ( dataplaneName = workload.DataplaneDaemonSetName - dataplaneConfigName = "racer-dataplane-config" - dataplaneImageName = "racer-dataplane" + dataplaneConfigName = "racer-settings" + dataplaneImageName = "racer" objectImageName = "racer-object" dataplaneContainerName = workload.ContainerName - dataplaneConfigHash = "unbounded-cloud.io/racer-dataplane-config-hash" + dataplaneConfigHash = "unbounded-cloud.io/racer-settings-hash" // minThreads covers one I/O worker, one crypto helper, and the // dedicated control plane thread. minThreads = 3 ) -// planDataplaneConfig creates racer-dataplane-config with defaults when it is -// absent and otherwise reads it. Every key is administrator payload; its +// planDataplaneConfig creates racer-settings when it is absent, seeded +// from the owned pre-rename racer-dataplane-config or else with defaults, and otherwise reads it. Every key is administrator payload; its // hash rolls the DaemonSet. func planDataplaneConfig(ctx context.Context, env *component.Env, plan *component.Plan) (*corev1.ConfigMap, error) { decoded, err := env.DecodeManifestFiles(manifests.Manifests, []string{"dataplane-config.yaml"}, nil) @@ -58,6 +58,16 @@ func planDataplaneConfig(ctx context.Context, env *component.Env, plan *componen config.TypeMeta = metav1.TypeMeta{APIVersion: "v1", Kind: "ConfigMap"} markManaged(config) + // Carry settings over from the pre-rename ConfigMap the operator owns. + renamed, err := renamedConfigData(ctx, env) + if err != nil { + return nil, err + } + + if renamed != nil { + config.Data = renamed + } + plan.Add(component.Operation{Kind: component.OpCreateIfAbsent, Object: component.ToUnstructured(config), Component: name}) return config, nil diff --git a/internal/operator/components/racer/guards.go b/internal/operator/components/racer/guards.go index 37c66004d8..880795ae26 100644 --- a/internal/operator/components/racer/guards.go +++ b/internal/operator/components/racer/guards.go @@ -27,7 +27,7 @@ func decodePolicies(env *component.Env) ([]*unstructured.Unstructured, error) { func guardPredicate() predicate.Predicate { return predicate.NewPredicateFuncs(func(obj client.Object) bool { - return strings.HasPrefix(obj.GetName(), "racer-dataplane-") + return strings.HasPrefix(obj.GetName(), "racer-") }) } diff --git a/internal/operator/components/racer/migration.go b/internal/operator/components/racer/migration.go index f8d4b253cf..b30bc7179f 100644 --- a/internal/operator/components/racer/migration.go +++ b/internal/operator/components/racer/migration.go @@ -288,6 +288,16 @@ func planLegacyRestamp(ctx context.Context, env *component.Env, plan *component. legacy(&admissionv1.MutatingWebhookConfiguration{ObjectMeta: objectMeta(webhookConfigName)}, admissionv1.SchemeGroupVersion.WithKind("MutatingWebhookConfiguration")), } + // The retired installation applied its dataplane under the pre-rename + // names. planRenamedCleanup removes those; keep the anchors until it has. + for _, candidate := range named[:6] { + renamed := candidate.obj.DeepCopyObject().(client.Object) + renamed.SetName(renamedDataplane) + named = append(named, legacy(renamed, candidate.gvk)) + } + + named = append(named, legacy(&corev1.ConfigMap{ObjectMeta: objectMeta(renamedConfig)}, core.WithKind("ConfigMap"))) + remaining := false for _, candidate := range named { @@ -494,7 +504,7 @@ func checkLegacyConfig(ctx context.Context, env *component.Env) error { if value := strings.TrimSpace(config.Data["RACER_HOST_NETWORK"]); value != "" { if enabled, err := strconv.ParseBool(value); err != nil || enabled { - unsupported = append(unsupported, "RACER_HOST_NETWORK (set spec.template.spec.hostNetwork through a racer-dataplane DaemonSet override)") + unsupported = append(unsupported, "RACER_HOST_NETWORK (set spec.template.spec.hostNetwork through a racer DaemonSet override)") } } diff --git a/internal/operator/components/racer/policies_envtest_test.go b/internal/operator/components/racer/policies_envtest_test.go index 4c9d297099..18343d3a89 100644 --- a/internal/operator/components/racer/policies_envtest_test.go +++ b/internal/operator/components/racer/policies_envtest_test.go @@ -80,8 +80,8 @@ func startAdmissionFixture(t *testing.T) *admissionFixture { require.NoError(t, admin.Create(ctx, plan.Operations[0].Object)) fixture := &admissionFixture{admin: admin, env: env} - fixture.a = fixture.pod(t, rc, "racer-dataplane-a", "node-a") - fixture.b = fixture.pod(t, rc, "racer-dataplane-b", "node-b") + fixture.a = fixture.pod(t, rc, "racer-a2b4c", "node-a") + fixture.b = fixture.pod(t, rc, "racer-b6d8f", "node-b") // Policies compile asynchronously. Wait until a foreign Pod write is denied. require.Eventually(t, func() bool { @@ -180,7 +180,7 @@ func TestEnvtestRacerAdmissionAndRBAC(t *testing.T) { p.OwnerReferences = []metav1.OwnerReference{{APIVersion: "v1", Kind: "ConfigMap", Name: "x", UID: "x"}} })) // The policy's limit, which a Rust test ties to MAX_REPORT_BYTES in - // cmd/racer-dataplane/cluster-control/src/limits.rs. + // cmd/racer/cluster-control/src/limits.rs. policy, err := fs.ReadFile(manifests.Manifests, "policies.yaml") require.NoError(t, err) @@ -331,6 +331,9 @@ func TestEnvtestRacerAdmissionAndRBAC(t *testing.T) { s.Endpoints = []discoveryv1.Endpoint{endpoint(a.pod.Name, ns), endpoint(b.pod.Name, ns)} })) denied(t, update(t, f, a.client, slice, func(s *discoveryv1.EndpointSlice) { s.Endpoints = []discoveryv1.Endpoint{endpoint("api", ns)} })) + denied(t, update(t, f, a.client, slice, func(s *discoveryv1.EndpointSlice) { + s.Endpoints = []discoveryv1.Endpoint{endpoint("racer-origin-x7k2p", ns)} + })) denied(t, update(t, f, a.client, slice, func(s *discoveryv1.EndpointSlice) { s.Endpoints = []discoveryv1.Endpoint{endpoint(a.pod.Name, "default")} })) @@ -404,18 +407,18 @@ func TestEnvtestOperatorPreservesRuntimeState(t *testing.T) { require.NoError(t, admin.Get(ctx, objectKey(env, stateName), state)) state.Annotations = map[string]string{"racer.unbounded-cloud.io/initialized": "v1", "racer.unbounded-cloud.io/cluster-id": string(state.UID)} state.Data = map[string][]byte{"cluster": []byte(state.UID), "state": []byte("{}")} - require.NoError(t, admin.Update(ctx, state, client.FieldOwner("racer-dataplane"))) + require.NoError(t, admin.Update(ctx, state, client.FieldOwner("racer"))) webhook := &admissionv1.MutatingWebhookConfiguration{} require.NoError(t, admin.Get(ctx, client.ObjectKey{Name: webhookConfigName}, webhook)) base := webhook.DeepCopy() webhook.Webhooks[0].ClientConfig.CABundle = []byte("runtime-ca") - require.NoError(t, admin.Patch(ctx, webhook, client.MergeFrom(base), client.FieldOwner("racer-dataplane"))) + require.NoError(t, admin.Patch(ctx, webhook, client.MergeFrom(base), client.FieldOwner("racer"))) slice := &discoveryv1.EndpointSlice{} require.NoError(t, admin.Get(ctx, objectKey(env, webhookName), slice)) slice.Endpoints = []discoveryv1.Endpoint{{Addresses: []string{"10.0.0.1"}}} - require.NoError(t, admin.Update(ctx, slice, client.FieldOwner("racer-dataplane"))) + require.NoError(t, admin.Update(ctx, slice, client.FieldOwner("racer"))) // Drift the webhook so the operator really reapplies it. require.NoError(t, admin.Get(ctx, client.ObjectKey{Name: webhookConfigName}, webhook)) diff --git a/internal/operator/components/racer/racer.go b/internal/operator/components/racer/racer.go index 30ec94f0b7..a7b49f860d 100644 --- a/internal/operator/components/racer/racer.go +++ b/internal/operator/components/racer/racer.go @@ -171,6 +171,12 @@ func planInstall(ctx context.Context, env *component.Env, plan *component.Plan, return nil, component.Result{}, err } + // Remove what this operator applied under the pre-rename names once the + // new DaemonSet is planned. A config with a UID was read live. + if _, err := planRenamedCleanup(ctx, env, plan, config.UID != ""); err != nil { + return nil, component.Result{}, err + } + invalid, waiting, err := planOrigins(ctx, env, plan) if err != nil { return nil, component.Result{}, err @@ -181,7 +187,7 @@ func planInstall(ctx context.Context, env *component.Env, plan *component.Plan, } if waiting { - return plan, component.NotReadyAfter(reasonOriginPending, "Racer origins wait for the racer-dataplane DaemonSet placement", 30*time.Second), nil + return plan, component.NotReadyAfter(reasonOriginPending, "Racer origins wait for the racer DaemonSet placement", 30*time.Second), nil } return plan, component.ReconciledAfter("Racer dataplane installation reconciled", time.Hour), nil diff --git a/internal/operator/components/racer/racer_test.go b/internal/operator/components/racer/racer_test.go index 2d0052381f..71bc417736 100644 --- a/internal/operator/components/racer/racer_test.go +++ b/internal/operator/components/racer/racer_test.go @@ -235,7 +235,7 @@ func TestInstallCreatesStateBeforeDataplane(t *testing.T) { require.True(t, apierrors.IsNotFound(env.Client.Get(t.Context(), objectKey(env, "racer-config"), &corev1.ConfigMap{}))) container := ds.Spec.Template.Spec.Containers[0] - require.Equal(t, "mirror.test/unbounded/racer-dataplane:v1", container.Image) + require.Equal(t, "mirror.test/unbounded/racer:v1", container.Image) require.Equal(t, []corev1.EnvFromSource{{ConfigMapRef: &corev1.ConfigMapEnvSource{LocalObjectReference: corev1.LocalObjectReference{Name: dataplaneConfigName}}}}, container.EnvFrom) for _, e := range container.Env { @@ -252,7 +252,7 @@ func TestInstallCreatesStateBeforeDataplane(t *testing.T) { require.Len(t, policies.Items, 5) for _, policy := range policies.Items { - require.Contains(t, policy.Spec.MatchConditions[0].Expression, "system:serviceaccount:custom-system:racer-dataplane") + require.Contains(t, policy.Spec.MatchConditions[0].Expression, "system:serviceaccount:custom-system:racer") } } @@ -326,7 +326,7 @@ func TestRuntimeOwnedStateIsNeverWritten(t *testing.T) { lease := &coordinationv1.Lease{} require.NoError(t, env.Client.Get(t.Context(), objectKey(env, "racer-seat-0"), lease)) - lease.Spec.HolderIdentity = ptr.To("racer-dataplane-abc") + lease.Spec.HolderIdentity = ptr.To("racer-abc") lease.Annotations = map[string]string{"racer.unbounded-cloud.io/endpoint": "https://10.0.0.1:8443"} require.NoError(t, env.Client.Update(t.Context(), lease)) @@ -425,20 +425,20 @@ func TestUnmanagedObjectsAreNotAdopted(t *testing.T) { func TestGuardContainment(t *testing.T) { for name, damage := range map[string]func(*testing.T, *component.Env){ "deleted policy": func(t *testing.T, env *component.Env) { - require.NoError(t, env.Client.Delete(t.Context(), &admissionv1.ValidatingAdmissionPolicy{ObjectMeta: metav1.ObjectMeta{Name: "racer-dataplane-lease"}})) + require.NoError(t, env.Client.Delete(t.Context(), &admissionv1.ValidatingAdmissionPolicy{ObjectMeta: metav1.ObjectMeta{Name: "racer-lease"}})) }, "deleted binding": func(t *testing.T, env *component.Env) { - require.NoError(t, env.Client.Delete(t.Context(), &admissionv1.ValidatingAdmissionPolicyBinding{ObjectMeta: metav1.ObjectMeta{Name: "racer-dataplane-state"}})) + require.NoError(t, env.Client.Delete(t.Context(), &admissionv1.ValidatingAdmissionPolicyBinding{ObjectMeta: metav1.ObjectMeta{Name: "racer-state"}})) }, "tampered policy": func(t *testing.T, env *component.Env) { policy := &admissionv1.ValidatingAdmissionPolicy{} - require.NoError(t, env.Client.Get(t.Context(), client.ObjectKey{Name: "racer-dataplane-pod-report"}, policy)) + require.NoError(t, env.Client.Get(t.Context(), client.ObjectKey{Name: "racer-pod-report"}, policy)) policy.Spec.Validations = policy.Spec.Validations[:1] require.NoError(t, env.Client.Update(t.Context(), policy)) }, "audit only binding": func(t *testing.T, env *component.Env) { binding := &admissionv1.ValidatingAdmissionPolicyBinding{} - require.NoError(t, env.Client.Get(t.Context(), client.ObjectKey{Name: "racer-dataplane-webhook-configuration"}, binding)) + require.NoError(t, env.Client.Get(t.Context(), client.ObjectKey{Name: "racer-webhook-configuration"}, binding)) binding.Spec.ValidationActions = []admissionv1.ValidationAction{admissionv1.Audit} require.NoError(t, env.Client.Update(t.Context(), binding)) }, @@ -485,7 +485,7 @@ func TestContainmentLeavesUnmanagedBindings(t *testing.T) { require.NoError(t, env.Client.Get(t.Context(), client.ObjectKey{Name: dataplaneName}, binding)) binding.Annotations = nil require.NoError(t, env.Client.Update(t.Context(), binding)) - require.NoError(t, env.Client.Delete(t.Context(), &admissionv1.ValidatingAdmissionPolicy{ObjectMeta: metav1.ObjectMeta{Name: "racer-dataplane-lease"}})) + require.NoError(t, env.Client.Delete(t.Context(), &admissionv1.ValidatingAdmissionPolicy{ObjectMeta: metav1.ObjectMeta{Name: "racer-lease"}})) plan := planPass(t, env) @@ -522,15 +522,16 @@ func legacyObjects(ns string) []client.Object { &admissionv1.ValidatingAdmissionPolicyBinding{ObjectMeta: cluster("racer-node-write-restriction")}, // The retired controller's leader Lease was never operator-managed. &coordinationv1.Lease{ObjectMeta: metav1.ObjectMeta{Name: legacyController, Namespace: ns}}, - // Old dataplane wiring is replaced in place. + // The retired installation ran its dataplane under the pre-rename + // name; it is removed once the renamed DaemonSet is planned. &appsv1.DaemonSet{ - ObjectMeta: metav1.ObjectMeta{Name: dataplaneName, Namespace: ns, UID: "old-dataplane", Annotations: map[string]string{managerAnnotation: component.FieldOwner, legacyInstallationUID: "marker-uid"}}, + ObjectMeta: metav1.ObjectMeta{Name: renamedDataplane, Namespace: ns, UID: "old-dataplane", Annotations: map[string]string{managerAnnotation: component.FieldOwner, legacyInstallationUID: "marker-uid"}}, Spec: appsv1.DaemonSetSpec{Template: corev1.PodTemplateSpec{Spec: corev1.PodSpec{ Containers: []corev1.Container{{Name: dataplaneContainerName, Env: []corev1.EnvVar{{Name: "RACER_CLUSTER_ID", Value: "old"}, {Name: "RACER_CONTROL_ENDPOINT", Value: "https://racer-controller"}}}}, Volumes: []corev1.Volume{{Name: "bootstrap"}}, }}}, }, - &corev1.ServiceAccount{ObjectMeta: meta(dataplaneName)}, + &corev1.ServiceAccount{ObjectMeta: meta(renamedDataplane)}, &admissionv1.MutatingWebhookConfiguration{ ObjectMeta: cluster(webhookConfigName), Webhooks: []admissionv1.MutatingWebhook{{Name: "racer-object-sidecar.racer.unbounded-cloud.io", ClientConfig: admissionv1.WebhookClientConfig{ @@ -602,6 +603,8 @@ func TestLegacyControllerMigration(t *testing.T) { require.False(t, exists(t, env, obj), "%T %s survived", obj, obj.GetName()) } + require.False(t, exists(t, env, &appsv1.DaemonSet{ObjectMeta: metav1.ObjectMeta{Name: renamedDataplane, Namespace: ns}})) + require.False(t, exists(t, env, &corev1.ServiceAccount{ObjectMeta: metav1.ObjectMeta{Name: renamedDataplane, Namespace: ns}})) require.True(t, exists(t, env, &coordinationv1.Lease{ObjectMeta: metav1.ObjectMeta{Name: legacyController, Namespace: ns}})) require.True(t, exists(t, env, &corev1.ConfigMap{ObjectMeta: metav1.ObjectMeta{Name: "racer-bootstrap-trust-copy", Namespace: ns}})) @@ -763,7 +766,7 @@ func TestClusterCachePredicate(t *testing.T) { func TestGuardPredicate(t *testing.T) { p := guardPredicate() - require.True(t, p.Generic(event.GenericEvent{Object: &admissionv1.ValidatingAdmissionPolicy{ObjectMeta: metav1.ObjectMeta{Name: "racer-dataplane-lease"}}})) + require.True(t, p.Generic(event.GenericEvent{Object: &admissionv1.ValidatingAdmissionPolicy{ObjectMeta: metav1.ObjectMeta{Name: "racer-lease"}}})) require.False(t, p.Generic(event.GenericEvent{Object: &admissionv1.ValidatingAdmissionPolicy{ObjectMeta: metav1.ObjectMeta{Name: "other"}}})) } @@ -805,8 +808,8 @@ func TestLegacyMigrationRefusesDroppedWorkloadSettings(t *testing.T) { "host network": {data: map[string]string{"RACER_HOST_NETWORK": "true"}, want: "RACER_HOST_NETWORK"}, "bad bool": {data: map[string]string{"RACER_HOST_NETWORK": "yes"}, want: "RACER_HOST_NETWORK"}, "pod network": {data: map[string]string{"RACER_POD_NETWORK_NODES": "a"}, want: "RACER_POD_NETWORK_NODES"}, - "nvidia": {data: map[string]string{"RACER_DATAPLANE_NVIDIA": "cdi"}, want: "RACER_DATAPLANE_NVIDIA"}, - "defaults accept": {data: map[string]string{"RACER_PEER_PORT": "8082", "RACER_HOST_NETWORK": "false", "RACER_DATAPLANE_NVIDIA": "env"}}, + "nvidia": {data: map[string]string{"RACER_NVIDIA": "cdi"}, want: "RACER_NVIDIA"}, + "defaults accept": {data: map[string]string{"RACER_PEER_PORT": "8082", "RACER_HOST_NETWORK": "false", "RACER_NVIDIA": "env"}}, } { t.Run(name, func(t *testing.T) { objects := legacyObjects(ns) @@ -921,7 +924,7 @@ func TestRetainedInstallStillContainsGuards(t *testing.T) { env := testEnv(t, cacheObject("cache")) initialize(t, env) require.NoError(t, env.Client.Delete(t.Context(), cacheObject("cache"))) - require.NoError(t, env.Client.Delete(t.Context(), &admissionv1.ValidatingAdmissionPolicy{ObjectMeta: metav1.ObjectMeta{Name: "racer-dataplane-pod-report"}})) + require.NoError(t, env.Client.Delete(t.Context(), &admissionv1.ValidatingAdmissionPolicy{ObjectMeta: metav1.ObjectMeta{Name: "racer-pod-report"}})) plan, result := planResult(t, env) require.Equal(t, reasonGuards, result.Reason) @@ -933,7 +936,7 @@ func TestRetainedInstallStillContainsGuards(t *testing.T) { persist(t, env, plan) require.True(t, apierrors.IsNotFound(env.Client.Get(t.Context(), objectKey(env, dataplaneName), &rbacv1.RoleBinding{}))) require.True(t, apierrors.IsNotFound(env.Client.Get(t.Context(), client.ObjectKey{Name: dataplaneName}, &rbacv1.ClusterRoleBinding{}))) - require.NoError(t, env.Client.Get(t.Context(), client.ObjectKey{Name: "racer-dataplane-pod-report"}, &admissionv1.ValidatingAdmissionPolicy{})) + require.NoError(t, env.Client.Get(t.Context(), client.ObjectKey{Name: "racer-pod-report"}, &admissionv1.ValidatingAdmissionPolicy{})) // Retained mode never re-grants; a later cache restores the bindings. plan, result = planResult(t, env) diff --git a/internal/operator/components/racer/rename.go b/internal/operator/components/racer/rename.go new file mode 100644 index 0000000000..ccef5634ed --- /dev/null +++ b/internal/operator/components/racer/rename.go @@ -0,0 +1,159 @@ +// Copyright (c) Microsoft Corporation. +// SPDX-License-Identifier: Apache-2.0 + +package racer + +import ( + "context" + "strings" + + admissionv1 "k8s.io/api/admissionregistration/v1" + appsv1 "k8s.io/api/apps/v1" + corev1 "k8s.io/api/core/v1" + rbacv1 "k8s.io/api/rbac/v1" + "sigs.k8s.io/controller-runtime/pkg/client" + + "github.com/Azure/unbounded/internal/operator/component" +) + +// Names used before the racer-dataplane component was renamed to racer. The +// operator removes the objects it applied under these names; see +// planRenamedCleanup. +const ( + renamedDataplane = "racer-dataplane" + renamedConfig = "racer-dataplane-config" + + // renamedKeyPrefix is the ConfigMap key prefix that became "RACER_". + renamedKeyPrefix = "RACER_DATAPLANE_" +) + +// renamedPolicies are the admission policies, each with a binding of the same +// name, that restricted the old ServiceAccount. +var renamedPolicies = []string{ + "racer-dataplane-pod-report", + "racer-dataplane-lease", + "racer-dataplane-state", + "racer-dataplane-webhook-configuration", + "racer-dataplane-webhook-endpoints", +} + +// renamedConfigData returns the settings of an owned pre-rename ConfigMap with +// renamed keys translated, or nil when there is none. It seeds racer-settings +// so administrator tuning survives the rename. +func renamedConfigData(ctx context.Context, env *component.Env) (map[string]string, error) { + live, err := getLegacy(ctx, env, legacy(&corev1.ConfigMap{ObjectMeta: objectMeta(renamedConfig)}, corev1.SchemeGroupVersion.WithKind("ConfigMap"))) + if err != nil || live == nil { + return nil, err + } + + if ok, err := adoptable(ctx, env, live); err != nil || !ok { + return nil, err + } + + data := map[string]string{} + + for key, value := range live.(*corev1.ConfigMap).Data { + if rest, found := strings.CutPrefix(key, renamedKeyPrefix); found { + key = "RACER_" + rest + } + + data[key] = value + } + + return data, nil +} + +// planRenamedCleanup deletes the operator-owned objects left under the +// pre-rename names. It runs after the new DaemonSet is planned, so the old +// and new Pods may overlap briefly. Only objects that pass validateAdoptable +// are deleted, each with UID and resourceVersion preconditions; look-alikes +// the operator does not own are left alone. Deletion is ordered over passes: +// +// 1. The DaemonSet, ServiceAccount, and RBAC go first. +// 2. The old ConfigMap goes once racer-settings exists, since it seeds it. +// 3. The old admission policies and bindings go only after the old DaemonSet +// and grants are observed gone, so the old identity is never left with +// write access but no admission limits. +// +// It reports whether any pre-rename object is still being removed. +func planRenamedCleanup(ctx context.Context, env *component.Env, plan *component.Plan, settingsExist bool) (bool, error) { + core, rbac := corev1.SchemeGroupVersion, rbacv1.SchemeGroupVersion + first := []legacyObject{ + legacy(&appsv1.DaemonSet{ObjectMeta: objectMeta(renamedDataplane)}, appsv1.SchemeGroupVersion.WithKind("DaemonSet")), + legacy(&rbacv1.RoleBinding{ObjectMeta: objectMeta(renamedDataplane)}, rbac.WithKind("RoleBinding")), + legacy(&rbacv1.ClusterRoleBinding{ObjectMeta: objectMeta(renamedDataplane)}, rbac.WithKind("ClusterRoleBinding")), + legacy(&rbacv1.Role{ObjectMeta: objectMeta(renamedDataplane)}, rbac.WithKind("Role")), + legacy(&rbacv1.ClusterRole{ObjectMeta: objectMeta(renamedDataplane)}, rbac.WithKind("ClusterRole")), + legacy(&corev1.ServiceAccount{ObjectMeta: objectMeta(renamedDataplane)}, core.WithKind("ServiceAccount")), + } + + pending, err := planRenamedDeletes(ctx, env, plan, first) + if err != nil { + return false, err + } + + if settingsExist { + config := []legacyObject{legacy(&corev1.ConfigMap{ObjectMeta: objectMeta(renamedConfig)}, core.WithKind("ConfigMap"))} + + removing, err := planRenamedDeletes(ctx, env, plan, config) + if err != nil { + return false, err + } + + pending = pending || removing + } + + if pending { + return true, nil + } + + var guards []legacyObject + + for _, guardName := range renamedPolicies { + guards = append(guards, + legacy(&admissionv1.ValidatingAdmissionPolicyBinding{ObjectMeta: objectMeta(guardName)}, admissionv1.SchemeGroupVersion.WithKind("ValidatingAdmissionPolicyBinding")), + legacy(&admissionv1.ValidatingAdmissionPolicy{ObjectMeta: objectMeta(guardName)}, admissionv1.SchemeGroupVersion.WithKind("ValidatingAdmissionPolicy"))) + } + + return planRenamedDeletes(ctx, env, plan, guards) +} + +// planRenamedDeletes adds a delete for each candidate the operator owns and +// reports whether any owned candidate still exists, terminating included. +func planRenamedDeletes(ctx context.Context, env *component.Env, plan *component.Plan, candidates []legacyObject) (bool, error) { + pending := false + + for _, candidate := range candidates { + live, err := getLegacy(ctx, env, candidate) + if err != nil { + return false, err + } + + if live == nil { + continue + } + + if live.GetDeletionTimestamp() != nil { + // Already going; wait until it is observed gone. + pending = pending || isRenamedManaged(live) + continue + } + + ok, err := adoptable(ctx, env, live) + if err != nil { + return false, err + } + + if ok { + plan.Add(deleteOp(live, candidate.gvk)) + + pending = true + } + } + + return pending, nil +} + +func isRenamedManaged(obj client.Object) bool { + return obj.GetAnnotations()[managerAnnotation] == component.FieldOwner || obj.GetLabels()[managerLabel] == component.FieldOwner +} diff --git a/internal/operator/components/racer/rename_test.go b/internal/operator/components/racer/rename_test.go new file mode 100644 index 0000000000..b76149fc67 --- /dev/null +++ b/internal/operator/components/racer/rename_test.go @@ -0,0 +1,117 @@ +// Copyright (c) Microsoft Corporation. +// SPDX-License-Identifier: Apache-2.0 + +package racer + +import ( + "testing" + + "github.com/google/uuid" + "github.com/stretchr/testify/require" + admissionv1 "k8s.io/api/admissionregistration/v1" + appsv1 "k8s.io/api/apps/v1" + corev1 "k8s.io/api/core/v1" + rbacv1 "k8s.io/api/rbac/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" + "sigs.k8s.io/controller-runtime/pkg/client" + + "github.com/Azure/unbounded/internal/operator/component" +) + +// renamedObjects are the objects a pre-rename operator applied. +func renamedObjects(ns string, annotations func() map[string]string) []client.Object { + meta := func(name string) metav1.ObjectMeta { + return metav1.ObjectMeta{Name: name, Namespace: ns, UID: types.UID(uuid.NewString()), Annotations: annotations()} + } + cluster := func(name string) metav1.ObjectMeta { + return metav1.ObjectMeta{Name: name, UID: types.UID(uuid.NewString()), Annotations: annotations()} + } + + objects := []client.Object{ + &appsv1.DaemonSet{ObjectMeta: meta(renamedDataplane)}, + &corev1.ServiceAccount{ObjectMeta: meta(renamedDataplane)}, + &rbacv1.Role{ObjectMeta: meta(renamedDataplane)}, + &rbacv1.RoleBinding{ObjectMeta: meta(renamedDataplane)}, + &rbacv1.ClusterRole{ObjectMeta: cluster(renamedDataplane)}, + &rbacv1.ClusterRoleBinding{ObjectMeta: cluster(renamedDataplane)}, + &corev1.ConfigMap{ObjectMeta: meta(renamedConfig), Data: map[string]string{"RACER_SHARES": "7", "RACER_DATAPLANE_NVIDIA": "off"}}, + } + + for _, policy := range renamedPolicies { + objects = append(objects, + &admissionv1.ValidatingAdmissionPolicy{ObjectMeta: cluster(policy)}, + &admissionv1.ValidatingAdmissionPolicyBinding{ObjectMeta: cluster(policy)}) + } + + return objects +} + +func TestRenamedObjectsAreRemoved(t *testing.T) { + ns := "custom-system" + env := testEnv(t, append(renamedObjects(ns, managed), cacheObject("cache"))...) + initialize(t, env) + + // Guards outlive the old DaemonSet and grants by at least one pass. + for _, policy := range renamedPolicies { + require.True(t, exists(t, env, &admissionv1.ValidatingAdmissionPolicy{ObjectMeta: metav1.ObjectMeta{Name: policy}})) + } + + settle(t, env) + + for _, obj := range renamedObjects(ns, managed) { + require.False(t, exists(t, env, obj), "%T %s survived", obj, obj.GetName()) + } + + // Administrator settings carry over, with renamed keys translated. + config := &corev1.ConfigMap{} + require.NoError(t, env.Client.Get(t.Context(), objectKey(env, dataplaneConfigName), config)) + require.Equal(t, "7", config.Data["RACER_SHARES"]) + require.Equal(t, "off", config.Data["RACER_NVIDIA"]) + require.NotContains(t, config.Data, "RACER_DATAPLANE_NVIDIA") + + require.True(t, exists(t, env, &appsv1.DaemonSet{ObjectMeta: metav1.ObjectMeta{Name: dataplaneName, Namespace: ns}})) +} + +func TestRenamedCleanupWaitsForNewDaemonSet(t *testing.T) { + ns := "custom-system" + env := testEnv(t, append(renamedObjects(ns, managed), cacheObject("cache"))...) + + // The first pass only creates the runtime state, so nothing old is touched. + plan, result := planResult(t, env) + require.Equal(t, reasonInitializing, result.Reason) + + for _, op := range plan.Operations { + require.NotEqual(t, component.OpDelete, op.Kind, "%s deleted before the new DaemonSet is planned", op.Ref()) + } +} + +func TestRenamedCleanupKeepsUnmanagedObjects(t *testing.T) { + ns := "custom-system" + unmanaged := func() map[string]string { return nil } + env := testEnv(t, append(renamedObjects(ns, unmanaged), cacheObject("cache"))...) + initialize(t, env) + settle(t, env) + + for _, obj := range renamedObjects(ns, unmanaged) { + require.True(t, exists(t, env, obj), "%T %s was removed", obj, obj.GetName()) + } + + // An unowned old ConfigMap does not seed the new one. + config := &corev1.ConfigMap{} + require.NoError(t, env.Client.Get(t.Context(), objectKey(env, dataplaneConfigName), config)) + require.NotEqual(t, "7", config.Data["RACER_SHARES"]) +} + +func TestRenamedCleanupKeepsUnboundLegacyStamp(t *testing.T) { + ns := "custom-system" + stale := func() map[string]string { + return map[string]string{managerAnnotation: component.FieldOwner, legacyInstallationUID: "unbound-marker"} + } + ds := &appsv1.DaemonSet{ObjectMeta: metav1.ObjectMeta{Name: renamedDataplane, Namespace: ns, UID: "old", Annotations: stale()}} + env := testEnv(t, ds, cacheObject("cache")) + initialize(t, env) + settle(t, env) + + require.True(t, exists(t, env, ds), "a stamp not bound to a marker is not proof of ownership") +} From 85654fc6f1c170ecad2a8b8d5429b547d8e496a4 Mon Sep 17 00:00:00 2001 From: Jordan Olshevski Date: Wed, 28 Oct 2026 17:33:06 +0000 Subject: [PATCH 03/11] racer: apply rustfmt after the crate rename Shortening racer_dataplane to racer changed import ordering and line lengths, so rerun cargo fmt to satisfy the Racer Rust Lint check. --- cmd/racer/src/app.rs | 5 +--- cmd/racer/src/app/devices.rs | 10 ++----- cmd/racer/src/gpu.rs | 8 ++--- cmd/racer/src/main.rs | 8 ++--- cmd/racer/src/rdma/links.rs | 4 +-- cmd/racer/tests/client_origin_conformance.rs | 6 ++-- cmd/racer/tests/identity_integration.rs | 8 ++--- cmd/racer/tests/payload_zeroization.rs | 19 ++++++------ cmd/racer/tests/process_restart.rs | 4 +-- cmd/racer/tests/process_restart/throughput.rs | 14 ++++----- cmd/racer/tests/production_dataplane.rs | 29 +++++++------------ .../tests/production_dataplane/hotpath.rs | 3 +- 12 files changed, 43 insertions(+), 75 deletions(-) diff --git a/cmd/racer/src/app.rs b/cmd/racer/src/app.rs index 5c9bd34756..fd7c6a870d 100644 --- a/cmd/racer/src/app.rs +++ b/cmd/racer/src/app.rs @@ -496,10 +496,7 @@ fn listener_completion( ) -> Result<()> { if !stopping { if let Err(error) = &result { - eprintln!( - "racer: worker={} stage={stage} error={error:?}", - worker.0 - ); + eprintln!("racer: worker={} stage={stage} error={error:?}", worker.0); } result?; eprintln!( diff --git a/cmd/racer/src/app/devices.rs b/cmd/racer/src/app/devices.rs index 2853b23c3b..8773d40076 100644 --- a/cmd/racer/src/app/devices.rs +++ b/cmd/racer/src/app/devices.rs @@ -173,10 +173,7 @@ fn open_with_busy_wait( Ok(()) => {} Err(error) if is_busy(&error) && !wait.is_zero() => busy.push(candidate), Err(error) => { - eprintln!( - "racer: skipping block device {:?}: {error}", - candidate.id() - ); + eprintln!("racer: skipping block device {:?}: {error}", candidate.id()); } } } @@ -201,10 +198,7 @@ fn open_with_busy_wait( Ok(()) => {} Err(error) if is_busy(&error) => still.push(candidate), Err(error) => { - eprintln!( - "racer: skipping block device {:?}: {error}", - candidate.id() - ); + eprintln!("racer: skipping block device {:?}: {error}", candidate.id()); } } } diff --git a/cmd/racer/src/gpu.rs b/cmd/racer/src/gpu.rs index 9e30330400..11f8fc2d15 100644 --- a/cmd/racer/src/gpu.rs +++ b/cmd/racer/src/gpu.rs @@ -1339,9 +1339,7 @@ impl Helper { .find(|context| context.ordinal() == ordinal) .ok_or(Error::Unavailable)?; let buffer = context.staging(length).map_err(|error| { - eprintln!( - "racer: stage=gpu ordinal={ordinal} state=landing-failed reason={error}" - ); + eprintln!("racer: stage=gpu ordinal={ordinal} state=landing-failed reason={error}"); Error::Overloaded })?; self.landing.insert(id, buffer); @@ -1441,9 +1439,7 @@ impl Helper { .ok_or(Error::Internal)?; let size = self.state.slots.max(SCRATCH_SLOTS) * SLOT_BYTES; let buffer = context.staging(size).map_err(|error| { - eprintln!( - "racer: stage=gpu ordinal={ordinal} state=staging-failed reason={error}" - ); + eprintln!("racer: stage=gpu ordinal={ordinal} state=staging-failed reason={error}"); Error::Overloaded })?; self.staging.insert(ordinal, buffer); diff --git a/cmd/racer/src/main.rs b/cmd/racer/src/main.rs index 4c92489bc8..d763e70b83 100644 --- a/cmd/racer/src/main.rs +++ b/cmd/racer/src/main.rs @@ -75,9 +75,7 @@ fn run() -> std::result::Result<(), (&'static str, Error)> { })?; let concrete = Arc::new(Embedded(handle)); let embedded: Arc = concrete.clone(); - match racer::control::managed::start(&mut config, embedded, &|| { - signals.requested() - }) { + match racer::control::managed::start(&mut config, embedded, &|| signals.requested()) { Ok(()) => {} // A requested stop during bootstrap is a clean exit; dropping the // handle stops embedded control boundedly. @@ -161,9 +159,7 @@ fn tune_allocator() { if applied == 1 { eprintln!("racer: malloc mmap threshold set bytes={MMAP_THRESHOLD_BYTES}"); } else { - eprintln!( - "racer: malloc mmap threshold not applied bytes={MMAP_THRESHOLD_BYTES}" - ); + eprintln!("racer: malloc mmap threshold not applied bytes={MMAP_THRESHOLD_BYTES}"); } } diff --git a/cmd/racer/src/rdma/links.rs b/cmd/racer/src/rdma/links.rs index 4c0007d67b..6f781e5a27 100644 --- a/cmd/racer/src/rdma/links.rs +++ b/cmd/racer/src/rdma/links.rs @@ -592,9 +592,7 @@ impl Links { }; let slots = (bytes / BUFFER_LEN as u64) as usize; if slots == 0 { - eprintln!( - "racer: stage=gpu-landing state=disabled reason=too-small bytes={bytes}" - ); + eprintln!("racer: stage=gpu-landing state=disabled reason=too-small bytes={bytes}"); return; } let gpus: Vec<(i32, Option)> = helper diff --git a/cmd/racer/tests/client_origin_conformance.rs b/cmd/racer/tests/client_origin_conformance.rs index 5cb0108a44..08e6e6c28c 100644 --- a/cmd/racer/tests/client_origin_conformance.rs +++ b/cmd/racer/tests/client_origin_conformance.rs @@ -4,7 +4,6 @@ use http1::Header; use http1::MessageHead; use http1::StartLine; -use racer_control_wire::CacheId; use racer::admission::AdmissionPolicy; use racer::client::ClientRequest; use racer::client::ReadKind; @@ -34,6 +33,7 @@ use racer::read::ReadPayload; use racer::read::ReadResponse; use racer::runtime::Reactor; use racer::runtime::RequestScope; +use racer_control_wire::CacheId; use std::future::Future; use std::io::Read; use std::io::Write; @@ -1027,9 +1027,7 @@ mod sdk { assert!(matches!(parsed.kind, ReadKind::HeadPinned { .. })); assert_eq!(parsed.kind.pin().unwrap().as_bytes(), b"\"v\""); let metadata = ObjectMetadata { - content_type: Some( - racer::model::ContentType::parse(b"text/plain").unwrap(), - ), + content_type: Some(racer::model::ContentType::parse(b"text/plain").unwrap()), version: ObjectVersion { object: object(), etag: StrongEtag::parse(b"\"v\"").unwrap(), diff --git a/cmd/racer/tests/identity_integration.rs b/cmd/racer/tests/identity_integration.rs index 4ef95e75be..488340ceb5 100644 --- a/cmd/racer/tests/identity_integration.rs +++ b/cmd/racer/tests/identity_integration.rs @@ -5,9 +5,6 @@ #[allow(dead_code)] mod fixture_io; -use racer_control_wire as wire; -use racer_control_wire::*; -use racer_crypto::identity::BundleInstaller; use racer as dataplane; use racer::admission::AdmissionPolicy; use racer::admission::ResourceClass; @@ -27,11 +24,14 @@ use racer::security::CryptoClient; use racer::security::CryptoInput; use racer::security::CryptoOutput; use racer::worker::CryptoRuntime; +use racer_control_wire as wire; +use racer_control_wire::*; +use racer_crypto::identity::BundleInstaller; +use racer::security::PageCryptoEngine; use racer_crypto::identity::KeyEpochs; use racer_crypto::identity::KeyPurpose; use racer_crypto::identity::Keyring; -use racer::security::PageCryptoEngine; use std::rc::Rc; use std::sync::Arc; use std::time::Duration; diff --git a/cmd/racer/tests/payload_zeroization.rs b/cmd/racer/tests/payload_zeroization.rs index f1f29dd840..0633049ac8 100644 --- a/cmd/racer/tests/payload_zeroization.rs +++ b/cmd/racer/tests/payload_zeroization.rs @@ -4,8 +4,6 @@ #[allow(dead_code)] mod fixture_io; -use racer_control_wire::CacheId; -use racer_control_wire::KeyId; use racer as dataplane; use racer::admission::AdmissionPolicy; use racer::admission::ResourceClass; @@ -19,6 +17,8 @@ use racer::model::PageEnvelope; use racer::model::PageId; use racer::model::PageNumber; use racer::model::StrongEtag; +use racer_control_wire::CacheId; +use racer_control_wire::KeyId; use std::alloc::GlobalAlloc; use std::alloc::Layout; use std::alloc::System; @@ -34,8 +34,7 @@ static WATCH: AtomicPtr = AtomicPtr::new(std::ptr::null_mut()); static FREED: AtomicBool = AtomicBool::new(false); static ZEROED: AtomicBool = AtomicBool::new(false); static NEXT_SIZE: AtomicUsize = AtomicUsize::new(0); -static CANCEL_AT_ALLOCATION: Mutex> = - Mutex::new(None); +static CANCEL_AT_ALLOCATION: Mutex> = Mutex::new(None); // SAFETY: All allocation operations delegate to System with the original layout. unsafe impl GlobalAlloc for InspectAllocator { @@ -206,12 +205,6 @@ fn final_payload_owner_scrubs_full_allocation_on_reclaim_and_rejection() { fn failed_crypto_output_is_scrubbed(config: &Config) { use base64::Engine; - use racer_control_wire::ClusterId; - use racer_control_wire::NodeId; - use racer_crypto::identity::KeyEpochs; - use racer_crypto::identity::KeyPurpose; - use racer_crypto::identity::Keyring; - use racer_crypto::{TAG_LEN, seal}; use racer::model::RequestId; use racer::model::WorkerId; use racer::runtime::RequestScope; @@ -220,6 +213,12 @@ fn failed_crypto_output_is_scrubbed(config: &Config) { use racer::security::PageCryptoEngine; use racer::security::page_aad; use racer::security::pair; + use racer_control_wire::ClusterId; + use racer_control_wire::NodeId; + use racer_crypto::identity::KeyEpochs; + use racer_crypto::identity::KeyPurpose; + use racer_crypto::identity::Keyring; + use racer_crypto::{TAG_LEN, seal}; use std::sync::Arc; use std::task::Context; use std::task::Poll; diff --git a/cmd/racer/tests/process_restart.rs b/cmd/racer/tests/process_restart.rs index 858e1eb2d6..97a9ef7882 100644 --- a/cmd/racer/tests/process_restart.rs +++ b/cmd/racer/tests/process_restart.rs @@ -1093,9 +1093,7 @@ fn enrolled_identity( ClusterId(CLUSTER.into()), scratch.0.join("token"), scratch.0.join("identity"), - std::rc::Rc::new(racer::control::ReactorControlIo::new( - reactor.clone(), - )), + std::rc::Rc::new(racer::control::ReactorControlIo::new(reactor.clone())), ); let bundle = racer_control_wire::decode_bundle(&control.bundle).unwrap(); enrollment diff --git a/cmd/racer/tests/process_restart/throughput.rs b/cmd/racer/tests/process_restart/throughput.rs index fba9ec9f48..a88c0267b0 100644 --- a/cmd/racer/tests/process_restart/throughput.rs +++ b/cmd/racer/tests/process_restart/throughput.rs @@ -734,7 +734,6 @@ fn production_blocked_control_progress() { } fn owner_key(cache: &str, page: u64, owner: u16) -> u64 { - use racer_control_wire::CacheId; use racer::model::CacheKey; use racer::model::ObjectId; use racer::model::ObjectVersion; @@ -743,6 +742,7 @@ fn owner_key(cache: &str, page: u64, owner: u16) -> u64 { use racer::model::StrongEtag; use racer::model::WorkerId; use racer::read::dispatch::WorkerMap; + use racer_control_wire::CacheId; let map = WorkerMap::new((0..4).map(WorkerId).collect()).unwrap(); (0..10000) .find(|key| { @@ -891,15 +891,15 @@ fn production_multicache_disk_baseline() { #[test] #[ignore = "requires root, mount namespaces, io_uring and O_DIRECT; two actual Applications with authenticated TCP peers"] fn production_peer_and_failed_neighbor_progress() { - use racer_control_wire::CacheId; - use racer_control_wire::MembershipVersion; - use racer_control_wire::NodeId; use racer::model::CacheKey; use racer::model::ObjectId; use racer::model::PageNumber; use racer::topology::Member; use racer::topology::Membership; use racer::topology::Placement; + use racer_control_wire::CacheId; + use racer_control_wire::MembershipVersion; + use racer_control_wire::NodeId; const OTHER: &str = "33333333-3333-4333-8333-333333333333"; for pairs in [1, 2, 4] { let first_root = Scratch::new(); @@ -1030,15 +1030,15 @@ fn production_peer_and_failed_neighbor_progress() { #[test] #[ignore = "requires root, mount namespaces, io_uring and O_DIRECT; actual noncandidate subscription"] fn production_remote_bootstrap_one_get_and_empty() { - use racer_control_wire::CacheId; - use racer_control_wire::MembershipVersion; - use racer_control_wire::NodeId; use racer::model::CacheKey; use racer::model::ObjectId; use racer::model::PageNumber; use racer::topology::Member; use racer::topology::Membership; use racer::topology::Placement; + use racer_control_wire::CacheId; + use racer_control_wire::MembershipVersion; + use racer_control_wire::NodeId; for length in [0, 113] { let roots: Vec<_> = (0..4).map(|_| Scratch::new()).collect(); let profile = Profile::new(1, length, 1); diff --git a/cmd/racer/tests/production_dataplane.rs b/cmd/racer/tests/production_dataplane.rs index 66a4e1a211..7e2aa6f1e1 100644 --- a/cmd/racer/tests/production_dataplane.rs +++ b/cmd/racer/tests/production_dataplane.rs @@ -2,12 +2,6 @@ //! and the worker polling loop are fixtures. No read/storage/crypto success doubles. use base64::Engine; use controlplane::Published; -use racer_control_wire as wire; -use racer_control_wire::CacheDefinition; -use racer_control_wire::Publication; -use racer_control_wire::PublicationSequence; -use racer_control_wire::canonical_socket_paths; -use racer_control_wire::{CacheId, ClusterId, MembershipVersion, NodeId}; use racer::admission::AdmissionPolicy; use racer::admission::ResourceClass; use racer::client::RequestParser; @@ -52,6 +46,12 @@ use racer::security; use racer::security::CryptoClient; use racer::security::{Authorization, OpaqueMetadata, OriginContext}; use racer::worker::CryptoRuntime; +use racer_control_wire as wire; +use racer_control_wire::CacheDefinition; +use racer_control_wire::Publication; +use racer_control_wire::PublicationSequence; +use racer_control_wire::canonical_socket_paths; +use racer_control_wire::{CacheId, ClusterId, MembershipVersion, NodeId}; use racer::peer::forwarding::Forwarding; use racer::peer::protocol::Signatures; @@ -65,13 +65,13 @@ use racer::store::catalog::Index; use racer::store::catalog::SegmentClock; use racer::topology::LinkHealth; +use racer::topology::Paths; +use racer::topology::Placement; +use racer::topology::RouteBudget; use racer_crypto::identity::Certificates; use racer_crypto::identity::KeyEpochs; use racer_crypto::identity::Keyring; use racer_crypto::identity::PendingIdentity; -use racer::topology::Paths; -use racer::topology::Placement; -use racer::topology::RouteBudget; use std::cell::RefCell; use std::collections::BTreeMap; use std::fs; @@ -491,11 +491,7 @@ impl Rig { admission.clone(), P + 16, )); - let http = Rc::new(racer::http::new_pool( - reactor.clone(), - admission.clone(), - 8, - )); + let http = Rc::new(racer::http::new_pool(reactor.clone(), admission.clone(), 8)); let buffers = BufferPool::new(admission.clone()); let (keys, sender_keys) = fixture_keys(); let published = Arc::new(Published::new(Snapshot::retention(4))); @@ -631,10 +627,7 @@ impl Rig { coordinator.clone(), snapshot.membership.clone(), ); - let client_io = Rc::new(racer::http::client_io( - reactor.clone(), - admission.clone(), - )); + let client_io = Rc::new(racer::http::client_io(reactor.clone(), admission.clone())); let responses = Rc::new(Responses::new(client_io.clone(), delivery)); Self { bootstrap, diff --git a/cmd/racer/tests/production_dataplane/hotpath.rs b/cmd/racer/tests/production_dataplane/hotpath.rs index 8b3046a2da..71d5b557c4 100644 --- a/cmd/racer/tests/production_dataplane/hotpath.rs +++ b/cmd/racer/tests/production_dataplane/hotpath.rs @@ -202,8 +202,7 @@ impl Service { let failures = self.failures.clone(); let requests = self.requests.clone(); self.clients.push_back(Box::pin(async move { - let lease = - racer::http::from_accepted(socket.into(), &rig.admission)?; + let lease = racer::http::from_accepted(socket.into(), &rig.admission)?; let scope = scope(); let received = rig.io.receive_head(lease, &scope).await?; let request = RequestParser::new(32768) From 1a5dda23ad81f385cbf98d40d09eb84b4aa807eb Mon Sep 17 00:00:00 2001 From: Jordan Olshevski Date: Wed, 28 Oct 2026 17:33:06 +0000 Subject: [PATCH 04/11] operator: check type assertions in the racer rename cleanup errcheck flags the unchecked assertions in planLegacyRestamp and renamedConfigData. Return an error instead of panicking if either copy is not the expected type. --- internal/operator/components/racer/migration.go | 6 +++++- internal/operator/components/racer/rename.go | 8 +++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/internal/operator/components/racer/migration.go b/internal/operator/components/racer/migration.go index b30bc7179f..9dbbf8f964 100644 --- a/internal/operator/components/racer/migration.go +++ b/internal/operator/components/racer/migration.go @@ -291,7 +291,11 @@ func planLegacyRestamp(ctx context.Context, env *component.Env, plan *component. // The retired installation applied its dataplane under the pre-rename // names. planRenamedCleanup removes those; keep the anchors until it has. for _, candidate := range named[:6] { - renamed := candidate.obj.DeepCopyObject().(client.Object) + renamed, ok := candidate.obj.DeepCopyObject().(client.Object) + if !ok { + return false, errors.New("legacy anchor copy is not a client object") + } + renamed.SetName(renamedDataplane) named = append(named, legacy(renamed, candidate.gvk)) } diff --git a/internal/operator/components/racer/rename.go b/internal/operator/components/racer/rename.go index ccef5634ed..4bf682c21b 100644 --- a/internal/operator/components/racer/rename.go +++ b/internal/operator/components/racer/rename.go @@ -5,6 +5,7 @@ package racer import ( "context" + "fmt" "strings" admissionv1 "k8s.io/api/admissionregistration/v1" @@ -50,9 +51,14 @@ func renamedConfigData(ctx context.Context, env *component.Env) (map[string]stri return nil, err } + cm, ok := live.(*corev1.ConfigMap) + if !ok { + return nil, fmt.Errorf("%s is %T, not a ConfigMap", renamedConfig, live) + } + data := map[string]string{} - for key, value := range live.(*corev1.ConfigMap).Data { + for key, value := range cm.Data { if rest, found := strings.CutPrefix(key, renamedKeyPrefix); found { key = "RACER_" + rest } From 34c4ee5c40df10ce5f264025f4ead688ea802e56 Mon Sep 17 00:00:00 2001 From: Jordan Olshevski Date: Wed, 28 Oct 2026 17:44:33 +0000 Subject: [PATCH 05/11] operator: wait for the racer DaemonSet before removing racer-dataplane Removals run before writes in a pass, and an override can withhold the new DaemonSet, so planning the replacement did not guarantee it would exist. Schedule pre-rename deletions only once the racer DaemonSet is observed live and owned. Rollout readiness is not required, to avoid deadlocking when old Pods hold resources the new Pods need. --- internal/operator/components/racer/racer.go | 3 +- internal/operator/components/racer/rename.go | 26 ++++++++- .../operator/components/racer/rename_test.go | 58 +++++++++++++++++++ 3 files changed, 84 insertions(+), 3 deletions(-) diff --git a/internal/operator/components/racer/racer.go b/internal/operator/components/racer/racer.go index a7b49f860d..4fa490e608 100644 --- a/internal/operator/components/racer/racer.go +++ b/internal/operator/components/racer/racer.go @@ -172,7 +172,8 @@ func planInstall(ctx context.Context, env *component.Env, plan *component.Plan, } // Remove what this operator applied under the pre-rename names once the - // new DaemonSet is planned. A config with a UID was read live. + // new DaemonSet is observed live; its creation event requeues this + // component. A config with a UID was read live. if _, err := planRenamedCleanup(ctx, env, plan, config.UID != ""); err != nil { return nil, component.Result{}, err } diff --git a/internal/operator/components/racer/rename.go b/internal/operator/components/racer/rename.go index 4bf682c21b..32aafab820 100644 --- a/internal/operator/components/racer/rename.go +++ b/internal/operator/components/racer/rename.go @@ -70,8 +70,11 @@ func renamedConfigData(ctx context.Context, env *component.Env) (map[string]stri } // planRenamedCleanup deletes the operator-owned objects left under the -// pre-rename names. It runs after the new DaemonSet is planned, so the old -// and new Pods may overlap briefly. Only objects that pass validateAdoptable +// pre-rename names. Nothing is deleted until the new DaemonSet is observed +// live and owned by this operator (see replacementLive): a pass runs removals +// before writes, and an override can withhold the new DaemonSet, so a planned +// replacement is no proof that one will exist. The old and new Pods may +// overlap briefly. Only objects that pass validateAdoptable // are deleted, each with UID and resourceVersion preconditions; look-alikes // the operator does not own are left alone. Deletion is ordered over passes: // @@ -83,6 +86,11 @@ func renamedConfigData(ctx context.Context, env *component.Env) (map[string]stri // // It reports whether any pre-rename object is still being removed. func planRenamedCleanup(ctx context.Context, env *component.Env, plan *component.Plan, settingsExist bool) (bool, error) { + live, err := replacementLive(ctx, env) + if err != nil || !live { + return true, err + } + core, rbac := corev1.SchemeGroupVersion, rbacv1.SchemeGroupVersion first := []legacyObject{ legacy(&appsv1.DaemonSet{ObjectMeta: objectMeta(renamedDataplane)}, appsv1.SchemeGroupVersion.WithKind("DaemonSet")), @@ -124,6 +132,20 @@ func planRenamedCleanup(ctx context.Context, env *component.Env, plan *component return planRenamedDeletes(ctx, env, plan, guards) } +// replacementLive reports whether the new DaemonSet exists, is not being +// deleted, and is owned by this operator. It deliberately does not wait for +// the rollout to become ready: the old Pods may hold resources, such as host +// ports, that the new Pods need, so waiting on readiness could deadlock. A +// written, owned replacement is enough to keep a workload scheduled. +func replacementLive(ctx context.Context, env *component.Env) (bool, error) { + live, err := getLegacy(ctx, env, legacy(&appsv1.DaemonSet{ObjectMeta: objectMeta(dataplaneName)}, appsv1.SchemeGroupVersion.WithKind("DaemonSet"))) + if err != nil || live == nil || live.GetDeletionTimestamp() != nil { + return false, err + } + + return adoptable(ctx, env, live) +} + // planRenamedDeletes adds a delete for each candidate the operator owns and // reports whether any owned candidate still exists, terminating included. func planRenamedDeletes(ctx context.Context, env *component.Env, plan *component.Plan, candidates []legacyObject) (bool, error) { diff --git a/internal/operator/components/racer/rename_test.go b/internal/operator/components/racer/rename_test.go index b76149fc67..ede47ed3f4 100644 --- a/internal/operator/components/racer/rename_test.go +++ b/internal/operator/components/racer/rename_test.go @@ -115,3 +115,61 @@ func TestRenamedCleanupKeepsUnboundLegacyStamp(t *testing.T) { require.True(t, exists(t, env, ds), "a stamp not bound to a marker is not proof of ownership") } + +func TestRenamedCleanupRequiresLiveReplacement(t *testing.T) { + ns := "custom-system" + now := metav1.Now() + + for _, tc := range []struct { + name string + replacement *appsv1.DaemonSet + deletes bool + }{ + {name: "missing"}, + { + name: "live and owned", + replacement: &appsv1.DaemonSet{ObjectMeta: metav1.ObjectMeta{Name: dataplaneName, Namespace: ns, UID: "new", Annotations: managed()}}, + deletes: true, + }, + { + name: "terminating", + replacement: &appsv1.DaemonSet{ObjectMeta: metav1.ObjectMeta{ + Name: dataplaneName, Namespace: ns, UID: "new", Annotations: managed(), + DeletionTimestamp: &now, Finalizers: []string{"test/hold"}, + }}, + }, + { + name: "not owned", + replacement: &appsv1.DaemonSet{ObjectMeta: metav1.ObjectMeta{Name: dataplaneName, Namespace: ns, UID: "new"}}, + }, + } { + t.Run(tc.name, func(t *testing.T) { + objects := renamedObjects(ns, managed) + if tc.replacement != nil { + objects = append(objects, tc.replacement) + } + + env := testEnv(t, objects...) + plan := &component.Plan{} + + pending, err := planRenamedCleanup(t.Context(), env, plan, true) + require.NoError(t, err) + require.True(t, pending) + + deletes := 0 + + for _, op := range plan.Operations { + if op.Kind == component.OpDelete { + deletes++ + } + } + + if tc.deletes { + // The DaemonSet, ServiceAccount, RBAC, and ConfigMap. + require.Equal(t, 7, deletes) + } else { + require.Zero(t, deletes, "pre-rename objects deleted without a live replacement") + } + }) + } +} From b510de3cccfa0105a2b307def05b4ce11c4aeb3f Mon Sep 17 00:00:00 2001 From: Jordan Olshevski Date: Wed, 28 Oct 2026 17:47:08 +0000 Subject: [PATCH 06/11] operator: keep containment for racer-dataplane grants until removed planContainment only checks the renamed admission guards, and rename cleanup waits for a live replacement and never runs without a ClusterCache. Revoke the owned pre-rename RoleBinding and ClusterRoleBinding whenever a pre-rename policy or binding is missing, terminating, or no longer operator managed, in both Plan branches. --- internal/operator/components/racer/racer.go | 29 +++ internal/operator/components/racer/rename.go | 74 ++++++++ .../operator/components/racer/rename_test.go | 169 ++++++++++++++++++ 3 files changed, 272 insertions(+) diff --git a/internal/operator/components/racer/racer.go b/internal/operator/components/racer/racer.go index 4fa490e608..61ad7d421e 100644 --- a/internal/operator/components/racer/racer.go +++ b/internal/operator/components/racer/racer.go @@ -73,6 +73,22 @@ func (Component) Plan(ctx context.Context, env *component.Env, _ []machinav1.Sit return nil, component.Result{}, err } + renamed, err := planRenamedContainment(ctx, env) + if err != nil { + return nil, component.Result{}, err + } + + // Pre-rename grants retained here are guarded the same way. The rename + // cleanup itself waits for a ClusterCache, consistent with retaining + // the existing installation. + if renamed != nil { + if containment == nil { + containment = component.NewPlan() + } + + containment.Merge(renamed) + } + if containment != nil { return containment, component.NotReadyAfter(reasonGuards, "revoking Racer dataplane permissions until its admission policies are restored", pendingRequeue), nil } @@ -99,6 +115,19 @@ func (Component) Plan(ctx context.Context, env *component.Env, _ []machinav1.Sit return nil, component.Result{}, err } + renamed, err := planRenamedContainment(ctx, env) + if err != nil { + return nil, component.Result{}, err + } + + if renamed != nil { + if containment == nil { + containment = component.NewPlan() + } + + containment.Merge(renamed) + } + if containment != nil { plan.Merge(containment) return plan, component.NotReadyAfter(reasonGuards, "restoring Racer admission policies before granting dataplane permissions", pendingRequeue), nil diff --git a/internal/operator/components/racer/rename.go b/internal/operator/components/racer/rename.go index 32aafab820..04db6fc010 100644 --- a/internal/operator/components/racer/rename.go +++ b/internal/operator/components/racer/rename.go @@ -185,3 +185,77 @@ func planRenamedDeletes(ctx context.Context, env *component.Env, plan *component func isRenamedManaged(obj client.Object) bool { return obj.GetAnnotations()[managerAnnotation] == component.FieldOwner || obj.GetLabels()[managerLabel] == component.FieldOwner } + +// planRenamedContainment revokes the operator-owned pre-rename grants when any +// pre-rename admission policy or binding that restricted them is missing, +// terminating, or no longer managed by this operator. planContainment covers +// only the renamed guards, and planRenamedCleanup waits for a live +// replacement and never runs without a ClusterCache, so without this the old +// identity could keep write access with no admission limits. The pre-rename +// manifests are no longer shipped, so specs cannot be compared; drift is +// detected by presence and ownership only. The old guards are never +// recreated: revoking the grants is enough, and planRenamedCleanup removes +// the guards once the grants are gone. It returns nil when nothing is +// revoked. +func planRenamedContainment(ctx context.Context, env *component.Env) (*component.Plan, error) { + rbac := rbacv1.SchemeGroupVersion + grants := []legacyObject{ + legacy(&rbacv1.RoleBinding{ObjectMeta: objectMeta(renamedDataplane)}, rbac.WithKind("RoleBinding")), + legacy(&rbacv1.ClusterRoleBinding{ObjectMeta: objectMeta(renamedDataplane)}, rbac.WithKind("ClusterRoleBinding")), + } + + var owned []legacyObject + + for _, grant := range grants { + live, err := getLegacy(ctx, env, grant) + if err != nil { + return nil, err + } + + if live == nil || live.GetDeletionTimestamp() != nil { + continue + } + + ok, err := adoptable(ctx, env, live) + if err != nil { + return nil, err + } + + if ok { + owned = append(owned, grant) + } + } + + if len(owned) == 0 { + return nil, nil + } + + healthy := true + + for _, guardName := range renamedPolicies { + for _, guard := range []legacyObject{ + legacy(&admissionv1.ValidatingAdmissionPolicy{ObjectMeta: objectMeta(guardName)}, admissionv1.SchemeGroupVersion.WithKind("ValidatingAdmissionPolicy")), + legacy(&admissionv1.ValidatingAdmissionPolicyBinding{ObjectMeta: objectMeta(guardName)}, admissionv1.SchemeGroupVersion.WithKind("ValidatingAdmissionPolicyBinding")), + } { + live, err := getLegacy(ctx, env, guard) + if err != nil { + return nil, err + } + + if live == nil || live.GetDeletionTimestamp() != nil || !isRenamedManaged(live) { + healthy = false + } + } + } + + if healthy { + return nil, nil + } + + plan := component.NewPlan() + for _, grant := range owned { + plan.Add(deleteOp(grant.obj, grant.gvk)) + } + + return plan, nil +} diff --git a/internal/operator/components/racer/rename_test.go b/internal/operator/components/racer/rename_test.go index ede47ed3f4..b1d4e102b8 100644 --- a/internal/operator/components/racer/rename_test.go +++ b/internal/operator/components/racer/rename_test.go @@ -173,3 +173,172 @@ func TestRenamedCleanupRequiresLiveReplacement(t *testing.T) { }) } } + +// renamedGrantDeletes returns the names of the pre-rename grants plan deletes. +func renamedGrantDeletes(plan *component.Plan) []string { + var deleted []string + + for _, op := range plan.Operations { + if op.Kind == component.OpDelete && op.Object.GetName() == renamedDataplane { + deleted = append(deleted, op.Object.GetKind()) + } + } + + return deleted +} + +func TestRenamedContainment(t *testing.T) { + ns := "custom-system" + now := metav1.Now() + + without := func(kind, name string) func([]client.Object) []client.Object { + return func(objects []client.Object) []client.Object { + var kept []client.Object + + for _, obj := range objects { + if obj.GetName() == name && objectKind(obj) == kind { + continue + } + + kept = append(kept, obj) + } + + return kept + } + } + + for _, tc := range []struct { + name string + mutate func([]client.Object) []client.Object + revokes bool + }{ + {name: "guards intact", mutate: func(o []client.Object) []client.Object { return o }}, + {name: "policy deleted", mutate: without("ValidatingAdmissionPolicy", renamedPolicies[0]), revokes: true}, + {name: "binding deleted", mutate: without("ValidatingAdmissionPolicyBinding", renamedPolicies[1]), revokes: true}, + { + name: "policy terminating", + mutate: func(objects []client.Object) []client.Object { + for _, obj := range objects { + if p, ok := obj.(*admissionv1.ValidatingAdmissionPolicy); ok && p.Name == renamedPolicies[2] { + p.DeletionTimestamp = &now + p.Finalizers = []string{"test/hold"} + } + } + + return objects + }, + revokes: true, + }, + { + name: "policy no longer managed", + mutate: func(objects []client.Object) []client.Object { + for _, obj := range objects { + if p, ok := obj.(*admissionv1.ValidatingAdmissionPolicy); ok && p.Name == renamedPolicies[3] { + p.Annotations = nil + } + } + + return objects + }, + revokes: true, + }, + { + name: "no grants", + mutate: func(objects []client.Object) []client.Object { + objects = without("RoleBinding", renamedDataplane)(objects) + objects = without("ClusterRoleBinding", renamedDataplane)(objects) + + return without("ValidatingAdmissionPolicy", renamedPolicies[0])(objects) + }, + }, + } { + t.Run(tc.name, func(t *testing.T) { + env := testEnv(t, tc.mutate(renamedObjects(ns, managed))...) + + plan, err := planRenamedContainment(t.Context(), env) + require.NoError(t, err) + + if !tc.revokes { + require.Nil(t, plan) + return + } + + require.NotNil(t, plan) + require.ElementsMatch(t, []string{"RoleBinding", "ClusterRoleBinding"}, renamedGrantDeletes(plan)) + require.Len(t, plan.Operations, 2, "only the grants are touched") + }) + } +} + +func TestRenamedContainmentKeepsUnmanagedGrants(t *testing.T) { + ns := "custom-system" + objects := renamedObjects(ns, func() map[string]string { return nil }) + env := testEnv(t, objects[:6]...) // No guards at all. + + plan, err := planRenamedContainment(t.Context(), env) + require.NoError(t, err) + require.Nil(t, plan, "grants the operator does not own are not revoked") +} + +func TestRenamedContainmentWithoutClusterCache(t *testing.T) { + ns := "custom-system" + objects := withoutRenamedPolicy(renamedObjects(ns, managed), renamedPolicies[0]) + env := testEnv(t, objects...) + + plan, result := planResult(t, env) + require.Equal(t, reasonGuards, result.Reason) + require.ElementsMatch(t, []string{"RoleBinding", "ClusterRoleBinding"}, renamedGrantDeletes(plan)) + + for _, op := range plan.Operations { + if op.Kind == component.OpDelete { + require.Equal(t, renamedDataplane, op.Object.GetName()) + require.Contains(t, []string{"RoleBinding", "ClusterRoleBinding"}, op.Object.GetKind(), "the retained installation is not removed") + } + } + + // With the guards intact, the retained installation is left alone. + env = testEnv(t, renamedObjects(ns, managed)...) + plan, result = planResult(t, env) + require.Empty(t, renamedGrantDeletes(plan)) + require.NotEqual(t, reasonGuards, result.Reason) +} + +func TestRenamedContainmentWithClusterCache(t *testing.T) { + ns := "custom-system" + objects := append(withoutRenamedPolicy(renamedObjects(ns, managed), renamedPolicies[0]), cacheObject("cache")) + env := testEnv(t, objects...) + + plan, result := planResult(t, env) + require.Equal(t, reasonGuards, result.Reason) + require.ElementsMatch(t, []string{"RoleBinding", "ClusterRoleBinding"}, renamedGrantDeletes(plan)) +} + +// withoutRenamedPolicy drops the pre-rename policy named policy. +func withoutRenamedPolicy(objects []client.Object, policy string) []client.Object { + var kept []client.Object + + for _, obj := range objects { + if p, ok := obj.(*admissionv1.ValidatingAdmissionPolicy); ok && p.Name == policy { + continue + } + + kept = append(kept, obj) + } + + return kept +} + +func objectKind(obj client.Object) string { + switch obj.(type) { + case *admissionv1.ValidatingAdmissionPolicy: + return "ValidatingAdmissionPolicy" + case *admissionv1.ValidatingAdmissionPolicyBinding: + return "ValidatingAdmissionPolicyBinding" + case *rbacv1.RoleBinding: + return "RoleBinding" + case *rbacv1.ClusterRoleBinding: + return "ClusterRoleBinding" + } + + return "" +} From f89ea74b9e6c32c3ad5003e2671515990a8cb41a Mon Sep 17 00:00:00 2001 From: Jordan Olshevski Date: Wed, 28 Oct 2026 17:45:04 +0000 Subject: [PATCH 07/11] operator: read the racer state UID from pre-rename objects recordedStateUID only read the racer DaemonSet and ServiceAccount, so on the first upgrade pass the state UID recorded on the operator-owned racer-dataplane objects was ignored and a lost or replaced racer-state could start a new cluster identity. Read both names, including terminating objects, and fail closed on conflicting records. --- .../operator/components/racer/dataplane.go | 46 ++++++----- .../operator/components/racer/rename_test.go | 76 +++++++++++++++++++ 2 files changed, 101 insertions(+), 21 deletions(-) diff --git a/internal/operator/components/racer/dataplane.go b/internal/operator/components/racer/dataplane.go index 48b186e3c5..1e14cfd191 100644 --- a/internal/operator/components/racer/dataplane.go +++ b/internal/operator/components/racer/dataplane.go @@ -145,35 +145,39 @@ func planDataplane(ctx context.Context, env *component.Env, plan *component.Plan // recordedStateUID returns the racer-state UID an existing installation runs // on, or empty when no managed dataplane object records one. The retired // controller's DaemonSet records none, so migration starts a new identity. +// The pre-rename DaemonSet and ServiceAccount are read too, until +// planRenamedCleanup removes them, so the rename keeps failing closed. func recordedStateUID(ctx context.Context, env *component.Env) (string, error) { var uid string - for _, obj := range []client.Object{&corev1.ServiceAccount{}, &unstructured.Unstructured{Object: map[string]any{"apiVersion": "apps/v1", "kind": "DaemonSet"}}} { - err := env.LiveReader().Get(ctx, objectKey(env, dataplaneName), obj) - if apierrors.IsNotFound(err) { - continue - } + for _, objName := range []string{dataplaneName, renamedDataplane} { + for _, obj := range []client.Object{&corev1.ServiceAccount{}, &unstructured.Unstructured{Object: map[string]any{"apiVersion": "apps/v1", "kind": "DaemonSet"}}} { + err := env.LiveReader().Get(ctx, objectKey(env, objName), obj) + if apierrors.IsNotFound(err) { + continue + } - if err != nil { - return "", err - } + if err != nil { + return "", err + } - // A terminating object still records the identity its Pods may be - // running on, so it keeps failing closed until it is gone. - if obj.GetUID() == "" || (obj.GetAnnotations()[managerAnnotation] != component.FieldOwner && obj.GetLabels()[managerLabel] != component.FieldOwner) { - continue - } + // A terminating object still records the identity its Pods may be + // running on, so it keeps failing closed until it is gone. + if obj.GetUID() == "" || (obj.GetAnnotations()[managerAnnotation] != component.FieldOwner && obj.GetLabels()[managerLabel] != component.FieldOwner) { + continue + } - recorded := obj.GetAnnotations()[stateUIDAnnotation] - if recorded == "" { - continue - } + recorded := obj.GetAnnotations()[stateUIDAnnotation] + if recorded == "" { + continue + } - if uid != "" && uid != recorded { - return "", fmt.Errorf("racer dataplane ServiceAccount and DaemonSet record different racer-state UIDs") - } + if uid != "" && uid != recorded { + return "", fmt.Errorf("racer dataplane ServiceAccounts and DaemonSets (%s, %s) record different racer-state UIDs", dataplaneName, renamedDataplane) + } - uid = recorded + uid = recorded + } } return uid, nil diff --git a/internal/operator/components/racer/rename_test.go b/internal/operator/components/racer/rename_test.go index b1d4e102b8..6ba8aa0661 100644 --- a/internal/operator/components/racer/rename_test.go +++ b/internal/operator/components/racer/rename_test.go @@ -270,6 +270,69 @@ func TestRenamedContainment(t *testing.T) { } } +func TestRecordedStateUIDReadsRenamedObjects(t *testing.T) { + ns := "custom-system" + record := func(uid string) map[string]string { + return map[string]string{managerAnnotation: component.FieldOwner, stateUIDAnnotation: uid} + } + now := metav1.Now() + + for label, tc := range map[string]struct { + objects []client.Object + want string + err string + }{ + "no records": {}, + "only old DaemonSet records": { + objects: []client.Object{&appsv1.DaemonSet{ObjectMeta: metav1.ObjectMeta{Name: renamedDataplane, Namespace: ns, UID: "ds", Annotations: record("state-1")}}}, + want: "state-1", + }, + "only old ServiceAccount records": { + objects: []client.Object{&corev1.ServiceAccount{ObjectMeta: metav1.ObjectMeta{Name: renamedDataplane, Namespace: ns, UID: "sa", Annotations: record("state-1")}}}, + want: "state-1", + }, + "old DaemonSet terminating": { + objects: []client.Object{&appsv1.DaemonSet{ObjectMeta: metav1.ObjectMeta{ + Name: renamedDataplane, Namespace: ns, UID: "ds", Annotations: record("state-1"), + DeletionTimestamp: &now, Finalizers: []string{"example.com/hold"}, + }}}, + want: "state-1", + }, + "old and new agree": { + objects: []client.Object{ + &appsv1.DaemonSet{ObjectMeta: metav1.ObjectMeta{Name: renamedDataplane, Namespace: ns, UID: "old", Annotations: record("state-1")}}, + &appsv1.DaemonSet{ObjectMeta: metav1.ObjectMeta{Name: dataplaneName, Namespace: ns, UID: "new", Annotations: record("state-1")}}, + }, + want: "state-1", + }, + "old and new conflict": { + objects: []client.Object{ + &corev1.ServiceAccount{ObjectMeta: metav1.ObjectMeta{Name: renamedDataplane, Namespace: ns, UID: "old", Annotations: record("state-1")}}, + &appsv1.DaemonSet{ObjectMeta: metav1.ObjectMeta{Name: dataplaneName, Namespace: ns, UID: "new", Annotations: record("state-2")}}, + }, + err: "different racer-state UIDs", + }, + "unmanaged old object ignored": { + objects: []client.Object{&appsv1.DaemonSet{ObjectMeta: metav1.ObjectMeta{ + Name: renamedDataplane, Namespace: ns, UID: "ds", Annotations: map[string]string{stateUIDAnnotation: "state-1"}, + }}}, + }, + } { + t.Run(label, func(t *testing.T) { + env := testEnv(t, tc.objects...) + + uid, err := recordedStateUID(t.Context(), env) + if tc.err != "" { + require.ErrorContains(t, err, tc.err) + return + } + + require.NoError(t, err) + require.Equal(t, tc.want, uid) + }) + } +} + func TestRenamedContainmentKeepsUnmanagedGrants(t *testing.T) { ns := "custom-system" objects := renamedObjects(ns, func() map[string]string { return nil }) @@ -342,3 +405,16 @@ func objectKind(obj client.Object) string { return "" } + +func TestRenamedStateRecordFailsClosed(t *testing.T) { + ns := "custom-system" + ds := &appsv1.DaemonSet{ObjectMeta: metav1.ObjectMeta{ + Name: renamedDataplane, Namespace: ns, UID: "ds", + Annotations: map[string]string{managerAnnotation: component.FieldOwner, stateUIDAnnotation: "lost-state"}, + }} + env := testEnv(t, ds, cacheObject("cache")) + + // racer-state is gone, so the first pass must not mint a new identity. + _, _, err := (Component{}).Plan(t.Context(), env, nil) + require.ErrorContains(t, err, "missing") +} From e7e2404b662c60b9ad791b839ca7fbf74c10ab38 Mon Sep 17 00:00:00 2001 From: Jordan Olshevski Date: Wed, 28 Oct 2026 18:00:36 +0000 Subject: [PATCH 08/11] operator: requeue while racer-dataplane cleanup is pending --- internal/operator/components/racer/racer.go | 15 ++++++++++++--- .../operator/components/racer/rename_test.go | 19 +++++++++++++++++++ 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/internal/operator/components/racer/racer.go b/internal/operator/components/racer/racer.go index 61ad7d421e..85ad54f6cc 100644 --- a/internal/operator/components/racer/racer.go +++ b/internal/operator/components/racer/racer.go @@ -201,9 +201,12 @@ func planInstall(ctx context.Context, env *component.Env, plan *component.Plan, } // Remove what this operator applied under the pre-rename names once the - // new DaemonSet is observed live; its creation event requeues this - // component. A config with a UID was read live. - if _, err := planRenamedCleanup(ctx, env, plan, config.UID != ""); err != nil { + // new DaemonSet is observed live. A config with a UID was read live. The + // cleanup is staged across passes and the old objects are not watched, so + // a pending cleanup requeues shortly rather than waiting for the hourly + // resync. + cleaning, err := planRenamedCleanup(ctx, env, plan, config.UID != "") + if err != nil { return nil, component.Result{}, err } @@ -220,6 +223,12 @@ func planInstall(ctx context.Context, env *component.Env, plan *component.Plan, return plan, component.NotReadyAfter(reasonOriginPending, "Racer origins wait for the racer DaemonSet placement", 30*time.Second), nil } + if cleaning { + // The new installation is in place; only pre-rename leftovers remain, + // so this stays ready and just re-checks soon. + return plan, component.ReconciledAfter("Racer dataplane installation reconciled; removing pre-rename objects", pendingRequeue), nil + } + return plan, component.ReconciledAfter("Racer dataplane installation reconciled", time.Hour), nil } diff --git a/internal/operator/components/racer/rename_test.go b/internal/operator/components/racer/rename_test.go index 6ba8aa0661..8ab16f3c39 100644 --- a/internal/operator/components/racer/rename_test.go +++ b/internal/operator/components/racer/rename_test.go @@ -5,6 +5,7 @@ package racer import ( "testing" + "time" "github.com/google/uuid" "github.com/stretchr/testify/require" @@ -73,6 +74,24 @@ func TestRenamedObjectsAreRemoved(t *testing.T) { require.True(t, exists(t, env, &appsv1.DaemonSet{ObjectMeta: metav1.ObjectMeta{Name: dataplaneName, Namespace: ns}})) } +func TestRenamedCleanupRequeuesUntilDone(t *testing.T) { + ns := "custom-system" + env := testEnv(t, append(renamedObjects(ns, managed), cacheObject("cache"))...) + initialize(t, env) + + // Old objects remain after the replacement is live: re-check soon. + plan, result := planResult(t, env) + require.True(t, result.Ready) + require.Equal(t, pendingRequeue, result.RequeueAfter) + persist(t, env, plan) + + settle(t, env) + + _, result = planResult(t, env) + require.True(t, result.Ready) + require.Equal(t, time.Hour, result.RequeueAfter) +} + func TestRenamedCleanupWaitsForNewDaemonSet(t *testing.T) { ns := "custom-system" env := testEnv(t, append(renamedObjects(ns, managed), cacheObject("cache"))...) From 14bd64b56e3083700de8602bbc36ab570db5d139 Mon Sep 17 00:00:00 2001 From: Jordan Olshevski Date: Wed, 28 Oct 2026 18:13:04 +0000 Subject: [PATCH 09/11] operator: resolve racer settings key collisions deterministically --- internal/operator/components/racer/rename.go | 30 ++++++++++++++--- .../operator/components/racer/rename_test.go | 32 +++++++++++++++++++ 2 files changed, 58 insertions(+), 4 deletions(-) diff --git a/internal/operator/components/racer/rename.go b/internal/operator/components/racer/rename.go index 04db6fc010..890827f209 100644 --- a/internal/operator/components/racer/rename.go +++ b/internal/operator/components/racer/rename.go @@ -15,6 +15,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" "github.com/Azure/unbounded/internal/operator/component" + "github.com/Azure/unbounded/internal/racer/workload" ) // Names used before the racer-dataplane component was renamed to racer. The @@ -56,17 +57,38 @@ func renamedConfigData(ctx context.Context, env *component.Env) (map[string]stri return nil, fmt.Errorf("%s is %T, not a ConfigMap", renamedConfig, live) } - data := map[string]string{} + return translateRenamedKeys(cm.Data), nil +} - for key, value := range cm.Data { +// translateRenamedKeys renames "RACER_DATAPLANE_" keys to "RACER_". When both +// spellings of a key are present, the one that was in effect before the +// rename wins, so the result never depends on map iteration order. The +// pre-rename operator read only "RACER_DATAPLANE_NVIDIA" (now +// workload.NVIDIAKey), so that prefixed value wins. Every other key reached the +// dataplane only through envFrom, where it read the unprefixed "RACER_" name, +// so the unprefixed value wins. +func translateRenamedKeys(in map[string]string) map[string]string { + data := make(map[string]string, len(in)) + + for key, value := range in { if rest, found := strings.CutPrefix(key, renamedKeyPrefix); found { - key = "RACER_" + rest + data["RACER_"+rest] = value + } + } + + for key, value := range in { + if strings.HasPrefix(key, renamedKeyPrefix) { + continue + } + + if _, prefixed := in[renamedKeyPrefix+"NVIDIA"]; prefixed && key == workload.NVIDIAKey { + continue } data[key] = value } - return data, nil + return data } // planRenamedCleanup deletes the operator-owned objects left under the diff --git a/internal/operator/components/racer/rename_test.go b/internal/operator/components/racer/rename_test.go index 8ab16f3c39..edfd24c7e4 100644 --- a/internal/operator/components/racer/rename_test.go +++ b/internal/operator/components/racer/rename_test.go @@ -437,3 +437,35 @@ func TestRenamedStateRecordFailsClosed(t *testing.T) { _, _, err := (Component{}).Plan(t.Context(), env, nil) require.ErrorContains(t, err, "missing") } + +func TestTranslateRenamedKeys(t *testing.T) { + for name, tc := range map[string]struct { + in, want map[string]string + }{ + "prefixed wins over unprefixed": { + in: map[string]string{"RACER_DATAPLANE_NVIDIA": "cdi", "RACER_NVIDIA": "off"}, + want: map[string]string{"RACER_NVIDIA": "cdi"}, + }, + "prefixed wins the other way": { + in: map[string]string{"RACER_DATAPLANE_NVIDIA": "off", "RACER_NVIDIA": "cdi"}, + want: map[string]string{"RACER_NVIDIA": "off"}, + }, + "unprefixed wins for keys the dataplane read": { + in: map[string]string{"RACER_DATAPLANE_SHARES": "3", "RACER_SHARES": "7"}, + want: map[string]string{"RACER_SHARES": "7"}, + }, + "no collision": { + in: map[string]string{"RACER_DATAPLANE_NVIDIA": "env", "RACER_SHARES": "7"}, + want: map[string]string{"RACER_NVIDIA": "env", "RACER_SHARES": "7"}, + }, + "empty": {in: nil, want: map[string]string{}}, + } { + t.Run(name, func(t *testing.T) { + // Map iteration order varies per range; repeat so an order + // dependence cannot pass by luck. + for range 100 { + require.Equal(t, tc.want, translateRenamedKeys(tc.in)) + } + }) + } +} From 0b227c91458483e9e0fba48f2a6285c69f984bd7 Mon Sep 17 00:00:00 2001 From: Jordan Olshevski Date: Wed, 28 Oct 2026 23:58:44 +0000 Subject: [PATCH 10/11] operator: validate carried-over racer settings before rollout --- .../operator/components/racer/dataplane.go | 6 ++++ .../operator/components/racer/rename_test.go | 36 +++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/internal/operator/components/racer/dataplane.go b/internal/operator/components/racer/dataplane.go index 1e14cfd191..ade3f48fc2 100644 --- a/internal/operator/components/racer/dataplane.go +++ b/internal/operator/components/racer/dataplane.go @@ -65,6 +65,12 @@ func planDataplaneConfig(ctx context.Context, env *component.Env, plan *componen } if renamed != nil { + // Reject bad carried-over values before the new DaemonSet rolls + // out, as for an existing racer-settings. + if err := validateDataplaneConfig(renamed); err != nil { + return nil, err + } + config.Data = renamed } diff --git a/internal/operator/components/racer/rename_test.go b/internal/operator/components/racer/rename_test.go index edfd24c7e4..e7e8f562d7 100644 --- a/internal/operator/components/racer/rename_test.go +++ b/internal/operator/components/racer/rename_test.go @@ -74,6 +74,42 @@ func TestRenamedObjectsAreRemoved(t *testing.T) { require.True(t, exists(t, env, &appsv1.DaemonSet{ObjectMeta: metav1.ObjectMeta{Name: dataplaneName, Namespace: ns}})) } +// An invalid pre-rename setting fails the plan before racer-settings or the +// new DaemonSet exists, so the old installation keeps running. +func TestRenamedInvalidConfigBlocksRollout(t *testing.T) { + ns := "custom-system" + objects := renamedObjects(ns, managed) + + for _, obj := range objects { + if config, ok := obj.(*corev1.ConfigMap); ok { + config.Data["RACER_DATAPLANE_GPU_STAGING_BYTES"] = "1048576" + } + } + + env := testEnv(t, append(objects, cacheObject("cache"))...) + + var err error + + for range 5 { + var plan *component.Plan + + plan, _, err = (Component{}).Plan(t.Context(), env, nil) + if err != nil { + break + } + + persist(t, env, plan) + } + + require.ErrorContains(t, err, "RACER_GPU_STAGING_BYTES") + require.False(t, exists(t, env, &corev1.ConfigMap{ObjectMeta: metav1.ObjectMeta{Name: dataplaneConfigName, Namespace: ns}})) + require.False(t, exists(t, env, &appsv1.DaemonSet{ObjectMeta: metav1.ObjectMeta{Name: dataplaneName, Namespace: ns}})) + + for _, obj := range renamedObjects(ns, managed) { + require.True(t, exists(t, env, obj), "%T %s removed", obj, obj.GetName()) + } +} + func TestRenamedCleanupRequeuesUntilDone(t *testing.T) { ns := "custom-system" env := testEnv(t, append(renamedObjects(ns, managed), cacheObject("cache"))...) From b9c102ef4b50049cc4948f6e1c84ae130e4defaa Mon Sep 17 00:00:00 2001 From: Jordan Olshevski Date: Thu, 29 Oct 2026 17:55:21 +0000 Subject: [PATCH 11/11] racer: ignore leaked client test directories --- cmd/racer/.gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/cmd/racer/.gitignore b/cmd/racer/.gitignore index b83d22266a..ec7ed6400d 100644 --- a/cmd/racer/.gitignore +++ b/cmd/racer/.gitignore @@ -1 +1,2 @@ /target/ +/.client-test-*/