You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ambari.apache.org by "Jialiang Cai (Jira)" <ji...@apache.org> on 2026/09/07 09:05:00 UTC

[jira] [Assigned] (AMBARI-26629) Complete React cluster installation workflow parity

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

Jialiang Cai reassigned AMBARI-26629:
-------------------------------------

    Assignee: Jialiang Cai

> Complete React cluster installation workflow parity
> ---------------------------------------------------
>
>                 Key: AMBARI-26629
>                 URL: https://issues.apache.org/jira/browse/AMBARI-26629
>             Project: Ambari
>          Issue Type: Improvement
>            Reporter: Jialiang Cai
>            Assignee: Jialiang Cai
>            Priority: Major
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> <!---
>    Licensed to the Apache Software Foundation (ASF) under one or more
>    contributor license agreements.  See the NOTICE file distributed with
>    this work for additional information regarding copyright ownership.
>    The ASF licenses this file to You under the Apache License, Version 2.0
>    (the "License"); you may not use this file except in compliance with
>    the License.  You may obtain a copy of the License at
>        http://www.apache.org/licenses/LICENSE-2.0
>    Unless required by applicable law or agreed to in writing, software
>    distributed under the License is distributed on an "AS IS" BASIS,
>    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
>    See the License for the specific language governing permissions and
>    limitations under the License.
> -->
> h2. Problem
> The React cluster installation module exposes New Cluster, Add Host, and Add
> Service wizards, but it does not yet provide a reliable equivalent to the
> Classic Ember workflows. Direct routes are not consistently protected,
> wizard state can be lost or overwritten during navigation and reload, version
> definition requests use a hard-coded stack, and installation can advance after
> failed resource creation. Deploy polling also loses request identity, exposes
> invalid transitions, and does not restore the Classic completion checkpoints.
> Several conditional branches are incomplete, including Linux, manual Agent,
> and Windows host registration, JDK checks, managed repositories, services with
> no assignable components or configurations, Kerberos descriptor and credential
> flows, configuration groups, and installation with component start disabled.
> The result is a wizard that can render every numbered page without preserving
> the state machine, API ordering, and failure-recovery guarantees of Classic.
> This issue covers the complete non-Metrics Cluster Installation module defined
> by the audited Classic baseline. Metrics services, metric widgets, charts, and
> Metrics data APIs are outside this scope.
> h2. Scope
> * Enforce New Cluster, Add Host, and Add Service route permissions, feature
>   flags, active-operation conflicts, and wizard ownership at direct-entry and
>   mutation boundaries.
> * Serialize wizard hydration and persistence so every forward or backward
>   transition stores the resulting data and destination step before navigation,
>   and restore Classic server checkpoints without replaying mutations.
> * Use the selected stack for stack, version, operating-system, repository, and
>   Advisor requests; retain XML or URL version-definition sources through the
>   non-dry-run Review submission.
> * Match public, local XML, local URL, Satellite, managed-repository, URL-skip,
>   and Ambari Server JDK compatibility branches.
> * Match Linux SSH, manual Agent, and HDPWIN PowerShell registration, runtime
>   Agent-user support, host normalization, installed/suspicious host handling,
>   bootstrap, registration, host checks, the independent JDK check, selective
>   retry/removal, timeout, polling cleanup, and reload recovery.
> * Preserve service dependencies, filesystem conflicts, master and slave/client
>   cardinality, Advisor recommendations, matching validation warnings, manual
>   assignments, configuration recommendations, external tests, overrides, and
>   dirty-state navigation.
> * Skip Add Service assignment or configuration steps when component metadata
>   makes them inapplicable, and complete Kerberos descriptor, KDC type, CSV, and
>   Manual KDC responsibility behavior.
> * Make Review cleanup recoverable, retain validated repository input, create
>   clusters, services, components, hosts, host components, configurations,
>   configuration groups, and Kerberos artifacts in dependency order, and abort
>   before installation on the first failed prerequisite.
> * Add Review print, Blueprint archive, and applicable Kerberos CSV exports.
> * Persist install, start, and service-check request identities and phases; poll
>   one request at a time; restore on reload; load task logs lazily; expose Retry
>   only for the applicable failed phase; block route exit; and enable Summary
>   only at a defined terminal state.
> * Persist the correct {{*_INSTALLED_4}} checkpoint, update provisioning state only
>   for a new cluster, clear only the completed wizard, and refresh the correct
>   destination for Add Host or Add Service.
> * Add focused tests for request contracts, permission and branch boundaries,
>   state persistence, serial deployment, polling, retry, cancellation, reload,
>   and completion.
> h2. Classic UI Baseline
> The acceptance baseline is
> {{docs/frontend-refactor/ember-baseline/07-cluster-installation.md}}, feature IDs
> {{INST-MODE-001}} through {{INST-10-002}}. The detailed React comparison, complete
> state machines, API sequence, five-pass audit, and runtime matrix are recorded
> in
> {{docs/frontend-refactor/react-current/07-cluster-installation-gap.md}}.
> The audit found no new conflict between the written Module 07 baseline and the
> executable Classic source. The authoritative network review combines the AJAX
> registry and callers, direct HTTP calls, browser entry points, route and action
> inventories, permissions, feature flags, and REST polling behavior.
> h2. Acceptance Criteria
> * Direct wizard routes and mutations enforce the documented permission,
>   feature, ownership, and active-operation gates.
> * Hydration failures never overwrite persisted data, transitions persist the
>   resulting snapshot and destination step, and every documented Classic
>   checkpoint restores the correct workflow and request phase.
> * Version, repository, VDF, bootstrap, registration, host-check, JDK, Advisor,
>   validation, resource, install, start, check, task-log, and completion requests
>   match the documented URL, method, query, payload, and order.
> * New Cluster and Add Host cover Linux, manual, and HDPWIN onboarding with the
>   applicable support flags, timers, retries, removals, warnings, and reload
>   behavior.
> * Service selection and assignment preserve dependencies and cardinality;
>   Add Service skips inapplicable steps and completes all Kerberos branches.
> * Review creates every applicable resource serially, aborts on the first
>   failure, never starts installation after a failed prerequisite, and provides
>   recoverable errors without duplicating completed destructive work.
> * Deploy owns one current request and poll loop, restores the exact phase after
>   reload, prevents duplicate requests, gates Retry and Summary by terminal
>   state, blocks unsupported route exits, and cleans timers on unmount.
> * Summary reports the final host, component, service, and check outcomes,
>   persists the correct completion state, and applies new-cluster-only
>   provisioning behavior.
> * Focused Vitest suites, the full frontend test suite, the production build,
>   the Ember baseline validator, and whitespace checks pass.
> * The runtime acceptance matrix in the React gap document passes against a real
>   Ambari Server for representative stacks, roles, scale, failures, Kerberos,
>   HA prerequisites, and all three installation modes.
> h2. Compatibility Decisions
> The React implementation must not reproduce Classic failure modes that allow
> work to continue after a rejected prerequisite. Configuration-group writes and
> all dependency-ordered resource mutations are awaited, cleanup errors become
> visible and retryable, unsafe task output is not rendered as HTML, and stale
> Advisor or polling responses cannot overwrite newer state. These are deliberate
> reliability corrections, not missing parity.
> h2. Out of Scope
> * Ambari Metrics, Ganglia, Metrics services, metric widgets, charts, and metric
>   data APIs.
> * Standalone HA, Kerberos administration, Upgrade, and Reassign Master wizards;
>   Module 07 implements only their installation entry conditions and shared
>   prerequisites.
> * Module 05, Module 06, and other parallel module gap documents or workflows.
> h2. Verification Boundary
> Static code and unit tests are not sufficient to mark the 79 Feature IDs
> covered. All items remain subject to the real-cluster runtime matrix, including
> public and local repositories, Linux/manual/Windows hosts, failures at every
> Review stage, install/start/check interruption, reload and retry, permissions,
> multi-window ownership, large host sets, Kerberos, and conditional HA topology.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ambari.apache.org
For additional commands, e-mail: issues-help@ambari.apache.org