Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[UNDERTOW-1759][UNDERTOW-1523] Initial GitHub actions test matrix #912

Merged
merged 10 commits into from
Jul 29, 2020

Conversation

luck3y
Copy link
Contributor

@luck3y luck3y commented Jul 28, 2020

This builds on top of Stuart's initial version, but splits the tests to use a matrix and test each module in parallel.

Should also address: #901

Jiras: https://issues.redhat.com/browse/UNDERTOW-1759 and https://issues.redhat.com/browse/UNDERTOW-1523

@luck3y
Copy link
Contributor Author

luck3y commented Jul 28, 2020

FYI, there are likely too many combinations here, but having some extra ones is useful for looking at some of the failures, for example the JDK 11 Linux ipv6 tests pass, while the equivalent ipv4 ones do not. Once the suite is stabilized, I think we could eliminate some combinations.

@undertow-pull-request
Copy link

Hello, luck3y. I'm waiting for one of the admins to verify this patch with /ok-to-test in a comment.

@luck3y
Copy link
Contributor Author

luck3y commented Jul 28, 2020

There are a couple of notable things, including the GHA hosts files being filled with malicious domains mapped back to localhost, which causes some of the failures. (The test setup overwites /etc/hosts to address this.)

There are still common failures that do appear to consistently occur (I think there are tickets open for most of those already.)

See here for example: https://github.com/luck3y/undertow/pull/2/checks

@luck3y
Copy link
Contributor Author

luck3y commented Jul 28, 2020

One other observation. These hosts all have:

`docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
ether 02:42:3f:4e:17:df txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.1.0.4 netmask 255.255.0.0 broadcast 10.1.255.255
inet6 fe80::20d:3aff:fe9a:96d3 prefixlen 64 scopeid 0x20
ether 00:0d:3a:9a:96:d3 txqueuelen 1000 (Ethernet)
RX packets 158412 bytes 224141913 (224.1 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 7482 bytes 876141 (876.1 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 493 bytes 52460 (52.4 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 493 bytes 52460 (52.4 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0`

but lookups for the hostname show two answers:

`; <<>> DiG 9.11.3-1ubuntu1.12-Ubuntu <<>> fv-az55
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17373
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;fv-az55. IN A

;; ANSWER SECTION:
fv-az55. 0 IN A 10.1.0.4
fv-az55. 0 IN A 172.17.0.1
`
I'm not sure if a hostname other than localhost is used for anything, but the eth0 one looks likely to be the one that should be used in the case it was looked up. This could also explain why tests failing on ipv4 then pass on ipv6.

@stuartwdouglas
Copy link
Contributor

1609b26 should fix the HTTP continue test failure

@stuartwdouglas
Copy link
Contributor

@fl4via I think we should merge this, it will make it a lot easier to stabilise the test suite.

@luck3y
Copy link
Contributor Author

luck3y commented Jul 28, 2020

FYI, if / when this gets merged, I"ll pause the pull-player.

@stuartwdouglas
Copy link
Contributor

I have done some more work on this today, both in fixing flakey tests and I also expanded the matrix somewhat: https://github.com/stuartwdouglas/undertow/actions/runs/186634583

Instead of -Pproxy it now runs each protocol as a seperate matrix param. I think this is overkill long term, but I think for now it will help give insight into exactly what is failing.

@fl4via
Copy link
Member

fl4via commented Jul 29, 2020

@luck3y and @stuartwdouglas thanks, I'm reviewing everything, and working on merging it

@fl4via fl4via added enhancement Enhances existing behaviour or code under verification Currently being verified (running tests, reviewing) before posting a review to contributor labels Jul 29, 2020
@fl4via fl4via changed the title Initial GitHub actions test matrix [UNDERTOW-1759] Initial GitHub actions test matrix Jul 29, 2020
@fl4via
Copy link
Member

fl4via commented Jul 29, 2020

I'll be updating the commit messages to include corresponding Jiras, I'll add a message here when all this is done. I'll also include recent fixes from @stuartwdouglas

@luck3y
Copy link
Contributor Author

luck3y commented Jul 29, 2020

Thanks @fl4via

FYI @stuartwdouglas I just noticed https://github.com/stuartwdouglas/undertow/runs/922224215?check_suite_focus=true#step:10:660 in your branch, likely we'll need to update the pam limits as well as fsmax. Maybe that will help with some of the other issues too.

@luck3y
Copy link
Contributor Author

luck3y commented Jul 29, 2020 via email

@luck3y
Copy link
Contributor Author

luck3y commented Jul 29, 2020 via email

@fl4via fl4via added next release This PR will be merged before next release or has already been merged (for payload double check) and removed under verification Currently being verified (running tests, reviewing) before posting a review to contributor labels Jul 29, 2020
@fl4via
Copy link
Member

fl4via commented Jul 29, 2020

@luck3y this PR is ready to be merged. Since I edited it, adding Jiras, etc, could you please do a review before I merge it? Any future work can be continued in a new, separate PR.

@fl4via fl4via changed the title [UNDERTOW-1759] Initial GitHub actions test matrix [UNDERTOW-1759][UNDERTOW-1523] Initial GitHub actions test matrix Jul 29, 2020
@luck3y
Copy link
Contributor Author

luck3y commented Jul 29, 2020

@fl4via LGTM, thanks. This will get us up and running on github, so +1 from me.

@fl4via fl4via merged commit c93a88d into undertow-io:master Jul 29, 2020
@luck3y
Copy link
Contributor Author

luck3y commented Jul 29, 2020

FYI, I've paused the undertow TeamCity / pull-player integration now. The jobs are all still there, and they can be re-enabled at any point.

@fl4via fl4via removed the next release This PR will be merged before next release or has already been merged (for payload double check) label Sep 11, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Enhances existing behaviour or code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants