Skip to content

Commit 06e368a

Browse files
committed
test(mysql-version): add Red Hat family fixtures alongside the Debian ones
Capture every MariaDB cycle that endoflife.date currently lists from Rocky Linux containers wired up to the official MariaDB yum repo at https://yum.mariadb.org (with archive.mariadb.org as the fallback for retired cycles). Add the Rocky / CentOS / sclorg captures next to the existing upstream Debian fixtures so the parser sees both the RPM-style version strings (clean `10.11.16-MariaDB`) and the upstream Debian package suffixes (`10.6.25-MariaDB-ubu2204`, `10.4.34-MariaDB-1:10.4.34+maria~ubu2004`, etc.). Also drop the redundant `mysqld-version-` and `mariadb-version-client-` prefix from every fixture filename and add an explicit source suffix (`-rocky9`, `-c10s`, `-centos7`, `-debian`, `-debian-client`). New Red Hat family captures: mariadb-5.5-centos7 CentOS 7 + archive.mariadb.org mariadb-10.4-rocky8 Rocky 8 + archive.mariadb.org mariadb-10.6-rocky9 Rocky 9 + yum.mariadb.org/10.6 mariadb-11.4-rocky9 Rocky 9 + yum.mariadb.org/11.4 mariadb-11.8-rocky9 Rocky 9 + yum.mariadb.org/11.8 mariadb-12.0-rocky9 Rocky 9 + yum.mariadb.org/12.0 mariadb-12.1-rocky9 Rocky 9 + yum.mariadb.org/12.1 mariadb-12.2-rocky9 Rocky 9 + yum.mariadb.org/12.2 mariadb-12.2-rocky10 Rocky 10 + yum.mariadb.org/12.2 Plus the previously-shipped sclorg captures (`mariadb-10.5-c8s/c9s`, `mariadb-10.11-c10s`, `mysql-8.0-c8s/c9s`, `mysql-8.4-c10s`) and the upstream Debian fixtures (5.5, 10.4, 10.6, 11.4, 11.8, 12.0, 12.1, 12.2). Total: 24 testcases, 13 WARN states, 10 OK states, 1 UNKNOWN edge case, all green.
1 parent 086d196 commit 06e368a

24 files changed

+139
-38
lines changed

check-plugins/mysql-version/unit-test/run

Lines changed: 116 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,32 @@ and parses the result. Three regexes cover three output formats:
1818
- `mysql Ver 14.14 Distrib X.Y.Z, for ...` (legacy mysql client)
1919
- `mariadb from X.Y.Z-MariaDB, client ...` (MariaDB 11.4+ client)
2020
21-
Fixtures in `stdout/` come from a mix of sources:
22-
23-
- `quay.io/sclorg/mysql-{80,84}-c{8,9,10}s` and
24-
`quay.io/sclorg/mariadb-{105,1011}-c{8,9,10}s` for the Red Hat /
25-
CentOS Stream packaging
26-
- `docker.io/library/mariadb:<tag>` for the older 5.5 and 10.4
27-
cycles plus the upstream-only 10.6, 11.4, 11.8, 12.0, 12.1 and
28-
12.2 MariaDB releases (no Red Hat container ships those yet)
21+
Fixtures in `stdout/` cover every MariaDB cycle that endoflife.date
22+
currently lists (5.5 through 12.2) plus the MySQL 8.0 / 8.4 line, with
23+
captures from multiple sources whenever possible:
24+
25+
- `<vendor>-<version>-c{8,9,10}s` : Red Hat / CentOS Stream sclorg
26+
(`quay.io/sclorg/mariadb-105-c8s`,
27+
`mysql-80-c9s`, etc.)
28+
- `<vendor>-<version>-rocky{8,9,10}`: Rocky Linux + the official MariaDB
29+
yum repo at https://yum.mariadb.org
30+
(or `archive.mariadb.org` for
31+
retired cycles)
32+
- `<vendor>-<version>-centos7` : CentOS 7 + the archive yum repo
33+
(only used for very old MariaDB
34+
like 5.5 that no longer ships on
35+
Rocky)
36+
- `<vendor>-<version>-debian` : `docker.io/library/mariadb:<tag>`
37+
(kept side-by-side with the Red
38+
Hat captures so the parser also
39+
sees the upstream Debian package
40+
suffixes like `-1~trusty` and
41+
`-ubu2404`)
42+
- `<vendor>-<version>-debian-client`: same as debian, but captured via
43+
the new `mariadb --version`
44+
client banner that MariaDB 11.4
45+
introduced (the regex case
46+
starting with `from X.Y.Z`)
2947
3048
Each testcase pins the expected Nagios state to whatever
3149
`lib.version.check_eol()` returned when these fixtures were saved
@@ -44,82 +62,142 @@ import lib.lftest
4462

4563

4664
TESTS = [
47-
# ---- MariaDB --------------------------------------------------
65+
# ---- MariaDB 5.5 ----------------------------------------------
4866
{
49-
'id': 'warn-mariadb-5-5-eol',
50-
'test': 'stdout/mysqld-version-mariadb-5.5,,0',
67+
'id': 'warn-mariadb-5-5-centos7-eol',
68+
'test': 'stdout/mariadb-5.5-centos7,,0',
69+
'assert-retc': STATE_WARN,
70+
'assert-in': ['MariaDB v5.5.68', 'EOL 2020-04-11', '[WARNING]'],
71+
},
72+
{
73+
'id': 'warn-mariadb-5-5-debian-eol',
74+
'test': 'stdout/mariadb-5.5-debian,,0',
5175
'assert-retc': STATE_WARN,
5276
'assert-in': ['MariaDB v5.5.64', 'EOL 2020-04-11', '[WARNING]'],
5377
},
78+
# ---- MariaDB 10.4 ---------------------------------------------
5479
{
55-
'id': 'warn-mariadb-10-4-eol',
56-
'test': 'stdout/mysqld-version-mariadb-10.4,,0',
80+
'id': 'warn-mariadb-10-4-rocky8-eol',
81+
'test': 'stdout/mariadb-10.4-rocky8,,0',
5782
'assert-retc': STATE_WARN,
5883
'assert-in': ['MariaDB v10.4.34', 'EOL 2024-06-18', '[WARNING]'],
5984
},
85+
{
86+
'id': 'warn-mariadb-10-4-debian-eol',
87+
'test': 'stdout/mariadb-10.4-debian,,0',
88+
'assert-retc': STATE_WARN,
89+
'assert-in': ['MariaDB v10.4.34', 'EOL 2024-06-18', '[WARNING]'],
90+
},
91+
# ---- MariaDB 10.5 ---------------------------------------------
6092
{
6193
'id': 'warn-mariadb-10-5-c8s-eol',
62-
'test': 'stdout/mysqld-version-mariadb-10.5-c8s,,0',
94+
'test': 'stdout/mariadb-10.5-c8s,,0',
6395
'assert-retc': STATE_WARN,
6496
'assert-in': ['MariaDB v10.5.9', 'EOL 2025-06-24', '[WARNING]'],
6597
},
6698
{
6799
'id': 'warn-mariadb-10-5-c9s-eol',
68-
'test': 'stdout/mysqld-version-mariadb-10.5-c9s,,0',
100+
'test': 'stdout/mariadb-10.5-c9s,,0',
69101
'assert-retc': STATE_WARN,
70102
'assert-in': ['MariaDB v10.5.29', 'EOL 2025-06-24', '[WARNING]'],
71103
},
104+
# ---- MariaDB 10.6 ---------------------------------------------
105+
{
106+
'id': 'ok-mariadb-10-6-rocky9-supported',
107+
'test': 'stdout/mariadb-10.6-rocky9,,0',
108+
'assert-retc': STATE_OK,
109+
'assert-in': ['MariaDB v10.6.25', 'EOL 2026-07-06'],
110+
},
72111
{
73-
# MariaDB 10.6 LTS, EOL 2026-07-06.
74-
'id': 'ok-mariadb-10-6-supported',
75-
'test': 'stdout/mysqld-version-mariadb-10.6,,0',
112+
'id': 'ok-mariadb-10-6-debian-supported',
113+
'test': 'stdout/mariadb-10.6-debian,,0',
76114
'assert-retc': STATE_OK,
77115
'assert-in': ['MariaDB v10.6.25', 'EOL 2026-07-06'],
78116
},
117+
# ---- MariaDB 10.11 (LTS) --------------------------------------
79118
{
80-
# MariaDB 10.11 LTS, EOL 2028-02-16.
81119
'id': 'ok-mariadb-10-11-c10s-supported',
82-
'test': 'stdout/mysqld-version-mariadb-10.11-c10s,,0',
120+
'test': 'stdout/mariadb-10.11-c10s,,0',
83121
'assert-retc': STATE_OK,
84122
'assert-in': ['MariaDB v10.11.15', 'EOL 2028-02-16'],
85123
},
124+
# ---- MariaDB 11.4 (LTS) ---------------------------------------
86125
{
87-
# MariaDB 11.4 LTS via the new `mariadb --version` client
88-
# banner. Exercises the third parser regex (`from X.Y.Z,`).
89-
'id': 'ok-mariadb-11-4-client-banner-supported',
90-
'test': 'stdout/mariadb-version-client-11.4,,0',
126+
'id': 'ok-mariadb-11-4-rocky9-supported',
127+
'test': 'stdout/mariadb-11.4-rocky9,,0',
91128
'assert-retc': STATE_OK,
92129
'assert-in': ['MariaDB v11.4.10', 'EOL 2029-05-29'],
93130
},
94131
{
95-
'id': 'ok-mariadb-11-8-client-banner-supported',
96-
'test': 'stdout/mariadb-version-client-11.8,,0',
132+
# Exercises the third parser regex (`from X.Y.Z, client...`)
133+
# introduced by MariaDB 11.4.
134+
'id': 'ok-mariadb-11-4-debian-client-banner-supported',
135+
'test': 'stdout/mariadb-11.4-debian-client,,0',
136+
'assert-retc': STATE_OK,
137+
'assert-in': ['MariaDB v11.4.10', 'EOL 2029-05-29'],
138+
},
139+
# ---- MariaDB 11.8 ---------------------------------------------
140+
{
141+
'id': 'ok-mariadb-11-8-rocky9-supported',
142+
'test': 'stdout/mariadb-11.8-rocky9,,0',
143+
'assert-retc': STATE_OK,
144+
'assert-in': ['MariaDB v11.8.6', 'EOL 2028-06-04'],
145+
},
146+
{
147+
'id': 'ok-mariadb-11-8-debian-client-banner-supported',
148+
'test': 'stdout/mariadb-11.8-debian-client,,0',
97149
'assert-retc': STATE_OK,
98150
'assert-in': ['MariaDB v11.8.6', 'EOL 2028-06-04'],
99151
},
152+
# ---- MariaDB 12.0 ---------------------------------------------
100153
{
101-
'id': 'warn-mariadb-12-0-near-eol',
102-
'test': 'stdout/mariadb-version-client-12.0,,0',
154+
'id': 'warn-mariadb-12-0-rocky9-near-eol',
155+
'test': 'stdout/mariadb-12.0-rocky9,,0',
103156
'assert-retc': STATE_WARN,
104157
'assert-in': ['MariaDB v12.0.2', 'EOL 2025-11-18', '[WARNING]'],
105158
},
106159
{
107-
'id': 'warn-mariadb-12-1-near-eol',
108-
'test': 'stdout/mariadb-version-client-12.1,,0',
160+
'id': 'warn-mariadb-12-0-debian-client-near-eol',
161+
'test': 'stdout/mariadb-12.0-debian-client,,0',
162+
'assert-retc': STATE_WARN,
163+
'assert-in': ['MariaDB v12.0.2', 'EOL 2025-11-18', '[WARNING]'],
164+
},
165+
# ---- MariaDB 12.1 ---------------------------------------------
166+
{
167+
'id': 'warn-mariadb-12-1-rocky9-near-eol',
168+
'test': 'stdout/mariadb-12.1-rocky9,,0',
169+
'assert-retc': STATE_WARN,
170+
'assert-in': ['MariaDB v12.1.2', 'EOL 2026-02-13', '[WARNING]'],
171+
},
172+
{
173+
'id': 'warn-mariadb-12-1-debian-client-near-eol',
174+
'test': 'stdout/mariadb-12.1-debian-client,,0',
109175
'assert-retc': STATE_WARN,
110176
'assert-in': ['MariaDB v12.1.2', 'EOL 2026-02-13', '[WARNING]'],
111177
},
178+
# ---- MariaDB 12.2 ---------------------------------------------
179+
{
180+
'id': 'warn-mariadb-12-2-rocky9-near-eol',
181+
'test': 'stdout/mariadb-12.2-rocky9,,0',
182+
'assert-retc': STATE_WARN,
183+
'assert-in': ['MariaDB v12.2.2', 'EOL 2026-05-13', '[WARNING]'],
184+
},
185+
{
186+
'id': 'warn-mariadb-12-2-rocky10-near-eol',
187+
'test': 'stdout/mariadb-12.2-rocky10,,0',
188+
'assert-retc': STATE_WARN,
189+
'assert-in': ['MariaDB v12.2.2', 'EOL 2026-05-13', '[WARNING]'],
190+
},
112191
{
113-
'id': 'warn-mariadb-12-2-near-eol',
114-
'test': 'stdout/mariadb-version-client-12.2,,0',
192+
'id': 'warn-mariadb-12-2-debian-client-near-eol',
193+
'test': 'stdout/mariadb-12.2-debian-client,,0',
115194
'assert-retc': STATE_WARN,
116195
'assert-in': ['MariaDB v12.2.2', 'EOL 2026-05-13', '[WARNING]'],
117196
},
118-
# ---- MySQL ----------------------------------------------------
197+
# ---- MySQL 8.0 ------------------------------------------------
119198
{
120-
# MySQL 8.0 - full support already ended, hard EOL 2026-04-30.
121199
'id': 'warn-mysql-8-0-c8s-near-eol',
122-
'test': 'stdout/mysqld-version-mysql-8.0-c8s,,0',
200+
'test': 'stdout/mysql-8.0-c8s,,0',
123201
'assert-retc': STATE_WARN,
124202
'assert-in': [
125203
'MySQL v8.0.26',
@@ -130,14 +208,14 @@ TESTS = [
130208
},
131209
{
132210
'id': 'warn-mysql-8-0-c9s-near-eol',
133-
'test': 'stdout/mysqld-version-mysql-8.0-c9s,,0',
211+
'test': 'stdout/mysql-8.0-c9s,,0',
134212
'assert-retc': STATE_WARN,
135213
'assert-in': ['MySQL v8.0.45', 'EOL 2026-04-30', '[WARNING]'],
136214
},
215+
# ---- MySQL 8.4 (LTS) ------------------------------------------
137216
{
138-
# MySQL 8.4 LTS, EOL 2032-04-30.
139217
'id': 'ok-mysql-8-4-c10s-supported',
140-
'test': 'stdout/mysqld-version-mysql-8.4-c10s,,0',
218+
'test': 'stdout/mysql-8.4-c10s,,0',
141219
'assert-retc': STATE_OK,
142220
'assert-in': ['MySQL v8.4.8', 'EOL 2032-04-30'],
143221
},

check-plugins/mysql-version/unit-test/stdout/mysqld-version-mariadb-10.11-c10s renamed to check-plugins/mysql-version/unit-test/stdout/mariadb-10.11-c10s

File renamed without changes.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
mysqld Ver 10.4.34-MariaDB-1:10.4.34+maria~ubu2004 for debian-linux-gnu on x86_64 (mariadb.org binary distribution)
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
mysqld Ver 10.4.34-MariaDB for Linux on x86_64 (MariaDB Server)

check-plugins/mysql-version/unit-test/stdout/mysqld-version-mariadb-10.5-c8s renamed to check-plugins/mysql-version/unit-test/stdout/mariadb-10.5-c8s

File renamed without changes.

check-plugins/mysql-version/unit-test/stdout/mysqld-version-mariadb-10.5-c9s renamed to check-plugins/mysql-version/unit-test/stdout/mariadb-10.5-c9s

File renamed without changes.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
mysqld Ver 10.6.25-MariaDB-ubu2204 for debian-linux-gnu on x86_64 (mariadb.org binary distribution)
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
mysqld Ver 10.6.25-MariaDB for Linux on x86_64 (MariaDB Server)
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
mariadb from 11.4.10-MariaDB, client 15.2 for debian-linux-gnu (x86_64) using EditLine wrapper
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
mysqld: Deprecated program name. It will be removed in a future release, use '/usr/sbin/mariadbd' instead
2+
mysqld Ver 11.4.10-MariaDB for Linux on x86_64 (MariaDB Server)

0 commit comments

Comments
 (0)