This is mostly aimed at Amit (since he's been looking into this lately), but I've been pondering exactly what is needed from an environmental point of view to enable testing of IPv6-only systems directly within Beaker.
My current understanding of the supporting config Beaker needs to support this is below, so my general questions are: a) did I miss anything?; and b) is anything I have listed wrong?
* Main beaker server
- needs both A and AAAA records assigned in DNS - needs to serve the task library yum repo over both IPv4 and IPv6
* Lab controllers
- need both A and AAAA records assigned in DNS - beaker-proxy needs to listen on both IPv4 and IPv6 (implemented in 0.14.4) - TFTP server needs to be serving over both IPv4 and IPv6
* NTP servers
- need to be accessible over both IPv4 and IPv6
* Test systems
- need both A and AAAA records to be assigned by DHCP - need to be given both IPv4 and IPv6 addresses for the NTP servers
As far as I am aware, we don't do "push" communications from the LC or the main server to the test systems, so we don't care if the test system only has IPv4 or IPv6 enabled.
With this model, the following test scenarios should all be possible directly within Beaker rather than requiring external resources:
* IPv4 only
- system is provisioned with an IPv4 only OS, or explicitly has IPv6 support turned off - connects to LC, NTP and main server over IPv4 - users must ssh in over IPv4
* IPv6 only
- system explicitly has IPv6 support turned off - connects to LC, NTP and main server over IPv6 - users must ssh in over IPv6 - implicitly tests IPv6 only client -> IPv4 or IPv6 server handling - to test interaction with IPv6 only server, use a multi-host test
* IPv4 or IPv6
- system has both IPv4 and IPv6 support enabled - connects to LC, NTP and main server over IPv4 or IPv6 (OS/client app dependent) - users can ssh in over either IPv4 or IPv6 (OS/client app dependent) - implicitly tests IPv4 or IPv6 client -> IPv4 or IPv6 server handling - to test interaction with IPv4 only server, use a multi-host test - to test interaction with IPv6 only server, use a multi-host test
Cheers, Nick.
Hi Nick,
My comments inline and accurate to the best of what I have learned so far.
----- Original Message -----
From: "Nick Coghlan" ncoghlan@redhat.com To: "beaker-devel" beaker-devel@lists.fedorahosted.org Sent: Monday, November 25, 2013 4:15:45 PM Subject: [Beaker-devel] Questions regarding DHCP/DNS requirements for IPv6 support
This is mostly aimed at Amit (since he's been looking into this lately), but I've been pondering exactly what is needed from an environmental point of view to enable testing of IPv6-only systems directly within Beaker.
My current understanding of the supporting config Beaker needs to support this is below, so my general questions are: a) did I miss anything?; and b) is anything I have listed wrong?
- Main beaker server
- needs both A and AAAA records assigned in DNS
- needs to serve the task library yum repo over both IPv4 and IPv6
I believe httpd will need to be configured to listen on all interfaces (IPv4 and IPv6).
- Lab controllers
- need both A and AAAA records assigned in DNS
- beaker-proxy needs to listen on both IPv4 and IPv6 (implemented in 0.14.4)
- TFTP server needs to be serving over both IPv4 and IPv6
- NTP servers
- need to be accessible over both IPv4 and IPv6
- Test systems
- need both A and AAAA records to be assigned by DHCP
- need to be given both IPv4 and IPv6 addresses for the NTP servers
As far as I am aware, we don't do "push" communications from the LC or the main server to the test systems, so we don't care if the test system only has IPv4 or IPv6 enabled.
With this model, the following test scenarios should all be possible directly within Beaker rather than requiring external resources:
I am not clear what you mean by "external resources" here.
- IPv4 only
- system is provisioned with an IPv4 only OS, or explicitly has IPv6
support turned off
- connects to LC, NTP and main server over IPv4
- users must ssh in over IPv4
The current use case, although IPv6 is not explicitly turned off.
- IPv6 only
- system explicitly has IPv6 support turned off
- connects to LC, NTP and main server over IPv6
- users must ssh in over IPv6
- implicitly tests IPv6 only client -> IPv4 or IPv6 server handling
- to test interaction with IPv6 only server, use a multi-host test
Something we want to do. Right now, what I have working is beah listening only on IPv6 sockets, but the system is essentially communicating with LC and the server using IPv4. Things are working as expected.
What is not working yet is being able to communicate with the LC after disabling IPv4. This is the part I am focussing on now. I believe things are going to be tricky because:
When beah-srv starts, it establishes communication with the LC using IPv4 address. Now, once IPv4 is disabled, how does it handle that? I have to see that once we have the Lab controller IPv6 DNS entries sorted and the beaker-proxy patch is deployed.
Obviously, I haven't experimented with disabling IPv4 on the test system post install, but I will keep that as the next experiment. This will tell us whether simply having a IPv6 address for the beaker server and a correctly registered DNS entry will suffice.
- IPv4 or IPv6
- system has both IPv4 and IPv6 support enabled
This is the state now.
- connects to LC, NTP and main server over IPv4 or IPv6 (OS/client app
dependent)
I have seen a command line utlity (wget, I think) allows you to specify a preferred address family, but I doubt Twisted allows that.
- users can ssh in over either IPv4 or IPv6 (OS/client app dependent)
Possible right now.
- implicitly tests IPv4 or IPv6 client -> IPv4 or IPv6 server handling
- to test interaction with IPv4 only server, use a multi-host test
- to test interaction with IPv6 only server, use a multi-host test
I am not sure about these three.
Best, Amit.
On 11/25/2013 05:23 PM, Amit Saha wrote:
With this model, the following test scenarios should all be possible directly within Beaker rather than requiring external resources:
I am not clear what you mean by "external resources" here.
At the moment you can set up IPv6 only hosts and clients outside Beaker, and then use Beaker to drive the test execution. It's similar to what users can currently do if they want to test a client against another distro or OS that Beaker doesn't know how to provision - set up an external server, and provide the connection details as parameters to the client task.
It's a bit tedious and has the usual problems of cross-test interference and configuration management for the external systems (which is why we eventually want to get to native support in both cases, via this investigation for IPv6, via OpenStack for other distros and OSes), but it *does* work.
Cheers, Nick.
----- Original Message -----
From: "Nick Coghlan" ncoghlan@redhat.com To: "beaker-devel" beaker-devel@lists.fedorahosted.org Sent: Monday, November 25, 2013 4:15:45 PM Subject: [Beaker-devel] Questions regarding DHCP/DNS requirements for IPv6 support
This is mostly aimed at Amit (since he's been looking into this lately), but I've been pondering exactly what is needed from an environmental point of view to enable testing of IPv6-only systems directly within Beaker.
My current understanding of the supporting config Beaker needs to support this is below, so my general questions are: a) did I miss anything?; and b) is anything I have listed wrong?
- Main beaker server
- needs both A and AAAA records assigned in DNS
- needs to serve the task library yum repo over both IPv4 and IPv6
- Lab controllers
- need both A and AAAA records assigned in DNS
- beaker-proxy needs to listen on both IPv4 and IPv6 (implemented in 0.14.4)
- TFTP server needs to be serving over both IPv4 and IPv6
In beaker-provision we would also need to change how we write out our PXE config file. We only support IPv4 at the moment. I'm guessing it is more or less as simple as s/socket.gethostbyname/socket.getaddrinfo/.
- NTP servers
- need to be accessible over both IPv4 and IPv6
- Test systems
- need both A and AAAA records to be assigned by DHCP
- need to be given both IPv4 and IPv6 addresses for the NTP servers
As far as I am aware, we don't do "push" communications from the LC or the main server to the test systems, so we don't care if the test system only has IPv4 or IPv6 enabled.
With this model, the following test scenarios should all be possible directly within Beaker rather than requiring external resources:
- IPv4 only
- system is provisioned with an IPv4 only OS, or explicitly has IPv6
support turned off
- connects to LC, NTP and main server over IPv4
- users must ssh in over IPv4
- IPv6 only
- system explicitly has IPv6 support turned off
- connects to LC, NTP and main server over IPv6
- users must ssh in over IPv6
- implicitly tests IPv6 only client -> IPv4 or IPv6 server handling
- to test interaction with IPv6 only server, use a multi-host test
- IPv4 or IPv6
- system has both IPv4 and IPv6 support enabled
- connects to LC, NTP and main server over IPv4 or IPv6 (OS/client app
dependent)
- users can ssh in over either IPv4 or IPv6 (OS/client app dependent)
- implicitly tests IPv4 or IPv6 client -> IPv4 or IPv6 server handling
- to test interaction with IPv4 only server, use a multi-host test
- to test interaction with IPv6 only server, use a multi-host test
Cheers, Nick.
-- Nick Coghlan Red Hat Hosted & Shared Services Software Engineering & Development, Brisbane
Testing Solutions Team Lead Beaker Development Lead (http://beaker-project.org/) _______________________________________________ Beaker-devel mailing list Beaker-devel@lists.fedorahosted.org https://lists.fedorahosted.org/mailman/listinfo/beaker-devel
Excerpts from Raymond Mancy's message of 2013-11-27 11:16:15 +1000:
----- Original Message -----
From: "Nick Coghlan" ncoghlan@redhat.com To: "beaker-devel" beaker-devel@lists.fedorahosted.org Sent: Monday, November 25, 2013 4:15:45 PM Subject: [Beaker-devel] Questions regarding DHCP/DNS requirements for IPv6 support
This is mostly aimed at Amit (since he's been looking into this lately), but I've been pondering exactly what is needed from an environmental point of view to enable testing of IPv6-only systems directly within Beaker.
My current understanding of the supporting config Beaker needs to support this is below, so my general questions are: a) did I miss anything?; and b) is anything I have listed wrong?
- Main beaker server
- needs both A and AAAA records assigned in DNS
- needs to serve the task library yum repo over both IPv4 and IPv6
- Lab controllers
- need both A and AAAA records assigned in DNS
- beaker-proxy needs to listen on both IPv4 and IPv6 (implemented in 0.14.4)
- TFTP server needs to be serving over both IPv4 and IPv6
In beaker-provision we would also need to change how we write out our PXE config file. We only support IPv4 at the moment. I'm guessing it is more or less as simple as s/socket.gethostbyname/socket.getaddrinfo/.
This is an interesting point. I think that the current pressure to support IPv6-only is just about the *harness* running with IPv4 turned off -- I don't think it matters that the system was first installed over IPv4. Mainly because PXE (the Intel firmware/protocol) is IPv4-only anyway.
UEFI network booting apparently supports IPv6 though, somehow or other (I noticed my new laptop offers it). So Beaker may need to support it in future. But it's a completely separate issue to the harness talking over IPv6.
----- Original Message -----
From: "Dan Callaghan" dcallagh@redhat.com To: "beaker-devel" beaker-devel@lists.fedorahosted.org Sent: Wednesday, November 27, 2013 11:27:33 AM Subject: Re: [Beaker-devel] Questions regarding DHCP/DNS requirements for IPv6 support
Excerpts from Raymond Mancy's message of 2013-11-27 11:16:15 +1000:
----- Original Message -----
From: "Nick Coghlan" ncoghlan@redhat.com To: "beaker-devel" beaker-devel@lists.fedorahosted.org Sent: Monday, November 25, 2013 4:15:45 PM Subject: [Beaker-devel] Questions regarding DHCP/DNS requirements for IPv6 support
This is mostly aimed at Amit (since he's been looking into this lately), but I've been pondering exactly what is needed from an environmental point of view to enable testing of IPv6-only systems directly within Beaker.
My current understanding of the supporting config Beaker needs to support this is below, so my general questions are: a) did I miss anything?; and b) is anything I have listed wrong?
- Main beaker server
- needs both A and AAAA records assigned in DNS
- needs to serve the task library yum repo over both IPv4 and IPv6
- Lab controllers
- need both A and AAAA records assigned in DNS
- beaker-proxy needs to listen on both IPv4 and IPv6 (implemented in
0.14.4)
- TFTP server needs to be serving over both IPv4 and IPv6
In beaker-provision we would also need to change how we write out our PXE config file. We only support IPv4 at the moment. I'm guessing it is more or less as simple as s/socket.gethostbyname/socket.getaddrinfo/.
This is an interesting point. I think that the current pressure to support IPv6-only is just about the *harness* running with IPv4 turned off -- I don't think it matters that the system was first installed over IPv4. Mainly because PXE (the Intel firmware/protocol) is IPv4-only anyway.
My mistake, I assumeed by the comment 'IPv6-only systems' that the system would never have IPv4 available to it (ever!).
UEFI network booting apparently supports IPv6 though, somehow or other (I noticed my new laptop offers it). So Beaker may need to support it in future. But it's a completely separate issue to the harness talking over IPv6.
-- Dan Callaghan dcallagh@redhat.com Software Engineer, Hosted & Shared Services Red Hat, Inc.
Beaker-devel mailing list Beaker-devel@lists.fedorahosted.org https://lists.fedorahosted.org/mailman/listinfo/beaker-devel
beaker-devel@lists.fedorahosted.org