Uploaded image for project: 'Red Hat OpenShift Control Planes'
  1. Red Hat OpenShift Control Planes
  2. CNTRLPLANE-1644

Add request serving topology end-to-end validation test suite

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • None
    • HyperShift
    • None
    • None
    • False
    • Hide

      None

      Show
      None
    • False
    • None
    • None
    • None
    • None

      Summary

      As a HyperShift developer, I need comprehensive end-to-end tests for the request serving topology feature to ensure that dedicated request serving components are properly configured, scheduled, and scaled according to cluster sizing requirements.

      Background

      The request serving topology feature provides dedicated isolation for control plane components through specialized machine sets and cluster sizing configurations. This feature requires thorough testing to validate proper node allocation, pod distribution, resource management, and scaling behavior across different cluster sizes.

      Acceptance Criteria

      Test Infrastructure Setup

      • [ ] Set up management cluster with request serving machine sets configuration
      • [ ] Configure cluster autoscaler with balanced similar node groups
      • [ ] Create machine health checks for request serving machines
      • [ ] Set up control plane machine sets for both common and request serving workloads
      • [ ] Configure 20 request serving machine pairs across 2 availability zones with 3 different sizes (small: m6i.large, medium: m6i.xlarge, large: m6i.2xlarge)

      Cluster Sizing Configuration Validation

      • [ ] Validate ClusterSizingConfiguration applies correct resource requests based on cluster size
      • [ ] Test small cluster configuration (0-2 nodes) with appropriate memory/CPU limits
      • [ ] Test medium cluster configuration (3 nodes) with scaled resource allocations
      • [ ] Test large cluster configuration (4+ nodes) with maximum resource allocations
      • [ ] Verify kube-apiserver GOMEMLIMIT environment variable setting per cluster size
      • [ ] Validate max-requests-inflight and max-mutating-requests-inflight API server arguments

      Request Serving Component Validation

      • [ ] Verify control plane workloads are ready and properly scheduled
      • [ ] Validate request serving node allocation with proper taints and tolerations
      • [ ] Test pod distribution across request serving nodes
      • [ ] Verify request serving pod labels are correctly applied
      • [ ] Validate placeholder config maps are properly configured
      • [ ] Test node scaling from 1 to 3 nodes and verify size label updates

      Environment Validation

      • [ ] Support AWS platform with PublicAndPrivate endpoint access
      • [ ] Validate base domain inference from management cluster
      • [ ] Test availability zone inference from management cluster machine sets
      • [ ] Verify shared OIDC provider setup and cleanup

      Test Features

      • [ ] Support dry-run mode for YAML generation without cluster creation
      • [ ] Provide comprehensive test utilities for verification (verifycp, verifypods, verifynodes, etc.)
      • [ ] Include wait helpers for cluster readiness and component verification
      • [ ] Test dedicated request serving isolation annotation on hosted clusters

      Technical Implementation Notes

      • Test suite location: test/reqserving-e2e/
      • Build tag: reqserving for conditional compilation
      • Integrates with existing e2e test infrastructure
      • Uses HyperShift operator with dedicated request serving isolation enabled
      • Validates effects of schedulingv1alpha1.ClusterSizingConfiguration on control plane components

      Testing Scope

      The test validates the complete request serving topology workflow:
      1. Management cluster preparation and configuration
      2. HyperShift operator installation with request serving features enabled
      3. Hosted cluster creation with request serving topology annotation
      4. Scaling validation and resource allocation verification
      5. Component scheduling and configuration validation

      Definition of Done

      • [ ] All acceptance criteria validated through automated testing
      • [ ] Test suite passes in CI/CD pipeline
      • [ ] Test artifacts and logs are properly collected on failure
      • [ ] Documentation updated with test usage and configuration
      • [ ] Code review completed and approved

              cewong@redhat.com Cesar Wong
              cewong@redhat.com Cesar Wong
              None
              None
              None
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: