Skip to content

Workspace path not stored in database, kernels not discoverable #294

@oren-openteams

Description

@oren-openteams

Summary

When creating a workspace via the Nebi UI in JupyterLab, the workspace files are created on disk at the expected path (~/.local/share/nebi/workspaces/<name>-<uuid>/), but the path column in the SQLite database (nebi.db) remains NULL. This causes:

  1. nebi workspace list --json reports "missing": true for the workspace
  2. nb_nebi_kernels.NebiKernelSpecManager skips missing workspaces
  3. The workspace does not appear as a kernel in the JupyterLab launcher

Steps to reproduce

  1. Open JupyterLab with Nebi integration (via nebari-data-science-pack)
  2. Go to the Nebi tab > Workspaces > New Workspace
  3. Create a workspace (e.g., with python = "3.9.*" and ray-serve = "2.43.*")
  4. Wait for status to show "Ready"
  5. Open the JupyterLab Launcher — the workspace kernel does not appear

Diagnosis

$ nebi workspace list --json
[
  {
    "id": "1ba3ccd6-...",
    "name": "ray-serve",
    "status": "ready",
    "missing": true
    # no "path" field
  }
]

$ sqlite3 ~/.local/share/nebi/nebi.db "SELECT id, name, path FROM workspaces WHERE name='ray-serve';"
1ba3ccd6-...|ray-serve|

$ ls ~/.local/share/nebi/workspaces/
ray-serve-1ba3ccd6-d69b-41a1-a179-29ccbb411375/   # files exist on disk

Workaround

Manually update the database:

sqlite3 ~/.local/share/nebi/nebi.db \
  "UPDATE workspaces SET path='$HOME/.local/share/nebi/workspaces/<name>-<uuid>' WHERE id='<uuid>';"

After this, nebi workspace list shows "missing": false and the kernel appears in the launcher.

Expected behavior

The path column should be automatically populated when a workspace is created, since Nebi already knows where it writes the workspace files.

Environment

  • Nebi: v0.10.3
  • nb_nebi_kernels: 0.1
  • nebari-data-science-pack JupyterLab image: sha-2044712

Metadata

Metadata

Assignees

Labels

nebari-nebi-packRelated to nebari-dev/nebari-nebi-pack (software pack for Nebari)

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions