Skip to content

Commit 9f409ee

Browse files
authored
PMM-13668 PMM-13678 Updates add PS 8.4 and MS 8.4 Support (#111)
* Updates add PS 8.4 Support, Fix mysql_native_plugin for 8.4. Fix 8.0 and 57 URLS based on new GLIB versions * Updates and also Add support for MS version 8.4 and 8.0.40 * Updates keep defaults as 8.0 only for PS and MySQL for now.
1 parent b15a7aa commit 9f409ee

6 files changed

+38
-18
lines changed

pmm_qa/client_container_ms_setup.sh

+13-5
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@ fi
1717

1818
if [ -z "$ms_version" ]
1919
then
20-
export ms_version="8.0.33"
20+
export ms_version="8.0"
2121
fi
2222

2323
if [ -z "$ms_tarball" ]
2424
then
25-
export ms_tarball="https://dev.mysql.com/get/Downloads/MySQL-8/mysql-8.0.33-linux-glibc2.28-x86_64.tar.gz"
25+
export ms_tarball="https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.40-linux-glibc2.17-x86_64-minimal.tar.xz"
2626
fi
2727

2828
if [ -z "$query_source" ]
@@ -49,17 +49,25 @@ dbdeployer unpack ${tar_ball_name} --sandbox-binary=~/ms${ms_version} --overwrit
4949
export db_version_sandbox=$(ls ~/ms${ms_version})
5050
export SERVICE_RANDOM_NUMBER=$((1 + $RANDOM % 9999))
5151

52+
# Initialize my_cnf_options
53+
my_cnf_options=""
54+
55+
# Check if ps_version is 8.4 or greater to enable the plugin to change the password
56+
if [[ "$ms_version" =~ ^8\.[4-9]([0-9])? || "$ms_version" =~ ^[9-9][0-9]\. ]]; then
57+
my_cnf_options="mysql-native-password=ON"
58+
fi
59+
5260
if [[ "$number_of_nodes" == 1 ]];then
5361
if [[ ! -z $group_replication ]]; then
54-
dbdeployer deploy --topology=group replication ${db_version_sandbox} --single-primary --sandbox-binary=~/ms${ms_version} --remote-access=% --bind-address=0.0.0.0 --force
62+
dbdeployer deploy --topology=group replication ${db_version_sandbox} --single-primary --sandbox-binary=~/ms${ms_version} --remote-access=% --bind-address=0.0.0.0 --force ${my_cnf_options:+--my-cnf-options="$my_cnf_options"}
5563
export db_sandbox=$(dbdeployer sandboxes | awk -F' ' '{print $1}')
5664
node_port=`dbdeployer sandboxes --header | grep ${db_version_sandbox} | grep 'group-single-primary' | awk -F'[' '{print $2}' | awk -F' ' '{print $1}'`
5765
mysql -h 127.0.0.1 -u msandbox -pmsandbox --port $node_port -e "ALTER USER 'msandbox'@'localhost' IDENTIFIED WITH mysql_native_password BY 'msandbox';"
5866
mysql -h 127.0.0.1 -u msandbox -pmsandbox --port $node_port -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'GRgrO9301RuF';"
5967
mysql -h 127.0.0.1 -u msandbox -pmsandbox --port $node_port -e "SET GLOBAL innodb_monitor_enable=all;"
6068
mysql -h 127.0.0.1 -u msandbox -pmsandbox --port $node_port -e "UPDATE performance_schema.setup_consumers SET ENABLED = 'YES' WHERE NAME LIKE '%statements%';"
6169
else
62-
dbdeployer deploy single ${db_version_sandbox} --sandbox-binary=~/ms${ms_version} --port=$MS_PORT --remote-access=% --bind-address=0.0.0.0 --force
70+
dbdeployer deploy single ${db_version_sandbox} --sandbox-binary=~/ms${ms_version} --port=$MS_PORT --remote-access=% --bind-address=0.0.0.0 --force ${my_cnf_options:+--my-cnf-options="$my_cnf_options"}
6371
export db_sandbox=$(dbdeployer sandboxes | awk -F' ' '{print $1}')
6472
node_port=`dbdeployer sandboxes --header | grep ${db_version_sandbox} | grep 'single' | awk -F'[' '{print $2}' | awk -F' ' '{print $1}'`
6573
mysql -h 127.0.0.1 -u msandbox -pmsandbox --port $node_port -e "ALTER USER 'msandbox'@'localhost' IDENTIFIED WITH mysql_native_password BY 'msandbox';"
@@ -91,7 +99,7 @@ if [[ "$number_of_nodes" == 1 ]];then
9199
pmm-admin add mysql --query-source=$query_source --username=msandbox --password=msandbox --environment=dev --cluster=dev-cluster --replication-set=repl1 ms-single-${SERVICE_RANDOM_NUMBER} 127.0.0.1:$node_port
92100
fi
93101
else
94-
dbdeployer deploy multiple ${db_version_sandbox} --sandbox-binary=~/ms${ms_version} --nodes $number_of_nodes --force --remote-access=% --bind-address=0.0.0.0
102+
dbdeployer deploy multiple ${db_version_sandbox} --sandbox-binary=~/ms${ms_version} --nodes $number_of_nodes --force --remote-access=% --bind-address=0.0.0.0 ${my_cnf_options:+--my-cnf-options="$my_cnf_options"}
95103
export db_sandbox=$(dbdeployer sandboxes | awk -F' ' '{print $1}')
96104
node_port=`dbdeployer sandboxes --header | grep ${db_version_sandbox} | grep 'multiple' | awk -F'[' '{print $2}' | awk -F' ' '{print $1}'`
97105
mysql -h 127.0.0.1 -u msandbox -pmsandbox --port $node_port -e "ALTER USER 'msandbox'@'localhost' IDENTIFIED WITH mysql_native_password BY 'msandbox';"

pmm_qa/client_container_ps_setup.sh

+13-5
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@ fi
1717

1818
if [ -z "$ps_version" ]
1919
then
20-
export ps_version=8
20+
export ps_version=8.0
2121
fi
2222

2323
if [ -z "$ps_tarball" ]
2424
then
25-
export ps_tarball=https://downloads.percona.com/downloads/Percona-Server-LATEST/Percona-Server-8.0.29-21/binary/tarball/Percona-Server-8.0.29-21-Linux.x86_64.glibc2.17-minimal.tar.gz
25+
export ps_tarball="https://downloads.percona.com/downloads/Percona-Server-8.0/Percona-Server-8.0.40-31/binary/tarball/Percona-Server-8.0.40-31-Linux.x86_64.glibc2.35-minimal.tar.gz"
2626
fi
2727

2828
if [ -z "$query_source" ]
@@ -53,15 +53,23 @@ export db_version_sandbox=$(ls ~/ps${ps_version})
5353
export db_sandbox=$(dbdeployer sandboxes | awk -F' ' '{print $1}')
5454
export SERVICE_RANDOM_NUMBER=$((1 + $RANDOM % 9999))
5555

56+
# Initialize my_cnf_options
57+
my_cnf_options=""
58+
59+
# Check if ps_version is 8.4 or greater to enable the plugin to change the password
60+
if [[ "$ps_version" =~ ^8\.[4-9]([0-9])? || "$ps_version" =~ ^[9-9][0-9]\. ]]; then
61+
my_cnf_options="mysql-native-password=ON"
62+
fi
63+
5664
if [[ "$number_of_nodes" == 1 ]];then
5765
if [[ ! -z $group_replication ]]; then
58-
dbdeployer deploy --topology=group replication ${db_version_sandbox} --single-primary --sandbox-binary=~/ps${ps_version} --remote-access=% --bind-address=0.0.0.0 --force
66+
dbdeployer deploy --topology=group replication ${db_version_sandbox} --single-primary --sandbox-binary=~/ps${ps_version} --remote-access=% --bind-address=0.0.0.0 --force ${my_cnf_options:+--my-cnf-options="$my_cnf_options"}
5967
export db_sandbox=$(dbdeployer sandboxes | awk -F' ' '{print $1}')
6068
node_port=`dbdeployer sandboxes --header | grep ${db_version_sandbox} | grep 'group-single-primary' | awk -F'[' '{print $2}' | awk -F' ' '{print $1}'`
6169
mysql -h 127.0.0.1 -u msandbox -pmsandbox --port $node_port -e "ALTER USER 'msandbox'@'localhost' IDENTIFIED WITH mysql_native_password BY 'msandbox';"
6270
mysql -h 127.0.0.1 -u msandbox -pmsandbox --port $node_port -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'GRgrO9301RuF';"
6371
else
64-
dbdeployer deploy single ${db_version_sandbox} --sandbox-binary=~/ps${ps_version} --port=${PS_PORT} --remote-access=% --bind-address=0.0.0.0 --force
72+
dbdeployer deploy single ${db_version_sandbox} --sandbox-binary=~/ps${ps_version} --port=${PS_PORT} --remote-access=% --bind-address=0.0.0.0 --force ${my_cnf_options:+--my-cnf-options="$my_cnf_options"}
6573
export db_sandbox=$(dbdeployer sandboxes | awk -F' ' '{print $1}')
6674
node_port=`dbdeployer sandboxes --header | grep ${db_version_sandbox} | grep 'single' | awk -F'[' '{print $2}' | awk -F' ' '{print $1}'`
6775
mysql -h 127.0.0.1 -u msandbox -pmsandbox --port $node_port -e "ALTER USER 'msandbox'@'localhost' IDENTIFIED WITH mysql_native_password BY 'msandbox';"
@@ -115,7 +123,7 @@ if [[ "$number_of_nodes" == 1 ]];then
115123
pmm-admin add mysql --query-source=$query_source --username=msandbox --password=msandbox --environment=dev --cluster=dev-cluster --replication-set=repl1 ps-single-${SERVICE_RANDOM_NUMBER} 127.0.0.1:$node_port
116124
fi
117125
else
118-
dbdeployer deploy multiple ${db_version_sandbox} --sandbox-binary=~/ps${ps_version} --nodes $number_of_nodes --force --remote-access=% --bind-address=0.0.0.0
126+
dbdeployer deploy multiple ${db_version_sandbox} --sandbox-binary=~/ps${ps_version} --nodes $number_of_nodes --force --remote-access=% --bind-address=0.0.0.0 ${my_cnf_options:+--my-cnf-options="$my_cnf_options"}
119127
export db_sandbox=$(dbdeployer sandboxes | awk -F' ' '{print $1}')
120128
node_port=`dbdeployer sandboxes --header | grep ${db_version_sandbox} | grep 'multiple' | awk -F'[' '{print $2}' | awk -F' ' '{print $1}'`
121129
for j in `seq 1 $number_of_nodes`; do

pmm_qa/ms_pmm_setup.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
- docker cp ./pmm3-client-setup.sh {{ ms_container }}:/
4545

4646
- name: Get Product tarball URL based on the version
47-
shell: cat product_version_download_helper | grep -v pxc | grep mysql | grep "\-{{ ms_version }}" | head -1 | awk -F'# ' '{print $3}'
47+
shell: awk -F'# ' '/-{{ ms_version | regex_escape }}/ && /ms/ {print $3; exit}' product_version_download_helper
4848
register: tarball
4949
when: lookup('env', 'MS_TARBALL') == ''
5050

pmm_qa/pmm-framework.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -19,17 +19,17 @@
1919
"TARBALL": ""}
2020
},
2121
"MYSQL": {
22-
"versions": ["8.0"],
22+
"versions": ["8.4", "8.0"],
2323
"configurations": {"QUERY_SOURCE": "perfschema", "SETUP_TYPE": "", "CLIENT_VERSION": "3-dev-latest",
2424
"TARBALL": ""}
2525
},
2626
"PS": {
27-
"versions": ["5.7", "8.0"],
27+
"versions": ["5.7", "8.4", "8.0"],
2828
"configurations": {"QUERY_SOURCE": "perfschema", "SETUP_TYPE": "", "CLIENT_VERSION": "3-dev-latest",
2929
"TARBALL": ""}
3030
},
3131
"SSL_MYSQL": {
32-
"versions": ["5.7", "8.0"],
32+
"versions": ["5.7", "8.4", "8.0"],
3333
"configurations": {"QUERY_SOURCE": "perfschema", "SETUP_TYPE": "", "CLIENT_VERSION": "3-dev-latest",
3434
"TARBALL": ""}
3535
},

