-
Notifications
You must be signed in to change notification settings - Fork 686
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
[v1.14] Add more tests for TCPMappings #4477
Conversation
These two bumps are required for pytest to work with Python 3.10. This doesn't matter for builds, or for in CI, but this does matter for developers whose system Python is up-to-date. Since Emissary 1.14 is in maintenance mode, I did the smallest upgrades possible to get things working. For typed-ast, that means including python/typed_ast#158, which was first included in 1.4.3. For pytest, that means 6.2.5, since that's when the changelog mentions "Python 3.10 is now supported." https://docs.pytest.org/en/stable/changelog.html#pytest-6-2-5-2021-08-29 Signed-off-by: Luke Shumaker <[email protected]>
48213ab
to
2835001
Compare
Signed-off-by: Luke Shumaker <[email protected]> (cherry picked from commit fc40a4d)
Signed-off-by: Luke Shumaker <[email protected]> (cherry picked from commit 03be3e9)
178450b
to
ee072c9
Compare
Signed-off-by: Luke Shumaker <[email protected]> (cherry picked from commit e3af51a) This cherry pick is needed because several of the certs are now expired; I don't care about the SAN, I care about the timestamps. I also had to touch up t_tls.py, since it's checking for some details of the certs, and those details changed. I didn't have to do that in the original commit because I guess those tests had been marked as xfail. Yikes! Signed-off-by: Luke Shumaker <[email protected]>
Signed-off-by: Luke Shumaker <[email protected]>
ee072c9
to
02a69a9
Compare
@LukeShu - General question on the Gold Tests...I thought we dropped those in v3, correct? What was the reason for dropping these? Did we not feel they were beneficial, duplicates of other tests, or some other reason? I see these are still available in v2 so we at least kept them around for that. |
The annotation fixes in 2.1.2 (#4016) willfully broke our ability to run the gold tests; as the mechanisms it uses to run those tests need substantially reworked to work with the fixes. That said, in the months since then, I have come to believe that we don't get value from the gold tests. The gold tests were an hacky optimization; avoiding CI-billing, dev-wait-time, and CI-flakes associated with running the full
That said, I never managed to convince @kflynn that the gold tests aren't worth bringing back; so the scripts related to them haven't been deleted. Flynn, would you care to weigh in on why you believe that the gold tests are worth bringing back?
No? The gold directory does not exist in |
I've filed #4515 |
do any fixes from #4493 need to be ported over? |
Description
The goal of this PR is to have a baseline set of tests for "this is how TCPMappings worked in 1.14". It is not quite as complete as I would like it to be; see the "TODO" comments at the bottom of
t_tcpmapping.py
.Also included are a number of backports from v2.x; some to make my test-writing experience better, some to help avoid pointless conflicts when repatriating this in to v2.4.
The
KAT_RUN_MODE=envoy
tests are failing in CI (err, raises the flake rate to unbearable levels--I can't believe only one job failed this last time; I've never seen any of the envoy jobs pass until now), because apparently this small handful of tests pushes it over what will fit on a CircleCIxlarge
runner, and we'd have to upgrade our plan to unlock2xlarge
runners (even though2xlarge
runners are already twice the price-per-minute, you have to pay CircleCI more money for the privilege of paying them different more money). So I guess this PR doesn't get to land, and instead just gets to serve as the starting point for #4493. Still, I wouldn't close this PR as long as v1.14 is a supported version.Related Issues
Testing
I've verified that the tests work with
KAT_RUN_MODE=envoy
.Checklist
I made sure to update
CHANGELOG.md
. - no applicable changesRemember, the CHANGELOG needs to mention:
This is unlikely to impact how Ambassador performs at scale. - not a runtime change
Remember, things that might have an impact at scale include:
My change is adequately tested. - that's all this is
Remember when considering testing:
I updated
DEVELOPING.md
with any any special dev tricks I had to use to work on this code efficiently.The changes in this PR have been reviewed for security concerns and adherence to security best practices.