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]

Reply via email to