Bug 1067745

Summary: rhts-sync-block cannot reach remote hosts because beah is not listening on all interfaces
Product: [Retired] Beaker Reporter: Dan Callaghan <dcallagh>
Component: beahAssignee: Dan Callaghan <dcallagh>
Status: CLOSED CURRENTRELEASE QA Contact: tools-bugs <tools-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 0.15CC: aigao, asaha, dapospis, dcallagh, llim, rmancy, xjia
Target Milestone: 0.15.5Keywords: Regression
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-03-03 01:34:14 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Dan Callaghan 2014-02-21 00:31:27 UTC
Description of problem:
rhts-sync-block cannot reach other hosts in a recipe set. beah reports "Connection refused", because the remote beah is only listening on loopback instead of on all interfaces.

Version-Release number of selected component (if applicable):
beah 0.7.2

How reproducible:

Steps to Reproduce:
1. Run a multihost recipe set with a task that uses rhts-sync-block/rhts-sync-set, for example /distribution/beaker/Sanity/sync-set_block-tests

Actual results:
rhts-sync-block calls never complete, console has this error:

2014-02-20 04:39:00,415 backend linfo: INFO BackendFactory: Started to connect.  
2014-02-20 04:39:00,418 backend linfo: INFO BackendFactory: Connection failed. Reason: [Failure instance: Traceback (failure with no frames): <class 'twisted.internet.error.ConnectionRefusedError'>: Connection was refused by other side: 111: Connection refused.  

Expected results:
rhts-sync-block waits for corresponding state to be reached on the remote hosts and then returns.

The console will have this on the local side:

2014-02-18 08:44:50,365 backend linfo: INFO BackendFactory: Connected.  Address: <twisted.internet.address.IPv4Address object at 0x24bc110>  

and a corresponding message on the remote side:

2014-02-18 08:45:08,582 beah buildProtocol: INFO BackendListener: Connected.  Address: IPv4Address(TCP, '', 46047)  

Additional info:
In beah 0.6.48 the TaskListener only listens on loopback but the BackendListener listens on all interfaces.
In beah 0.7 both TaskListener and BackendListener claim to listen on loopback but are actually listening on all interfaces.
In beah 0.7.2 both TaskListener and BackendListener actually only listen on loopback as they claimed, but that is not what they should be doing.

Comment 2 Dan Callaghan 2014-02-21 02:53:29 UTC
On Gerrit: http://gerrit.beaker-project.org/2829

Comment 3 Dan Callaghan 2014-02-24 02:59:56 UTC
This bug fix is included in beah 0.7.3. You can test the new harness version in your recipe by adding this to the <repos/> element (adjust the distro family as appropriate):

<repo name="beaker-harness" url="http://beaker-project.org/yum/harness-testing/RedHatEnterpriseLinux6/" />

Comment 6 Dan Callaghan 2014-02-24 22:19:12 UTC
*** Bug 1069265 has been marked as a duplicate of this bug. ***

Comment 7 Nick Coghlan 2014-03-03 01:34:14 UTC
This was fixed with the release of beah 0.7.3