Instruction file imported from moetez47/clouds (
.cursor/rules/ocp-processing.mdc). Copyright stays with the author.
OpenShift Processing Patterns
Report Types
OCP has multiple report types, each with raw and daily table variants:
pod_usage- CPU, memory usage per podstorage_usage- Persistent volume claimsnode_labels- Node metadata and labelsnamespace_labels- Namespace metadatagpu_usage- GPU utilization (NVIDIA)
Table Name Mappings
TRINO_LINE_ITEM_TABLE_MAP = {
"pod_usage": "openshift_pod_usage_line_items",
"gpu_usage": "openshift_gpu_usage_line_items",
...
}
TRINO_LINE_ITEM_TABLE_DAILY_MAP = {
"pod_usage": "openshift_pod_usage_line_items_daily",
"gpu_usage": "openshift_gpu_usage_line_items_daily",
...
}
Daily tables are identified by /daily in the S3 path.
GPU Processing
GPU data includes:
gpu_uuid- Physical GPU identifiermig_instance_uuid- MIG (Multi-Instance GPU) partition IDmig_slice_count/parent_gpu_max_slices- For fractional GPU billinggpu_pod_uptime- Seconds of GPU utilization
MIG cost formula:
cost = (rate / days_in_month) * (uptime / 86400) * (slice_count / max_slices)
Cost Model Application
Cost models apply rates via SQL templates:
monthly_cost_*.sql- Calculate costs from ratesdistribute_cost/*.sql- Distribute unallocated costs- UI summary tables aggregate for display
Cluster Identification
cluster_id- Unique cluster identifiercluster_alias- Human-readable name (from Provider.name)source_uuid- Provider UUID linking to sources table