-
Notifications
You must be signed in to change notification settings - Fork 16
Add pipeline for A/B testing stateless CNI #754
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
b6a22bb
to
e2fa16a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This pull request introduces a new feature to control whether pods use the host's network namespace in CNI A/B testing scenarios. The implementation adds a HOST_NETWORK
parameter throughout the testing framework and includes infrastructure configurations for performance evaluation.
- Adds
HOST_NETWORK
parameter configuration support across CLI, YAML, and Terraform inputs - Introduces new Prometheus metric
KubeletRunSandboxDuration
for sandbox operation monitoring - Updates infrastructure configurations including Kubernetes version upgrades and AMI type changes
Reviewed Changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 4 comments.
Show a summary per file
File | Description |
---|---|
steps/engine/clusterloader2/cri/execute.yml | Adds HOST_NETWORK parameter to clusterloader2 execution step |
modules/python/clusterloader2/cri/cri.py | Implements host_network parameter in configuration and CLI interface |
modules/python/clusterloader2/cri/config/*.yaml | Updates templates and config to support HOST_NETWORK variable |
modules/python/tests/test_cri.py | Adds comprehensive tests for host_network functionality |
scenarios/perf-eval/cni-ab-testing/* | New scenario configuration files for CNI A/B testing |
pipelines/perf-eval/CNI Benchmark/cni-ab-testing.yml | New pipeline for automated CNI performance testing |
scenarios/perf-eval/cri-resource-consume/terraform-inputs/aws.tfvars | Updates AMI type and Kubernetes version for existing scenario |
Comments suppressed due to low confidence (1)
pipelines/perf-eval/CNI Benchmark/cni-ab-testing.yml:59
- The stage name 'azure_swedencentral_stateless' suggests this stage is for stateless CNI testing, but the stage configuration appears identical to the 'azure_swedencentral_default' stage. The naming should clearly differentiate the purpose or the configurations should differ to justify separate stages.
- stage: azure_swedencentral_stateless
This pull request introduces a new
HOST_NETWORK
configuration option to theclusterloader2
testing framework, allowing users to toggle between host network and pod network modes. Additionally, it adds new metrics collection for sandbox runtime performance, updates test cases, and introduces a new performance evaluation scenario for CNI benchmarking.New
HOST_NETWORK
Configuration:HOST_NETWORK
parameter to control whether pods use the host's network namespace. This is configurable via CLI, YAML configurations, and Terraform inputs. (modules/python/clusterloader2/cri/README.md
,modules/python/clusterloader2/cri/config/config.yaml
,modules/python/clusterloader2/cri/config/deployment_template.yaml
,modules/python/clusterloader2/cri/cri.py
,scenarios/perf-eval/cni-ab-testing/terraform-inputs/aws.tfvars
) [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]Metrics Enhancements:
KubeletRunSandboxDuration
, to measure pod sandbox runtime performance, including 99th, 90th, and 50th percentiles. (modules/python/clusterloader2/cri/config/kubelet-measurement.yaml
,modules/python/clusterloader2/cri/cri.py
) [1] [2]Test Updates:
HOST_NETWORK
parameter, including scenarios where it is explicitly set toFalse
. (modules/python/tests/test_cri.py
) [1] [2] [3] [4]New Performance Evaluation Scenario:
pipelines/perf-eval/CNI Benchmark/cni-ab-testing.yml
,scenarios/perf-eval/cni-ab-testing/terraform-inputs/aws.tfvars
) [1] [2]