From 3cab000c89e5032dd7b7fc0c7cd7a68696e2445b Mon Sep 17 00:00:00 2001 From: Lenny Meerwood Date: Wed, 28 Oct 2020 13:49:16 +1000 Subject: [PATCH 1/3] fix(redhat): update python library, add missing deps --- mysql/osfamilymap.yaml | 2 +- mysql/osfingermap.yaml | 12 +++++++++--- mysql/remove_test_database.sls | 3 +++ 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/mysql/osfamilymap.yaml b/mysql/osfamilymap.yaml index fd71133..c30bd6f 100644 --- a/mysql/osfamilymap.yaml +++ b/mysql/osfamilymap.yaml @@ -39,7 +39,7 @@ Debian: RedHat: service: mysqld clientpkg: mysql - pythonpkg: MySQL-python + pythonpkg: python3-PyMySQL config: file: /etc/my.cnf sections: diff --git a/mysql/osfingermap.yaml b/mysql/osfingermap.yaml index 9d98126..e2a92a1 100644 --- a/mysql/osfingermap.yaml +++ b/mysql/osfingermap.yaml @@ -42,8 +42,11 @@ Ubuntu-16.04: # devpkg: libmariadbclient-dev # Redhat +Red Hat Enterprise Linux Server-6: + pythonpkg: MySQL-python Redhat-7: # https://mariadb.com/blog/rhel7-transition-mysql-mariadb-first-look + pythonpkg: MySQL-python serverpkg: mariadb-server service: mariadb clientpkg: mariadb @@ -53,9 +56,13 @@ Redhat-7: mysqld_safe: log_error: /var/log/mariadb/mysqld.log pid_file: /var/run/mariadb/mysqld.pid + # CentOS +CentOS-6: + pythonpkg: MySQL-python CentOS Linux-7: # https://mariadb.com/blog/rhel7-transition-mysql-mariadb-first-look + pythonpkg: MySQL-python serverpkg: mariadb-server service: mariadb clientpkg: mariadb @@ -71,6 +78,5 @@ CentOS Linux-7: log_error: /var/log/mariadb/mysqld.log pid_file: /var/run/mariadb/mysqld.pid -# Suse -Leap-42: - pythonpkg: python-PyMySQL +CentOS Linux-8: + pythonpkg: python3-PyMySQL diff --git a/mysql/remove_test_database.sls b/mysql/remove_test_database.sls index 1286558..8c9f219 100644 --- a/mysql/remove_test_database.sls +++ b/mysql/remove_test_database.sls @@ -6,6 +6,7 @@ include: - .python + - .server mysql remove test database: mysql_database.absent: @@ -17,3 +18,5 @@ mysql remove test database: - connection_pass: '{{ mysql_salt_pass }}' {%- endif %} - connection_charset: utf8 + - require: + - service: mysqld-service-running From 1c70b0abc106fbce2d7f95feaf9f02dd64cddfcf Mon Sep 17 00:00:00 2001 From: Lenny Meerwood Date: Fri, 30 Oct 2020 10:48:17 +1000 Subject: [PATCH 2/3] feat(credentials): add socket access --- mysql/database.sls | 4 ++++ mysql/remove_test_database.sls | 6 ++++++ mysql/server.sls | 4 ++++ mysql/user.sls | 10 ++++++++++ 4 files changed, 24 insertions(+) diff --git a/mysql/database.sls b/mysql/database.sls index 0f9796e..35cdc49 100644 --- a/mysql/database.sls +++ b/mysql/database.sls @@ -7,6 +7,7 @@ {%- set mysql_salt_user = salt['pillar.get']('mysql:salt_user:salt_user_name', mysql_root_user) %} {%- set mysql_salt_pass = salt['pillar.get']('mysql:salt_user:salt_user_password', mysql_root_pass) %} +{%- set mysql_unix_socket = mysql.config.sections.mysqld.socket %} include: - .python @@ -39,6 +40,9 @@ include: - connection_pass: '{{ mysql_salt_pass }}' {%- endif %} - connection_charset: utf8 + {%- if mysql_unix_socket %} + - connection_unix_socket: '{{ mysql_unix_socket }}' + {% endif %} {%- if salt['pillar.get'](['mysql', 'schema', database, 'load']|join(':'), False) %} {{ state_id }}_schema: diff --git a/mysql/remove_test_database.sls b/mysql/remove_test_database.sls index 8c9f219..5ca1e2a 100644 --- a/mysql/remove_test_database.sls +++ b/mysql/remove_test_database.sls @@ -1,8 +1,11 @@ +{%- from tpldir ~ "/map.jinja" import mysql with context %} + {%- set mysql_root_user = salt['pillar.get']('mysql:server:root_user', 'root') %} {%- set mysql_root_pass = salt['pillar.get']('mysql:server:root_password', salt['grains.get']('server_id')) %} {%- set mysql_host = salt['pillar.get']('mysql:server:host', 'localhost') %} {%- set mysql_salt_user = salt['pillar.get']('mysql:salt_user:salt_user_name', mysql_root_user) %} {%- set mysql_salt_pass = salt['pillar.get']('mysql:salt_user:salt_user_password', mysql_root_pass) %} +{%- set mysql_unix_socket = mysql.config.sections.mysqld.socket %} include: - .python @@ -18,5 +21,8 @@ mysql remove test database: - connection_pass: '{{ mysql_salt_pass }}' {%- endif %} - connection_charset: utf8 + {%- if mysql_unix_socket %} + - connection_unix_socket: '{{ mysql_unix_socket }}' + {%- endif %} - require: - service: mysqld-service-running diff --git a/mysql/server.sls b/mysql/server.sls index b9c4142..3a44e99 100644 --- a/mysql/server.sls +++ b/mysql/server.sls @@ -12,6 +12,7 @@ include: {%- set mysql_salt_user = salt['pillar.get']('mysql:salt_user:salt_user_name', mysql_root_user) %} {%- set mysql_salt_password = salt['pillar.get']('mysql:salt_user:salt_user_password', mysql_root_password) %} {%- set mysql_datadir = salt['pillar.get']('mysql:server:mysqld:datadir', '/var/lib/mysql') %} +{%- set mysql_unix_socket = salt['pillar.get']('mysql:server:unix_socket', '') %} {%- if mysql_root_password %} {%- if os_family == 'Debian' %} @@ -63,6 +64,9 @@ mysql_delete_anonymous_user_{{ host }}: {%- if mysql_salt_password %} - connection_pass: '{{ mysql_salt_password }}' {%- endif %} + {%- if mysql_unix_socket %} + - connection_unix_socket: '{{ mysql_unix_socket }}' + {%- endif %} - connection_charset: utf8 - require: - service: mysqld-service-running diff --git a/mysql/user.sls b/mysql/user.sls index 414633a..cf91c9a 100644 --- a/mysql/user.sls +++ b/mysql/user.sls @@ -4,6 +4,7 @@ {%- set mysql_host = salt['pillar.get']('mysql:server:host', 'localhost') %} {%- set mysql_salt_user = salt['pillar.get']('mysql:salt_user:salt_user_name', mysql_root_user) %} {%- set mysql_salt_pass = salt['pillar.get']('mysql:salt_user:salt_user_password', mysql_root_pass) %} +{%- set mysql_unix_socket = salt['pillar.get']('mysql:server:unix_socket', '') %} {%- set user_states = [] %} {%- set user_hosts = [] %} @@ -57,6 +58,9 @@ include: - connection_user: '{{ mysql_salt_user }}' {%- if mysql_salt_pass %} - connection_pass: '{{ mysql_salt_pass }}' + {%- endif %} + {%- if mysql_unix_socket %} + - connection_unix_socket: '{{ mysql_unix_socket }}' {%- endif %} - connection_charset: utf8 @@ -90,6 +94,9 @@ include: {%- if mysql_salt_pass %} - connection_pass: '{{ mysql_salt_pass }}' {%- endif %} + {%- if mysql_unix_socket %} + - connection_unix_socket: '{{ mysql_unix_socket }}' + {%- endif %} - connection_charset: utf8 - require: - mysql_user: {{ state_id }} @@ -128,6 +135,9 @@ include: - connection_pass: '{{ mysql_salt_pass }}' {%- endif %} - connection_charset: utf8 + {%- if mysql_unix_socket %} + - connection_unix_socket: '{{ mysql_unix_socket }}' + {%- endif %} - require: - mysql_user: {{ state_id }} {%- endfor %} From b0f370cf8b60e2e8a9e281f945ae2ab435a2e63c Mon Sep 17 00:00:00 2001 From: Lenny Meerwood Date: Thu, 3 Dec 2020 15:49:02 +1000 Subject: [PATCH 3/3] fix(redhat): added missing client socket --- mysql/osfamilymap.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mysql/osfamilymap.yaml b/mysql/osfamilymap.yaml index c30bd6f..4801914 100644 --- a/mysql/osfamilymap.yaml +++ b/mysql/osfamilymap.yaml @@ -43,7 +43,8 @@ RedHat: config: file: /etc/my.cnf sections: - client: {} + client: + socket: /var/lib/mysql/mysql.sock mysqld_safe: log_error: /var/log/mysql/mysqld.log pid_file: /var/run/mysql/mysqld.pid