KUBE-181: Validate MongoDBSearch GA operator upgrades#1393
Conversation
a0f1469 to
752df7e
Compare
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
aa6d2ad to
e3b6b68
Compare
|
|
||
| def test_install_latest_official_operator(self, namespace: str, official_operator: Operator): | ||
| official_operator.wait_for_operator_ready() | ||
| def test_install_ga_operator(self, namespace: str, ga_operator: Operator): |
There was a problem hiding this comment.
The 1.9.0 pin is an input, not an asserted invariant: nothing checks the running operator is actually 1.9.0 after install. If GA_OPERATOR_VERSION silently floated to another valid version (or the param were dropped), every later check still passes because all version assertions are relative. Suggest asserting the operator Deployment's image tag == GA_OPERATOR_VERSION right after wait_for_operator_ready().
| @@ -202,7 +230,7 @@ def test_verify_mongot_version_after_upgrade(self, namespace: str, operator_inst | |||
| assert_mongot_version_matches_operator(namespace, operator, "post-upgrade") | |||
There was a problem hiding this comment.
Strict ==, but both sides come from the same operator (its MDB_SEARCH_VERSION env vs its own mongot image) — this validates internal consistency, so a no-op 'upgrade' (same image both sides) passes. Capture MDB_SEARCH_VERSION pre-upgrade and assert post-upgrade it differs (or pre == the 1.9.0-expected tag). Related, pre-existing: get_mongot_image_tag (~line 48) swallows all exceptions with except Exception: continue, which can mask a transient API error as 'not found' — worth tightening since it's the oracle these assertions rest on.
[skip-ci]
Summary
MongoDBSearch upgrades must continuously validate migration from the first GA MCK release to the current operator. This pins the released operator fixture to MCK 1.9.0, keeps every Search and mongot-version assertion strict, and allows the post-upgrade AppDB up to 600 seconds to reach its actual
Runningstate. The non-static Search upgrade task is permanently enabled while the static duplicate remains excluded.Jira: KUBE-181
Proof of Work
6a5a466cd981fd0007360290: 57 requested tasks (all 56 executable Search targets plusunit_tests_golang) and 12 dependencies; 56/57 requested and 12/12 dependencies succeeded. The sole failure was deterministic, not infrastructure: AppDB convergence exceeded the former 300-second wait after every Search creation, query, post-upgradeRunning, and mongot-version assertion passed.6a5a542dd939420008b7043d: the same 57 requested tasks and 12 dependencies all succeeded (69/69), includinge2e_search_connectivity_tool_mc_sharded, with zero retries, flakes, or static variants.Checklist
skip-changelogapplies because this changes test and CI coverage only.skip-ci