[
https://issues.apache.org/jira/browse/KNOX-3472?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18116474#comment-18116474
]
Arun Kumar M edited comment on KNOX-3472 at 9/21/26 7:19 AM:
-------------------------------------------------------------
Upstream PR: [https://github.com/apache/knox/pull/1411]
Branch: samuhasavak5:KNOX-3472-livy-for-spark3
Build: mvn -pl gateway-service-definitions,gateway-discovery-cm -am test
-DskipITs — BUILD SUCCESS
Manual verification:
- Verified on a test deployment with Knox Homepage and LIVY_FOR_SPARK3
configured in the gateway topology.
- The Knox Homepage shows a dedicated Livy for Spark 3 tile with the Livy logo.
- Clicking the tile opens the Livy UI through the Knox gateway path
/livy_for_spark3/.
!image-2026-09-21-12-47-59-744.png|width=1157,height=572!
was (Author: JIRAUSER314139):
Upstream PR: https://github.com/apache/knox/pull/1411
Branch: samuhasavak5:KNOX-3472-livy-for-spark3
Build: mvn -pl gateway-service-definitions,gateway-discovery-cm -am test
-DskipITs — BUILD SUCCESS
Manual verification:
- Verified on a test deployment with Knox Homepage and LIVY_FOR_SPARK3
configured in the gateway topology.
- The Knox Homepage shows a dedicated Livy for Spark 3 tile with the Livy logo.
- Clicking the tile opens the Livy UI through the Knox gateway path
/livy_for_spark3/.
!image-2026-09-18-01-06-06-505.png|width=632,height=383!
> Add Knox service definition for Livy for Spark 3 (livy_for_spark3)
> ------------------------------------------------------------------
>
> Key: KNOX-3472
> URL: https://issues.apache.org/jira/browse/KNOX-3472
> Project: Apache Knox
> Issue Type: Task
> Reporter: Arun Kumar M
> Priority: Major
> Attachments: image-2026-09-18-01-06-06-505.png,
> image-2026-09-21-12-47-59-744.png
>
> Time Spent: 50m
> Remaining Estimate: 0h
>
> *Summary*
> Add upstream Knox support for the dedicated Livy for Spark 3 service (role:
> LIVY_FOR_SPARK3), distinct from the existing generic "livy" service
> definition.
>
> *Motivation*
> Many deployments run a separate Livy for Spark 3 instance alongside the
> legacy Livy service. Knox currently exposes only the generic livy service;
> livy_for_spark3 is required for correct proxy routing, Cloudera Manager
> discovery, and Knox Homepage tiles.
>
> *Scope*
> *Service definition (gateway-service-definitions)*
> *
> ** services/livy_for_spark3/0.6.0/service.xml
> ** services/livy_for_spark3/0.6.0/rewrite.xml
> ** Metadata: type=API_AND_UI, context=/livy_for_spark3/, shortDesc,
> description
> ** Dispatch: org.apache.knox.gateway.livy.LivyDispatch (reuse existing
> gateway-service-livy module)
> ** Inbound/outbound rewrite rules for REST API (/v1), UI (/ui), YARN proxy
> links, and container log links
> *Cloudera Manager discovery (gateway-discovery-cm)*
> *
> ** LivyForSpark3ServiceModelGenerator.java
> ** SERVICE / SERVICE_TYPE: LIVY_FOR_SPARK3
> ** ROLE_TYPE: LIVY_SERVER_FOR_SPARK3
> ** Register in
> META-INF/services/org.apache.knox.gateway.topology.discovery.cm.ServiceModelGenerator
> ** LivyForSpark3ServiceModelGeneratorTest.java
> ** ClouderaManagerServiceDiscoveryTest coverage for LIVY_FOR_SPARK3 URL
> discovery
> *Admin / configuration*
> *
> ** gateway-admin-ui: add LIVY_FOR_SPARK3 to new-desc-wizard service role list
> ** gateway-release/home/conf/gateway-site.xml: add LIVY_FOR_SPARK3 to
> gateway.xforwarded.header.context.append.servicename
> *Homepage icon (optional in same PR or follow-up)*
> *
> ** Add livyserver.png and iconFileName metadata support if not already
> present upstream
>
> *Out of scope*
> - Per-instance HA routing (custom ha-classname, ?host= query param, sticky
> cookies)
> - Knox Homepage JavaScript tile-label patching
> *Acceptance criteria*
> - livy_for_spark3 service definition loads and routes /livy_for_spark3/**
> through Knox
> - CM discovery resolves LIVY_FOR_SPARK3 backend URLs for
> LIVY_SERVER_FOR_SPARK3 roles
> - Service appears in Knox Admin UI descriptor wizard and Knox Homepage (UI +
> API topology)
> - Unit tests pass for model generator and CM discovery
--
This message was sent by Atlassian Jira
(v8.20.10#820010)