Repository navigation
fix(workflow): keep RC connector extras and fail sentinel on missing extras - #2011
Merged
Merged
Conversation
…extras The baremetal host smoke ran `uv sync --extra compressed`. uv sync is exact, so it pruned pymongo (extra nosql). The Mongo connector then stored reason=unreachable, and the RC sentinel skipped the optional Mongo rule on the closed probe port and ended SENTINEL_OK. - Smoke prepare syncs compressed plus the extras the --bench-config targets need (scripts/rc_bench_extras.py list, from optional_extra_for_target), then `verify` fails the prepare when a distribution of those extras is missing. - MongoDB and Redis connectors record missing_optional_dependency when the nosql extra is absent, like SMB and WebDAV already do. - The sentinel fails on any missing_optional_dependency in the latest session before optional probes run. Real runs, RC v2 config copy with sqlite under /tmp, port 27018 closed: pymongo blocked -> scan_failures missing_optional_dependency -> SENTINEL_FAIL (exit 1); pymongo present -> SKIP -> SENTINEL_OK. Refs DataBoar/maestro#91 Refs DataBoar/maestro#92
Confirm-TargetDbSyntheticData in maestro now uses docker exec against named lab containers (lab-postgres, lab-mariadb, lab-mongodb), not docker compose exec -T. Update the three contract assertions so the sibling-maestro gate matches Lab-MaestroCommon.ps1 again. Refs #2010
Collaborator
Author
|
bugbot run |
Contributor
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 5fa2bf8. Configure here.
CI on Python 3.12/3.14 runs without the nosql extra, so pymongo is absent and MongoDBConnector.run() returns early on the missing-extra guard (maestro#91). The dedup test stubs connect() but must assert sampling behavior; mirror test_security and test_crypto_controls_audit by patching _MONGO_AVAILABLE True for the run() call. Refs #2011
2 of 3 tasks
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.
Summary
Two commits on
fix/maestro-91-rc-extras-sentinel:b900f9c7— maestro#91 (RC smoke + sentinel)uv syncwith--extra compressedplus the extras derived from the active--bench-config(scripts/rc_bench_extras.py listviaoptional_extra_for_target; RC v2 →nosql, v3 →mysql,nosql,postgres,shares).rc_bench_extras.py verifyfails the prepare when a distribution for those extras is missing after sync.scan_failures.reason=missing_optional_dependencywhen thenosqlextra is absent (notunreachable).benchmark_rc_sentinel_check.pyfails on anymissing_optional_dependencyin the latest session before optional connector probes, so a closed lab port cannot yieldSKIP+SENTINEL_OKwhile the tool is misconfigured.5fa2bf8d— [P2][chore][tests] test_confirm_target_db_synthetic_data_contract quebrado desde maestro a3caa33 (compose exec → docker exec): check-all sai 1 no T14 #2010 (sibling-maestro contract test)test_confirm_target_db_synthetic_data_contractnow expectsdocker exec lab-postgres psql,docker exec lab-mariadb mariadb, anddocker exec lab-mongodb mongosh, matching currentLab-MaestroCommon.ps1(replacing staledocker compose exec -T/ compose-file paths).Real-run evidence (RC v2 config copy, sqlite under
/tmp, Mongo probe port 27018 closed)pymongoblocked in-processscan_failures→missing_optional_dependency; sentinel →SENTINEL_FAIL, exit 1pymongopresentSKIP optional lab_mongo_lgpd; sentinel →SENTINEL_OKPrepare path validated in a temp worktree: bootstrap sync derives
--extra nosqlfor v2; v3 derives four extras; pruning tocompressedonly makesverifyemitEXTRA_MISSINGforpymongo/redis.Test plan
rc_bench_extras, connectors) +MAESTRO_ROOT=… pytest tests/test_maestro_scripts.py(82 passed)./scripts/check-all.sh— exit 0 (3174 passed)Pendência declarada
postgres,mariadb,oracle-xe,mssql) após a limpeza de disco de 27/set — download com confirmação do operador na hora.Follow-up (fora desta PR)
uv syncderivado do config noengine/lab-completao-host-smoke.shdo maestro permanece adiado (repo privado / custo de CI).Closes #2010
Refs DataBoar/maestro#91
Note
Low Risk
Changes affect RC/lab smoke tooling and failure classification for optional connectors; production scan paths only gain clearer failure reasons when extras are missing.
Overview
Fixes maestro#91, where host smoke ran
uv sync --extra compressedonly, pruned connector deps (e.g.pymongo), and RC sentinel treated missing extras like lab outages when optional probe ports were closed.Host smoke prepare now derives optional extras from
--bench-configtargets via newscripts/rc_bench_extras.py(list/verify), passes them touv syncalongsidecompressed, and fails prepare if distributions are still missing after sync.MongoDB and Redis connectors record
scan_failureswithreason=missing_optional_dependencywhen thenosqlextra is absent, instead ofunreachable.RC sentinel (
benchmark_rc_sentinel_check.py) fails the latest completed session on anymissing_optional_dependencybefore optional connector probes, so a closed lab port cannot yield SKIP +SENTINEL_OK.Also updates #2010 maestro contract test expectations from
docker compose exec -Ttodocker exec … psql/mariadb/mongoshto match current lab scripts.Reviewed by Cursor Bugbot for commit 5fa2bf8. Bugbot is set up for automated code reviews on this repo. Configure here.