NVIDIA / NVIDIA/GenerativeAIExamples

Frontend app works ok with Port forwarded localhost endpoint but fails with an ingress endpoint

Open
#254 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Jupyter Notebook
Stars
4.2k
Forks
1.1k
Avg merge
10h 15m
Merged PRs (30d)
1

Description

I am able to access the chatbot front end using port forwarded local host ep.
Now I want to expose this endpoint using Ingress. I have added an ingress to expose the chatbot’s front end using the below manifest
e125830@W76CYQCV44 nim-operator % cat cr8-rag-chatbot-ingress.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: rag-chatbot-ep
namespace: rag-sample
spec:
ingressClassName: nginx
rules:

  • host: rag-chatbot-ep.k8s-performance.stage.stl.k8s.int
    http:
    paths:
    • backend:
      service:
      name: rag-playground-multiturn-rag
      port:
      number: 3001
      path: /
      pathType: Prefix
      tls:
  • hosts:
    • rag-chatbot-ep.k8s-performance.stage.stl.k8s.int

I am able to get to the chatbot front end using the new ingress ep https://rag-chatbot-ep.k8s-performance.stage.stl.k8s.int/converse, but when I submit a prompt I get error
Below are the logs and my analysis…

Below are the logs when Chatbot is accessed via nginx ingress ep
[1] Nov 01 17:08:10 [ INFO] - uvicorn.access - 10.42.69.131:37658 - "GET /converse HTTP/1.1" 200
[1] Nov 01 17:08:10 [ INFO] - uvicorn.access - 10.42.69.131:37658 - "GET /content/converse/?__theme=light HTTP/1.1" 200
[1] Nov 01 17:08:10 [ INFO] - uvicorn.access - 10.42.69.131:37658 - "GET /assets/index-CKyT5UbA.css HTTP/1.1" 404
[1] Nov 01 17:08:10 [ INFO] - uvicorn.access - 10.42.69.131:37658 - "GET /theme.css?v=a2458843f5ddb2d155d001fdae495187847b01c05a840ddb350be829a269d776 HTTP/1.1" 404
[1] Nov 01 17:18:22 [ INFO] - uvicorn.access - 10.42.171.194:36704 - "POST /queue/join?__theme=light HTTP/1.1" 405

Below are the logs when Chatbot is accessed via port forwarded local host ep
[1] Nov 01 17:08:29 [ INFO] - uvicorn.access - 127.0.0.1:57842 - "GET /converse HTTP/1.1" 200
[1] Nov 01 17:08:29 [ INFO] - uvicorn.access - 127.0.0.1:57842 - "GET /content/converse/?__theme=light HTTP/1.1" 200
[1] Nov 01 17:08:30 [ INFO] - uvicorn.access - 127.0.0.1:57842 - "GET /assets/index-CKyT5UbA.css HTTP/1.1" 404
[1] Nov 01 17:08:30 [ INFO] - uvicorn.access - 127.0.0.1:57842 - "GET /content/converse/theme.css?v=a2458843f5ddb2d155d001fdae495187847b01c05a840ddb350be829a269d776 HTTP/1.1" 200
[1] Nov 01 17:20:12 [ INFO] - uvicorn.access - 127.0.0.1:52396 - "POST /content/converse/queue/join?__theme=light HTTP/1.1" 200
[1] Nov 01 17:20:12 [ INFO] - frontend.pages.converse - processing inference request - {'prompt': 'Testing', 'use_knowledge_base': False}
[1] Nov 01 17:20:12 [ INFO] - uvicorn.access - 127.0.0.1:52396 - "GET /content/converse/queue/data?session_hash=rdgwzvtp9w8 HTTP/1.1" 200

Main issue is the POST call is missing /content/converse in the ingress ep case

Looks like the the URL posted by the Client itself does not have them for ingress case…

Can one of you please check this and let us know what might be causing this difference in the POST URL’s when using the above endpoints…

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with cr8-rag-chatbot-ingress.yaml and compare the ingress request paths with the port-forwarded logs. Trace how the frontend builds the POST URL for /queue/join and verify the ingress endpoint preserves the /content/converse prefix; done means submitting a prompt succeeds through ingress as it does through port forwarding.

Written by the indexing model from the issue text.

Assessment

Tech stack
kubernetes, nginx
Domain
frontend, infrastructure
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.