Bug #27637
closedqpidd fails to start with ncat > 6.40
Description
During installation/upgrade of foreman/katello, the file:
/usr/share/foreman-installer/modules/qpid/manifests/service.pp
Writes out the erb template found at:
/usr/share/foreman-installer/modules/qpid/templates/wait-for-port.conf.erb
To the location:
/etc/systemd/system/qpidd.service.d/wait-for-port.conf
This file causes the startup script for qpidd to wait for the port to show as open before marking the service as started by using ncat's -z switch using the command:
ExecStartPost=/bin/bash -c 'while ! nc -z 127.0.0.1 <%= scope['qpid::ssl_port'] %>; do sleep 1; done'
The issue however is that the "-z" switch has been deprecated in (at least) version 6.47 of ncat. Thus, another way to achieve this objective is needed. While this is not an issue for a default CentOS/RHEL 7 installation, the problem will presumably arise with RHEL/CentOS 8 and will show up for any who use the atomic repo.
To reproduce:
- Configure the Atomic repo as a source for yum: https://wiki.atomicorp.com/wiki/index.php/Atomic
- Run yum -y update nmap-ncat
- Attempt to restart qpidd or perform an upgrade or install of foreman
Updated by James Shewey about 5 years ago
- Priority changed from Normal to Low
Looking at CentOS 8 with version 7.70 of ncat, the -z switch is available as "Zero-I/O mode, report connection status only" according to the manual, so this looks to be a problem only for those with Atomic configured.
Updated by Ewoud Kohl van Wijngaarden about 5 years ago
- Category set to Foreman modules
It looks like nc actually comes from nmap-ncat in Fedora. Perhaps this is available in Atomic?
Updated by Kamil Maslowski almost 5 years ago
It can be easily fixed with:
ExecStartPost=/bin/bash -c 'while ! nc -w 1 127.0.0.1 <%= scope['qpid::ssl_port'] %> </dev/null; do sleep 1; done'
Updated by Ewoud Kohl van Wijngaarden almost 5 years ago
The source is at https://github.com/theforeman/puppet-qpid/blob/master/templates/wait-for-port.conf.erb and a patch is highly welcome.
Updated by Eric Helms about 4 years ago
- Related to Bug #30252: error Error reading socket: Encountered end of file [-5938] when starting qpidd service added