docs: update all documentation with PatternFly UI Revolution changes
- Update README.md with v2.0.0 PatternFly UI Revolution features - Add Smart Recommendations Engine and VPA CRD Integration sections - Update application branding to 'ORU Scanner' - Add Quay.io migration and GitHub Actions information - Update DOCUMENTATION.md with current status and script cleanup info - Update AIAgents-Support.md with complete Phase 2 completion status - Add PatternFly UI, VPA CRD, and infrastructure improvements - Update deployment status for OCP 4.15, 4.18, and 4.19 clusters - Reflect script cleanup (19 obsolete scripts removed) - Update roadmap to show Phase 2 as completed
This commit is contained in:
@@ -23,11 +23,11 @@ All outdated files have been removed to maintain only current and relevant docum
|
|||||||
|
|
||||||
| File | Status | Last Update | Notes |
|
| File | Status | Last Update | Notes |
|
||||||
|------|--------|-------------|-------|
|
|------|--------|-------------|-------|
|
||||||
| README.md | ✅ Active | 2025-10-01 | Main documentation with pragmatic roadmap |
|
| README.md | ✅ Active | 2025-10-03 | Main documentation with PatternFly UI updates |
|
||||||
| AIAgents-Support.md | ✅ Active | 2025-10-01 | AI agents support and project context |
|
| AIAgents-Support.md | ✅ Active | 2025-10-03 | AI agents support and project context |
|
||||||
| DOCUMENTATION.md | ✅ Active | 2025-10-01 | Documentation index |
|
| DOCUMENTATION.md | ✅ Active | 2025-10-03 | Documentation index |
|
||||||
|
|
||||||
**Removed files:** 6 outdated files were removed to keep documentation clean and organized.
|
**Removed files:** 19 obsolete scripts were removed to keep codebase clean and organized.
|
||||||
|
|
||||||
## 🎯 **PRAGMATIC ROADMAP - Resource Governance Focus**
|
## 🎯 **PRAGMATIC ROADMAP - Resource Governance Focus**
|
||||||
|
|
||||||
@@ -50,11 +50,12 @@ All outdated files have been removed to maintain only current and relevant docum
|
|||||||
- PromQL Query Display for validation in OpenShift console
|
- PromQL Query Display for validation in OpenShift console
|
||||||
- Professional UI with info icons and modal interactions
|
- Professional UI with info icons and modal interactions
|
||||||
|
|
||||||
### **Phase 2: Smart Recommendations Engine (SHORT TERM - 2-3 weeks)**
|
### **Phase 2: Smart Recommendations Engine (COMPLETED ✅)**
|
||||||
- Dedicated Recommendations Section
|
- PatternFly Service Card gallery with individual workload cards
|
||||||
- Resource Configuration Recommendations
|
- Bulk selection functionality for batch operations
|
||||||
- VPA Activation Recommendations
|
- VPA CRD Integration with real Kubernetes API
|
||||||
- Priority Scoring System
|
- Priority-based visual indicators and scoring
|
||||||
|
- Resource Configuration and VPA Activation Recommendations
|
||||||
|
|
||||||
### **Phase 3: VPA Integration & Automation (MEDIUM TERM - 3-4 weeks)**
|
### **Phase 3: VPA Integration & Automation (MEDIUM TERM - 3-4 weeks)**
|
||||||
- VPA Status Detection & Management
|
- VPA Status Detection & Management
|
||||||
|
|||||||
80
README.md
80
README.md
@@ -1,4 +1,4 @@
|
|||||||
# UWRU Scanner - User Workloads and Resource Usage Scanner
|
# ORU Scanner - OpenShift Resource Usage Scanner
|
||||||
|
|
||||||
A comprehensive tool for analyzing user workloads and resource usage in OpenShift clusters that goes beyond what Metrics Server and VPA offer, providing validations, reports and consolidated recommendations.
|
A comprehensive tool for analyzing user workloads and resource usage in OpenShift clusters that goes beyond what Metrics Server and VPA offer, providing validations, reports and consolidated recommendations.
|
||||||
|
|
||||||
@@ -8,12 +8,14 @@ A comprehensive tool for analyzing user workloads and resource usage in OpenShif
|
|||||||
- **Red Hat Validations**: Validates capacity management best practices with specific request/limit values
|
- **Red Hat Validations**: Validates capacity management best practices with specific request/limit values
|
||||||
- **Smart Resource Analysis**: Identifies workloads without requests/limits and provides detailed analysis
|
- **Smart Resource Analysis**: Identifies workloads without requests/limits and provides detailed analysis
|
||||||
- **Detailed Problem Analysis**: Modal-based detailed view showing pod and container resource issues
|
- **Detailed Problem Analysis**: Modal-based detailed view showing pod and container resource issues
|
||||||
|
- **Smart Recommendations Engine**: PatternFly-based gallery with individual workload cards and bulk selection
|
||||||
|
- **VPA CRD Integration**: Real Kubernetes API integration for Vertical Pod Autoscaler management
|
||||||
- **Historical Analysis**: Workload-based historical resource usage analysis with real numerical data (1h, 6h, 24h, 7d)
|
- **Historical Analysis**: Workload-based historical resource usage analysis with real numerical data (1h, 6h, 24h, 7d)
|
||||||
- **Prometheus Integration**: Collects real consumption metrics from OpenShift monitoring with OpenShift-specific queries
|
- **Prometheus Integration**: Collects real consumption metrics from OpenShift monitoring with OpenShift-specific queries
|
||||||
- **Cluster Overcommit Analysis**: Real-time cluster capacity vs requests analysis with detailed tooltips and modals
|
- **Cluster Overcommit Analysis**: Real-time cluster capacity vs requests analysis with detailed tooltips and modals
|
||||||
- **PromQL Query Display**: Shows raw Prometheus queries used for data collection, allowing validation in OpenShift console
|
- **PromQL Query Display**: Shows raw Prometheus queries used for data collection, allowing validation in OpenShift console
|
||||||
- **Export Reports**: Generates reports in JSON, CSV formats
|
- **Export Reports**: Generates reports in JSON, CSV formats
|
||||||
- **Modern Web UI**: Pragmatic dashboard with modal-based analysis and professional interface
|
- **Modern Web UI**: PatternFly design system with professional interface and responsive layout
|
||||||
- **Cluster Agnostic**: Works on any OpenShift cluster without configuration
|
- **Cluster Agnostic**: Works on any OpenShift cluster without configuration
|
||||||
|
|
||||||
## 📋 Requirements
|
## 📋 Requirements
|
||||||
@@ -31,8 +33,8 @@ A comprehensive tool for analyzing user workloads and resource usage in OpenShif
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 1. Clone the repository
|
# 1. Clone the repository
|
||||||
git clone <repository-url>
|
git clone https://github.com/andersonid/openshift-resource-governance.git
|
||||||
cd RequestsAndLimits
|
cd openshift-resource-governance
|
||||||
|
|
||||||
# 2. Login to OpenShift
|
# 2. Login to OpenShift
|
||||||
oc login <cluster-url>
|
oc login <cluster-url>
|
||||||
@@ -70,7 +72,7 @@ After deploy, access the application through the created route:
|
|||||||
oc get route -n resource-governance
|
oc get route -n resource-governance
|
||||||
|
|
||||||
# Access via browser (URL will be automatically generated)
|
# Access via browser (URL will be automatically generated)
|
||||||
# Example: https://resource-governance-route-resource-governance.apps.your-cluster.com
|
# Example: https://oru.apps.your-cluster.com
|
||||||
```
|
```
|
||||||
|
|
||||||
## 🔧 Configuration
|
## 🔧 Configuration
|
||||||
@@ -283,20 +285,20 @@ python -m uvicorn app.main:app --reload --host 0.0.0.0 --port 8080
|
|||||||
|
|
||||||
### Run with Podman (Recommended)
|
### Run with Podman (Recommended)
|
||||||
```bash
|
```bash
|
||||||
# Build
|
# Build and push to Quay.io
|
||||||
podman build -t resource-governance .
|
./scripts/build-and-push.sh
|
||||||
|
|
||||||
# Run
|
# Deploy to OpenShift
|
||||||
podman run -p 8080:8080 resource-governance
|
./scripts/deploy-complete.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
### Run with Podman (Alternative)
|
### Available Scripts
|
||||||
```bash
|
```bash
|
||||||
# Build
|
# Essential scripts (only 4 remaining after cleanup)
|
||||||
podman build -t resource-governance .
|
./setup.sh # Initial environment setup
|
||||||
|
./scripts/build-and-push.sh # Build and push to Quay.io
|
||||||
# Run
|
./scripts/deploy-complete.sh # Complete OpenShift deployment
|
||||||
podman run -p 8080:8080 resource-governance
|
./scripts/undeploy-complete.sh # Complete application removal
|
||||||
```
|
```
|
||||||
|
|
||||||
### Tests
|
### Tests
|
||||||
@@ -308,6 +310,29 @@ python -c "import app.main; print('OK')"
|
|||||||
curl http://localhost:8080/health
|
curl http://localhost:8080/health
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## 🆕 Recent Updates
|
||||||
|
|
||||||
|
### **Latest Version (v2.0.0) - PatternFly UI Revolution**
|
||||||
|
|
||||||
|
**🎨 Complete UI Overhaul:**
|
||||||
|
- ✅ **PatternFly Design System**: Modern, enterprise-grade UI components
|
||||||
|
- ✅ **Smart Recommendations Gallery**: Individual workload cards with bulk selection
|
||||||
|
- ✅ **VPA CRD Integration**: Real Kubernetes API for Vertical Pod Autoscaler management
|
||||||
|
- ✅ **Application Branding**: "ORU Scanner" - OpenShift Resource Usage Scanner
|
||||||
|
- ✅ **Resource Utilization Formatting**: Human-readable percentages (1 decimal place)
|
||||||
|
- ✅ **Quay.io Registry**: Migrated from Docker Hub to Quay.io for better reliability
|
||||||
|
|
||||||
|
**🔧 Infrastructure Improvements:**
|
||||||
|
- ✅ **GitHub Actions**: Automated build and push to Quay.io
|
||||||
|
- ✅ **Script Cleanup**: Removed 19 obsolete scripts, kept only essential ones
|
||||||
|
- ✅ **Codebase Organization**: Clean, maintainable code structure
|
||||||
|
- ✅ **Documentation**: Updated all documentation files
|
||||||
|
|
||||||
|
**🚀 Deployment Ready:**
|
||||||
|
- ✅ **Zero Downtime**: Rolling updates with proper health checks
|
||||||
|
- ✅ **Cluster Agnostic**: Works on any OpenShift 4.x cluster
|
||||||
|
- ✅ **Production Tested**: Deployed on OCP 4.15, 4.18, and 4.19
|
||||||
|
|
||||||
## 📝 Roadmap
|
## 📝 Roadmap
|
||||||
|
|
||||||
### 🎯 **PRAGMATIC ROADMAP - Resource Governance Focus**
|
### 🎯 **PRAGMATIC ROADMAP - Resource Governance Focus**
|
||||||
@@ -376,32 +401,39 @@ curl http://localhost:8080/health
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### **Phase 2: Smart Recommendations Engine (SHORT TERM - 2-3 weeks)**
|
### **Phase 2: Smart Recommendations Engine (COMPLETED ✅)**
|
||||||
|
|
||||||
#### 2.1 Recommendation Dashboard
|
#### 2.1 Recommendation Dashboard
|
||||||
- [ ] **Dedicated Recommendations Section**
|
- [x] **Dedicated Recommendations Section**
|
||||||
- Replace generic "VPA Recommendations" with "Smart Recommendations"
|
- Replaced generic "VPA Recommendations" with "Smart Recommendations"
|
||||||
- Show actionable insights with priority levels
|
- PatternFly Service Card gallery with individual workload cards
|
||||||
- Display estimated impact of changes
|
- Bulk selection functionality for batch operations
|
||||||
- Group by namespace and severity
|
- Priority-based visual indicators and scoring
|
||||||
|
|
||||||
#### 2.2 Recommendation Types
|
#### 2.2 Recommendation Types
|
||||||
- [ ] **Resource Configuration Recommendations**
|
- [x] **Resource Configuration Recommendations**
|
||||||
- "Add CPU requests: 200m (based on 7-day P95 usage)"
|
- "Add CPU requests: 200m (based on 7-day P95 usage)"
|
||||||
- "Increase memory limits: 512Mi (current usage peaks at 400Mi)"
|
- "Increase memory limits: 512Mi (current usage peaks at 400Mi)"
|
||||||
- "Fix CPU ratio: 3:1 instead of 5:1 (current: 500m limit, 100m request)"
|
- "Fix CPU ratio: 3:1 instead of 5:1 (current: 500m limit, 100m request)"
|
||||||
|
|
||||||
- [ ] **VPA Activation Recommendations**
|
- [x] **VPA Activation Recommendations**
|
||||||
- "Activate VPA for new workload 'example' (insufficient historical data)"
|
- "Activate VPA for new workload 'example' (insufficient historical data)"
|
||||||
- "Enable VPA for outlier workload 'high-cpu-app' (unpredictable usage patterns)"
|
- "Enable VPA for outlier workload 'high-cpu-app' (unpredictable usage patterns)"
|
||||||
|
|
||||||
#### 2.3 Priority Scoring System
|
#### 2.3 Priority Scoring System
|
||||||
- [ ] **Impact-Based Prioritization**
|
- [x] **Impact-Based Prioritization**
|
||||||
- **Critical**: Missing limits on high-resource workloads
|
- **Critical**: Missing limits on high-resource workloads
|
||||||
- **High**: Missing requests on production workloads
|
- **High**: Missing requests on production workloads
|
||||||
- **Medium**: Suboptimal ratios on established workloads
|
- **Medium**: Suboptimal ratios on established workloads
|
||||||
- **Low**: New workloads needing VPA activation
|
- **Low**: New workloads needing VPA activation
|
||||||
|
|
||||||
|
#### 2.4 VPA CRD Integration
|
||||||
|
- [x] **Real Kubernetes API Integration**
|
||||||
|
- Direct VPA CRD management using Kubernetes CustomObjectsApi
|
||||||
|
- VPA creation, listing, and deletion functionality
|
||||||
|
- Real-time VPA status and recommendations
|
||||||
|
- YAML generation and application capabilities
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### **Phase 3: VPA Integration & Automation (MEDIUM TERM - 3-4 weeks)**
|
### **Phase 3: VPA Integration & Automation (MEDIUM TERM - 3-4 weeks)**
|
||||||
|
|||||||
Reference in New Issue
Block a user