Skip to content

Chatbot conversation storage uses ephemeral SQLite instead of provisioned PostgreSQL #734

@amasolov

Description

@amasolov

Summary

The chatbot loses all conversation history on pod restart because both storage layers default to ephemeral SQLite databases, despite the operator provisioning a PostgreSQL instance.

Lightspeed Stack generates its configmap without a database.postgres block, so the chatbot falls back to SQLite at /tmp/lightspeed-stack.db for the user_conversation and user_turn tables (sidebar metadata).

Llama Stack configures its kv_default and sql_default storage backends as kv_sqlite/sql_sqlite on the emptyDir volume, so the openai_conversations and conversation_items tables (actual message content) are also ephemeral.

Additionally, the chatbot_transcripts_enabled and chatbot_feedback_enabled settings are hardcoded to false in the configmap template with no CR spec field to override them.

Impact

  • Conversation history disappears on every pod restart or page refresh
  • The provisioned PostgreSQL database sits unused by the chatbot
  • No supported way to enable file-based transcript/feedback exports

Expected Behavior

  • The chatbot should use the existing PostgreSQL database (already provisioned by the postgres role) for all persistent conversation storage
  • chatbot_transcripts_enabled and chatbot_feedback_enabled should be configurable via the CR spec

Steps to Reproduce

  1. Deploy the operator and create an AnsibleAIConnect CR with a chatbot configured
  2. Open the chatbot UI and send a message
  3. Refresh the page or wait for a pod restart
  4. Conversation history is gone
  5. Inspect the lightspeed-stack configmap: no database.postgres block
  6. Inspect the llama-stack configmap: sql_default uses sql_sqlite

Environment

  • AAP 2.6 (operator builds 2.6.0+0.1774648973 and 2.6.0+0.1774648945)
  • Observed on both OpenShift and EKS deployments

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions