Skip to content

Commit

Permalink
Merge branch 'master' into PMM-12770-gh-update
Browse files Browse the repository at this point in the history
  • Loading branch information
Vadym Yarosh committed Jan 12, 2024
2 parents abeb2ce + b9b36a2 commit fd9a8de
Show file tree
Hide file tree
Showing 9 changed files with 57 additions and 67 deletions.
2 changes: 1 addition & 1 deletion VERSIONS
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ PXC57_REV="32be3bd"
PXC57_WSREP="3.65(rf47405c)"
PXC80_VER="8.0.35-27"
PXC80_INNODB="27"
PXC80_REV="5835a94"
PXC80_REV="84d9464"
PXC80_WSREP="4.16(b73532f)"
PROXYSQL_VER="1.4.16-percona-1.1"
PROXYSQL2_VER="2.5.5-percona-1.1"
Expand Down
42 changes: 21 additions & 21 deletions binary-tarball-tests/ps/settings.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#!/usr/bin/env python3
import os
import re

base_dir = os.getenv('BASE_DIR')
ps_version = os.getenv('PS_VERSION')
Expand Down Expand Up @@ -119,61 +120,60 @@
('lib/libperconaserverclient_r.so.18','lib/libperconaserverclient.so.18.1.0'),('lib/libperconaserverclient_r.so.18.1.0','lib/libperconaserverclient.so.18.1.0')
)

