Files
proxmox/docs/archive/CONFIGURATION_FIX_COMPLETE.md

165 lines
6.4 KiB
Markdown

# Configuration Files Fixed
**Date**: $(date)
**Action**: Removed deprecated configuration options from all Besu config files
---
## Issue
All Besu services were failing with errors:
```
Unknown options in TOML configuration file: log-destination, max-remote-initiated-connections, trie-logs-enabled, accounts-enabled, database-path
```
These deprecated options caused services to exit immediately and restart in loops.
---
## Fix Applied
### Deprecated/Invalid Options Removed
The following deprecated and invalid options were removed from all configuration files:
1. **`log-destination`** - Removed (logging controlled by `logging` option)
2. **`max-remote-initiated-connections`** - Removed (deprecated in Besu v23.10.0)
3. **`trie-logs-enabled`** - Removed (deprecated)
4. **`accounts-enabled`** - Removed (deprecated)
5. **`database-path`** - Removed (uses `data-path` instead)
6. **`rpc-http-host-allowlist`** - Removed from sentry/RPC configs (deprecated)
7. **`rpc-tx-feecap="0x0"`** - Removed (invalid value - "0x0" cannot be converted to Wei)
8. **`fast-sync-min-peers`** - Removed (incompatible with FULL sync-mode)
9. **`tx-pool-*` options** - Removed (legacy transaction pool options incompatible with layered implementation: `tx-pool-max-size`, `tx-pool-price-bump`, `tx-pool-retention-hours`)
10. **Fixed `permissions-nodes.toml`** - Replaced placeholder IPs (`<node-1-ip>`, etc.) with actual validator IPs (192.168.11.100-104), removed entries for undeployed nodes, and fixed node IDs to exactly 128 hexadecimal characters
11. **Disabled account permissioning for validators** - Changed `permissions-accounts-config-file-enabled=false` since the permissions-accounts.toml file doesn't exist
### Files Fixed
#### Validators (1000-1004)
- ✅ Fixed `/etc/besu/config-validator.toml` (5 files)
- Removed: `log-destination`, `max-remote-initiated-connections`, `trie-logs-enabled`, `accounts-enabled`, `database-path`, `rpc-tx-feecap`, `fast-sync-min-peers`, `tx-pool-max-size`, `tx-pool-price-bump`
#### Sentries (1500-1503)
- ✅ Fixed `/etc/besu/config-sentry.toml` (4 files)
- Removed: `log-destination`, `max-remote-initiated-connections`, `trie-logs-enabled`, `accounts-enabled`, `database-path`, `rpc-http-host-allowlist`, `rpc-tx-feecap`, `fast-sync-min-peers`, `tx-pool-max-size`, `tx-pool-price-bump`, `tx-pool-retention-hours`
#### RPC Nodes (2500-2502)
- ✅ Fixed `/etc/besu/config-rpc-public.toml` (3 files)
- Removed: `log-destination`, `max-remote-initiated-connections`, `trie-logs-enabled`, `accounts-enabled`, `database-path`, `rpc-http-host-allowlist`, `rpc-tx-feecap`, `fast-sync-min-peers`, `tx-pool-max-size`, `tx-pool-price-bump`, `tx-pool-retention-hours`
---
## Method Used
Used `sed` to remove deprecated option lines from config files:
```bash
# Validators - remove deprecated/invalid/incompatible options
sed -i '/^log-destination=/d; /^max-remote-initiated-connections=/d; /^trie-logs-enabled=/d; /^accounts-enabled=/d; /^database-path=/d; /^rpc-tx-feecap=/d; /^fast-sync-min-peers=/d; /^tx-pool-/d' /etc/besu/config-validator.toml
# Sentries and RPC - remove deprecated/invalid/incompatible options
sed -i '/^log-destination=/d; /^max-remote-initiated-connections=/d; /^trie-logs-enabled=/d; /^accounts-enabled=/d; /^database-path=/d; /^rpc-http-host-allowlist=/d; /^rpc-tx-feecap=/d; /^fast-sync-min-peers=/d; /^tx-pool-/d' /etc/besu/config-sentry.toml
```
---
## Services Restarted
All services were restarted after fixing configuration files:
- ✅ Validators: 5/5 restarted
- ✅ Sentries: 4/4 restarted
- ✅ RPC Nodes: 3/3 restarted
---
## Expected Results
After this fix:
- ✅ Services should start without configuration errors
- ✅ No more "Unknown options" errors
- ✅ Services should stay running (no restart loops)
- ✅ Besu processes should remain active
- ✅ Block processing should begin once services are stable
---
## Verification
### Check for Configuration Errors
```bash
# Check logs for "Unknown options" errors (should be zero)
for vmid in 1000 1001 1002 1003 1004; do
errors=$(pct exec $vmid -- journalctl -u besu-validator.service --since '1 minute ago' --no-pager 2>/dev/null | grep -i 'Unknown options' | wc -l)
echo "VMID $vmid: $errors config errors"
done
```
### Check Service Status
```bash
# All services should show "active" or "activating" (not restarting)
for vmid in 1000 1001 1002 1003 1004 1500 1501 1502 1503 2500 2501 2502; do
if [[ $vmid -lt 1500 ]]; then
service="besu-validator"
elif [[ $vmid -lt 2500 ]]; then
service="besu-sentry"
else
service="besu-rpc"
fi
echo "VMID $vmid: $(pct exec $vmid -- systemctl is-active $service.service)"
done
```
### Check for Successful Startup
```bash
# Look for successful startup messages (not just errors)
for vmid in 1000 1001 1002; do
echo "=== VMID $vmid ==="
pct exec $vmid -- journalctl -u besu-validator.service --since '2 minutes ago' --no-pager 2>/dev/null | grep -vE 'systemd|Unknown options' | tail -15
done
```
---
## Next Steps
1.**Configuration Fixed** - Deprecated options removed
2.**Services Restarted** - All services restarted with fixed config
3.**Monitor Services** - Verify services start successfully
4.**Check for Errors** - Ensure no new errors appear
5.**Verify Block Processing** - Check if blocks are being processed once services are stable
---
## Additional Fixes
### permissions-nodes.toml Fix
The `permissions-nodes.toml` file contained placeholder IP addresses like `<node-1-ip>`, `<node-2-ip>`, etc. These were replaced with actual validator IP addresses:
- `<node-1-ip>``192.168.11.100` (Validator 1000)
- `<node-2-ip>``192.168.11.101` (Validator 1001)
- `<node-3-ip>``192.168.11.102` (Validator 1002)
- `<node-4-ip>``192.168.11.103` (Validator 1003)
- `<node-5-ip>``192.168.11.104` (Validator 1004)
Entries with remaining placeholder IPs (for undeployed nodes) were removed to prevent configuration errors. These can be added back when those nodes are deployed.
## Notes
- The `data-path` option remains (this is correct and replaces `database-path`)
- Logging is controlled by the `logging` option (removed `log-destination`)
- Network settings remain unchanged
- All other valid options remain in config files
- Only validator nodes (1000-1004) are included in permissions-nodes.toml for now
---
**Fix Applied**: $(date)
**Status**: ✅ **CONFIGURATION FILES FIXED - SERVICES RESTARTED**