Project

General

Profile

Bug #28693

Candlepin fails to talk to qpidd listening on ::1 when connecting by hostname "localhost"

Added by Adam Ruzicka almost 2 years ago. Updated over 1 year ago.

Status:
Need more information
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Difficulty:
Triaged:
No
Bugzilla link:
Pull request:
Fixed in Releases:
Found in Releases:

Description

Cloned from https://bugzilla.redhat.com/show_bug.cgi?id=1789005

Description of problem:

We have an environment where Satellite has 127.0.0.1 and ::1 on lo interface and something along the lines of fd::/64 on eth0. In this environment, qpidd listens on ::1 only.

In /etc/hosts we have
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

If we set candlepin.amqp.connect to localhost1 in /etc/candlepin/candlepin.conf, candlepin goes into suspended mode.

Version-Release number of selected component (if applicable):
candlepin-2.9.14-1.el7.noarch

How reproducible:
Always

Steps to Reproduce:
1. Make qpidd listen on ::1 only
2. Set candlepin.amqp.connect to tcp://localhost:5671?ssl='true'&ssl_cert_alias='amqp-client'
3. Restart tomcat
4. watch /var/log/candlepin/candlepin.log

Actual results:
After a while these lines appear in the log

org.candlepin.audit.QpidConnection - Connection to Qpid was lost! Cleaning up current connection!
org.candlepin.controller.ModeManagerImpl - Entering new mode SUSPEND for the following reasons: [QPID_DOWN]
org.candlepin.controller.ModeManagerImpl - Candlepin is entering suspend mode for the following reasons: [QPID_DOWN]

Expected results:
Candlepin can talk to qpidd, these lines appear in log

org.candlepin.audit.QpidConnection - Attempting to connect to QPID due to status change: UNKNOWN --> CONNECTED
org.candlepin.audit.QpidConnection - AMQP connection factory created.
org.candlepin.audit.QpidConnection - AMQP session created successfully...

Additional info:

If I drop "localhost" from the line starting with 127.0.0.1, it suddenly starts working.

It seems as if candlepin resolves the name to 127.0.0.1 and doesn't retry with ::1 on failure.

[1] - The exact line is: tcp://localhost:5671?ssl='true'&ssl_cert_alias='amqp-client'


Related issues

Related to Foreman - Tracker #28683: IPv6 only supportNew

History

#1 Updated by Adam Ruzicka almost 2 years ago

#2 Updated by Jonathon Turel almost 2 years ago

  • Category deleted (78)
  • Subject changed from Candlepin fails to talk to qpidd listening on ::1 when connecting by hostname "localhost" to Candlepin fails to talk to qpidd listening on ::1 when connecting by hostname "localhost"
  • Project changed from Katello to Installer

Reassigning since this is probably in puppet-candlepin

#3 Updated by Lukas Zapletal almost 2 years ago

WORKAROUND: --katello-qpid-hostname $(hostname -f) installer option

#4 Updated by Ewoud Kohl van Wijngaarden almost 2 years ago

I don't know how in the installer we can change this. If you pass a connection URL of tcp://localhost:5671?ssl='true'&ssl_cert_alias='amqp-client' then that's all we can do.

This is really a Candlepin issue but we don't track issues for that in Redmine.

#5 Updated by Ewoud Kohl van Wijngaarden over 1 year ago

  • Status changed from New to Need more information

Now that we have Artemis and qpid isn't there anymore, I think this can closed?

Also available in: Atom PDF