Description of problem: I can't return reserved machine if ipv4 address isn't up. Steps to Reproduce: 1. reserve machine 2. remove ipv4 address 3. return2beaker Actual results: Unable to connect to server, sleeping 5 seconds... Unable to connect to server, sleeping 5 seconds... Unable to connect to server, sleeping 5 seconds... Unable to connect to server, sleeping 5 seconds... Unable to connect to server, sleeping 5 seconds... Unable to connect to server, sleeping 5 seconds... Expected results: machines returns to beaker just fine Additional info: I need to make sure IPv6 codepaths work in various components. Because beaker doesn't support direct provisioning, I want to provision machines as usual (with dualstack),cripple IPv4 and then run the actual tests. All automated.
And reporting results back to beaker doesn't work either. If I cut ipv4 the job gets eventually killed by external watchdog.
I can see one major issue right away in beah where we reference 127.0.0.1 instead of localhost. - self.env['RESULT_SERVER'] = "%s:%s%s" % ("127.0.0.1", port, "") + self.env['RESULT_SERVER'] = "%s:%s%s" % ("localhost", port, "") Testing this now.
Can you give me the steps you used to remove ipv4?
on my system it shows: 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 Which seems right to me. I can't imagine how we would do it otherwise.
(In reply to comment #2) > Testing this now. Bill, how did the test go? Do you need me to provide additional info or help with testing? Just let me know. Thanks
I was not able to make any more progress on this. I started doing additional research on twisted.reactor which is used to receive the xmlrpc calls from return2rhts and all the rhts coomands and it doesn't support IPV6. See the following: http://twistedmatrix.com/trac/ticket/3014 http://stackoverflow.com/questions/6217312/is-it-possible-to-use-twisted-with-ipv6 The only option would be to use a different harness than beah.
Bulk reassignment of issues as Bill has moved to another team.
ncoghlan: we still have the problem of Twisted's IPv6 support be somewhat sketchy, and the beah test harness relies on Twisted, so we can't promise too much on this front. Twisted isn't a dependency we'll upgrade lightly, and even the latest version doesn't have full IPv6 support. Bumping out of 0.11.
Note that the autotest team are working on integration with Beaker's stable harness API, which may provide an alternative avenue for pure IPv6 testing: http://beaker-project.org/dev/tech-roadmap.html#autotest-support
BaseOS QE Team is still partially blocked in IPv6 userspace testing in Beaker due to this bug. Could you recommend some solution until the issues is fully fixed? Workaround described by Jan in comment 8 is not reliable.
Unfortunately, the old version of Twisted in RHEL6 is still a problem when it comes to getting beah to handle this, and we're not keen to further increase beah's footprint on the system by installing a parallel version. Bill, is the autotest alternative harness mature enough to potentially be used for IPv6 only testing? (or would Don be in a better position to answer that?)
Hi Nick, Unfortunately, no. The autotest work I have done still needs to have its tires kicked and various small pieces that fall out, cleaned up. :-( Cheers, Don
Is there some alternative for RHEL7? That would be sufficient I believe.
Something that may be worth trying is creating an "opt-beah" alternative harness that installs and runs a Python virtualenv from /opt (so still using the system Python, but not any other system packages). Then we can experiment with getting IPv6 support working there, without risking the stability of mainline beah in the meantime.
I suggest we go ahead with the idea of creating a "beah-ipv6" harness to see if we can get this working. While this will happen in the 0.16 timeframe, it should be made available for testing prior to that (since a new test harness can be published without upgrading Beaker) Suggested approach is to create a "beah-ipv6" RPM that installs an /opt/beah-ipv6 directory containing the latest Twisted release and a potentially modified version of beah (and possibly upgraded versions of other dependencies).
Just a note that while we're working on further decoupling beah's release cycle to make it easier to work on a beah-ipv6 variant, Don and Bill are making progress on using autotest and restraint to run Beaker tasks. I'm not sure about their multihost testing support, though. Restraint (aka "simple harness"): https://github.com/p3ck/restraint Current state of the autotest integration: https://lists.fedorahosted.org/pipermail/beaker-devel/2013-November/000843.html
(In reply to Nick Coghlan from comment #22) > Restraint (aka "simple harness"): https://github.com/p3ck/restraint Can I use it already to test for compatibility with our existing tests? How?
(In reply to Ales Zelinka from comment #24) > (In reply to Nick Coghlan from comment #22) > > Restraint (aka "simple harness"): https://github.com/p3ck/restraint > > Can I use it already to test for compatibility with our existing tests? How? Soon, very very soon. I'll send you an email in a few days with a pointer.
(In reply to Bill Peck from comment #25) > > Can I use it already to test for compatibility with our existing tests? How? > > Soon, very very soon. I'll send you an email in a few days with a pointer. Any updates Bill?
Hi Ben, The Thanksgiving holiday slowed me down. I'll post what I have at the end of Today. Right now I can run most of KernelTier1 testing. Here is what doesn't work: - It doesn't parse guest recipes right now. - It doesn't check for avc denials. The avc denials I'm planning to solve with a plugin architecture. This is what I'm working on right now. I've also broken some of our unit tests when moving things from for(;;) loops to event based model. At a minimum I'll point to the pre-compiled binaries I have and the git code.
Patch on Gerrit: http://gerrit.beaker-project.org/#/c/2694/1
Just to make the scope of this bug explicit: Mandatory: reporting results and return2beaker must work for single host testing with IPv4 support on the test system disabled Mandatory: multihost IPv4 only and IPv4/IPv6 dual stack testing using hostnames (resolving to IPv4 addresses) still works Desirable: multihost IPv6 only and IPv4/IPv6 dual stack testing using host IPv6 addresses also works However, if we get to a point where single host testing is working on IPv6 only systems, but multihost testing is not, then we will still close this bug and release a new version of the default harness, and clone it to a new bug to track getting the IPv6 based multihost testing working reliably. (We may still decide to do the latter regardless, just to track the *testing* for that separately, since it's significantly more complicated than the singlehost testing)
This change was included in the beah 0.7.0-1 release and can now be deployed via a harness repo update. http://beah.readthedocs.org/en/latest/releases.html#beah-0-7-0