From 078ffdb6bbbdcbdd9e803ee92bf12b9a65a73353 Mon Sep 17 00:00:00 2001 From: Jiri 'Ghormoon' Novak Date: Thu, 6 May 2021 07:05:44 +0200 Subject: [PATCH 1/2] fix(pgsql): do not try to create db and user with schema --- zabbix/pgsql/conf.sls | 32 ++------------------------------ zabbix/pgsql/pkgs.sls | 34 ++++++++++++++++++++++++++++++++++ zabbix/pgsql/schema.sls | 2 +- 3 files changed, 37 insertions(+), 31 deletions(-) create mode 100644 zabbix/pgsql/pkgs.sls diff --git a/zabbix/pgsql/conf.sls b/zabbix/pgsql/conf.sls index 2884ef13..1ad72804 100644 --- a/zabbix/pgsql/conf.sls +++ b/zabbix/pgsql/conf.sls @@ -10,36 +10,8 @@ {% set dbroot_user = settings.get('dbroot_user') -%} {% set dbroot_pass = settings.get('dbroot_pass') -%} -# Install packages required for Salt postgres module -{% if settings.get('pkgs', defaults.get('pkgs', False)) - and not settings.get('skip_pkgs', defaults.skip_pkgs) -%} -pgsql_packages: - pkg.installed: - - pkgs: {{ settings.get('pkgs', defaults.pkgs)|json }} -{% elif settings.get('skip_pkgs', defaults.skip_pkgs) -%} -pgsql_packages: - test.configurable_test_state: - - name: You skipped installation of packages required for Salt postgres module. - - changes: False - - result: True -{% else -%} -pgsql_packages: - test.configurable_test_state: - - name: Packages required for Salt postgres module are not defined - - changes: False - - result: False - - comment: | - Additional packages are required to manage the PostgreSQL database. - Please specify them in pillar as list. - Tip: you need postgresql-client packages, like: - zabbix-pgsql: - pkgs: - - postgresql-client-common - - postgresql-client - Or you can skip installing them, but formula likely fail without them. - zabbix-pgsql: - skip_pkgs: True -{% endif -%} +include: + - zabbix.pgsql.pkgs zabbix_pgsql_user: postgres_user.present: diff --git a/zabbix/pgsql/pkgs.sls b/zabbix/pgsql/pkgs.sls new file mode 100644 index 00000000..bc697686 --- /dev/null +++ b/zabbix/pgsql/pkgs.sls @@ -0,0 +1,34 @@ +{% from "zabbix/map.jinja" import zabbix with context -%} +{% set settings = salt['pillar.get']('zabbix-pgsql', {}) -%} +{% set defaults = zabbix.get('pgsql', {}) -%} + +# Install packages required for Salt postgres module +{% if settings.get('pkgs', defaults.get('pkgs', False)) + and not settings.get('skip_pkgs', defaults.skip_pkgs) -%} +pgsql_packages: + pkg.installed: + - pkgs: {{ settings.get('pkgs', defaults.pkgs)|json }} +{% elif settings.get('skip_pkgs', defaults.skip_pkgs) -%} +pgsql_packages: + test.configurable_test_state: + - name: You skipped installation of packages required for Salt postgres module. + - changes: False + - result: True +{% else -%} +pgsql_packages: + test.configurable_test_state: + - name: Packages required for Salt postgres module are not defined + - changes: False + - result: False + - comment: | + Additional packages are required to manage the PostgreSQL database. + Please specify them in pillar as list. + Tip: you need postgresql-client packages, like: + zabbix-pgsql: + pkgs: + - postgresql-client-common + - postgresql-client + Or you can skip installing them, but formula likely fail without them. + zabbix-pgsql: + skip_pkgs: True +{% endif -%} diff --git a/zabbix/pgsql/schema.sls b/zabbix/pgsql/schema.sls index 9b148867..967d45a4 100644 --- a/zabbix/pgsql/schema.sls +++ b/zabbix/pgsql/schema.sls @@ -28,7 +28,7 @@ {% endif -%} include: - - zabbix.pgsql.conf + - zabbix.pgsql.pkgs check_db_pgsql: test.configurable_test_state: From f9c6da0506fdd40e05565056867bcf45f78a66fc Mon Sep 17 00:00:00 2001 From: Jiri 'Ghormoon' Novak Date: Mon, 19 Apr 2021 09:58:45 +0200 Subject: [PATCH 2/2] fix(pgsql): fix pgsql import - pgsql fixes, defaults --- zabbix/defaults.yaml | 1 + zabbix/osfamilymap.yaml | 1 + zabbix/pgsql/schema.sls | 4 ++-- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/zabbix/defaults.yaml b/zabbix/defaults.yaml index 4e553c88..e2d87d8b 100644 --- a/zabbix/defaults.yaml +++ b/zabbix/defaults.yaml @@ -77,3 +77,4 @@ zabbix: dbname: zabbix dbuser: zabbix dbpassword: zabbix + sql_file: /usr/share/doc/zabbix-server-pgsql/create.sql.gz diff --git a/zabbix/osfamilymap.yaml b/zabbix/osfamilymap.yaml index d4a34396..ff64daf0 100644 --- a/zabbix/osfamilymap.yaml +++ b/zabbix/osfamilymap.yaml @@ -167,6 +167,7 @@ Suse: pgsql: pkgs: - postgresql + - gzip sql_file: /usr/share/doc/packages/zabbix-server-pgsql/create.sql.gz diff --git a/zabbix/pgsql/schema.sls b/zabbix/pgsql/schema.sls index 967d45a4..9fa4a407 100644 --- a/zabbix/pgsql/schema.sls +++ b/zabbix/pgsql/schema.sls @@ -11,7 +11,7 @@ {% set dbroot_user = settings.get('dbroot_user') -%} {% set dbroot_pass = settings.get('dbroot_pass') -%} -{% set sql_file = settings.get('sql_file', '/usr/share/doc/zabbix-server-pgsql/create.sql.gz') -%} +{% set sql_file = settings.get('sql_file', defaults.sql_file) -%} # Connection args required only if dbroot_user and dbroot_pass defined. {% set connection_args = {} -%} @@ -51,7 +51,7 @@ upload_sql_dump: import_sql: cmd.run: - - name: zcat {{ sql_file }} | psql | head -5 + - name: zcat {{ sql_file }} | psql | { head -5; cat >/dev/null; } - runas: {{ zabbix.user }} - env: - PGUSER: {{ dbuser }}