# 8.1
ps81_binaries = [
# 8.x
ps8x_binaries = [
'bin/mysql', 'bin/mysqld', 'bin/mysqladmin', 'bin/mysqlbinlog',
'bin/mysqldump', 'bin/mysqlimport', 'bin/mysqlpump', 'bin/mysqlshow',
'bin/mysqlslap', 'bin/mysqlcheck', 'bin/mysql_config_editor',
'bin/mysqlrouter', 'bin/mysqlrouter_passwd', 'bin/mysqlrouter_plugin_info', 'bin/mysql_secure_installation', 'bin/mysql_ssl_rsa_setup',
'bin/mysql_upgrade', 'bin/mysql_tzinfo_to_sql'
]
ps81_executables = ps81_binaries + [
ps8x_executables = ps8x_binaries + [
'bin/ps-admin',
'bin/mysqldumpslow',
'bin/mysql_config',
]
ps81_plugins = (
ps8x_plugins = (
('mysql_no_login','mysql_no_login.so'),('validate_password','validate_password.so'),
('version_tokens','version_token.so'),('rpl_semi_sync_master','semisync_master.so'),('rpl_semi_sync_slave','semisync_slave.so'),
('group_replication','group_replication.so'),('clone','mysql_clone.so'),
('procfs', 'procfs.so'), ('authentication_ldap_sasl','authentication_ldap_sasl.so'),
('authentication_fido','authentication_fido.so')
('procfs', 'procfs.so'), ('authentication_ldap_sasl','authentication_ldap_sasl.so')
)
ps81_functions = (
ps8x_functions = (
('version_tokens_set', 'version_token.so', 'STRING'),('version_tokens_show', 'version_token.so', 'STRING'),('version_tokens_edit', 'version_token.so', 'STRING'),
('version_tokens_delete', 'version_token.so', 'STRING'),('version_tokens_lock_shared', 'version_token.so', 'INT'),('version_tokens_lock_exclusive', 'version_token.so', 'INT'),
('version_tokens_unlock', 'version_token.so', 'INT'),('service_get_read_locks', 'locking_service.so', 'INT'),('service_get_write_locks', 'locking_service.so', 'INT'), ('service_release_locks', 'locking_service.so', 'INT')
)

ps81_components = (
ps8x_components = (
'component_masking_functions', 'component_binlog_utils_udf', 'component_percona_udf', 'component_audit_log_filter', 'component_keyring_vault'
)

ps81_files = (
ps8x_files = (
'lib/libcoredumper.a',
'lib/mysqlrouter/private/libmysqlrouter_http.so.1', 'lib/mysqlrouter/private/libmysqlrouter.so.1', 'lib/libmysqlservices.a',
'lib/libperconaserverclient.a', 'lib/libperconaserverclient.so.22.0.0' ,'lib/mysql/libjemalloc.so.1',
'lib/libperconaserverclient.a', 'lib/libperconaserverclient.so.22.1.0' ,'lib/mysql/libjemalloc.so.1',
'lib/plugin/ha_rocksdb.so', 'lib/plugin/auth_pam.so', 'lib/plugin/auth_pam_compat.so',
'lib/plugin/keyring_file.so','lib/plugin/component_binlog_utils_udf.so',
'lib/plugin/keyring_udf.so', 'lib/plugin/component_keyring_vault.so', 'lib/plugin/component_binlog_utils_udf.so',
'lib/plugin/component_audit_log_filter.so', 'lib/plugin/component_masking_functions.so'
)

ps81_symlinks = (
('lib/libperconaserverclient.so.22','lib/libperconaserverclient.so.22.0.0'),
('lib/libperconaserverclient.so','lib/libperconaserverclient.so.22.0.0'),('lib/mysql/libjemalloc.so','lib/mysql/libjemalloc.so.1')
ps8x_symlinks = (
('lib/libperconaserverclient.so.22','lib/libperconaserverclient.so.22.1.0'),
('lib/libperconaserverclient.so','lib/libperconaserverclient.so.22.1.0'),('lib/mysql/libjemalloc.so','lib/mysql/libjemalloc.so.1')
)

#####

if ps_version_major == '8.1':
ps_binaries = ps81_binaries
ps_executables = ps81_executables
ps_plugins = ps81_plugins
ps_functions = ps81_functions
ps_files = ps81_files
ps_symlinks = ps81_symlinks
ps_components = ps81_components
if re.match(r'^8\.[1-9]$', ps_version_major):
ps_binaries = ps8x_binaries
ps_executables = ps8x_executables
ps_plugins = ps8x_plugins
ps_functions = ps8x_functions
ps_files = ps8x_files
ps_symlinks = ps8x_symlinks
ps_components = ps8x_components
elif ps_version_major == '8.0':
ps_binaries = ps80_binaries
ps_executables = ps80_executables
Expand Down
12 changes: 0 additions & 12 deletions binary-tarball-tests/ps/test-ps-binary-tarball.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -37,18 +37,6 @@ pipeline {
junit 'package-testing/binary-tarball-tests/ps/report.xml'
} //End steps
} //End stage Ubuntu Focal
stage('Ubuntu Bionic') {
agent {
label "min-bionic-x64"
}
steps {
script {
currentBuild.displayName = "#${BUILD_NUMBER}-${PS_VERSION}-${PS_REVISION}"
}
run_test()
junit 'package-testing/binary-tarball-tests/ps/report.xml'
} //End steps
} //End stage Ubuntu Bionic
stage('Debian Bookworm') {
agent {
label "min-bookworm-x64"
Expand Down
2 changes: 1 addition & 1 deletion binary-tarball-tests/ps/tests/test_ps_dynamic.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ def test_install_functions(mysql_server):
mysql_server.install_function(function[0], function[1], function[2])

def test_install_component(mysql_server):
if ps_version_major in ['8.0', '8.1']:
if ps_version_major == '8.0' or re.match(r'^8\.[1-9]$', ps_version_major):
for component in ps_components:
mysql_server.install_component(component)
else:
Expand Down
25 changes: 13 additions & 12 deletions docker-image-tests/ps-arm/settings.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#!/usr/bin/env python3
import os
import re

docker_acc = os.getenv('DOCKER_ACC')
ps_version = os.getenv('PS_VERSION')
Expand All @@ -15,29 +16,29 @@
docker_tag = ps_version
docker_image = docker_acc + "/" + docker_product + ":" + docker_tag

# 8.1
ps81_packages = (
# 8.X
ps8x_packages = (
'percona-server-client', 'percona-server-rocksdb', 'percona-server-server',
'percona-server-shared'
)
ps81_binaries = (
ps8x_binaries = (
'/usr/bin/mysql', '/usr/sbin/mysqld', '/usr/bin/ps-admin', '/usr/bin/mysqladmin', '/usr/bin/mysqlbinlog',
'/usr/sbin/mysqld-debug', '/usr/bin/mysqldump', '/usr/bin/mysqldumpslow', '/usr/bin/mysqlimport', '/usr/bin/mysqlpump',
'/usr/bin/mysqlshow', '/usr/bin/mysqlslap', '/usr/bin/mysqlcheck', '/usr/bin/mysql_config_editor', '/usr/bin/mysql_config',
'/usr/bin/mysql_secure_installation', '/usr/bin/mysql_ssl_rsa_setup', '/usr/bin/mysql_upgrade',
'/usr/bin/hostname', '/usr/bin/gunzip', '/usr/bin/my_print_defaults', '/usr/bin/cat', '/usr/bin/mysql_tzinfo_to_sql',
'/usr/bin/grep', '/usr/bin/cut', '/usr/bin/tail', '/usr/bin/sed', '/usr/bin/find', '/usr/bin/kill', '/usr/bin/gawk'
)
ps81_plugins = (
ps8x_plugins = (
('mysql_no_login','mysql_no_login.so'),('validate_password','validate_password.so'),
('version_tokens','version_token.so'),('rpl_semi_sync_master','semisync_master.so'),('rpl_semi_sync_slave','semisync_slave.so'),
('group_replication','group_replication.so'),('clone','mysql_clone.so'),
('authentication_ldap_sasl','authentication_ldap_sasl.so'),('authentication_fido','authentication_fido.so')
)
ps81_components = (
ps8x_components = (
('file://component_encryption_udf'),('file://component_keyring_kmip'),('file://component_keyring_kms'),('file://component_masking_functions'),('file://component_binlog_utils_udf'),('file://component_percona_udf'),('file://component_audit_log_filter'),('file://component_keyring_vault')
)
ps81_functions = (
ps8x_functions = (
('version_tokens_set', 'version_token.so', 'STRING'),('version_tokens_show', 'version_token.so', 'STRING'),('version_tokens_edit', 'version_token.so', 'STRING'),
('version_tokens_delete', 'version_token.so', 'STRING'),('version_tokens_lock_shared', 'version_token.so', 'INT'),('version_tokens_lock_exclusive', 'version_token.so', 'INT'),
('version_tokens_unlock', 'version_token.so', 'INT'),('service_get_read_locks', 'locking_service.so', 'INT'),('service_get_write_locks', 'locking_service.so', 'INT'), ('service_release_locks', 'locking_service.so', 'INT')
Expand Down Expand Up @@ -118,12 +119,12 @@
)
#####

if ps_version_major == '8.1':
ps_packages = ps81_packages
ps_binaries = ps81_binaries
ps_plugins = ps81_plugins
ps_functions = ps81_functions
ps_components = ps81_components
if re.match(r'^8\.[1-9]$', ps_version_major):
ps_packages = ps8x_packages
ps_binaries = ps8x_binaries
ps_plugins = ps8x_plugins
ps_functions = ps8x_functions
ps_components = ps8x_components
elif ps_version_major == '8.0':
ps_packages = ps80_packages
ps_binaries = ps80_binaries
Expand Down
8 changes: 4 additions & 4 deletions docker-image-tests/ps-arm/tests/test_ps_dynamic.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

@pytest.fixture(scope='module')
def host():
if ps_version_major not in ['8.0', '8.1']:
if ps_version_major != '8.0' and not re.match(r'^8\.[1-9]$', ps_version_major):
docker_id = subprocess.check_output(
['docker', 'run', '--name', container_name, '-e', 'MYSQL_ROOT_PASSWORD='+ps_pwd, '-e', 'INIT_TOKUDB=1', '-e', 'INIT_ROCKSDB=1', '-e', 'PERCONA_TELEMETRY_URL=https://check-dev.percona.com/v1/telemetry/GenericReport', '-d', docker_image]).decode().strip()
else:
Expand All @@ -31,7 +31,7 @@ def test_rocksdb_installed(self, host):
pytest.skip('RocksDB is available from 5.7!')

def test_tokudb_installed(self, host):
if ps_version_major not in ['8.0', '8.1']:
if ps_version_major != '8.0' and not re.match(r'^8\.[1-9]$', ps_version_major):
cmd = host.run('mysql --user=root --password='+ps_pwd+' -S/var/lib/mysql/mysql.sock -s -N -e "select SUPPORT from information_schema.ENGINES where ENGINE = \'TokuDB\';"')
assert cmd.succeeded
assert 'YES' in cmd.stdout
Expand All @@ -56,7 +56,7 @@ def test_install_plugin(self, host, pname, soname):

@pytest.mark.parametrize("cmpt", ps_components)
def test_install_component(self, host, cmpt):
if ps_version_major in ['8.0', '8.1']:
if ps_version_major == '8.0' or re.match(r'^8\.[1-9]$', ps_version_major):
cmd = host.run('mysql --user=root --password='+ps_pwd+' -S/var/lib/mysql/mysql.sock -s -N -e "INSTALL component \''+cmpt+'\';"')
assert cmd.succeeded
cmd = host.run('mysql --user=root --password='+ps_pwd+' -S/var/lib/mysql/mysql.sock -s -N -e "SELECT component_urn from mysql.component WHERE component_urn = \''+cmpt+'\';"')
Expand All @@ -76,7 +76,7 @@ def test_install_audit_log_v2(self, host):
pytest.mark.skip('Components are available from 8.0 onwards')

def test_telemetry_enabled(self, host):
if ps_version_major not in ['8.0', '8.1']:
if ps_version_major != '8.0' and not re.match(r'^8\.[1-9]$', ps_version_major):
pytest.skip('telemetry was added in 8.0')
else:
assert host.file('/usr/local/percona/telemetry_uuid').exists
Expand Down
25 changes: 13 additions & 12 deletions docker-image-tests/ps/settings.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#!/usr/bin/env python3
import os
import re

docker_acc = os.getenv('DOCKER_ACC')
ps_version = os.getenv('PS_VERSION')
Expand All @@ -18,29 +19,29 @@
docker_image_upstream = docker_acc + "/" + docker_product + ":" + ps_version_upstream
docker_image_major = docker_acc + "/" + docker_product + ":" + ps_version_major

# 8.1
ps81_packages = (
# 8.X
ps8x_packages = (
'percona-server-client', 'percona-server-rocksdb', 'percona-server-server',
'percona-server-shared', 'percona-mysql-shell'
)
ps81_binaries = (
ps8x_binaries = (
'/usr/bin/mysql', '/usr/sbin/mysqld', '/usr/bin/ps-admin', '/usr/bin/mysqladmin', '/usr/bin/mysqlbinlog',
'/usr/sbin/mysqld-debug', '/usr/bin/mysqldump', '/usr/bin/mysqldumpslow', '/usr/bin/mysqlimport', '/usr/bin/mysqlpump',
'/usr/bin/mysqlshow', '/usr/bin/mysqlslap', '/usr/bin/mysqlcheck', '/usr/bin/mysql_config_editor', '/usr/bin/mysql_config',
'/usr/bin/mysql_config-64', '/usr/bin/mysql_secure_installation', '/usr/bin/mysql_ssl_rsa_setup', '/usr/bin/mysql_upgrade',
'/usr/bin/hostname', '/usr/bin/gunzip', '/usr/bin/my_print_defaults', '/usr/bin/cat', '/usr/bin/mysql_tzinfo_to_sql',
'/usr/bin/grep', '/usr/bin/cut', '/usr/bin/tail', '/usr/bin/sed', '/usr/bin/find', '/usr/bin/kill', '/usr/bin/gawk', '/usr/bin/mysqlsh'
)
ps81_plugins = (
ps8x_plugins = (
('mysql_no_login','mysql_no_login.so'),('validate_password','validate_password.so'),
('version_tokens','version_token.so'),('rpl_semi_sync_master','semisync_master.so'),('rpl_semi_sync_slave','semisync_slave.so'),
('group_replication','group_replication.so'),('clone','mysql_clone.so'),
('authentication_ldap_sasl','authentication_ldap_sasl.so'),('authentication_fido','authentication_fido.so')
)
ps81_components = (
ps8x_components = (
('file://component_encryption_udf'),('file://component_keyring_kmip'),('file://component_keyring_kms'),('file://component_masking_functions'),('file://component_binlog_utils_udf'),('file://component_percona_udf'),('file://component_audit_log_filter'),('file://component_keyring_vault')
)
ps81_functions = (
ps8x_functions = (
('version_tokens_set', 'version_token.so', 'STRING'),('version_tokens_show', 'version_token.so', 'STRING'),('version_tokens_edit', 'version_token.so', 'STRING'),
('version_tokens_delete', 'version_token.so', 'STRING'),('version_tokens_lock_shared', 'version_token.so', 'INT'),('version_tokens_lock_exclusive', 'version_token.so', 'INT'),
('version_tokens_unlock', 'version_token.so', 'INT'),('service_get_read_locks', 'locking_service.so', 'INT'),('service_get_write_locks', 'locking_service.so', 'INT'), ('service_release_locks', 'locking_service.so', 'INT')
Expand Down Expand Up @@ -121,12 +122,12 @@
)
#####

if ps_version_major == '8.1':
ps_packages = ps81_packages
ps_binaries = ps81_binaries
ps_plugins = ps81_plugins
ps_functions = ps81_functions
ps_components = ps81_components
if re.match(r'^8\.[1-9]$', ps_version_major):
ps_packages = ps8x_packages
ps_binaries = ps8x_binaries
ps_plugins = ps8x_plugins
ps_functions = ps8x_functions
ps_components = ps8x_components
elif ps_version_major == '8.0':
ps_packages = ps80_packages
ps_binaries = ps80_binaries
Expand Down
6 changes: 3 additions & 3 deletions docker-image-tests/ps/tests/test_ps_dynamic.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

@pytest.fixture(scope='module')
def host():
if ps_version_major not in ['8.0', '8.1']:
if ps_version_major != '8.0' and not re.match(r'^8\.[1-9]$', ps_version_major):
docker_id = subprocess.check_output(
['docker', 'run', '--name', container_name, '-e', 'MYSQL_ROOT_PASSWORD='+ps_pwd, '-e', 'INIT_TOKUDB=1', '-e', 'INIT_ROCKSDB=1', '-e', 'PERCONA_TELEMETRY_URL=https://check-dev.percona.com/v1/telemetry/GenericReport','-d', docker_image]).decode().strip()
else:
Expand All @@ -31,7 +31,7 @@ def test_rocksdb_installed(self, host):
pytest.skip('RocksDB is available from 5.7!')

def test_tokudb_installed(self, host):
if ps_version_major not in ['8.0', '8.1']:
if ps_version_major != '8.0' and not re.match(r'^8\.[1-9]$', ps_version_major):
cmd = host.run('mysql --user=root --password='+ps_pwd+' -S/var/lib/mysql/mysql.sock -s -N -e "select SUPPORT from information_schema.ENGINES where ENGINE = \'TokuDB\';"')
assert cmd.succeeded
assert 'YES' in cmd.stdout
Expand All @@ -56,7 +56,7 @@ def test_install_plugin(self, host, pname, soname):

@pytest.mark.parametrize("cmpt", ps_components)
def test_install_component(self, host, cmpt):
if ps_version_major in ['8.0', '8.1']:
if ps_version_major == '8.0' or re.match(r'^8\.[1-9]$', ps_version_major):
if cmpt == 'file://component_masking_functions':
host.run('mysql --user=root --password='+ps_pwd+' -S/var/lib/mysql/mysql.sock -s -N -e "UNINSTALL PLUGIN data_masking;"')
cmd = host.run('mysql --user=root --password='+ps_pwd+' -S/var/lib/mysql/mysql.sock -s -N -e "INSTALL component \''+cmpt+'\';"')
Expand Down
2 changes: 1 addition & 1 deletion docker-image-tests/ps/tests/test_ps_static.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,6 @@ def test_mysql_keyring_permissions(self, host):

def test_telemetry_disabled(self, host):
if ps_version_major in ['5.6']:
pytest.skip('telemetry was added in 5.7, 8.0 and 8.1')
pytest.skip('telemetry was added in 5.7, 8.0 and 8.x')
else:
assert not host.file('/usr/local/percona/telemetry_uuid').exists

0 comments on commit fd9a8de

Please sign in to comment.