-
Notifications
You must be signed in to change notification settings - Fork 18
Refactor clusterloader2 large-cluster #856
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
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 PR refactors the large cluster ClusterLoader2 SLO testing module by extracting common functionality into a base class and removing CNP (Cilium Network Policy) and CCNP (Cilium Cluster Network Policy) test-related code. The refactoring aims to improve code maintainability and remove unused functionality.
- Introduces a new base class
ClusterLoader2Basewith common argument parsing and execution logic - Removes CNP/CCNP test parameters and related configuration from YAML files
- Consolidates measurement processing utilities and constants into reusable components
Reviewed Changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| steps/engine/clusterloader2/slo/execute.yml | Removes CNP/CCNP parameters and SLO_START_TIME timestamp setup |
| steps/engine/clusterloader2/slo/collect.yml | Removes CNP/CCNP parameters and SLO_START_TIME from collection step |
| modules/python/utils/constants.py | Adds MeasurementPrefixConstants dataclass for measurement file prefixes |
| modules/python/clusterloader2/large_cluster/large_cluster.py | Major refactor replacing procedural functions with class-based architecture using new base class |
| modules/python/clusterloader2/large_cluster/config/service-churn.yaml | Removes CNP/CCNP test configuration variables and conditional logic |
| modules/python/clusterloader2/large_cluster/config/modules/reconcile-objects.yaml | Removes CNP/CCNP test parameters from object reconciliation module |
| modules/python/clusterloader2/large_cluster/config/deployment_template.yaml | Removes CNP/CCNP test variables from deployment template |
| modules/python/clusterloader2/large_cluster/base.py | New base class providing common ClusterLoader2 functionality and abstractions |
…sterloader2 scripts
…ulation in collect_clusterloader2 function
…minute for clarity
…lusterLoader2Base
…rvicediscovery.yml
|
@nguyenluan3017 please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
Contributor License AgreementContribution License AgreementThis Contribution License Agreement (“Agreement”) is agreed to by the party signing below (“You”),
|
95ba9ed to
6102146
Compare
Refactor clusterloader2 large-cluster module
This PR refactors the
clusterloader2/large_clustermodule to improve code organization and maintainability by introducing an abstract base class pattern.Key Changes
ClusterLoader2Baseinbase.pywith standardized methods forconfigure,validate,execute, andcollectoperationsLargeClusterto extendClusterLoader2Base, eliminating code duplication and providing a consistent interfaceTesting
TestLargeClustertests as they will be updated in a follow-up PRThis change prepares the codebase for easier extension and maintenance while preserving all existing functionality.