Skip to main content

software catalog

Docs pulled from project reposUpdated Sep 24, 2026View on GitHub

Troubleshooting

Common symptoms, causes, and fixes for Intel AI for Enterprise RAG deployments.

Deployment Issues

SymptomLikely cause / fix
install erag fails with "inference layer not found"The inference layer must be installed first. Run ./es_auto_installer.sh install inference --env <name> before install erag.
Namespace stuck in Terminating during teardownFinalizers or resources not cleaned up. Force-delete: kubectl delete ns <namespace> --grace-period=0 --force.
Helm install fails with "release already exists"Previous install failed mid-way. Uninstall: helm uninstall <release> -n <namespace>, then retry.
Models not deployed after install eragModels don't auto-deploy unless both inference_models_enabled: true AND the model has autodeploy: true in the catalog. Deploy manually: ./model-manager deploy <name> --wait.
Component fails with "image pull backoff"Registry rate limit or proxy issue. Configure a pull-through mirror, or pre-pull images: docker pull <image>:<tag> on each node.
PVC stays PendingStorage class not ready or no available provisioner. Check: kubectl get sc, kubectl get pv, and storage backend logs.

Model and Inference Issues

SymptomLikely cause / fix
Model stuck not-Ready after deployCheck logs: kubectl logs -n llm-inference -l app.kubernetes.io/name=<name> -f. CPU model load plus warmup takes minutes - often slow, not broken.
Model requests fail with "model not found"The model field in the request must match the deploy name, not the Hugging Face model_id. List registered models: kubectl get llminferenceservice -n llm-inference.
Embedding/reranking requests return errorsVerify the model endpoint is healthy: kubectl get llminferenceservice,inferenceservice -n llm-inference. Check that inference_models in config.erag.yaml lists the right models with role: embedding and role: reranking.
Download Job fails with "permission denied"The downloader runs non-root; ensure the PVC is writable. The Job sets HOME and cache paths to writable locations.
Model "gated" errorSet HF_TOKEN in the catalog and re-deploy: ./model-manager deploy <name> --wait. See Gated models.
Download fails behind a corporate proxySet http_proxy / https_proxy / no_proxy in the catalog's network: section, or via MM_HTTP_PROXY / MM_HTTPS_PROXY / MM_NO_PROXY.

Pipeline and GMC Issues

SymptomLikely cause / fix
GMConnector stuck not-ReadyCheck GMC manager logs: kubectl logs -n <pipeline-namespace> -l app.kubernetes.io/name=gmc-manager. Verify all pipeline steps have matching Service and Deployment resources: kubectl get svc,deploy -n <pipeline-namespace>.
Router service returns 503One or more pipeline steps are unhealthy. Check: kubectl get pods -n <pipeline-namespace>. Inspect logs of unhealthy pods.
Request goes through but returns empty resultsVector DB mismatch. Verify retriever and ingestion are using the same vector_algorithm setting. See Performance.
Pipeline variant not appliedVariant is set via pipeline_variant in config.erag.yaml. Re-run install erag after changing it (GMConnector must be regenerated).
NATS connection errorsNATS uses NKey auth. Verify the nats-auth secret exists in the pipeline namespace: kubectl get secret -n <pipeline-namespace> nats-auth.

EDP Issues

SymptomLikely cause / fix
File upload fails with 500 errorCheck EDP API logs: kubectl logs -n edp -l app.kubernetes.io/name=edp. Verify PostgreSQL is healthy: kubectl get cluster -n edp.
Files stuck in processing stateCelery workers may be overloaded or unhealthy. Check: kubectl get pods -n edp -l app.kubernetes.io/component=celery. Scale workers: kubectl scale deploy -n edp edp-celery --replicas=.
"No space left on device" during ingestionEDP blob storage (SeaweedFS / S3) is full. Increase PVC size or clean up old files. Check storage usage: kubectl exec -n edp <edp-pod> -- df -h.
Vector DB index has two entries (queries return no results)Retriever and ingestion are using different vector_algorithm settings. Fix: set both to the same value in config.erag.yaml, redeploy, and re-upload files. See Performance.

