[ 
https://issues.apache.org/jira/browse/AMBARI-26627?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jialiang Cai reassigned AMBARI-26627:
-------------------------------------

    Assignee: Jialiang Cai

> 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
>            Assignee: Jialiang Cai
>            Priority: Major
>
> 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