Development Process for New Major Features
New major features for Ambari 3.1 require a written design before implementation. The design is discussed in Apache JIRA and must identify the user workflow, compatibility boundary, and owners.
Design requirements
Describe behavior for Ambari Server and Agent APIs, React UI routes and permissions, and telemetry or alert contracts when those surfaces are affected. Include data migration, upgrade and downgrade behavior, failure recovery, observability, security, and rollback.
Compare the proposed behavior with the relevant legacy implementation and current source. Record source evidence and call out any disagreement or known source inaccuracy; do not infer parity from names alone.
Implementation
Develop on a topic branch forked from apache/ambari:trunk. Keep shared contracts, required consumers, and focused tests together. Separate unrelated cleanup, generated evidence, and broad mechanical edits.
Stage only intended files and review git diff --cached before each commit. Use the JIRA key in commit subjects. Preserve API identifiers and document compatibility for downstream users.
Validation and review
Test success, failure, retry, refresh, and recovery paths. Run focused Server, Agent, React, and telemetry tests, then record exact commands, skipped tests, and residual risks in the pull request.
Open the pull request from your fork to apache/ambari:trunk. The author must not approve it; require independent review from owners of each affected surface and merge only after required checks and evidence pass.