Draft: Port AI Gateway E2E tests to CNG

What does this MR do and why?

This MR ports AI Gateway E2E tests from the Omnibus-based test infrastructure to CNG (Cloud Native GitLab), enabling AI Gateway testing in Kubernetes environments.

Key changes:

  • Adds new AiGateway deployment configuration class for CNG orchestrator
  • Implements AI Gateway Helm chart installation and configuration
  • Adds support for multiple test scenarios: with/without add-ons, with/without seat assignments, and without license
  • Extends Kind cluster configuration to support AI Gateway port mapping (30081)
  • Adds GitLab Duo license setup automation via gitlab_duo_setup.rb
  • Implements debugging utilities for AI Gateway connectivity and authentication

Why this is needed:

  • Provides CNG-based testing platform alongside existing Omnibus tests
  • Enables testing of AI Gateway in Kubernetes environments
  • Supports various licensing and seat assignment scenarios for comprehensive test coverage

Related to gitlab-org/quality/quality-engineering/team-tasks#3341

How to set up and validate locally

  1. Ensure you have a valid QA_EE_ACTIVATION_CODE with Duo add-on
  2. Run the orchestrator with AI Gateway configuration:
    bundle exec exe/gitlab-orchestrator kind --create-cluster --config-type ai_gateway
  3. The setup will:
    • Create a Kind cluster with AI Gateway port mapping
    • Install GitLab via Helm
    • Install AI Gateway chart
    • Apply Duo license and configure service access tokens
    • Run debugging checks for connectivity

Current status

Draft - Currently investigating 401 authentication errors in CI:

  • AI Gateway is deployed with AIGW_AUTH__BYPASS_EXTERNAL=true
  • Service access tokens are being generated
  • Tests are quarantined pending resolution of auth issues
  • Added comprehensive debugging to troubleshoot connectivity and authentication

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Tim Beauchamp

Merge request reports

Loading