While trying to install a fresh Zabbix server instance on a CentOS instance, the playbook will fail during the database creation.
- name: "MySQL | Create database and import file >= 3.0"
mysql_db:
login_host: "{{ zabbix_server_mysql_login_host | default(omit) }}"
login_user: "{{ zabbix_server_mysql_login_user | default(omit) }}"
login_password: "{{ zabbix_server_mysql_login_password | default(omit) }}"
login_port: "{{ zabbix_server_mysql_login_port | default(omit) }}"
login_unix_socket: "{{ zabbix_server_mysql_login_unix_socket | default(omit) }}"
name: "{{ zabbix_server_dbname }}"
encoding: "{{ zabbix_server_dbencoding }}"
collation: "{{ zabbix_server_dbcollation }}"
state: import
target: "{{ ls_output_create.stdout }}"
when:
- zabbix_version is version_compare('3.0', '>=')
- zabbix_database_sqlload
- not done_file.stat.exists
delegate_to: "{{ delegated_dbhost }}"
tags:
- zabbix-server
- database
<!--- Paste output from "ansible --version" -->
TASK [dj-wasabi.zabbix-server : MySQL | Create database and import file >= 3.0] **************************************************
<192.168.XX.24> (1, '\r\n\r\n{"msg": "\\ngzip: stdout: Broken pipe\\n", "failed": true, "invocation": {"module_args": {"ssl_key": null, "login_port": 3306, "config_file": "/root/.my.cnf", "target": "/usr/share/doc/zabbix-server-mysql-4.0.0/create.sql.gz", "encoding": "utf8", "login_user": "root", "login_host": "localhost", "ignore_tables": [], "ssl_ca": null, "login_unix_socket": null, "state": "import", "ssl_cert": null, "login_password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER", "collation": "utf8_bin", "quick": true, "single_transaction": false, "connect_timeout": 30, "name": "zabbixdb"}}}\r\n', 'Shared connection to 192.168.XX.24 closed.\r\n')
<192.168.XX.24> ESTABLISH SSH CONNECTION FOR USER: ansible
<192.168.XX.24> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=ansible -o ConnectTimeout=10 -o ControlPath=/root/.ansible/cp/89a7234a26 192.168.XX.24 '/bin/sh -c '"'"'rm -f -r /home/ansible/.ansible/tmp/ansible-tmp-1539869748.41-273338602067385/ > /dev/null 2>&1 && sleep 0'"'"''
<192.168.XX.24> (0, '', '')
fatal: [lab-cms-zabbix.temp -> 192.168.XX.24]: FAILED! => {
"changed": false,
"invocation": {
"module_args": {
"collation": "utf8_bin",
"config_file": "/root/.my.cnf",
"connect_timeout": 30,
"encoding": "utf8",
"ignore_tables": [],
"login_host": "localhost",
"login_password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
"login_port": 3306,
"login_unix_socket": null,
"login_user": "root",
"name": "zabbixdb",
"quick": true,
"single_transaction": false,
"ssl_ca": null,
"ssl_cert": null,
"ssl_key": null,
"state": "import",
"target": "/usr/share/doc/zabbix-server-mysql-4.0.0/create.sql.gz"
}
},
"msg": "\ngzip: stdout: Broken pipe\n"
The task should succeed and correctly build the zabbix database.
I don't recall running into this problem when using Ansible v2.5. Is anyone able to replicate this problem with v2.7?