From d31447e2b9b31079fb01c1e7a69b456068b64d35 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Thu, 9 Oct 2025 09:27:14 +0200 Subject: [PATCH 1/8] PMM-7: Read mysql config --- pmm_qa/percona_server/percona-server-setup.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/pmm_qa/percona_server/percona-server-setup.yml b/pmm_qa/percona_server/percona-server-setup.yml index 26d89a89..07c6123a 100644 --- a/pmm_qa/percona_server/percona-server-setup.yml +++ b/pmm_qa/percona_server/percona-server-setup.yml @@ -250,4 +250,14 @@ mysql -uroot -p{{ root_password }} school < /ps_load.sql ' loop: "{{ range(1, nodes_count | int + 1) | list }}" - when: setup_type != "gr" and setup_type != "replication" \ No newline at end of file + when: setup_type != "gr" and setup_type != "replication" + + - name: Enable MySQL MyRocks + community.docker.docker_container_exec: + container: "ps_pmm_{{ ps_version }}_{{ item }}" + command: > + /bin/sh -c ' + ls /etc/mysql/ + cat /etc/mysql/my.cnf + ' + loop: "{{ range(1, nodes_count | int + 1) | list }}" \ No newline at end of file From 704fd8c90ead01d79df8772995968e9d92a41946 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Thu, 9 Oct 2025 09:32:04 +0200 Subject: [PATCH 2/8] PMM-7: Change mysql config --- pmm_qa/percona_server/percona-server-setup.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pmm_qa/percona_server/percona-server-setup.yml b/pmm_qa/percona_server/percona-server-setup.yml index 07c6123a..63ceaf81 100644 --- a/pmm_qa/percona_server/percona-server-setup.yml +++ b/pmm_qa/percona_server/percona-server-setup.yml @@ -257,7 +257,13 @@ container: "ps_pmm_{{ ps_version }}_{{ item }}" command: > /bin/sh -c ' - ls /etc/mysql/ + sudo tee -a /etc/my.cnf > /dev/null < Date: Thu, 9 Oct 2025 09:36:54 +0200 Subject: [PATCH 3/8] PMM-7: Append mysql config before start --- pmm_qa/percona_server/percona-server-setup.yml | 7 ------- .../tasks/percona-server-setup-single.yml | 15 ++++++++++++++- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/pmm_qa/percona_server/percona-server-setup.yml b/pmm_qa/percona_server/percona-server-setup.yml index 63ceaf81..d1d73f0e 100644 --- a/pmm_qa/percona_server/percona-server-setup.yml +++ b/pmm_qa/percona_server/percona-server-setup.yml @@ -257,13 +257,6 @@ container: "ps_pmm_{{ ps_version }}_{{ item }}" command: > /bin/sh -c ' - sudo tee -a /etc/my.cnf > /dev/null < Date: Thu, 9 Oct 2025 09:42:36 +0200 Subject: [PATCH 4/8] PMM-7: Remove append mysql config before start --- .../tasks/percona-server-setup-single.yml | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/pmm_qa/percona_server/tasks/percona-server-setup-single.yml b/pmm_qa/percona_server/tasks/percona-server-setup-single.yml index b8db556c..03e731e9 100644 --- a/pmm_qa/percona_server/tasks/percona-server-setup-single.yml +++ b/pmm_qa/percona_server/tasks/percona-server-setup-single.yml @@ -4,18 +4,18 @@ dest: "{{ data_dir }}/node{{ item }}/my.cnf" loop: "{{ range(1, nodes_count | int + 1) | list }}" -- name: Append MyRocks settings to my.cnf - blockinfile: - path: "{{ data_dir }}/node{{ item }}/my.cnf" - block: | - loose-default-storage-engine=rocksdb - loose-plugins=rocksdb=FORCE - loose-rocksdb_block_cache_size=4G - loose-rocksdb_default_cf_options="write_buffer_size=256m;max_write_buffer_number=4" - loose-rocksdb_max_open_files=-1 - insertafter: EOF - marker: "# {mark} ANSIBLE MANAGED BLOCK: MyRocks" - loop: "{{ range(1, nodes_count | int + 1) | list }}" +#- name: Append MyRocks settings to my.cnf +# blockinfile: +# path: "{{ data_dir }}/node{{ item }}/my.cnf" +# block: | +# loose-default-storage-engine=rocksdb +# loose-plugins=rocksdb=FORCE +# loose-rocksdb_block_cache_size=4G +# loose-rocksdb_default_cf_options="write_buffer_size=256m;max_write_buffer_number=4" +# loose-rocksdb_max_open_files=-1 +# insertafter: EOF +# marker: "# {mark} ANSIBLE MANAGED BLOCK: MyRocks" +# loop: "{{ range(1, nodes_count | int + 1) | list }}" - name: Start Percona Server containers community.docker.docker_container: From 24dd514a6e0aa667465a3671a6d8b89fdbcd6481 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Thu, 9 Oct 2025 09:52:23 +0200 Subject: [PATCH 5/8] PMM-7: Env variable for myrocks and enable it --- pmm_qa/percona_server/percona-server-setup.yml | 9 ++++++++- pmm_qa/pmm-framework.py | 1 + pmm_qa/scripts/database_options.py | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/pmm_qa/percona_server/percona-server-setup.yml b/pmm_qa/percona_server/percona-server-setup.yml index d1d73f0e..dbe1c97d 100644 --- a/pmm_qa/percona_server/percona-server-setup.yml +++ b/pmm_qa/percona_server/percona-server-setup.yml @@ -24,6 +24,8 @@ metrics_mode: "{{ lookup('env', 'metrics_mode') }}" setup_type: "{{ lookup('env', 'SETUP_TYPE') }}" random_service_name_value: "" + my_rocks: "{{ lookup('env', 'MY_ROCKS') | default(false, true) }}" + tasks: - name: Mofidy the node count for group replication @@ -257,6 +259,11 @@ container: "ps_pmm_{{ ps_version }}_{{ item }}" command: > /bin/sh -c ' + ps-admin --enable-rocksdb -u root -p{{ root_password }} cat /etc/mysql/my.cnf ' - loop: "{{ range(1, nodes_count | int + 1) | list }}" \ No newline at end of file + loop: "{{ range(1, nodes_count | int + 1) | list }}" + + - name: Log value of my_rocks variable + debug: + msg: "my_rocks is set to: {{ my_rocks }}" \ No newline at end of file diff --git a/pmm_qa/pmm-framework.py b/pmm_qa/pmm-framework.py index 1e542d7b..24f4b769 100755 --- a/pmm_qa/pmm-framework.py +++ b/pmm_qa/pmm-framework.py @@ -76,6 +76,7 @@ def setup_ps(db_type, db_version=None, db_config=None, args=None): 'PS_VERSION': ps_version, 'CLIENT_VERSION': get_value('CLIENT_VERSION', db_type, args, db_config), 'ADMIN_PASSWORD': os.getenv('ADMIN_PASSWORD') or args.pmm_server_password or 'admin', + 'MY_ROCKS': get_value('MY_ROCKS', db_type, args, db_config), } run_ansible_playbook('percona_server/percona-server-setup.yml', env_vars, args) diff --git a/pmm_qa/scripts/database_options.py b/pmm_qa/scripts/database_options.py index 9492a58c..b58373fd 100644 --- a/pmm_qa/scripts/database_options.py +++ b/pmm_qa/scripts/database_options.py @@ -30,7 +30,7 @@ "PS": { "versions": ["5.7", "8.4", "8.0"], "configurations": {"QUERY_SOURCE": "perfschema", "SETUP_TYPE": "", "CLIENT_VERSION": "3-dev-latest", - "TARBALL": "", "NODES_COUNT": 1} + "TARBALL": "", "NODES_COUNT": 1, "MY_ROCKS": "false"} }, "SSL_MYSQL": { "versions": ["5.7", "8.4", "8.0"], From 08c72e77b67fb03f8f3c4117b42547d2dbc69f3a Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Thu, 9 Oct 2025 10:03:24 +0200 Subject: [PATCH 6/8] PMM-7: When condition for enabling my rocks --- pmm_qa/percona_server/percona-server-setup.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/pmm_qa/percona_server/percona-server-setup.yml b/pmm_qa/percona_server/percona-server-setup.yml index dbe1c97d..226d9162 100644 --- a/pmm_qa/percona_server/percona-server-setup.yml +++ b/pmm_qa/percona_server/percona-server-setup.yml @@ -263,6 +263,7 @@ cat /etc/mysql/my.cnf ' loop: "{{ range(1, nodes_count | int + 1) | list }}" + when: my_rocks == true - name: Log value of my_rocks variable debug: From 1a105b2cab54d1c5057a6ddb81c257dd17cd5d60 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Thu, 9 Oct 2025 10:08:46 +0200 Subject: [PATCH 7/8] PMM-7: When condition for enabling my rocks --- pmm_qa/percona_server/percona-server-setup.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pmm_qa/percona_server/percona-server-setup.yml b/pmm_qa/percona_server/percona-server-setup.yml index 226d9162..8e12b30e 100644 --- a/pmm_qa/percona_server/percona-server-setup.yml +++ b/pmm_qa/percona_server/percona-server-setup.yml @@ -263,7 +263,7 @@ cat /etc/mysql/my.cnf ' loop: "{{ range(1, nodes_count | int + 1) | list }}" - when: my_rocks == true + when: my_rocks | bool - name: Log value of my_rocks variable debug: From d0ad2cbf0a03ec12b601769f0aa4c3bac03c045a Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Thu, 9 Oct 2025 11:06:01 +0200 Subject: [PATCH 8/8] PMM-7: Code cleanup --- pmm_qa/percona_server/percona-server-setup.yml | 5 ----- .../tasks/percona-server-setup-single.yml | 15 +-------------- 2 files changed, 1 insertion(+), 19 deletions(-) diff --git a/pmm_qa/percona_server/percona-server-setup.yml b/pmm_qa/percona_server/percona-server-setup.yml index 8e12b30e..4b49022b 100644 --- a/pmm_qa/percona_server/percona-server-setup.yml +++ b/pmm_qa/percona_server/percona-server-setup.yml @@ -260,11 +260,6 @@ command: > /bin/sh -c ' ps-admin --enable-rocksdb -u root -p{{ root_password }} - cat /etc/mysql/my.cnf ' loop: "{{ range(1, nodes_count | int + 1) | list }}" when: my_rocks | bool - - - name: Log value of my_rocks variable - debug: - msg: "my_rocks is set to: {{ my_rocks }}" \ No newline at end of file diff --git a/pmm_qa/percona_server/tasks/percona-server-setup-single.yml b/pmm_qa/percona_server/tasks/percona-server-setup-single.yml index 03e731e9..9fbad84c 100644 --- a/pmm_qa/percona_server/tasks/percona-server-setup-single.yml +++ b/pmm_qa/percona_server/tasks/percona-server-setup-single.yml @@ -1,22 +1,9 @@ -- name: Generate my.cnf +- name: Generate my.cnf for each node template: src: ./data/my.cnf.j2 dest: "{{ data_dir }}/node{{ item }}/my.cnf" loop: "{{ range(1, nodes_count | int + 1) | list }}" -#- name: Append MyRocks settings to my.cnf -# blockinfile: -# path: "{{ data_dir }}/node{{ item }}/my.cnf" -# block: | -# loose-default-storage-engine=rocksdb -# loose-plugins=rocksdb=FORCE -# loose-rocksdb_block_cache_size=4G -# loose-rocksdb_default_cf_options="write_buffer_size=256m;max_write_buffer_number=4" -# loose-rocksdb_max_open_files=-1 -# insertafter: EOF -# marker: "# {mark} ANSIBLE MANAGED BLOCK: MyRocks" -# loop: "{{ range(1, nodes_count | int + 1) | list }}" - - name: Start Percona Server containers community.docker.docker_container: name: "ps_pmm_{{ ps_version }}_{{ item }}"