UI and Gateway Issues

SymptomLikely cause / fix
UI doesn't load (blank page)Check browser console for errors. Verify APISIX gateway is running: kubectl get pods -n <pipeline-namespace> -l app.kubernetes.io/name=apisix.
UI returns 401 UnauthorizedMissing or expired JWT. Keycloak token expires in 15 minutes by default. Re-login or generate a new token: source .../get-keycloak-token.sh.
UI returns 503 Service UnavailableRouter service or one of its backend steps is unhealthy. Check: kubectl get pods -n <pipeline-namespace>.
APISIX returns 404Route not configured. Verify ApisixRoute resources exist: kubectl get apisixroute -n <pipeline-namespace>. Check APISIX logs: kubectl logs -n <pipeline-namespace> -l app.kubernetes.io/name=apisix.
TLS certificate warnings from browserSelf-signed CA. Import the CA cert into your trust store: env/<env>/logs/ai-solutions-ca.crt.

Vector Database Issues

SymptomLikely cause / fix
Redis cluster pods crash-loopingInsufficient memory. Increase resource limits in config.erag.yaml under vector_databases_stores.redis-cluster.resources.
MSSQL pod fails to startEULA not accepted. Set vector_databases_mssql_accept_eula: true in config.erag.yaml.
Queries return no results after algorithm changeOld index still exists. Re-upload all files to trigger re-indexing with the new algorithm. Verify only one index exists: kubectl exec -it <redis-pod> -c redis -- redis-cli FT._LIST.

Istio Mesh Issues

SymptomLikely cause / fix
Service can't reach another service (connection timeout)Not in the mesh, or Istio port 15008 blocked by NetworkPolicy. Verify pod has ambient.istio.io/redirection: enabled annotation. Check ztunnel logs: `kubectl logs -n istio-system -l app=ztunnel
Ztunnel logs show "policy rejection"STRICT mTLS enforced but source isn't presenting a cert. Verify source pod is in the mesh. If the source can't join the mesh, consider adding a port-level PERMISSIVE exception in PeerAuthentication.

See Mesh for troubleshooting Istio issues.

Debug Tool

For comprehensive diagnostics, use the debug tool:

bash
cd /home/.../applications.ai.enterprise.ai-solutions/ext/enterprise.ai-erag/deployment
python tools/debug_tool.py --config-dir /path/to/env/<name>/ [--output-dir <dir>]

This collects pod logs, resource descriptions, config files (redacted), and Helm state into a timestamped bundle.

Useful Commands

bash
# Status of all installed components
./es_auto_installer.sh status --env <name>

# Validate erag layer health
./es_auto_installer.sh validate erag --env <name>

# Test ChatQnA pipeline
cd deployment && ./scripts/test_connection.sh

# Test DocSum pipeline
cd deployment && ./scripts/test_docsum.sh

# Test MCP gateway
cd deployment && python scripts/test_mcp.py

# List deployed models
kubectl get llminferenceservice,inferenceservice -n llm-inference

# View GMConnector status
kubectl get gmconnector -n <pipeline-namespace>
kubectl describe gmconnector <name> -n <pipeline-namespace>

# Check HPA status
kubectl get hpa -n <pipeline-namespace>

# View logs for a specific microservice
kubectl logs -n <pipeline-namespace> -l app.kubernetes.io/name=<service> -f

# Check EDP job status
kubectl get pods -n edp -l app.kubernetes.io/component=celery
kubectl logs -n edp -l app.kubernetes.io/name=edp -f

# Inspect vector DB index
kubectl exec -it <redis-cluster-pod> -c redis -- redis-cli -a <password> FT._LIST
kubectl exec -it <redis-cluster-pod> -c redis -- redis-cli -a <password> FT.INFO <index>

For platform-level problems (cluster, storage, certificates, DNS) see the solutions documentation.