pmm_qa/product_version_download_helper

+7-3
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,15 @@ psmdb # 6.0.2 # https://downloads.percona.com/downloads/percona-distribution-mon
1616

1717
psmdb # 7.0.2 # https://downloads.percona.com/downloads/percona-server-mongodb-7.0/percona-server-mongodb-7.0.2-1/binary/tarball/percona-server-mongodb-7.0.2-1-x86_64.glibc2.17.tar.gz
1818

19-
ps # 8.0.33 # https://downloads.percona.com/downloads/Percona-Server-8.0/Percona-Server-8.0.33-25/binary/tarball/Percona-Server-8.0.33-25-Linux.x86_64.glibc2.17-minimal.tar.gz
19+
ps # 8.4.3 # https://downloads.percona.com/downloads/Percona-Server-8.4/Percona-Server-8.4.3-3/binary/tarball/Percona-Server-8.4.3-3-Linux.x86_64.glibc2.35-minimal.tar.gz
2020

21-
ps # 5.7.43 # https://downloads.percona.com/downloads/Percona-Server-5.7/Percona-Server-5.7.43-47/binary/tarball/Percona-Server-5.7.43-47-Linux.x86_64.glibc2.17-minimal.tar.gz
21+
ps # 8.0.40 # https://downloads.percona.com/downloads/Percona-Server-8.0/Percona-Server-8.0.40-31/binary/tarball/Percona-Server-8.0.40-31-Linux.x86_64.glibc2.35-minimal.tar.gz
2222

