Skip to content

Add support for 3.0.x repo - #247

Open
Arakmar wants to merge 2 commits into
voxpupuli:masterfrom
Arakmar:master
Open

Add support for 3.0.x repo#247
Arakmar wants to merge 2 commits into
voxpupuli:masterfrom
Arakmar:master

Conversation

@Arakmar

@Arakmar Arakmar commented Oct 26, 2025

Copy link
Copy Markdown

Support for 3.0.x added for apt and yum repo
The default has been kept to 2.7.x for now

@bastelfreak

Copy link
Copy Markdown
Member

@Arakmar thanks for the PR! Can you add some tests for it that use the new repo?

@bastelfreak

Copy link
Copy Markdown
Member

@Arakmar ping :)

@bastelfreak bastelfreak added the enhancement New feature or request label Dec 13, 2025
@Arakmar
Arakmar force-pushed the master branch 2 times, most recently from 1f16aed to ca3cc73 Compare January 2, 2026 21:02
During upgrade test, checking the admin socket file presence is not enough.
We need to wait it's really ready to accept connections.
The exec is splitted between the two cases :
- Initial run and no .my.cnf file, we build the full mysql cmd
- .my.cnf already exists, we use it
@Arakmar

Arakmar commented Jan 2, 2026

Copy link
Copy Markdown
Author

I added one acceptance test about the migration to 3.x.
It triggered some timing problems in case of upgrades (which wasn't tested before), no problem on first run. To fix that, I adjusted the admin socket check to be more reliable.

Also, there are no 3.x packages for Debian 11 and Redhat 8 in the proxysql repo.
I'm not really sure where github actions are getting the test matrix, from operatingsystem_support ?

lroehrs added a commit to ScaleCommerce/puppet-proxysql that referenced this pull request Apr 2, 2026
SC-specific changes:
- Use .my.proxysql.cnf instead of .my.cnf to avoid conflicts with
  MySQL on hosts running both MySQL and ProxySQL
- Remove Sensitive[String] password types and .unwrap calls for
  compatibility with existing Hiera data and Puppet 7 setups

Upstream PR voxpupuli#247 (not yet merged):
- Add ProxySQL 3.0.x repository support for APT and YUM
- Improve admin socket readiness check: use actual mysql SELECT 1
  query instead of just testing socket file existence
- Handle first-run (no .my.cnf) vs subsequent runs (with .my.cnf)

Document all SC customizations in README.
@bwitt

bwitt commented Apr 13, 2026

Copy link
Copy Markdown

Also, there are no 3.x packages for Debian 11 and Redhat 8 in the proxysql repo.
I'm not really sure where github actions are getting the test matrix, from operatingsystem_support ?

@Arakmar it's from metadata.json. See https://github.com/voxpupuli/puppet_metadata for more info.

@vmpr

vmpr commented Aug 8, 2026

Copy link
Copy Markdown

We're in exactly this situation right now: on Debian 13 (trixie), upstream only publishes ProxySQL 3.0.x packages — proxysql-2.7.x/trixie/ was never built (HTTP 404), while proxysql-3.0.x/trixie/ exists (currently up to 3.0.10; cf. sysown/proxysql#5179, where trixie support was tied to the 3.0 line). So for trixie users this PR is the only way to keep using the module with a managed repo.

Since the branch meanwhile conflicts with master (the rubocop autofix from modulesync touched spec/classes/proxysql_spec.rb), we rebased the two commits onto current master — the only conflict was trailing-comma style in that spec file, everything else applied cleanly: https://github.com/vmpr/puppet-proxysql/tree/add-3.0.x-repo-rebased
@Arakmar feel free to reset/cherry-pick your branch onto it to refresh the PR.

We're deploying this branch to Debian 13 hosts with ProxySQL 3.0.10 in the next days and can report results here if that helps.

On the CI-matrix question above: 3.x packages exist upstream for Debian 12/13 and Ubuntu 22.04/24.04, but not for Debian 11 / EL8 — so the 3.0 acceptance test would need to skip those as long as they stay in metadata.json.

Is there anything else we can do to help get this over the line?

@vmpr

vmpr commented Aug 8, 2026

Copy link
Copy Markdown

Test report — this PR rebased onto current master, ProxySQL 3.0.10 on Debian 13 (trixie), OpenVox 8

As promised: we ran this branch end-to-end on a Debian 13 (trixie) node (OpenVox 8 agent + server), module git-pinned to this PR rebased onto current master (vmpr/puppet-proxysql@add-3.0.x-repo-rebased, manifests identical to fb54e79).

Hiera config used: manage_repo: true, version: '3.0.10', package_ensure: 'installed', Sensitive admin/monitor passwords, loopback listeners, servers/users via override_config_settings.

Results:

  • First run: full convergence in a single run, no errors (~19 s). $repo30 renders the apt source for the proxysql-3.0.x/trixie flat repo correctly, the keyring-style key => {name, source} works with puppetlabs-apt 11.3.2, package 3.0.10 installs, config renders, systemd drop-in + service start clean, both wait_for_admin_socket_availability_* execs and reload-config succeed (client = mariadb-client 11.8's mysql).
  • Second run: fully idempotent, 0 changes.
  • Admin interface (6032) and application traffic through the proxy verified working; monitor pings against the backend OK.

One note worth a README line (or a future fallback bump): the $version default pick($short_proxysql_version_fact,'2.7.1') means a fresh node (no proxysql binary yet → fact absent) selects $repo27 on the first run — and proxysql-2.7.x/trixie/ does not exist upstream (HTTP 404). So with manage_repo: true on trixie an explicit version (e.g. '3.0.10') is required for the first run.

Hope this helps getting the PR over the line — happy to re-test on demand.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants