Skip to content

[Problem RFC] Node Routing Table Wipeout #794

Closed

Description

@keremakcali

Hello, I have been working on the evaluation task and would like to propose a new benchmark problem.

This problem is inspired by an incident at Datadog in 2023, where an unintended OS update caused systemd-networkd to wipe out all routing table rules. Since the CNI adds these rules only during the startup of pods on the node, they cannot be restored automatically. This leaves the pods on the affected node isolated from the rest of the cluster.
Reference: https://www.datadoghq.com/blog/engineering/2023-03-08-deep-dive-into-platform-level-impact/

This failure is interesting because standard kubectl tools show a very limited amount of information. In my testing with the social-network app, only two pods seemed unresponsive to the readinessProbe and one eventually crashed, while others were seemingly fine. The main diagnostic route I discovered was the Prometheus probe_success metric. Probes are unsuccessful for pods on the node with the flushed routing table.

In my implementation, I plan to simulate the problem simply by deleting the routing table entries on a working node, without introducing the other complexities of the original incident. The expectation is for the agent to somehow restore these entries and get everything running again.

I have somewhat limited experience with these things, so I don't yet have a clear idea of the exact implementation details. I wanted to post this here to get some feedback and confirm if this problem is a viable addition to SREGym before continuing with the implementation.

Activity

  1. Saadmrp1038 commented on May 27, 2026

    @Saadmrp1038
    Collaborator

    @keremakcali This looks like an interesting fault! It's definitely viable and unique.

    I have somewhat limited experience with these things

    That's totally fine. Take you time. If you get stuck or need help feel free to ping us!

  2. tianyin commented on May 30, 2026

    @tianyin
    Contributor

    close this RFC as it is implemented in #818

    We will review #818

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions