dj-wasabi / ansible-zabbix-server

Installing and maintaining zabbix-server for RedHat/Debian/Ubuntu.
https://galaxy.ansible.com/dj-wasabi/zabbix-server/
MIT License
176 stars 150 forks source link

Fix Zabbix installation on Bionic #142

Closed logan2211 closed 5 years ago

logan2211 commented 5 years ago

On bionic, the database schemas are not installed on containerized systems such as LXC or docker images because they contain a dpkg configuration which excludes file installation to /usr/share/doc/*.

This breaks the role because dpkg filters the Zabbix database schemas that are typically installed to this path.

Type of change Bugfix Pull Request

Fixes an issue On a bionic install in affected environments, the following is observed:

# dpkg -S /usr/share/doc/zabbix-server-mysql/create.sql.gz
zabbix-server-mysql: /usr/share/doc/zabbix-server-mysql/create.sql.gz
# ls /usr/share/doc/zabbix-server-mysql/create.sql.gz
ls: cannot access '/usr/share/doc/zabbix-server-mysql/create.sql.gz': No such file or directory
# ls /usr/share/doc/zabbix-server-mysql
changelog.Debian.gz  copyright

This causes the task zabbix_server : Get the file for create.sql >= 3.0 to fail due to the error ls: cannot access '/usr/share/doc/zabbix-server-mysql/create.sq*': No such file or directory

The reason the file is not present is because dpkg is configured to filter installations to /usr/share/doc/* in /etc/dpkg/dpkg.cfg.d/excludes, specifically with the line:

# Drop all documentation ...
path-exclude=/usr/share/doc/*

To fix this issue, we can drop the following line in the file before installing the zabbix-server-{mysql,pgsql} packages:

path-include=/usr/share/doc/zabbix*

, which will allow the Zabbix package to install the schemas as usual to these paths.

Please see upstream bug https://support.zabbix.com/browse/ZBX-14820 for more information.

dj-wasabi commented 5 years ago

Thanks! 👍