You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@knox.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2026/09/17 18:37:00 UTC

[jira] [Work logged] (KNOX-3472) Add Knox service definition for Livy for Spark 3 (livy_for_spark3)

     [ https://issues.apache.org/jira/browse/KNOX-3472?focusedWorklogId=1042439&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-1042439 ]

ASF GitHub Bot logged work on KNOX-3472:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 17/Sep/26 18:36
            Start Date: 17/Sep/26 18:36
    Worklog Time Spent: 10m 
      Work Description: samuhasavak5 opened a new pull request, #1411:
URL: https://github.com/apache/knox/pull/1411

   Add upstream Knox support for the dedicated Livy for Spark 3 service (role LIVY_FOR_SPARK3), including service definition, rewrite rules, Cloudera Manager discovery, admin UI registration, homepage logo, and unit tests.
   
   (It is very **important** that you created an Apache Knox JIRA for this change and that the PR title/commit message includes the Apache Knox JIRA ID!)
   
   [KNOX-1234](url) - A short description of the change
   
   ## What changes were proposed in this pull request?
   
   (Please fill in changes proposed in this fix)
   
   ## How was this patch tested?
   
   (Please explain how this patch was tested. For instance: running automated unit/integration tests, manual tests. Please write down your test steps as detailed as possible)
   
   ## Integration Tests
   (Please add or update integration tests [`.github/workflows/tests`](.github/workflows/tests) for the feature you are adding. If no unit test is added, please explain why. Check out [`.github/workflows/tests/README.md`](./workflows/tests/README.md) for instructions)
   
   ### Opt-in test suites (PR labels)
   Some integration suites are expensive and are **not** run on every PR. Add the corresponding label to this PR to run them:
   
   | Label | Runs |
   |-------|------|
   | `test-federation` | KnoxIDF federation E2E (`test_knoxidf_federation.py`). Stands up a real Keycloak as an external OpenID Provider and drives the full broker flow. Adds a few minutes (image pull + realm import). |
   | `skip-tests` | Skips the entire Docker Compose test job. |
   
   **When to add the label:** these labels only take effect on runs triggered by opening the PR, pushing a commit, or reopening the PR — the workflow does not run on a label change. Add the label **before opening the PR** (or before your next push). Adding it after the checks have already finished will **not** start a new run; push a commit or close/reopen the PR to trigger one with the label applied.
   
   ## UI changes
   (If this patch involves UI changes, please attach a screen-shot; otherwise, remove this)
   
   Please review [Knox Contributing Process](https://cwiki.apache.org/confluence/display/KNOX/Contribution+Process#ContributionProcess-GithubWorkflow) before opening a pull request.
   




Issue Time Tracking
-------------------

            Worklog Id:     (was: 1042439)
    Remaining Estimate: 0h
            Time Spent: 10m

> 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
>          Time Spent: 10m
>  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)