Apply Composer changes: comprehensive API updates, migrations, middleware, and infrastructure improvements
- Add comprehensive database migrations (001-024) for schema evolution - Enhance API schema with expanded type definitions and resolvers - Add new middleware: audit logging, rate limiting, MFA enforcement, security, tenant auth - Implement new services: AI optimization, billing, blockchain, compliance, marketplace - Add adapter layer for cloud integrations (Cloudflare, Kubernetes, Proxmox, storage) - Update Crossplane provider with enhanced VM management capabilities - Add comprehensive test suite for API endpoints and services - Update frontend components with improved GraphQL subscriptions and real-time updates - Enhance security configurations and headers (CSP, CORS, etc.) - Update documentation and configuration files - Add new CI/CD workflows and validation scripts - Implement design system improvements and UI enhancements
This commit is contained in:
114
docs/VM_TEMPLATE_VZTMPL_ISSUE.md
Normal file
114
docs/VM_TEMPLATE_VZTMPL_ISSUE.md
Normal file
@@ -0,0 +1,114 @@
|
||||
# VM Template vztmpl Format Issue
|
||||
|
||||
**Date**: 2025-12-11
|
||||
**Issue**: vztmpl templates cannot be used for QEMU VMs
|
||||
|
||||
---
|
||||
|
||||
## Problem
|
||||
|
||||
The provider code attempts to use `vztmpl` templates (LXC container templates) for QEMU VMs, which is incorrect.
|
||||
|
||||
**Template Format**: `local:vztmpl/ubuntu-22.04-standard_22.04-1_amd64.tar.zst`
|
||||
|
||||
**Provider Behavior** (Line 297 in `client.go`):
|
||||
```go
|
||||
diskConfig = fmt.Sprintf("%s,format=qcow2", imageVolid)
|
||||
// Results in: local:vztmpl/ubuntu-22.04-standard_22.04-1_amd64.tar.zst,format=qcow2
|
||||
```
|
||||
|
||||
**Problem**: Proxmox cannot use a `vztmpl` template as a QEMU VM disk. This format is for LXC containers only.
|
||||
|
||||
---
|
||||
|
||||
## Root Cause
|
||||
|
||||
1. **vztmpl templates** are for LXC containers
|
||||
2. **QEMU VMs** need either:
|
||||
- Cloud images (`.img`, `.qcow2`) - requires `importdisk`
|
||||
- QEMU templates (VM templates converted from VMs)
|
||||
|
||||
3. The provider code doesn't distinguish between container templates and VM templates
|
||||
|
||||
---
|
||||
|
||||
## Solutions
|
||||
|
||||
### Option 1: Use Cloud Image (Current)
|
||||
```yaml
|
||||
image: "local:iso/ubuntu-22.04-cloud.img"
|
||||
```
|
||||
|
||||
**Pros**:
|
||||
- ✅ Works with current provider code
|
||||
- ✅ Cloud-init ready
|
||||
- ✅ Available in storage
|
||||
|
||||
**Cons**:
|
||||
- ⚠️ Requires `importdisk` API (can cause locks)
|
||||
- ⚠️ Slower VM creation
|
||||
- ⚠️ Needs provider code fix for proper task monitoring
|
||||
|
||||
### Option 2: Create QEMU Template (Recommended Long-term)
|
||||
1. Create VM from cloud image
|
||||
2. Configure and customize
|
||||
3. Convert to template: `qm template <vmid>`
|
||||
4. Use template ID in image field
|
||||
|
||||
**Pros**:
|
||||
- ✅ Fast cloning
|
||||
- ✅ No import needed
|
||||
- ✅ Pre-configured
|
||||
|
||||
**Cons**:
|
||||
- ❌ Requires manual setup
|
||||
- ❌ Need to maintain templates
|
||||
|
||||
### Option 3: Fix Provider Code (Best Long-term)
|
||||
- Detect `vztmpl` format and reject for VMs
|
||||
- Add proper task monitoring for `importdisk`
|
||||
- Wait for import completion before config updates
|
||||
- Better error handling
|
||||
|
||||
---
|
||||
|
||||
## Current Status
|
||||
|
||||
**VM 100**: Reverted to use cloud image format
|
||||
- `image: "local:iso/ubuntu-22.04-cloud.img"`
|
||||
- Will use `importdisk` API
|
||||
- May experience lock issues until provider code is fixed
|
||||
|
||||
**All Other Templates**: Still using `vztmpl` format
|
||||
- ⚠️ **Will fail** when deployed
|
||||
- Need to be updated to cloud image format or QEMU template
|
||||
|
||||
---
|
||||
|
||||
## Next Steps
|
||||
|
||||
1. **Immediate**: Update all templates to use cloud image format
|
||||
2. **Short-term**: Monitor VM 100 creation with cloud image
|
||||
3. **Long-term**: Fix provider code for proper template handling
|
||||
4. **Long-term**: Create QEMU templates for faster deployment
|
||||
|
||||
---
|
||||
|
||||
## Template Update Required
|
||||
|
||||
All 29 templates need to be updated from:
|
||||
```yaml
|
||||
image: "local:vztmpl/ubuntu-22.04-standard_22.04-1_amd64.tar.zst"
|
||||
```
|
||||
|
||||
To:
|
||||
```yaml
|
||||
image: "local:iso/ubuntu-22.04-cloud.img"
|
||||
```
|
||||
|
||||
Or use QEMU template ID if available.
|
||||
|
||||
---
|
||||
|
||||
**Status**: ⚠️ **ISSUE IDENTIFIED - TEMPLATES NEED UPDATE**
|
||||
|
||||
Reference in New Issue
Block a user