JiaLiangC opened a new pull request, #4198: URL: https://github.com/apache/ambari/pull/4198
## What changes were proposed in this pull request? This pull request completes AMBARI-26643 and brings the Python modernization work onto the current Ambari trunk baseline (including the JDK 17 and Maven dependency updates). The change set addresses the runtime and packaging contract for Ambari Agent and Server: - Python 3.9.2+ is the supported runtime. Runtime wheels are selected by platform/ABI, installed with `--require-hashes`, and can be resolved from an offline wheelhouse with `PIP_NO_INDEX`/`PIP_FIND_LINKS`. - Agent and Server builds clean the dependency staging directory, bundle the locked dependencies into the assembly, normalize the staged tree, emit an SBOM, and run the artifact/license/manifest audit before packaging. - RPM mappings include the bundled Python libraries and the generated SBOM plus LICENSE/NOTICE. The package metadata declares the matching Python runtime contract. Debian packaging remains disabled for this deliverable; no DEB artifact is required. - Legacy vendored Python copies and their assembly/POM references are removed in favor of maintained upstream libraries. Old Python 2 imports, wrappers, obsolete entry points, and dead dependency paths were removed or migrated, with focused compatibility and failure-path coverage retained. - Deprecated Nagios integrations and their contrib RPM/DEB/plugin sources are removed. Prometheus is the supported monitoring path; stale Nagios packaging hooks are no longer part of the build. - Windows support is removed as requested: Windows launchers, assemblies, packaging profiles, tests, and service code are deleted, and the Linux/BIGTOP path is the supported deployment boundary. - BIGTOP is the only shipped stack family in this branch. The BIGTOP 3.2/3.3/3.4 service scripts were audited for Python 3 behavior, process timeouts, credential handling, and compatibility with Hive 3.1/4.0, Zeppelin 0.10/0.11, Flink 1.15/1.20, Spark 3.2/3.5, and ZooKeeper 3.5/3.8. - The React `latest` frontend is now the default runtime UI. The screenshots below were captured headlessly against the deployed cluster and cover dashboard, hosts, services, HDFS/YARN summaries, Views, Files, and Capacity Scheduler. Temporary view instances used for evidence were removed after capture. - The merge resolution keeps the latest trunk Java 17/Maven baseline while retaining the Python dependency, assembly, RPM, and removal contracts from this branch. ### Headless React evidence 1. [Dashboard](https://github.com/JiaLiangC/ambari/blob/AMBARI-26643/docs/frontend-refactor/visual-baseline/react-2026-09-03/01-dashboard.png) 2. [Hosts](https://github.com/JiaLiangC/ambari/blob/AMBARI-26643/docs/frontend-refactor/visual-baseline/react-2026-09-03/02-hosts.png) 3. [Services](https://github.com/JiaLiangC/ambari/blob/AMBARI-26643/docs/frontend-refactor/visual-baseline/react-2026-09-03/03-services.png) 4. [HDFS summary](https://github.com/JiaLiangC/ambari/blob/AMBARI-26643/docs/frontend-refactor/visual-baseline/react-2026-09-03/04-hdfs-summary.png) 5. [YARN summary](https://github.com/JiaLiangC/ambari/blob/AMBARI-26643/docs/frontend-refactor/visual-baseline/react-2026-09-03/05-yarn-summary.png) 6. [Views list](https://github.com/JiaLiangC/ambari/blob/AMBARI-26643/docs/frontend-refactor/visual-baseline/react-2026-09-03/06-views-list.png) 7. [Files view](https://github.com/JiaLiangC/ambari/blob/AMBARI-26643/docs/frontend-refactor/visual-baseline/react-2026-09-03/07-files-view.png) 8. [Capacity Scheduler view](https://github.com/JiaLiangC/ambari/blob/AMBARI-26643/docs/frontend-refactor/visual-baseline/react-2026-09-03/08-capacity-scheduler-view.png) ## How was this patch tested? The following evidence was completed before this PR was opened: - Ambari Agent Python runner: 629/629 passed, 0 errors, 0 failures. - Ambari Server Python runner: 1391/1391 passed, 0 errors, 0 failures. - Deploy workflow and metadata/artifact audits: 438/438 passed. - Focused checks covered HDF (6/6), ONEFS (14/14), preinstall (7/7), version-builder (2/2), resource archive behavior, JCEKS stdin/atomic submission, timeout/failure closure, RPM staging, and Python artifact/license/SBOM consistency. - Final RPM deployment evidence (`ambari-26643-final-v5`): Agent RPM SHA256 `cd2ff2a60406bdd0c18ad5dc89c01d41dc5c79c7a5dba6a480b192571dc5b916`; Server RPM SHA256 `0489693dedf2686af3545ce4b872c072cd23346e5549628c4ff9ba94c5bb9a60`. - Final cluster deployment (`minimal8g-admin-v3`): 13 deployment phases applied, 7 services healthy, no host mismatches, Python 3.9.25 on hosts, Java 17 base runtime with the Hive Java 8 compatibility path. - This turn intentionally did not repeat the local full test suites, per the requested efficiency constraint. The merge was checked with `git diff --check` and XML parsing of the root/server/agent POMs and assembly descriptors; GitHub CI is the final independent build/test gate. Please review [Ambari Contributing Guide](https://cwiki.apache.org/confluence/display/AMBARI/How+to+Contribute) before opening a pull request. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
