Need help to fix Zimbra ERROR zclient IO ERROR? We can help you.
As part of our Server Management Services, we help our customers with similar errors regularly.
Today, let’s see how our Support Engineers tackle this.
Zimbra ERROR zclient IO ERROR
When we get the following error:
[] INFO: I/O exception (java.net.ConnectException) caught when processing request: Connection refused
[] INFO: Retrying request
ERROR: zclient.IO_ERROR (invoke Connection refused, server: localhost) (cause: java.net.ConnectException Connection refused)
we cannot execute any Zimbra zmprov commands. This is devastating since Zimbra Admin users use Zimbra CLI a lot.
In this article, let us see how our Support Engineers fix the error.
What is Zimbra zmprov?
The zmprov tool performs all provisioning tasks in Zimbra LDAP. It includes, creating accounts, aliases, domains, COS, distribution lists, and calendar resources.
Generally, each operation is invoked through the command-line options, each of which has a long name and a short name.
What causes the error
The major cause of this error is when Zimbra zmprov is not configured to get results from LDAP. To fix this, we need to set zimbra_zmprov_default_to_ldap to TRUE.
This will make sure all the zmprov commands get replies from LDAP server.
How to fix Zimbra ERROR zclient IO ERROR
- We do a checking for the setting of zimbra_zmprov_default_to_ldap to be sure.
$ zmlocalconfig |grep zmprov
zimbra_zmprov_default_soap_server = localhost
zimbra_zmprov_default_to_ldap = false
zmprov_safeguarded_attrs = zimbraServiceEnabled,zimbraServiceInstalled
zmprov_tmp_directory = ${zimbra_tmp_directory}/zmprov
- If set to false, we reconfigure it to have the true flag. This will enable the setting.
$ zmlocalconfig -e zimbra_zmprov_default_to_ldap=true
- Then we recheck the settings:
$ zmlocalconfig |grep zmprov
zimbra_zmprov_default_soap_server = localhost
zimbra_zmprov_default_to_ldap = true
zmprov_safeguarded_attrs = zimbraServiceEnabled,zimbraServiceInstalled
zmprov_tmp_directory = ${zimbra_tmp_directory}/zmprov
- Now we try to execute any zmprov commands and see if it’s working fine.
$ zmprov gs `zmhostname` | grep zimbraServiceEnabled
zimbraServiceEnabled: amavis
zimbraServiceEnabled: antivirus
zimbraServiceEnabled: antispam
zimbraServiceEnabled: opendkim
zimbraServiceEnabled: stats
zimbraServiceEnabled: logger
zimbraServiceEnabled: proxy
zimbraServiceEnabled: service
zimbraServiceEnabled: zimbra
zimbraServiceEnabled: zimbraAdmin
zimbraServiceEnabled: zimlet
zimbraServiceEnabled: mailbox
zimbraServiceEnabled: spell
zimbraServiceEnabled: ldap
zimbraServiceEnabled: memcached
zimbraServiceEnabled: mta
zimbraServiceEnabled: snmp
zimbraServiceEnabled: dnscache
If this does not solve the problem, we try changing the zimbra_zmprov_default_soap_server to the IP address of our Mailbox server.
The setting will look like this.
$ zmlocalconfig -e zimbra_zmprov_default_soap_server=ip-address
- We have to execute the command using ‘zmprov -l’ instead of just ‘zmprov’ until mailboxd is running again. This will directly query the ldap server.
[Still stuck with the error? We are happy to assist.]
Conclusion
To conclude, the error can prevent us from executing any Zimbra zmprov commands. Today, we saw how our Support Engineers go about to fix this error.
0 Comments