Files
michaelschiemer/.deployment-backup/ansible/netcup-simple-deploy/test-connectivity.sh
Michael Schiemer 9b74ade5b0 feat: Fix discovery system critical issues
Resolved multiple critical discovery system issues:

## Discovery System Fixes
- Fixed console commands not being discovered on first run
- Implemented fallback discovery for empty caches
- Added context-aware caching with separate cache keys
- Fixed object serialization preventing __PHP_Incomplete_Class

## Cache System Improvements
- Smart caching that only caches meaningful results
- Separate caches for different execution contexts (console, web, test)
- Proper array serialization/deserialization for cache compatibility
- Cache hit logging for debugging and monitoring

## Object Serialization Fixes
- Fixed DiscoveredAttribute serialization with proper string conversion
- Sanitized additional data to prevent object reference issues
- Added fallback for corrupted cache entries

## Performance & Reliability
- All 69 console commands properly discovered and cached
- 534 total discovery items successfully cached and restored
- No more __PHP_Incomplete_Class cache corruption
- Improved error handling and graceful fallbacks

## Testing & Quality
- Fixed code style issues across discovery components
- Enhanced logging for better debugging capabilities
- Improved cache validation and error recovery

Ready for production deployment with stable discovery system.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-13 12:04:17 +02:00

75 lines
2.3 KiB
Bash
Executable File
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# Test Production Server Connectivity
set -e
SERVER="94.16.110.151"
USER="deploy"
SSH_KEY="~/.ssh/production"
echo "🔧 Production Server Connectivity Test"
echo "========================================"
echo "Server: $SERVER"
echo "User: $USER"
echo "SSH-Key: $SSH_KEY"
echo ""
# 1. SSH Key Test
echo "1⃣ SSH-Key Test..."
if ssh-keygen -l -f $SSH_KEY.pub &>/dev/null; then
echo "✅ SSH-Key ist gültig"
ssh-keygen -l -f $SSH_KEY.pub
else
echo "❌ SSH-Key Problem"
exit 1
fi
echo ""
# 2. SSH Connectivity Test
echo "2⃣ SSH Connectivity Test..."
if ssh -i $SSH_KEY -o ConnectTimeout=10 -o StrictHostKeyChecking=no $USER@$SERVER 'echo "SSH Connection successful"' 2>/dev/null; then
echo "✅ SSH Connection erfolgreich"
else
echo "❌ SSH Connection fehlgeschlagen"
echo "Möglicherweise ist der Server noch nicht bereit oder SSH-Key nicht konfiguriert"
exit 1
fi
echo ""
# 3. System Info
echo "3⃣ Server System Information..."
ssh -i $SSH_KEY $USER@$SERVER 'echo "Hostname: $(hostname)" && echo "OS: $(cat /etc/os-release | grep PRETTY_NAME)" && echo "Kernel: $(uname -r)" && echo "Uptime: $(uptime -p)" && echo "Available space: $(df -h / | tail -1 | awk "{print \$4}")"'
echo ""
# 4. Docker Readiness Check
echo "4⃣ Docker Readiness Check..."
if ssh -i $SSH_KEY $USER@$SERVER 'which docker &>/dev/null && which docker-compose &>/dev/null'; then
echo "✅ Docker bereits installiert"
ssh -i $SSH_KEY $USER@$SERVER 'docker --version && docker-compose --version'
else
echo "⚠️ Docker noch nicht installiert (wird durch Ansible installiert)"
fi
echo ""
# 5. Ansible Ping Test
echo "5⃣ Ansible Ping Test..."
cd "$(dirname "$0")"
if ansible netcup-server -i inventory/hosts.yml -m ping; then
echo "✅ Ansible Ping erfolgreich"
else
echo "❌ Ansible Ping fehlgeschlagen"
exit 1
fi
echo ""
# 6. Ansible Gather Facts
echo "6⃣ Ansible System Facts..."
ansible netcup-server -i inventory/hosts.yml -m setup -a "filter=ansible_distribution*" | grep -A 10 '"ansible_distribution"'
echo ""
echo "🎉 Connectivity Test erfolgreich abgeschlossen!"
echo ""
echo "Nächste Schritte:"
echo "1. Deployment-Playbook ausführen: ansible-playbook -i inventory/hosts.yml deploy.yml"
echo "2. SSL-Zertifikate konfigurieren"
echo "3. Monitoring einrichten"