[antithesis] first cut of the Antithesis harness for Nexus and CockroachDB - #11239
Draft
sunshowers wants to merge 1 commit into
Draft
Conversation
…achDB Adds an antithesis/ directory (Dockerfile, compose topology, configs, workload crate, test commands, scratchbook) so the simulated control plane can run under Antithesis, plus the omicron changes that requires: - an `antithesis` cargo profile and per-binary `antithesis` features that link the Antithesis SDK and instrumentation; the SDK compiles to no-ops otherwise, and hakari excludes both crates so that stays true. - a few SDK assertions in Nexus (external API started, CRDB transaction retried, saga completed/unwound, saga unwinding never fails). - standalone sled-agent-sim fixes so it can perform the RSS handoff on real (non-loopback) addresses: repo depot no longer binds the sled agent's port (omicron#4421), the rack subnet and gz address derive from the sled IP, the sled config is ledgered before the handoff as RSS does, the initial DNS config carries the internal DNS and Nexus zones, the Nexus zone id is configurable so Nexus can find itself in the blueprint, an external internal-DNS server can be populated instead of the in-process one, CockroachDB nodes can be recorded for from_dns discovery, and the request body limit matches the test harness. Locally the five-container stack reaches setup_complete, `snouty validate` passes (exactly one copy of each test command, in the workload image), and the seed and sagas-settle test commands pass. Still blocked on Antithesis: tenant, credentials (the tenant and repository entries in .snouty.toml), IPv6 network confirmation.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
From Claude
Adds an antithesis/ directory (Dockerfile, compose topology, configs, workload crate, test commands, scratchbook) so the simulated control plane can run under Antithesis, plus the omicron changes that requires:
antithesiscargo profile and per-binaryantithesisfeatures that link the Antithesis SDK and instrumentation; the SDK compiles to no-ops otherwise, and hakari excludes both crates so that stays true.Locally the five-container stack reaches setup_complete,
snouty validatepasses (exactly one copy of each test command, in the workload image), and the seed and sagas-settle test commands pass.TODO: