Files
Sankofa/docs/proxmox/AUTHENTICATION_ERROR_FIX.md
T
2026-07-07 09:41:34 -07:00

2.2 KiB

Authentication Error Fix - "invalid PVE ticket"

Date: 2025-12-13
Status: 🔧 FIXING


Issue

Symptom

  • Error: "401 permission denied - invalid PVE ticket"
  • Frequency: Intermittent to continuous
  • Impact: BLOCKS ALL VM CREATION
  • Affected: Both ML110-01 and R630-01 nodes

Error Details

GET /nodes/r630-01/status failed: 401 permission denied - invalid PVE ticket
node r630-01 is not reachable or unhealthy

Root Cause Analysis

Previous Fix Applied

  • Changed from req.AddCookie() to req.Header.Set("Cookie", ...)
  • Reason: AddCookie() automatically URL-encodes values, breaking token format

Current Status

  • Code fix is in place
  • Provider rebuilt and restarted
  • But errors still occurring ⚠️

Possible Causes

  1. Provider not using latest code - Pod may be using old image
  2. Token format issue - Token may not be in correct format
  3. Token validity - Token may be expired or invalid
  4. Cookie header format - May need different format

Investigation Steps

1. Verify Token Validity

  • Test token manually with curl
  • Verify token works with both endpoints
  • Check token format matches Proxmox expectations

2. Verify Code Fix

  • Check if Cookie header fix is in code
  • Verify provider is using latest image
  • Ensure provider pod restarted with new image

3. Test Authentication

  • Test token with exact format from controller
  • Verify Cookie header is set correctly
  • Check HTTP request format

Fix Applied

Code Changes

  • File: crossplane-provider-proxmox/pkg/proxmox/http_client.go
  • Change: req.AddCookie()req.Header.Set("Cookie", fmt.Sprintf("PVEAuthCookie=%s", c.token))

Provider Rebuild

  • Rebuilt provider image
  • Loaded into kind cluster
  • Restarted provider pod

Verification

After Fix

  • Check authentication errors (should be 0)
  • Verify node health checks pass
  • Monitor VM creation progress

Next Steps

  1. Verify token is valid
  2. Test token manually
  3. Rebuild provider with latest code
  4. Restart provider pod
  5. Monitor for resolution

Last Updated: 2025-12-13
Status: 🔧 FIXING - VERIFYING RESULTS