Project

General

Profile

Bug #27637

qpidd fails to start with ncat > 6.40

Added by James Shewey 9 months ago. Updated 3 months ago.

Status:
New
Priority:
Low
Assignee:
-
Category:
Foreman modules
Target version:
-
Difficulty:
easy
Triaged:
No
Bugzilla link:
Pull request:
Fixed in Releases:
Found in Releases:

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:

History

#1 Updated by James Shewey 7 months 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.

#2 Updated by Ewoud Kohl van Wijngaarden 7 months ago

  • Category set to Foreman modules

It looks like nc actually comes from nmap-ncat in Fedora. Perhaps this is available in Atomic?

#3 Updated by Kamil Maslowski 3 months 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'

Also available in: Atom PDF