-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Open
Description
Parent issue: #5521
Summary
The CI-basictests workflow needs to be migrated from depending on the private proxysql/jenkins-build-scripts repository to using the in-repo test/infra/ infrastructure.
What CI-basictests Does
This workflow runs Python-based functional tests against a ProxySQL instance with a MySQL 5.7 backend. The test categories are:
- Benchmark (
TEST_PY_BENCHMARK=1) — sysbench-based performance checks - Change User (
TEST_PY_CHUSER=1) — COM_CHANGE_USER tests - Failover (
TEST_PY_FAILOVER=1) — backend failover scenarios
The workflow steps are:
- Install dependencies (python3-pymysql, sysbench, mysql-shell, etc.)
- Restore cached ProxySQL build from CI-builds
- Start ProxySQL cluster (
cluster_start.bash,cluster_init.bash) - Start docker-hoster (DNS for containers) and MySQL 5.7 infra
- Run
proxysql-tester.pywith the test flags above - Cleanup and upload artifacts on failure
Current jenkins-build-scripts Dependencies
| Script/Resource | Branch | Purpose |
|---|---|---|
env.sh |
kubernetes |
Sets WORKSPACE, paths, TAP_* variables |
cluster_start.bash |
kubernetes |
Starts ProxySQL cluster nodes |
cluster_init.bash |
kubernetes |
Initializes cluster config |
infra-docker-hoster/docker-compose-init.bash |
kubernetes |
DNS resolution for containers |
infra-mysql57/docker-compose-init.bash |
kubernetes |
MySQL 5.7 backend |
test-scripts/bin/proxysql-tester.py |
kubernetes |
Python test runner |
docker-mysql-proxysql/conf/proxysql/proxysql.cnf |
kubernetes |
ProxySQL config for tests |
What Already Exists In-Repo
test/infra/infra-mysql57/— MySQL 5.7 docker-compose infrastructuretest/infra/control/cluster_start.bash,cluster_init.bash— cluster managementtest/infra/common/env.sh— environment setuptest/scripts/bin/proxysql-tester.py— Python test runner (same script)test/infra/control/proxysql-ci.cnf— ProxySQL config template
Migration Approach
This is the simplest workflow to migrate since all the infrastructure pieces already exist in-repo. The main work is:
- Rewrite the workflow YAML to use
test/infra/scripts instead of checking out jenkins-build-scripts - Ensure the
test/env.shflags (TEST_PY_BENCHMARK,TEST_PY_CHUSER,TEST_PY_FAILOVER) are supported by the in-repoproxysql-tester.py - Verify docker-hoster setup works with the in-repo infra (or determine if it's still needed)
- Test the migrated workflow end-to-end
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels