Environment Validation Guide
This guide covers the environment validation process for the OpenShift Agent Install Helper, ensuring all prerequisites and configurations are correctly set up.
Overview
Environment validation is a critical step that:
- Verifies system requirements
- Checks required packages
- Validates configurations
- Ensures service availability
- Confirms network setup
Validation Components
1. System Requirements
# Minimum requirements
- CPU: 8+ cores
- RAM: 32+ GB
- Storage: 500+ GB
- Network: 1+ GbE
2. Required Packages
# Core packages
- nmstate
- ansible-core
- bind-utils
- libguestfs
- cloud-init
- virt-install
- qemu-img
- virt-manager
- podman
3. OpenShift Tools
# Required tools
- OpenShift CLI (oc)
- OpenShift Installer
- NMState CLI
Validation Process
1. Running Validation
# Execute validation script
./e2e-tests/validate_env.sh
2. Validation Steps
- System Validation
- OS version check
- Resource verification
- Package validation
- Service status
- Tool Validation
- CLI availability
- Version compatibility
- Configuration check
- Permission verification
- Network Validation
- Connectivity check
- DNS resolution
- Network interface status
- VLAN availability
- Infrastructure Validation
- Virtualization support
- Storage configuration
- Service availability
- Security settings
Validation Results
1. Success Indicators
# Example successful validation
✓ Operating system requirements met
✓ Required packages installed
✓ OpenShift tools available
✓ Network configuration valid
✓ Infrastructure services running
2. Error Messages
# Example error messages
✗ Missing required package: nmstate
✗ Insufficient system memory
✗ Network interface not found
✗ Service not running: libvirtd
Common Issues
1. System Requirements
- Insufficient resources
- Unsupported OS version
- Missing packages
- Permission issues
2. Network Configuration
- DNS resolution failures
- Interface configuration errors
- VLAN setup issues
- Connectivity problems
3. Service Issues
- Service not running
- Configuration errors
- Permission problems
- Resource conflicts
Resolution Steps
1. Package Issues
# Install missing packages
sudo dnf install -y nmstate ansible-core bind-utils
# Verify installation
rpm -q package_name
2. Network Problems
# Check DNS resolution
dig +short api.cluster.domain
# Verify network interface
nmcli device show
# Test connectivity
ping -c 4 gateway_ip
3. Service Problems
# Check service status
systemctl status service_name
# Start service
sudo systemctl start service_name
# Enable service
sudo systemctl enable service_name
Best Practices
1. Pre-validation
- Update system packages
- Clear temporary files
- Check resource usage
- Verify configurations
2. During Validation
- Monitor system logs
- Track resource usage
- Document issues
- Save error messages
3. Post-validation
- Review validation results
- Address any issues
- Document changes
- Update configurations
Troubleshooting
1. Validation Failures
- Check system logs
- Verify requirements
- Review configurations
- Test components
2. Resource Issues
- Monitor usage
- Free resources
- Adjust limits
- Optimize configuration
3. Configuration Problems
- Review settings
- Check syntax
- Verify permissions
- Test changes