23-
ms # 8.0.33 # https://dev.mysql.com/get/Downloads/MySQL-8/mysql-8.0.33-linux-glibc2.28-x86_64.tar.gz
23+
ps # 5.7.44 # https://downloads.percona.com/downloads/Percona-Server-5.7/Percona-Server-5.7.44-48/binary/tarball/Percona-Server-5.7.44-48-Linux.x86_64.glibc2.35-minimal.tar.gz
24+
25+
ms # 8.4 # https://dev.mysql.com/get/Downloads/MySQL-8.4/mysql-8.4.3-linux-glibc2.17-x86_64-minimal.tar.xz
26+
27+
ms # 8.0.40 # https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.40-linux-glibc2.17-x86_64-minimal.tar.xz
2428

2529
proxysql # 2.6.2 # https://downloads.percona.com/downloads/proxysql2/proxysql2-2.6.2/binary/debian/jammy/x86_64/proxysql2_2.6.2-1.1.jammy_amd64.deb
2630

pmm_qa/ps_pmm_setup.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
- docker cp ./pmm3-client-setup.sh {{ ps_container }}:/
4444

4545
- name: Get Product tarball URL based on the version
46-
shell: cat product_version_download_helper | grep -v pxc | grep ps | grep "\-{{ ps_version }}" | head -1 | awk -F'# ' '{print $3}'
46+
shell: awk -F'# ' '/-{{ ps_version | regex_escape }}/ && !/pxc/ && /ps/ {print $3; exit}' product_version_download_helper
4747
register: tarball
4848
when: lookup('env', 'PS_TARBALL') == ''
4949

0 commit comments

Comments
 (0)