oxidecomputer / oxidecomputer/omicron

A non-E2E test should fail when you use a SQL enum name without `omicron.public.`

Open
#4,687 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Testing & Analysis
Dominant language
Rust
Stars
572
Forks
97
Avg merge
2d 12h
Merged PRs (30d)
96

Description

In https://github.com/oxidecomputer/omicron/pull/4261/commits/5db1f09e3b7209f51a4b0f8e88aa0b464912c7a2 I fixed an issue caused by me using ip_pool_resource_type instead of omicron.public.ip_pool_resource_type in two spots. It took a while to catch this mistake because all the regular tests (integration, datastore, etc.) passed. It only failed in the E2E tests. This is what showed up in the sled agent logs.

Failed to initialize CockroachDb... <a lot of stuff> ... ERROR: type "ip_pool_resource_type" does not exist

Something about the E2E configuration makes the omicron.public. bit necessary. It would be good to check for that in the regular tests with a nice failure message in order to make it easier to see the problem and fix it.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the regular integration and datastore tests that exercise CockroachDB enum references, then compare them with the E2E configuration described in the issue. Reproduce the unqualified ip_pool_resource_type reference and identify where a regular test can detect it. Done means a non-E2E test fails with a clear message when omicron.public. is omitted.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust, sql
Domain
databases, testing-qa
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.