Commit Graph

249 Commits

Author SHA1 Message Date
5c5afc85ac docs: add complete refactoring plan for large clusters scalability 2025-10-06 10:26:09 -03:00
6111579b24 Debug: add logging to updateMetricsCards function 2025-10-06 10:17:56 -03:00
1e447903aa Fix: increase pod memory limits to prevent OOM kills 2025-10-06 10:13:42 -03:00
170e1b641e Implement smart loading system with intelligent timeout and graceful error handling 2025-10-06 10:04:56 -03:00
b2da86bfc7 Center the progress bar in loading modal 2025-10-06 10:01:55 -03:00
e21c69a503 Increase API timeout to 50s and loading timeout to 60s for large clusters 2025-10-06 09:59:11 -03:00
49779c7053 Add timeout handling for API requests to prevent infinite loading 2025-10-06 09:56:52 -03:00
56a13424ba Implement fullscreen loading modal with blur background 2025-10-06 09:53:18 -03:00
19926a37d8 Add loading states and UX improvements for dashboard charts 2025-10-06 09:48:55 -03:00
64807f2335 Fix: Correct all _query_prometheus function calls with proper parameters 2025-10-06 09:44:30 -03:00
2fa7872960 Fix: Correct _query_prometheus function calls with proper parameters 2025-10-06 09:40:43 -03:00
8d92d19433 Fix: Dashboard charts now use real cluster data instead of mock data 2025-10-06 09:35:08 -03:00
067dfaa322 Remove unnecessary rollout-restart.sh script
- Delete rollout-restart.sh as it was just a simple oc command
- Update README.md to show direct oc rollout restart command
- Simplify workflow: git push -> GitHub Actions -> oc rollout restart
- Keep only essential scripts: deploy-complete.sh, build-and-push.sh, undeploy-complete.sh
2025-10-04 12:00:30 -03:00
92834cc8aa Fix scripts: remove duplications, hardcoded credentials, and restore proper workflow
- Remove hardcoded Quay.io credentials from build-and-push.sh
- Create common.sh with shared functions to eliminate duplication
- Create rollout-restart.sh for simple updates (recommended workflow)
- Refactor deploy-complete.sh and rollout-restart.sh to use common functions
- Add comprehensive README.md explaining proper workflow
- Restore correct process: git push -> GitHub Actions -> rollout-restart
- Fix security issues and improve maintainability
2025-10-04 11:59:49 -03:00
7e1d26174b Restore original Victory.js pie chart with real data
- Revert to Victory.VictoryPie component (original format)
- Keep real data from /api/v1/namespace-distribution
- Maintain hover effects and summary statistics
- Fix chart rendering while preserving data accuracy
2025-10-04 11:54:54 -03:00
f9a071e338 Fix dashboard charts to use real data instead of mock data
- Replace Victory pie chart with HTML-based visualization for namespace distribution
- Update resource utilization trend to use real cluster metrics
- Update issues timeline to use real validation data
- Add proper error handling and empty states
- Remove all mock/sample data from charts
2025-10-04 11:51:20 -03:00
0e770777d5 Fix S2I workflow to stop automatic failures
- Disable automatic trigger on push to main
- Change to manual-only workflow dispatch
- Add webhook token validation
- Prevent emails from failed automatic builds
- Add clear instructions for webhook setup
2025-10-04 11:48:00 -03:00
eddc492d0e Add real namespace distribution data for dashboard chart
- Create new API endpoint /api/v1/namespace-distribution
- Replace mock data with real cluster data
- Add CPU and memory parsing functions
- Update frontend to use real data with enhanced chart
- Add hover effects and summary statistics
2025-10-04 11:43:22 -03:00
4301023a66 Add automatic TLS configuration to routes
- Fix oc expose service not configuring TLS by default
- Add oc patch command to configure TLS after route creation
- Ensures routes work properly with HTTPS in all clusters
- Applied to both deploy-complete.sh and deploy-s2i.sh
2025-10-04 11:35:39 -03:00
018bdc0cc5 Fix route creation to work across different OpenShift clusters 2025-10-04 11:32:50 -03:00
14900fc27f Standardize all scripts to English without emojis 2025-10-04 10:25:53 -03:00
5e9ffa1f4b Change debug logs to INFO level for pod filtering 2025-10-04 10:12:37 -03:00
e2ee01fc61 Add debug logging for pod filtering 2025-10-04 10:11:00 -03:00
472eec01c9 Filter out build pods and non-running pods from analysis
- Filter pods with status not in [Running, Pending]
- Filter pods ending with -build (S2I build pods)
- Prevent build pods from polluting workload analysis
- Improve analysis accuracy by focusing on active workloads
2025-10-04 10:08:37 -03:00
a73aa4a76f Fix S2I webhook URL - use OpenShift API server
- Change from application route to OpenShift API server
- Fix DNS resolution issue in GitHub Actions
- Use api.shrocp4upi419ovn.lab.upshift.rdu2.redhat.com:6443
2025-10-04 10:02:29 -03:00
2bb99839ba Add S2I GitHub Actions automation
- Add s2i-deploy.yml workflow for automatic S2I builds
- Update deploy-s2i.sh with --github option for GitHub Actions
- Generic webhook integration for automatic builds
- Maintain existing manual S2I deployment option
2025-10-04 10:00:54 -03:00
9f96614c15 Test S2I auto-rebuild - update app title
- Add (S2I Test) to application title
- Test if S2I detects code changes and triggers rebuild
- Verify automatic deployment workflow
2025-10-04 09:46:57 -03:00
1540c40124 Fix S2I deployment to match Container Build resources exactly
- Change APP_NAME from 'oru-analyzer' to 'resource-governance'
- Use correct labels: app.kubernetes.io/name=resource-governance
- Apply service.yaml and route.yaml from manifests instead of oc expose
- Use resource-governance-service and resource-governance-route names
- Ensure S2I generates identical resources as Container Build
- Only deployment approach changes, not application resources
2025-10-04 09:37:07 -03:00
f813261430 Consolidate S2I scripts - single complete script only
- Merge deploy-s2i-complete.sh functionality into deploy-s2i.sh
- Remove duplicate deploy-s2i-complete.sh script
- Update README.md to reference single S2I script
- Always complete deployment - no simple vs complete variants
- Maintain self-service approach with all required resources
- Clean repository with only essential scripts
2025-10-04 09:36:16 -03:00
f80b488949 Implement complete S2I deployment script - fully self-service
- Create deploy-s2i-complete.sh with all required resources
- Automatically applies RBAC, ConfigMap, S2I build, Service, Route
- Configures ServiceAccount, resource limits, and replicas
- Single command deployment - no additional steps needed
- Fix service routing to use correct service created by oc new-app
- Update README.md to highlight complete S2I option
- Ensure application is fully functional after deployment
2025-10-04 09:33:01 -03:00
d79768d00b Fix S2I assemble script - correct app files copy path
- Update assemble script to copy from /tmp/src/app/* to /opt/app-root/src/app/
- Fix build error where app files were not copied correctly
- Ensure S2I build process can locate and copy application files
2025-10-04 09:18:19 -03:00
06f41c789b Fix S2I assemble script - correct requirements.txt path
- Update assemble script to use /tmp/src/requirements.txt
- Fix build error where requirements.txt was not found
- Ensure S2I build process can locate dependencies correctly
2025-10-04 09:17:22 -03:00
ec4dfbb2ef Consolidate documentation - remove duplicate README-S2I.md
- Delete README-S2I.md (unnecessary duplicate)
- Keep all documentation in main README.md
- Update reference to point to S2I section in main README
- Maintain single source of truth for documentation
- Reduce repository clutter and maintenance overhead
2025-10-04 09:12:56 -03:00
5ceb421a3c Clean up repository - remove unnecessary files and simplify S2I
- Remove deploy-s2i-simple.sh (duplicate functionality)
- Remove openshift-s2i.yaml template (unnecessary complexity)
- Simplify deploy-s2i.sh to single script approach
- Reduce repository clutter and maintenance overhead
- Keep only essential scripts: deploy-s2i.sh, deploy-complete.sh, build-and-push.sh, undeploy-complete.sh
- Maintain clean, focused codebase
2025-10-04 09:11:36 -03:00
4eec703cba Simplify S2I deployment - remove unnecessary template complexity
- Replace complex template with simple oc new-app command
- Remove dependency on openshift-s2i.yaml template
- Add ultra-simple deploy-s2i-simple.sh script (one command)
- Keep resource configuration via oc patch
- Maintain same functionality with much simpler approach
- Follow OpenShift best practices for S2I deployment
- Reduce maintenance overhead and complexity
2025-10-04 09:10:02 -03:00
04aca2f56e Fix S2I deploy script with optimized resource values
- Update CPU_REQUEST: 100m → 50m
- Update CPU_LIMIT: 500m → 200m
- Update MEMORY_REQUEST: 256Mi → 64Mi
- Update MEMORY_LIMIT: 1Gi → 256Mi
- Align S2I script with deployment.yaml optimizations
- Ensure consistent resource allocation across all deployment methods
2025-10-04 09:07:13 -03:00
4330df5054 Optimize application resource requests/limits based on real usage
- Reduce replicas from 2 to 1 (single instance sufficient)
- Adjust CPU requests: 100m → 50m (based on actual usage)
- Adjust CPU limits: 500m → 200m (4x headroom for spikes)
- Adjust memory requests: 128Mi → 64Mi (realistic baseline)
- Adjust memory limits: 512Mi → 256Mi (2x headroom for 160MB peak usage)
- Update S2I template with same optimized values
- Maintain proper resource ratios (4:1 CPU, 4:1 Memory)
- Eliminate resource waste and improve cluster efficiency
2025-10-04 09:05:59 -03:00
9b2dd69781 Implement Phase 1: Performance Optimization - 10x Improvement
- Add OptimizedPrometheusClient with aggregated queries (1 query vs 6 per workload)
- Implement intelligent caching system with 5-minute TTL and hit rate tracking
- Add MAX_OVER_TIME queries for peak usage analysis and realistic recommendations
- Create new optimized API endpoints for 10x faster workload analysis
- Add WorkloadMetrics and ClusterMetrics data structures for better performance
- Implement cache statistics and monitoring capabilities
- Focus on workload-level analysis (not individual pods) for persistent insights
- Maintain OpenShift-specific Prometheus queries for accurate cluster analysis
- Add comprehensive error handling and fallback mechanisms
- Enable parallel query processing for maximum performance

Performance Improvements:
- 10x reduction in Prometheus queries (60 queries → 6 queries for 10 workloads)
- 5x improvement with intelligent caching (80% hit rate expected)
- Real-time peak usage analysis with MAX_OVER_TIME
- Workload-focused analysis for persistent resource governance
- Optimized for OpenShift administrators' main pain point: identifying projects with missing/misconfigured requests and limits
2025-10-04 09:01:19 -03:00
34f4993510 Add S2I support and cleanup unused files
- Add complete Source-to-Image (S2I) deployment support
- Create .s2i/ directory with assemble/run scripts and environment config
- Add openshift-s2i.yaml template for S2I deployment
- Add scripts/deploy-s2i.sh for automated S2I deployment
- Add README-S2I.md with comprehensive S2I documentation
- Update README.md and AIAgents-Support.md with S2I information
- Clean up unused files: Dockerfile.simple, HTML backups, daemonset files
- Remove unused Makefile and openshift-git-deploy.yaml
- Update kustomization.yaml to use deployment instead of daemonset
- Update undeploy-complete.sh to remove deployment instead of daemonset
- Maintain clean and organized codebase structure
2025-10-04 08:38:55 -03:00
05915251c5 Add comprehensive AI agent context for seamless continuation 2025-10-04 08:21:36 -03:00
6edbaa0b82 Add performance analysis and optimization roadmap to documentation 2025-10-04 07:53:16 -03:00
221b68be49 Add comprehensive dashboard charts section
- Implement 5 new charts using Victory.js and PatternFly styling:
  1. Resource Utilization Trend (24h) - Line chart showing CPU/Memory over time
  2. Namespace Resource Distribution - Pie chart showing resource allocation
  3. Issues by Severity Timeline - Stacked area chart for Critical/Warnings
  4. Top 5 Workloads by Resource Usage - Horizontal bar chart
  5. Overcommit Status by Namespace - Grouped bar chart for CPU/Memory

- Add responsive chart cards with PatternFly styling
- Include chart legends and proper color schemes
- Load charts automatically when dashboard loads
- Use real data from APIs where available, simulated data for demos
- All charts follow OpenShift console design patterns
2025-10-03 20:54:43 -03:00
605622f7db Fix CPU and Memory summary calculation
- Change from sum() to current value (last point) for accurate usage
- CPU and Memory should show current usage, not sum of all data points
- Fixes issue where memory usage was incorrectly showing 800+ MB
- Now shows realistic current resource consumption values
2025-10-03 20:29:04 -03:00
a4cf3d65bc Implement OpenShift Console exact queries for CPU and Memory Usage
- Add get_workload_cpu_summary() and get_workload_memory_summary() methods
- Use exact OpenShift Console PromQL queries for data consistency
- Update historical analysis API endpoints to include real CPU/Memory data
- Document all OpenShift Console queries in AIAgents-Support.md
- Fix CPU Usage and Memory Usage columns showing N/A in Historical Analysis
2025-10-03 20:19:42 -03:00
692d647abd Fix: remove Actions column from Historical Analysis table and increase chart padding to prevent label cutoff 2025-10-03 18:26:42 -03:00
cca51841bf Clean up: remove unnecessary header icons, keep only help and user menu 2025-10-03 17:26:33 -03:00
4d431959a2 Rename: change Scanner to Analyzer in application titles and documentation 2025-10-03 16:39:58 -03:00
efa487424d Fix: use correct API endpoint for namespace validations 2025-10-03 15:51:46 -03:00
ff2bafe621 Refactor: convert Requests & Limits to accordion interface with pre-loaded data 2025-10-03 15:48:26 -03:00
8e1d80addd Fix: use UTC timezone for chart time labels to match Prometheus data 2025-10-03 13:05:18 -03:00