Public Access
39 lines
1.4 KiB
Markdown
39 lines
1.4 KiB
Markdown
# DEVX-178: PLAYBOOK_ROLE_MAP entry for deploy-controller playbook
|
|
|
|
## Problem
|
|
|
|
OBL-INFRA-655 adds the `deploy-controller.yml` playbook in the infra repo to the infra
|
|
repo (drives the new `deploy_controller` role). The infra molecule
|
|
coverage guard (`test_every_playbook_is_mapped`) requires every playbook
|
|
under `ansible/playbooks/` to appear in `PLAYBOOK_ROLE_MAP`. Without the
|
|
entry, the guard fails and unmapped playbooks fail open to all testable
|
|
roles — correct but wasteful.
|
|
|
|
## Approach
|
|
|
|
REQ-1: Add a `deploy-controller.yml` → `['deploy_controller']` entry
|
|
to `PLAYBOOK_ROLE_MAP` in `src/devx/molecule/molecule_changed.py` so
|
|
changes to the playbook select the `deploy_controller` molecule scenario.
|
|
|
|
## Test Plan
|
|
|
|
- Existing `test_molecule_changed.py` mapping tests cover new entries
|
|
generically; add an explicit assertion that the deploy-controller
|
|
playbook maps to `deploy_controller`.
|
|
- `make pytest-cov` (100% gate), `make lint-all`.
|
|
|
|
## Deploy Plan
|
|
|
|
Merge → devx release publishes automatically → infra dep-PR bumps the
|
|
pin; the mapping takes effect on the next infra CI run.
|
|
|
|
## Rollback Plan
|
|
|
|
Revert the squash commit; infra playbook falls back to fail-open all-role
|
|
selection (safe, slower).
|
|
|
|
## Acceptance Criteria
|
|
|
|
- [x] REQ-1: the deploy-controller playbook key maps to `["deploy_controller"]` in `PLAYBOOK_ROLE_MAP`.
|
|
- [x] Unit test pins the mapping; 100% coverage maintained.
|