- Introduced Aggregator.sol for Chainlink-compatible oracle functionality, including round-based updates and access control. - Added OracleWithCCIP.sol to extend Aggregator with CCIP cross-chain messaging capabilities. - Created .gitmodules to include OpenZeppelin contracts as a submodule. - Developed a comprehensive deployment guide in NEXT_STEPS_COMPLETE_GUIDE.md for Phase 2 and smart contract deployment. - Implemented Vite configuration for the orchestration portal, supporting both Vue and React frameworks. - Added server-side logic for the Multi-Cloud Orchestration Portal, including API endpoints for environment management and monitoring. - Created scripts for resource import and usage validation across non-US regions. - Added tests for CCIP error handling and integration to ensure robust functionality. - Included various new files and directories for the orchestration portal and deployment scripts.
1.9 KiB
1.9 KiB
Oracle Troubleshooting Guide
Common Issues
Oracle Not Updating
Symptoms:
- Oracle price is stale
- No recent updates
Diagnosis:
- Check transmitter status
- Check oracle publisher service
- Check heartbeat configuration
- Review logs
Resolution:
- Verify transmitter is active
- Restart oracle publisher if needed
- Check heartbeat settings
- Review error logs
Price Deviation Alerts
Symptoms:
- Price deviation alerts
- Unexpected price changes
Diagnosis:
- Check data sources
- Verify aggregation logic
- Review recent updates
- Check for anomalies
Resolution:
- Verify data source health
- Review aggregation logic
- Check for data source issues
- Adjust deviation threshold if needed
Transmitter Failures
Symptoms:
- Transmitter unavailable
- Update failures
Diagnosis:
- Check transmitter status
- Review network connectivity
- Check authentication
- Review logs
Resolution:
- Restart transmitter service
- Verify network connectivity
- Check authentication credentials
- Review error logs
Diagnostic Commands
Check Oracle State
cast call $AGGREGATOR_ADDRESS "latestRoundData()" --rpc-url $RPC_URL
Check Transmitter Status
cast call $AGGREGATOR_ADDRESS "isTransmitter(address)" $TRANSMITTER --rpc-url $RPC_URL
Check Heartbeat
cast call $AGGREGATOR_ADDRESS "heartbeat()" --rpc-url $RPC_URL
Check Deviation Threshold
cast call $AGGREGATOR_ADDRESS "deviationThreshold()" --rpc-url $RPC_URL
Log Analysis
Oracle Publisher Logs
kubectl logs -n besu-network -l app=oracle-publisher --tail=100
CCIP Monitor Logs
kubectl logs -n besu-network -l app=ccip-monitor --tail=100
Escalation
If issues persist:
- Review incident response procedures
- Contact on-call engineer
- Document issue and resolution
- Update runbooks if needed