Bug 1062896
Summary: | harness doesn't work if ipv6 is not available | ||
---|---|---|---|
Product: | [Retired] Beaker | Reporter: | Jan Stancek <jstancek> |
Component: | beah | Assignee: | Dan Callaghan <dcallagh> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | tools-bugs <tools-bugs> |
Severity: | high | Docs Contact: | |
Priority: | high | ||
Version: | 0.15 | CC: | aigao, asaha, bpeck, dcallagh, dspurek, jburke, ksrot, llim, pbunyan, qwan, rmancy, xjia |
Target Milestone: | 0.15.4 | Keywords: | Regression |
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2014-02-18 01:36:28 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: | |
Embargoed: |
Description
Jan Stancek
2014-02-08 11:40:22 UTC
During testing, we didn't test this use case. The culprit is this line: # can we connect? s = socket.socket(socket.AF_INET6) (in beah/backends/beakerlc.py: has_ipv6()) I think this can just be moved in the ensuing try..except block: diff --git a/beah/backends/beakerlc.py b/beah/backends/beakerlc.py index 0bb6a6c..84ab668 100644 --- a/beah/backends/beakerlc.py +++ b/beah/backends/beakerlc.py @@ -1874,8 +1874,8 @@ def has_ipv6(url): return None # can we connect? - s = socket.socket(socket.AF_INET6) try: + s = socket.socket(socket.AF_INET6) s.connect((lc_ipv6, url.port)) except (socket.gaierror, socket.error): log.exception('Failed to connect to LC over IPv6.') (In reply to Amit Saha from comment #3) > During testing, we didn't test this use case. Is there some ks_meta or other option to force harness to use IPv4? I used it only to try work around Bug 1062867. (In reply to Jan Stancek from comment #4) > (In reply to Amit Saha from comment #3) > > During testing, we didn't test this use case. > > Is there some ks_meta or other option to force harness to use IPv4? I used > it only to try work around Bug 1062867. If you mean that it should use IPv4 even when IPv6 communication is possible locally as well as with the LC? No, it's not supported. BZ#1062867 looks interesting, we will have to look into it further. In addition to attempting to fix this directly, we will also add the ability to opt in to using older versions of the harness (see #1063090) *** Bug 1063945 has been marked as a duplicate of this bug. *** This bug fix is included in beah 0.7.2 which is available from the harness-testing yum repos: http://beaker-project.org/yum/harness-testing/ (In reply to Karel Srot from comment #13) > Is the harness able to deal with a situation when the ipv6 is disabled > during the test run? No, this case is still broken. The reason is that at the start of the task IPv6 is working, so the harness exports RESULT_SERVER=[::1]:7090 which is the address which the rhts-* commands (such as rhts-report-result) use to talk back to the harness. But once IPv6 is disabled that address is no longer reachable so the task gets stuck trying to report a result, and eventually just times out. I see. At how many places of the code this is actually required? I am thinking how difficult would be to add some IPv4 fallback in that case. Karel, please see bug 1065811 for the remaining issues with IPv6 being disabled at runtime. I think the only practical solution for beah is an option to force it to use IPv4 only. Beah 0.7.2 has been released. |