NVIDIA / NVIDIA/GenerativeAIExamples

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

Ouverte
#254 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Jupyter Notebook
Étoiles
4.2k
Forks
1.1k
Merge moyen
10 h 15 min
PR mergées (30 j)
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…

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par cr8-rag-chatbot-ingress.yaml et comparez les chemins des requêtes ingress avec les logs obtenus via le port forwarding. Suivez la manière dont le frontend construit l’URL POST pour /queue/join et vérifiez que le endpoint ingress conserve le préfixe /content/converse ; c’est terminé lorsque la soumission d’un prompt via ingress réussit comme via le port forwarding.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
kubernetes, nginx
Domaine
frontend, infrastructure
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.