Test - Runtime Verification¶
Overview¶
The test command provides runtime verification tests for bazzite-ai installations. It validates that GPU access, services, containers, and network connectivity are working correctly.
Key Concept: These are runtime tests that run on an installed bazzite-ai system using ujust test. For development overlay management, see the /bazzite-ai-dev:overlay skill.
Quick Reference¶
Quick Tests¶
| Action | Command | Description |
|---|---|---|
| Quick | ujust test quick | GPU + service status (~30s) |
| All | ujust test all | Full test suite (~2min) |
| Info | ujust test info | Show system information |
Individual Tests¶
| Action | Command | Description |
|---|---|---|
| GPU | ujust test gpu | GPU detection and CDI check |
| CUDA | ujust test cuda | CUDA tests in nvidia container |
| PyTorch | ujust test pytorch | PyTorch tests in jupyter container |
| Ollama | ujust test ollama | Ollama health + quick inference |
| Jupyter | ujust test jupyter | Jupyter service health |
| ComfyUI | ujust test comfyui | ComfyUI service health |
| OpenWebUI | ujust test openwebui | Open WebUI service health |
| Services | ujust test services | All installed services status |
| Config | ujust test config | Config validation |
| Network | ujust test network | Registry connectivity |
Pod Testing (default INSTANCE=90)¶
| Action | Command | Description |
|---|---|---|
| Config | ujust test pods config | Configure all test pods |
| Start | ujust test pods start | Start all test pods |
| Status | ujust test pods status | Check test pod status |
| Stop | ujust test pods stop | Stop all test pods |
| Delete | ujust test pods delete | Delete test pod configs |
| All | ujust test pods all | Full lifecycle test |
K3d Cluster Testing (default INSTANCE=90)¶
| Action | Command | Description |
|---|---|---|
| Config | ujust test k3d config | Create k3d cluster |
| Start | ujust test k3d start | Start k3d cluster |
| Status | ujust test k3d status | Check cluster health |
| GPU | ujust test k3d gpu | Setup NVIDIA GPU support |
| Network | ujust test k3d network | Test K8s → bazzite-ai network |
| Ollama | ujust test k3d ollama | Test ollama from k8s |
| Stop | ujust test k3d stop | Stop k3d cluster |
| Delete | ujust test k3d delete | Delete k3d cluster |
| All | ujust test k3d all | Full k3d lifecycle |
Portainer + K3d Testing (default INSTANCE=91)¶
| Action | Command | Description |
|---|---|---|
| Config | ujust test portainer config | Configure k3d + Portainer |
| Start | ujust test portainer start | Start both services |
| Status | ujust test portainer status | Check both services |
| Health | ujust test portainer health | Test Portainer HTTPS API |
| K3d | ujust test portainer k3d | Test Portainer sees k3d |
| Stop | ujust test portainer stop | Stop both services |
| Delete | ujust test portainer delete | Delete both configs |
| All | ujust test portainer all | Full Portainer + k3d lifecycle |
VM & Install Testing¶
| Action | Command | Description |
|---|---|---|
| VM | ujust test vm | VM testing menu |
| VM Add | ujust test vm add | Add test VM |
| VM Start | ujust test vm start | Start test VM |
| Install | ujust test install | Install command testing |
| Install All | ujust test install all | Test all install commands |
Parameters¶
| Parameter | Values | Description |
|---|---|---|
ACTION | See quick reference | Test category |
SUBACTION | Varies by action | Specific test within category |
INSTANCE | Number | Instance number for isolated testing (default: 90) |
Quick Tests¶
Quick Test (~30s)¶
Runs essential checks:
- GPU detection
- CDI configuration
- Running services status
Use when: Quick sanity check after installation or reboot.
Full Test Suite (~2min)¶
Runs comprehensive tests:
- GPU and CUDA validation
- PyTorch in container
- All service health checks
- Network connectivity
Use when: Full validation after major changes.
GPU Testing¶
GPU Detection¶
Checks:
- GPU vendor detection (NVIDIA, AMD, Intel)
- Driver loaded
- CDI configuration present
CUDA Test¶
Runs CUDA tests inside nvidia container:
- nvidia-smi output
- CUDA version
- GPU memory info
PyTorch Test¶
Runs PyTorch GPU tests inside jupyter container:
- torch.cuda.is_available()
- GPU tensor operations
- Memory allocation
Pod Lifecycle Testing¶
Test pods use isolated instances (default: 90) to avoid interfering with user configurations.
Full Pod Lifecycle¶
Runs complete lifecycle:
- config - Configure test pods
- start - Start all pods
- status - Verify running
- stop - Stop all pods
- delete - Clean up configs
Custom Instance¶
K3d Cluster Testing¶
Tests k3d Kubernetes cluster functionality.
Full K3d Lifecycle¶
Tests:
- Cluster creation on bazzite-ai network
- Node health
- GPU support (if NVIDIA)
- Network connectivity to other pods
- Ollama inference from k8s
- Cleanup
Network Connectivity¶
Verifies k8s pods can reach bazzite-ai network services (ollama, jupyter, etc.)
Common Workflows¶
After Installation¶
GPU Troubleshooting¶
Service Validation¶
Before Development¶
Troubleshooting¶
GPU Test Fails¶
Symptom: ujust test gpu reports no GPU
Check:
Fix:
CUDA Test Fails¶
Symptom: CUDA not available in container
Cause: CDI not configured or driver mismatch
Fix:
Service Test Fails¶
Symptom: Service reports unhealthy
Check:
Pod Test Cleanup Failed¶
Symptom: Test pods still exist after failure
Fix:
Cross-References¶
- Overlay Development:
/bazzite-ai-dev:overlayskill for development mode - GPU Setup:
ujust config gpu setupfor GPU configuration - Services: Individual service skills for detailed management
When to Use This Skill
Use when the user asks about:
- "test installation", "verify bazzite-ai"
- "test gpu", "test cuda", "test pytorch"
- "test services", "service health"
- "ujust test" (any test command)
- "test pods", "test k3d", "lifecycle test"