Jialiang Cai created AMBARI-26627:
-------------------------------------
Summary: Align React Services and Configs workflows with Classic
Ambari
Key: AMBARI-26627
URL: https://issues.apache.org/jira/browse/AMBARI-26627
Project: Ambari
Issue Type: Improvement
Reporter: Jialiang Cai
h2. Description
The React frontend does not fully preserve the Classic Ambari behavior for
service navigation, global and per-service operations, Quick Links, service
configuration, configuration groups, Add Service, and Reassign Master.
A source-level audit of all 60 non-Metrics Module 04 feature IDs found incorrect
REST resources and payloads, incomplete permission and feature-flag gates,
unowned asynchronous operations, incomplete retry behavior, and wizard
persistence differences. Metrics and Module 03 Hosts-owned behavior are
explicitly outside this change.
h2. Proposed Changes
* Converge service routes, invalid service IDs, unauthorized Configs tabs, and
browser Back/Forward navigation.
* Align Start/Stop All, Restart All Required, maintenance mode, service checks,
custom commands, client downloads, and Flume handler operations.
* Correct Quick Link descriptor, protocol, placeholder, public-host, configured
host, and running-host resolution.
* Save complete desired-config replacements, await all owned requests, preserve
deleted custom properties, and recover correctly from failed saves.
* Align configuration history permissions, Make Current behavior, and config
group copy, membership move, deletion, and retry semantics.
* Preserve Add Service ownership without changing cluster provisioning state.
* Validate Reassign Master topology before mutation, load component-specific
manual steps, await database checks, and provide the Classic narrow rollback.
* Add focused Vitest coverage for API contracts, state transitions, failures,
retries, persistence, and compatibility decisions.
* Record all remaining runtime-only and Module 03 integration scenarios in the
Module 04 acceptance matrix.
h2. Compatibility Decisions
* Preserve Classic global Restart All Required as one stale-component request;
rolling and scheduled restart remain per-service behaviors.
* Preserve the Classic outer all-services menu permission gate.
* Treat desired-config PUT operations as full config-type replacements.
* Keep browser-managed downloads and external Quick Links as direct navigation.
* Do not update cluster provisioning state when Add Service completes.
* Do not duplicate or modify Module 03 Hosts-owned action helpers.
* Exclude all Metrics functionality.
h2. Acceptance Criteria
* Every non-Metrics Module 04 feature ID has an evidence-backed React status.
* Corrected REST methods, resources, predicates, parameters, and payloads have
focused executable coverage.
* Permission, feature-flag, wizard, upgrade, and direct-route gates match the
reviewed Classic behavior.
* Owned asynchronous operations settle deterministically and expose recovery.
* No Hosts-owned or Metrics files are modified.
* Focused and full Vitest suites pass.
* TypeScript and Vite production build passes.
* ESLint introduces no findings on added lines.
* {{git diff --check}} passes.
h2. Verification
* Focused Vitest: 15 files, 50 tests passed.
* Full Vitest: 29 files, 113 tests passed.
* TypeScript/Vite production build passed.
* Full ESLint was executed and reported the existing repository baseline of
5,776 errors and 455 warnings.
* New Module 04 files and all added lines have zero ESLint findings.
* {{git diff --check}} passed.
* Live Ambari Server acceptance scenarios remain explicitly pending.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]