4.8 KiB
ML110 Deployment Log Analysis
Date: 2025-12-20
Deployment Attempt: Complete Validated Deployment (Option 1)
Summary
The deployment attempt encountered network configuration errors during container creation, but the containers were not actually created (despite success messages in the logs).
Key Findings
1. Network Configuration Errors
All container creation attempts failed with:
400 Parameter verification failed.
net0: invalid format - format error
net0.ip: invalid format - value does not look like a valid ipv4 network configuration
Affected Containers:
- Validators: 1000, 1001, 1002, 1003, 1004
- Sentries: 1500, 1501, 1502, 1503
- RPC Nodes: 2500, 2501, 2502
2. Script Logic Issue
The deployment script reports "Container created" even when pct create fails. This is misleading because:
- The
pct createcommand returns an error (400 status) - Containers were never actually created (no config files exist)
- The script continues execution as if containers exist
- All subsequent steps fail because containers don't exist
3. Network Format Validation
Test Result: The network configuration format is CORRECT:
bridge=vmbr0,name=eth0,ip=192.168.11.100/24,gw=192.168.11.1,type=veth
This format successfully created test container 99999.
4. Container History
System logs show containers were created on Dec 19-20 and later deleted:
- Validators 1000-1004: Created Dec 19, deleted Dec 20 06:21-06:22
- Sentries 1500-1503: Created Dec 19, deleted Dec 20 06:22-06:23
- RPC nodes 2500-2502: Created Dec 19, deleted Dec 20 06:21
5. Deployment Script Issues
Location: /opt/smom-dbis-138-proxmox/scripts/deployment/deploy-besu-nodes.sh
Problems:
- Error Handling: Script doesn't check
pct createexit code properly - False Success: Reports success even when container creation fails
- Variable Expansion: Possible issue with variable expansion in network config string
Expected Network Config (from script):
network_config="bridge=${PROXMOX_BRIDGE:-vmbr0},name=eth0,ip=${ip_address}/${netmask},gw=${gateway},type=veth"
6. Configuration Phase Issues
Since containers don't exist:
- All configuration file copy attempts are skipped
- Container status checks all fail (containers not running)
- Network bootstrap fails (no containers to collect enodes from)
Root Cause Analysis
The actual error suggests that at runtime, the network configuration string may be malformed due to:
- Variable Not Set:
PROXMOX_BRIDGE,GATEWAY, orNETMASKmay be empty or incorrect - Variable Expansion: Shell variable expansion might not be working as expected
- String Formatting: The network config string might be getting corrupted during variable substitution
Evidence
Working Containers (Reference)
Containers 100-105 exist and are running, using DHCP:
net0: bridge=vmbr0,firewall=1,hwaddr=BC:24:11:XX:XX:XX,ip=dhcp,type=veth
Test Container Creation
Created container 99999 successfully with static IP format:
bridge=vmbr0,name=eth0,ip=192.168.11.100/24,gw=192.168.11.1,type=veth
Recommendations
1. Fix Script Error Handling
Update deploy-besu-nodes.sh to properly check pct create exit code:
if ! pct create "$vmid" ...; then
log_error "Failed to create container $vmid"
return 1
fi
log_success "Container $vmid created"
2. Debug Variable Values
Add logging to show actual network config values before container creation:
log_info "Network config: $network_config"
log_info "PROXMOX_BRIDGE: ${PROXMOX_BRIDGE:-vmbr0}"
log_info "GATEWAY: ${GATEWAY:-192.168.11.1}"
log_info "NETMASK: ${NETMASK:-24}"
log_info "IP Address: $ip_address"
3. Verify Configuration File
Check that /opt/smom-dbis-138-proxmox/config/proxmox.conf and network.conf have correct values:
PROXMOX_BRIDGE=vmbr0GATEWAY=192.168.11.1NETMASK=24
4. Alternative: Use DHCP Initially
Since containers 100-105 work with DHCP, consider:
- Create containers with DHCP:
ip=dhcp - After creation, use
pct setto configure static IPs (as infix-container-ips.sh)
This two-step approach is more reliable.
Next Steps
- Fix Script: Update error handling in
deploy-besu-nodes.sh - Add Debugging: Add verbose logging for network config values
- Test Creation: Create a single test container to verify fix
- Re-run Deployment: Execute full deployment after fix
Log Files
- Deployment Log:
/opt/smom-dbis-138-proxmox/logs/deploy-validated-set-20251220-112033.log - System Logs:
journalctl -u pve-container@*shows container lifecycle
Status: ❌ Deployment Failed - Containers not created due to network config error
Action Required: Fix script error handling and verify configuration variable values