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

Backport of ci: fix test splits that have less test packages than runner count from hanging into release/1.15.x #17085

Merged
merged 332 commits into from
Apr 21, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
332 commits
Select commit Hold shift + click to select a range
ec593c2
cli: remove stray whitespace when loading the consul version from the…
rboyer Feb 28, 2023
23e247d
Docs/services refactor docs day 122022 (#16103)
trujillo-adam Feb 28, 2023
be800f0
docs: clarify license expiration upgrade behavior (#16464)
skpratt Feb 28, 2023
4f2d9a9
add provider ca auth-method support for azure
eikenb Mar 1, 2023
1f422f3
Changed titles for services pages to sentence style cap (#16477)
trujillo-adam Mar 1, 2023
66de1de
docs: Consul 1.15.0 and Consul K8s 1.0 release notes (#16481)
Mar 1, 2023
3970115
fix (cli): return error msg if acl policy not found (#16485)
huikang Mar 1, 2023
5ac1bdd
update services nav titles (#16484)
trujillo-adam Mar 1, 2023
4f8594b
Improve ux to help users avoid overwriting fields of ACL tokens, role…
roncodingenthusiast Mar 1, 2023
367a64f
NET-2292: port ingress-gateway test case "http" from BATS addendum (#…
nfi-hashicorp Mar 1, 2023
21c3095
docs: Update release notes with Envoy compat issue (#16494)
Mar 1, 2023
b177dc4
Suppress AlreadyRegisteredError to fix test retries (#16501)
Mar 2, 2023
321439f
Speed up test by registering services concurrently (#16509)
Mar 2, 2023
4211069
add provider ca support for jwt file base auth
eikenb Mar 2, 2023
bbbdc5f
docs(architecture): remove merge conflict leftovers (#16507)
karras Mar 2, 2023
e8eec1f
add provider ca auth support for kubernetes
eikenb Mar 2, 2023
2b6d35f
Merge pull request #4538 from hashicorp/NET-2396 (#16516)
NiniOak Mar 2, 2023
358c35e
Merge pull request #4584 from hashicorp/refactor_cluster_config (#16517)
NiniOak Mar 2, 2023
4b661d1
Add ServiceResolver RequestTimeout for route timeouts to make Termina…
Mar 3, 2023
5deffbd
Fix issue where terminating gateway service resolvers weren't properl…
Mar 3, 2023
5f81662
Add support for failover policies (#16505)
erichaberkorn Mar 3, 2023
c517f07
modified unsupported envoy version error (#16518)
wilkermichael Mar 3, 2023
84156af
Remove private prefix from proto-gen-rpc-glue e2e test (#16433)
mkeeler Mar 3, 2023
cc0765b
Fix resolution of service resolvers with subsets for external upstrea…
Mar 3, 2023
43bd351
fixed broken links associated with cluster peering updates (#16523)
trujillo-adam Mar 3, 2023
56ffee6
add provider ca support for approle auth-method
eikenb Mar 3, 2023
8910002
update connect/ca's vault AuthMethod conf section (#16346)
eikenb Mar 3, 2023
9a485cd
proxycfg: ensure that an irrecoverable error in proxycfg closes the x…
rboyer Mar 3, 2023
129eca8
NET-2903 Normalize weight for http routes (#16512)
missylbytes Mar 3, 2023
897e5ef
Add some basic UI improvements for api-gateway services (#16508)
Mar 3, 2023
9e93a30
fixes empty link in DNS usage page (#16534)
trujillo-adam Mar 3, 2023
fc23232
NET-2904 Fixes API Gateway Route Service Weight Division Error
missylbytes Mar 6, 2023
bf501a3
Improve ux around ACL token to help users avoid overwriting node/serv…
roncodingenthusiast Mar 6, 2023
8daddff
Follow-up fixes to consul connect envoy command (#16530)
Mar 6, 2023
9d8e00d
Merge pull request #4573 from hashicorp/NET-2841 (#16544)
NiniOak Mar 6, 2023
94ecb9c
upgrade test: discovery chain across partition (#16543)
huikang Mar 6, 2023
6166889
Update the consul-k8s cli docs for the new `proxy log` subcommand (#1…
jm96441n Mar 6, 2023
7ea2bd6
Delete test-link-rewrites.yml (#16546)
ashleemboyer Mar 6, 2023
63204b5
feat: update notification to use hds toast component (#16519)
valeriia-ruban Mar 6, 2023
f135b14
Fix flakey tests related to ACL token updates (#16545)
roncodingenthusiast Mar 6, 2023
f5641ff
support vault auth config for alicloud ca provider
eikenb Mar 7, 2023
a5b8256
Update docs to reflect functionality (#16549)
im2nguyen Mar 7, 2023
b649a5e
upgrade test: use retry with ModifyIndex and remove ent test file (#1…
huikang Mar 7, 2023
dbaf8bf
add agent locality and replicate it across peer streams (#16522)
erichaberkorn Mar 7, 2023
58016d1
docs: Document config entry permissions (#16556)
Mar 7, 2023
3d75ab8
Broken link fixes (#16566)
eddie-rowe Mar 7, 2023
280bdd3
NET-2954: Improve integration tests CI execution time (#16565)
NiniOak Mar 8, 2023
89de91b
fix bug that can lead to peering service deletes impacting the state …
erichaberkorn Mar 8, 2023
e5c2818
Update changelog with patch releases (#16576)
analogue Mar 8, 2023
9a5cb20
Bump submodules from latest 1.15.1 patch release (#16578)
analogue Mar 8, 2023
e2c4a78
website: adds content-check command and README update (#16579)
Mar 8, 2023
47db3d7
added a backport-checker GitHub action (#16567)
wilkermichael Mar 9, 2023
040647e
auto-updated agent/uiserver/dist/ from commit 63204b518 (#16587)
Mar 9, 2023
176945a
GRPC stub for the ResourceService (#16528)
analogue Mar 9, 2023
e6aeb31
UI: Fix htmlsafe errors throughout the app (#16574)
Mar 9, 2023
fa93a0d
Add namespace file with build tag for OSS gateway tests (#16590)
jm96441n Mar 9, 2023
40312ac
JIRA pr check: Filter out OSS/ENT merges (#16593)
Mar 9, 2023
57e2493
allow setting locality on services and nodes (#16581)
erichaberkorn Mar 10, 2023
e298f50
Add Peer Locality to Discovery Chains (#16588)
erichaberkorn Mar 10, 2023
5190269
fixes for unsupported partitions field in CRD metadata block (#16604)
trujillo-adam Mar 10, 2023
a01920b
Create a weekly 404 checker for all Consul docs content (#16603)
eddie-rowe Mar 10, 2023
726c97b
Consul WAN Fed with Vault Secrets Backend document updates (#16597)
natemollica-nm Mar 10, 2023
f95ffe0
Allow HCP metrics collection for Envoy proxies
Achooo Mar 10, 2023
7cb2af1
Add copywrite setup file (#16602)
roncodingenthusiast Mar 13, 2023
f2902e6
Add sameness-group configuration entry. (#16608)
hashi-derek Mar 13, 2023
d5677e5
Preserve CARoots when updating Vault CA configuration (#16592)
Mar 13, 2023
9d21736
Add UI copyright headers files (#16614)
roncodingenthusiast Mar 14, 2023
a915d0c
Docs discovery typo (#16628)
bdronneau Mar 14, 2023
8f75d99
Fix issue with trust bundle read ACL check. (#16630)
hashi-derek Mar 14, 2023
5a3fec6
Basic resource type registry (#16622)
analogue Mar 14, 2023
724b752
Backport ENT-4704 (#16612)
freddygv Mar 14, 2023
ad25ba3
feat: update typography to consume hds styles (#16577)
valeriia-ruban Mar 15, 2023
e557fb4
Add known issues to Raft WAL docs. (#16600)
banks Mar 15, 2023
48f0a28
Tune 404 checker to exclude false-positives and use intended file pat…
eddie-rowe Mar 15, 2023
ff5887a
Update e2e tests for namespaces (#16627)
jm96441n Mar 15, 2023
152c753
net 2731 ip config entry OSS version (#16642)
wangxinyi7 Mar 15, 2023
57e034b
fix confusing spiffe ids in golden tests (#16643)
erichaberkorn Mar 15, 2023
c26b6bc
First cluster grpc service should be NodePort for the second cluster …
vjwilson1987 Mar 16, 2023
197ed67
Add in query options for catalog service existing in a specific (#16652)
jm96441n Mar 16, 2023
b473151
fix: add AccessorID property to PUT token request (#16660)
valeriia-ruban Mar 17, 2023
eaa39f4
add sameness group support to service resolver failover and redirects…
erichaberkorn Mar 17, 2023
33a2058
Fix incorrect links on Envoy extensions documentation (#16666)
joatmon08 Mar 17, 2023
501b87f
[API Gateway] Fix invalid cluster causing gateway programming delay (…
Mar 17, 2023
22cf122
Bump tomhjp/gh-action-jira-search from 0.2.1 to 0.2.2 (#16667)
dependabot[bot] Mar 18, 2023
2ee3336
build(deps): bump atlassian/gajira-transition from 2.0.1 to 3.0.1 (#1…
dependabot[bot] Mar 18, 2023
b9d8552
Snapshot restore tests (#16647)
dhiaayachi Mar 18, 2023
7477f52
add sameness groups to discovery chains (#16671)
erichaberkorn Mar 20, 2023
9c64731
feat: add category annotation to RPC and gRPC methods (#16646)
JadhavPoonam Mar 20, 2023
0b4dc25
Update GH actions to create Jira issue automatically (#16656)
im2nguyen Mar 20, 2023
606f8fb
Adds check to verify that the API Gateway is being created with at le…
missylbytes Mar 20, 2023
1ef9f4d
Fix route subscription when using namespaces (#16677)
jm96441n Mar 20, 2023
b9bd2c3
peering: peering partition failover fixes (#16673)
ndhanushkodi Mar 20, 2023
b4598a7
fix jira sync actions, remove custom fields (#16686)
im2nguyen Mar 20, 2023
e39e7d1
Docs/update jira sync pr issue (#16688)
im2nguyen Mar 20, 2023
cb26004
Docs: Jira sync Update issuetype to bug (#16689)
im2nguyen Mar 20, 2023
46af09b
build(deps): bump tomhjp/gh-action-jira-create from 0.2.0 to 0.2.1 (#…
dependabot[bot] Mar 20, 2023
4f445a7
build(deps): bump tomhjp/gh-action-jira-comment from 0.1.0 to 0.2.0 (…
dependabot[bot] Mar 20, 2023
0fc8a3e
NET-2397: Add readme.md to upgrade test subdirectory (#16610)
NiniOak Mar 20, 2023
2f13f75
chore: replace hardcoded node name with a constant (#16692)
huikang Mar 20, 2023
c8d9cad
Fix broken links from api docs (#16695)
im2nguyen Mar 20, 2023
7eb3dcb
Update WAL Known issues (#16676)
banks Mar 20, 2023
d75f2ba
UI: update Ember to 3.28.6 (#16616)
valeriia-ruban Mar 20, 2023
1f4c590
Regen helm docs (#16701)
lkysow Mar 21, 2023
8dd1d73
Remove unused are hosts set check (#16691)
jm96441n Mar 21, 2023
eca8b02
[NET-3029] Migrate build-distros to GHA (#16669)
loshz Mar 21, 2023
93a3a76
Update envoy extension docs, service-defaults, add multi-config examp…
im2nguyen Mar 21, 2023
036ee56
fix build workflow (#16719)
loshz Mar 21, 2023
8f7e4d4
Helm docs without developer.hashicorp.com prefix (#16711)
lkysow Mar 21, 2023
769d950
add extra resiliency to snapshot restore test (#16712)
dhiaayachi Mar 21, 2023
7f6f689
fix: gracefully fail on invalid port number (#16721)
huikang Mar 22, 2023
e818fde
Copyright headers for config files git + circleci (#16703)
roncodingenthusiast Mar 22, 2023
3c5c53a
fix bug where pqs that failover to a cluster peer dont un-fail over (…
erichaberkorn Mar 22, 2023
495ad4c
add enterprise xds tests (#16738)
erichaberkorn Mar 22, 2023
3ba0eb5
delete config when nil (#16690)
dhiaayachi Mar 22, 2023
4845816
Changelog for audit logging fix. (#16700)
lkysow Mar 22, 2023
e3fd7d3
Use GH issues type for edu board (#16750)
im2nguyen Mar 23, 2023
3df2719
fix: remove unused tenancy category from rate limit spec (#16740)
JadhavPoonam Mar 23, 2023
d61f3da
Remove version bump from CRT workflow (#16728)
nathancoleman Mar 23, 2023
0b1dc4e
tests instantiating clients w/o shutting down (#16755)
eikenb Mar 24, 2023
a6831da
RELENG-471: Remove obsolete load-test workflow (#16737)
shore Mar 24, 2023
a168d0e
add failover policy to ProxyConfigEntry in api (#16759)
Mar 24, 2023
ce6e278
Fix broken links in Consul docs (#16640)
eddie-rowe Mar 24, 2023
2236975
Change partition for peers in discovery chain targets (#16769)
hashi-derek Mar 24, 2023
90bbae5
Docs/intentions refactor docs day 2022 (#16758)
trujillo-adam Mar 24, 2023
81df781
Add storage backend interface and in-memory implementation (#16538)
boxofrad Mar 27, 2023
d4603a4
Fix bug in changelog checker where bash variable is not quoted (#16681)
jm96441n Mar 27, 2023
3415689
Read(...) endpoint for the resource service (#16655)
analogue Mar 27, 2023
c085b1e
Fix Edu Jira automation (#16778)
im2nguyen Mar 27, 2023
351bdc3
Fix struct tags for TCPService enterprise meta (#16781)
jm96441n Mar 27, 2023
9217ac1
Expand route flattening test for multiple namespaces (#16745)
jm96441n Mar 27, 2023
032aba3
WatchList(..) endpoint for the resource service (#16726)
analogue Mar 27, 2023
42c5b29
Allocate virtual ip for resolver/router/splitter config entries (#16760)
kyhavlov Mar 27, 2023
10df4d8
add ip rate limiter controller OSS parts (#16790)
dhiaayachi Mar 27, 2023
440f112
Resource service List(..) endpoint (#16753)
analogue Mar 27, 2023
e5d58c5
changes to support new PQ enterprise fields (#16793)
wilkermichael Mar 27, 2023
12be12f
add scripts for testing locally consul-ui-toolkit (#16794)
valeriia-ruban Mar 28, 2023
c833464
Update normalization of route refs (#16789)
jm96441n Mar 28, 2023
94ec4eb
copyright headers for agent folder (#16704)
roncodingenthusiast Mar 28, 2023
4c070c3
Copyright headers for command folder (#16705)
roncodingenthusiast Mar 28, 2023
4b2137c
Add copyright headers for acl, api and bench folders (#16706)
roncodingenthusiast Mar 28, 2023
a3973a8
Github Actions Migration - move go-tests workflows to GHA (#16761)
jmurret Mar 28, 2023
b646746
Copyright headers for missing files/folders (#16708)
roncodingenthusiast Mar 28, 2023
3e69ff1
fix: export ReadWriteRatesConfig struct as it needs to referenced fro…
JadhavPoonam Mar 29, 2023
4c038df
docs: Updates to support HCP Consul cluster peering release (#16774)
boruszak Mar 29, 2023
32358dd
port ENT ingress gateway upgrade tests [NET-2294] [NET-2296] (#16804)
nfi-hashicorp Mar 29, 2023
39a0c4f
[COMPLIANCE] Add Copyright and License Headers (#16807)
hashicorp-copywrite[bot] Mar 29, 2023
0d1d2fc
add order by locality failover to Consul enterprise (#16791)
erichaberkorn Mar 30, 2023
aab9397
ci: changes resulting from running on consul-enterprise (#16816)
jmurret Mar 30, 2023
4ae5992
port ENT upgrade tests flattening (#16824)
nfi-hashicorp Mar 30, 2023
cc23b0e
docs: raise awareness of GH-16779 (#16823)
jkirschner-hashicorp Mar 30, 2023
99ba13b
updating command to reflect the additional package exclusions in Circ…
jmurret Mar 31, 2023
651549c
storage: fix resource leak in Watch (#16817)
boxofrad Mar 31, 2023
bf64a33
Remove UI brand-loader copyright headers as they do not render approp…
roncodingenthusiast Mar 31, 2023
8d40cf9
Add sameness-group to exported-services config entries (#16836)
hashi-derek Mar 31, 2023
a6d69ad
Add default resolvers to disco chains based on the default sameness g…
erichaberkorn Mar 31, 2023
3e6f8b7
[NET-3029] Migrate dev-* jobs to GHA (#16792)
loshz Mar 31, 2023
fc64a70
add region field (#16825)
Mar 31, 2023
a5397b1
Connect CA Primary Provider refactor (#16749)
Apr 3, 2023
f54e310
Update changelog with patch releases (#16856)
zalimeni Apr 3, 2023
71c32b4
Fix typo on cli-flags.mdx (#16843)
ramramhariram Apr 3, 2023
f6de5ff
Allow dialer to re-establish terminated peering (#16776)
freddygv Apr 3, 2023
4085412
CA mesh CA expiration to it's own section
eikenb Apr 3, 2023
0582f13
Fix broken doc in consul-k8s upgrade (#16852)
dttung2905 Apr 3, 2023
a319953
docs: add envoy to the proxycfg diagram (#16834)
huikang Apr 4, 2023
afc8f97
ci: increase deep-copy and lint-enum jobs to use large runner as they…
jmurret Apr 4, 2023
671d582
Raft storage backend (#16619)
boxofrad Apr 4, 2023
dcb9da2
ad arm64 testing (#16876)
jmurret Apr 5, 2023
25f9da4
Omit false positives from 404 checker (#16881)
eddie-rowe Apr 5, 2023
bdff715
ci: fixes missing deps in frontend gha workflows (#16872)
loshz Apr 5, 2023
3f74827
always test oss and conditionally test enterprise (#16827)
jmurret Apr 5, 2023
ad3a68a
temporarily disable macos-arm64 tests job in go-tests (#16898)
jmurret Apr 5, 2023
4fa2537
Resource `Write` endpoint (#16786)
boxofrad Apr 6, 2023
1794484
Resource `Delete` endpoint (#16756)
analogue Apr 6, 2023
175bb1a
Wasm Envoy HTTP extension (#16877)
cthain Apr 6, 2023
5bdf795
Fix API GW broken link (#16885)
eddie-rowe Apr 6, 2023
430df05
ci: Add success jobs. make go-test-enterprise conditional. build-dist…
jmurret Apr 6, 2023
d9c02c5
increase ENT runner size for xl to match OSS. have guild-distros use…
jmurret Apr 7, 2023
9717372
log warning about certificate expiring sooner and with more details
eikenb Apr 7, 2023
eccd2f9
highlight the agent.tls cert metric with CA ones
eikenb Apr 7, 2023
e5be4b4
docs: improve upgrade path guidance (#16925)
jkirschner-hashicorp Apr 7, 2023
82915d2
Test: add noCleanup to TestServer stop (#16919)
huikang Apr 8, 2023
a1404d6
docs: fix typo in LocalRequestTimeoutMs (#16917)
ilpianista Apr 10, 2023
c165a29
ci: add GOTAGS to build-distros (#16934)
jmurret Apr 10, 2023
92be8bd
APIGW: Routes with duplicate parents should be invalid (#16926)
jm96441n Apr 10, 2023
f6b07a1
ci: remove verify-ci from circleci (#16860)
jmurret Apr 10, 2023
be4a436
ci: remove go-tests workflow from CircleCI (#16855)
jmurret Apr 10, 2023
2f524ae
ci: build-artifacts - fix platform missing in manifest error (#16940)
jmurret Apr 10, 2023
686f493
Check acls on resource `Read`, `List`, and `WatchList` (#16842)
analogue Apr 11, 2023
317240f
Resource validation hook for `Write` endpoint (#16950)
analogue Apr 11, 2023
1bcaeab
Remove deprecated service-defaults upstream behavior. (#16957)
hashi-derek Apr 11, 2023
380d74c
Fix the indentation of the copyAnnotations example (#16873)
Apr 11, 2023
2ef812f
Update docs for service-defaults overrides. (#16960)
hashi-derek Apr 11, 2023
d595e6a
resource: `WriteStatus` endpoint (#16886)
boxofrad Apr 11, 2023
d3d7847
Remove global.name requirement for APs (#16964)
lkysow Apr 11, 2023
3756983
ci: remove build-distros from CircleCI (#16941)
jmurret Apr 11, 2023
8255cc9
feat: add reporting config with reload (#16890)
JadhavPoonam Apr 11, 2023
fdcbf67
Added backport labels to PR template checklist (#16966)
nathancoleman Apr 11, 2023
1384b34
ci: split frontend ember jobs (#16973)
loshz Apr 12, 2023
b85a149
Memdb Txn Commit race condition fix (#16871)
dhiaayachi Apr 12, 2023
6bab669
add sameness to exported services structs in the api package (#16984)
erichaberkorn Apr 12, 2023
5ea2ad8
circleci: remove frontend jobs (#16906)
loshz Apr 12, 2023
3b83c7e
Enforce ACLs on resource `Write` and `Delete` endpoints (#16956)
analogue Apr 12, 2023
5410139
Update list of Envoy versions (#16889)
nathancoleman Apr 12, 2023
b8c9e13
Add mutate hook to `Write` endpoint (#16958)
analogue Apr 12, 2023
75bda84
upgrade test: config nodeName, nodeid, and inherited persistent data …
huikang Apr 12, 2023
44b3924
move enterprise test cases out of open source (#16985)
erichaberkorn Apr 13, 2023
8611ec5
Fix delete when uid not provided (#16996)
analogue Apr 14, 2023
79b3047
Enforce Owner rules in `Write` endpoint (#16983)
analogue Apr 14, 2023
79d4040
add IP rate limiting config update (#16997)
dhiaayachi Apr 14, 2023
0dd4ea2
* added Sameness Group to proto files (#16998)
wilkermichael Apr 14, 2023
04b881a
added missing error message content to troubleshooting (#17005)
trujillo-adam Apr 14, 2023
87324c9
Add PrioritizeByLocality to config entries. (#17007)
hashi-derek Apr 14, 2023
b7b3e6e
fixed bad link (#17009)
trujillo-adam Apr 14, 2023
f5725b4
added an intro statement for the SI conf entry confiration model (#17…
trujillo-adam Apr 17, 2023
2f7d591
Tenancy wildcard validaton for `Write`, `Read`, and `Delete` endpoint…
analogue Apr 17, 2023
0c846fa
docs: update docs related to GH-16779 (#17020)
jkirschner-hashicorp Apr 17, 2023
a37a441
server: wire up in-process Resource Service (#16978)
boxofrad Apr 18, 2023
711179d
add ability to start container tests in debug mode and attach a debug…
dhiaayachi Apr 18, 2023
5d7a7ff
feat: set up reporting agent (#16991)
JadhavPoonam Apr 18, 2023
eb9f671
api: enable query options on agent force-leave endpoint (#15987)
andreikom Apr 18, 2023
268f93e
Bump the golang.org/x/net to 0.7.0 to address CVE-2022-41723 (#16754)
kevinwangcn Apr 18, 2023
46212cc
Don't send updates twice (#16999)
lkysow Apr 18, 2023
d6f7183
ci: add test-integrations (#16915)
jmurret Apr 19, 2023
2cefa8d
ci: remove test-integrations CircleCI workflow (#16928)
jmurret Apr 19, 2023
bdc3dd1
Avoid decoding nil pointer in map walker (#17048)
kyhavlov Apr 19, 2023
d07aac8
Revert "cache: refactor agent cache fetching to prevent unnecessary f…
rboyer Apr 19, 2023
77ecff3
Permissive mTLS (#17035)
Apr 19, 2023
ac200cf
[NET-3090] Add new JWT provider config entry (#17036)
Apr 19, 2023
f4406e6
[NET-3091] Update service intentions to support jwt provider referenc…
Apr 19, 2023
577e5a9
remove worklogs upload (#17056)
jmurret Apr 19, 2023
9f81fc0
[COMPLIANCE] Add Copyright and License Headers (#16854)
hashicorp-copywrite[bot] Apr 20, 2023
e07c09d
Fix generated proto files (#17063)
roncodingenthusiast Apr 20, 2023
863cd57
fix broken links (#17032)
eddie-rowe Apr 20, 2023
b1fae05
Add sameness groups to service intentions. (#17064)
erichaberkorn Apr 20, 2023
53f49b2
Enforce operator:write acl on `WriteStatus` endpoint (#17019)
analogue Apr 20, 2023
fece53c
NET-3648: Add script to get consul and envoy version (#17060)
NiniOak Apr 20, 2023
fe67746
use proper TOTAL_RUNNER setting when generating runner matrix. if ma…
jmurret Apr 20, 2023
a9c4db4
try again
jmurret Apr 20, 2023
b1948d7
try again 2
jmurret Apr 20, 2023
7652bd5
try again 3
jmurret Apr 20, 2023
3834d16
try again 4
jmurret Apr 20, 2023
9dc7015
try again 5
jmurret Apr 20, 2023
4ca8f8c
try scenario where number is less
jmurret Apr 20, 2023
0f845cf
backport of commit 4ca8f8c65c4fb1262ef70786549a8f9617d31816
jmurret Apr 20, 2023
fd4641b
backport of commit 5185c5ada3ab41f9eca76c25acfdbcc764bceeef
jmurret Apr 20, 2023
4652b52
backport of commit 171df26f9cb29ebfb3c30db8298a3666c12a41d6
jmurret Apr 21, 2023
efa0079
backport of commit a786025ed1bdbbf74e4e0138f4a750be79d4c2ea
jmurret Apr 21, 2023
0ac46dd
Merge 4ca8f8c65c4fb1262ef70786549a8f9617d31816 into backport/jm/runne…
hc-github-team-consul-core Apr 21, 2023
1559da0
backport of commit f36c71ca7633cbc42a9b82bad2c277378ae4a0f6
jmurret Apr 20, 2023
09158ac
Merge branch 'release/1.15.x' into backport/jm/runner-count/hideously…
jmurret Apr 21, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add ServiceResolver RequestTimeout for route timeouts to make Termina…
…tingGateway upstream timeouts configurable (#16495)

* Leverage ServiceResolver ConnectTimeout for route timeouts to make TerminatingGateway upstream timeouts configurable

* Regenerate golden files

* Add RequestTimeout field

* Add changelog entry
  • Loading branch information
Andrew Stucki authored Mar 3, 2023
commit 4b661d1e0c3ebcaf4d1e27590c572f7159401cc1
3 changes: 3 additions & 0 deletions .changelog/16495.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
```release-note:improvement
mesh: Add ServiceResolver RequestTimeout for route timeouts to make request timeouts configurable
```
1 change: 1 addition & 0 deletions agent/consul/discoverychain/compile.go
Original file line number Diff line number Diff line change
Expand Up @@ -978,6 +978,7 @@ RESOLVE_AGAIN:
Default: resolver.IsDefault(),
Target: target.ID,
ConnectTimeout: connectTimeout,
RequestTimeout: resolver.RequestTimeout,
},
LoadBalancer: resolver.LoadBalancer,
}
Expand Down
6 changes: 6 additions & 0 deletions agent/proxycfg/testing_ingress_gateway.go
Original file line number Diff line number Diff line change
Expand Up @@ -700,11 +700,13 @@ func TestConfigSnapshotIngress_HTTPMultipleServices(t testing.T) *ConfigSnapshot
Kind: structs.ServiceResolver,
Name: "foo",
ConnectTimeout: 22 * time.Second,
RequestTimeout: 22 * time.Second,
},
&structs.ServiceResolverConfigEntry{
Kind: structs.ServiceResolver,
Name: "bar",
ConnectTimeout: 22 * time.Second,
RequestTimeout: 22 * time.Second,
},
}

Expand Down Expand Up @@ -855,11 +857,13 @@ func TestConfigSnapshotIngress_GRPCMultipleServices(t testing.T) *ConfigSnapshot
Kind: structs.ServiceResolver,
Name: "foo",
ConnectTimeout: 22 * time.Second,
RequestTimeout: 22 * time.Second,
},
&structs.ServiceResolverConfigEntry{
Kind: structs.ServiceResolver,
Name: "bar",
ConnectTimeout: 22 * time.Second,
RequestTimeout: 22 * time.Second,
},
}

Expand Down Expand Up @@ -1213,12 +1217,14 @@ func TestConfigSnapshotIngressGatewayWithChain(
Name: "web",
EnterpriseMeta: *webEntMeta,
ConnectTimeout: 22 * time.Second,
RequestTimeout: 22 * time.Second,
},
&structs.ServiceResolverConfigEntry{
Kind: structs.ServiceResolver,
Name: "foo",
EnterpriseMeta: *fooEntMeta,
ConnectTimeout: 22 * time.Second,
RequestTimeout: 22 * time.Second,
},
}

Expand Down
2 changes: 2 additions & 0 deletions agent/proxycfg/testing_mesh_gateway.go
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,7 @@ func TestConfigSnapshotMeshGateway(t testing.T, variant string, nsFn func(ns *st
Kind: structs.ServiceResolver,
Name: "bar",
ConnectTimeout: 10 * time.Second,
RequestTimeout: 10 * time.Second,
Subsets: map[string]structs.ServiceResolverSubset{
"v1": {
Filter: "Service.Meta.Version == 1",
Expand Down Expand Up @@ -687,6 +688,7 @@ func TestConfigSnapshotPeeredMeshGateway(t testing.T, variant string, nsFn func(
Kind: structs.ServiceResolver,
Name: "db",
ConnectTimeout: 33 * time.Second,
RequestTimeout: 33 * time.Second,
},
&structs.ServiceResolverConfigEntry{
Kind: structs.ServiceResolver,
Expand Down
12 changes: 12 additions & 0 deletions agent/proxycfg/testing_upstreams.go
Original file line number Diff line number Diff line change
Expand Up @@ -250,6 +250,7 @@ func setupTestVariationDiscoveryChain(
Kind: structs.ServiceResolver,
Name: "db",
ConnectTimeout: 33 * time.Second,
RequestTimeout: 33 * time.Second,
},
)
case "external-sni":
Expand All @@ -263,6 +264,7 @@ func setupTestVariationDiscoveryChain(
Kind: structs.ServiceResolver,
Name: "db",
ConnectTimeout: 33 * time.Second,
RequestTimeout: 33 * time.Second,
},
)
case "failover":
Expand All @@ -271,6 +273,7 @@ func setupTestVariationDiscoveryChain(
Kind: structs.ServiceResolver,
Name: "db",
ConnectTimeout: 33 * time.Second,
RequestTimeout: 33 * time.Second,
Failover: map[string]structs.ServiceResolverFailover{
"*": {
Service: "fail",
Expand All @@ -293,6 +296,7 @@ func setupTestVariationDiscoveryChain(
Kind: structs.ServiceResolver,
Name: "db",
ConnectTimeout: 33 * time.Second,
RequestTimeout: 33 * time.Second,
Failover: map[string]structs.ServiceResolverFailover{
"*": {
Datacenters: []string{"dc2"},
Expand All @@ -306,6 +310,7 @@ func setupTestVariationDiscoveryChain(
Kind: structs.ServiceResolver,
Name: "db",
ConnectTimeout: 33 * time.Second,
RequestTimeout: 33 * time.Second,
Failover: map[string]structs.ServiceResolverFailover{
"*": {
Targets: []structs.ServiceResolverFailoverTarget{
Expand All @@ -321,6 +326,7 @@ func setupTestVariationDiscoveryChain(
Kind: structs.ServiceResolver,
Name: "db",
ConnectTimeout: 33 * time.Second,
RequestTimeout: 33 * time.Second,
Redirect: &structs.ServiceResolverRedirect{
Peer: "cluster-01",
},
Expand All @@ -341,6 +347,7 @@ func setupTestVariationDiscoveryChain(
Kind: structs.ServiceResolver,
Name: "db",
ConnectTimeout: 33 * time.Second,
RequestTimeout: 33 * time.Second,
Failover: map[string]structs.ServiceResolverFailover{
"*": {
Datacenters: []string{"dc2", "dc3"},
Expand All @@ -363,6 +370,7 @@ func setupTestVariationDiscoveryChain(
Kind: structs.ServiceResolver,
Name: "db",
ConnectTimeout: 33 * time.Second,
RequestTimeout: 33 * time.Second,
Failover: map[string]structs.ServiceResolverFailover{
"*": {
Datacenters: []string{"dc2"},
Expand All @@ -385,6 +393,7 @@ func setupTestVariationDiscoveryChain(
Kind: structs.ServiceResolver,
Name: "db",
ConnectTimeout: 33 * time.Second,
RequestTimeout: 33 * time.Second,
Failover: map[string]structs.ServiceResolverFailover{
"*": {
Datacenters: []string{"dc2", "dc3"},
Expand Down Expand Up @@ -446,6 +455,7 @@ func setupTestVariationDiscoveryChain(
Kind: structs.ServiceResolver,
Name: "db",
ConnectTimeout: 33 * time.Second,
RequestTimeout: 33 * time.Second,
},
&structs.ProxyConfigEntry{
Kind: structs.ProxyDefaults,
Expand Down Expand Up @@ -497,6 +507,7 @@ func setupTestVariationDiscoveryChain(
Kind: structs.ServiceResolver,
Name: "db",
ConnectTimeout: 33 * time.Second,
RequestTimeout: 33 * time.Second,
},
&structs.ProxyConfigEntry{
Kind: structs.ProxyDefaults,
Expand Down Expand Up @@ -528,6 +539,7 @@ func setupTestVariationDiscoveryChain(
Kind: structs.ServiceResolver,
Name: "db",
ConnectTimeout: 33 * time.Second,
RequestTimeout: 33 * time.Second,
},
&structs.ProxyConfigEntry{
Kind: structs.ProxyDefaults,
Expand Down
21 changes: 21 additions & 0 deletions agent/structs/config_entry_discoverychain.go
Original file line number Diff line number Diff line change
Expand Up @@ -857,6 +857,11 @@ type ServiceResolverConfigEntry struct {
// to this service.
ConnectTimeout time.Duration `json:",omitempty" alias:"connect_timeout"`

// RequestTimeout is the timeout for an HTTP request to complete before
// the connection is automatically terminated. If unspecified, defaults
// to 15 seconds.
RequestTimeout time.Duration `json:",omitempty" alias:"request_timeout"`

// LoadBalancer determines the load balancing policy and configuration for services
// issuing requests to this upstream service.
LoadBalancer *LoadBalancer `json:",omitempty" alias:"load_balancer"`
Expand All @@ -870,14 +875,19 @@ func (e *ServiceResolverConfigEntry) MarshalJSON() ([]byte, error) {
type Alias ServiceResolverConfigEntry
exported := &struct {
ConnectTimeout string `json:",omitempty"`
RequestTimeout string `json:",omitempty"`
*Alias
}{
ConnectTimeout: e.ConnectTimeout.String(),
RequestTimeout: e.RequestTimeout.String(),
Alias: (*Alias)(e),
}
if e.ConnectTimeout == 0 {
exported.ConnectTimeout = ""
}
if e.RequestTimeout == 0 {
exported.RequestTimeout = ""
}

return json.Marshal(exported)
}
Expand All @@ -886,6 +896,7 @@ func (e *ServiceResolverConfigEntry) UnmarshalJSON(data []byte) error {
type Alias ServiceResolverConfigEntry
aux := &struct {
ConnectTimeout string
RequestTimeout string
*Alias
}{
Alias: (*Alias)(e),
Expand All @@ -899,6 +910,11 @@ func (e *ServiceResolverConfigEntry) UnmarshalJSON(data []byte) error {
return err
}
}
if aux.RequestTimeout != "" {
if e.RequestTimeout, err = time.ParseDuration(aux.RequestTimeout); err != nil {
return err
}
}
return nil
}

Expand All @@ -919,6 +935,7 @@ func (e *ServiceResolverConfigEntry) IsDefault() bool {
e.Redirect == nil &&
len(e.Failover) == 0 &&
e.ConnectTimeout == 0 &&
e.RequestTimeout == 0 &&
e.LoadBalancer == nil
}

Expand Down Expand Up @@ -1117,6 +1134,10 @@ func (e *ServiceResolverConfigEntry) Validate() error {
return fmt.Errorf("Bad ConnectTimeout '%s', must be >= 0", e.ConnectTimeout)
}

if e.RequestTimeout < 0 {
return fmt.Errorf("Bad RequestTimeout '%s', must be >= 0", e.RequestTimeout)
}

if e.LoadBalancer != nil {
lb := e.LoadBalancer

Expand Down
1 change: 1 addition & 0 deletions agent/structs/discovery_chain.go
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ func (s *DiscoveryGraphNode) MapKey() string {
type DiscoveryResolver struct {
Default bool `json:",omitempty"`
ConnectTimeout time.Duration `json:",omitempty"`
RequestTimeout time.Duration `json:",omitempty"`
Target string `json:",omitempty"`
Failover *DiscoveryFailover `json:",omitempty"`
}
Expand Down
13 changes: 10 additions & 3 deletions agent/xds/routes.go
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ func (s *ResourceGenerator) makeRoutes(
if resolver.LoadBalancer != nil {
lb = resolver.LoadBalancer
}
route, err := makeNamedDefaultRouteWithLB(clusterName, lb, autoHostRewrite)
route, err := makeNamedDefaultRouteWithLB(clusterName, lb, resolver.RequestTimeout, autoHostRewrite)
if err != nil {
s.Logger.Error("failed to make route", "cluster", clusterName, "error", err)
return nil, err
Expand All @@ -228,7 +228,7 @@ func (s *ResourceGenerator) makeRoutes(
// If there is a service-resolver for this service then also setup routes for each subset
for name := range resolver.Subsets {
clusterName = connect.ServiceSNI(svc.Name, name, svc.NamespaceOrDefault(), svc.PartitionOrDefault(), cfgSnap.Datacenter, cfgSnap.Roots.TrustDomain)
route, err := makeNamedDefaultRouteWithLB(clusterName, lb, true)
route, err := makeNamedDefaultRouteWithLB(clusterName, lb, resolver.RequestTimeout, true)
if err != nil {
s.Logger.Error("failed to make route", "cluster", clusterName, "error", err)
return nil, err
Expand Down Expand Up @@ -282,7 +282,7 @@ func (s *ResourceGenerator) routesForMeshGateway(cfgSnap *proxycfg.ConfigSnapsho
return resources, nil
}

func makeNamedDefaultRouteWithLB(clusterName string, lb *structs.LoadBalancer, autoHostRewrite bool) (*envoy_route_v3.RouteConfiguration, error) {
func makeNamedDefaultRouteWithLB(clusterName string, lb *structs.LoadBalancer, timeout time.Duration, autoHostRewrite bool) (*envoy_route_v3.RouteConfiguration, error) {
action := makeRouteActionFromName(clusterName)

if err := injectLBToRouteAction(lb, action.Route); err != nil {
Expand All @@ -296,6 +296,10 @@ func makeNamedDefaultRouteWithLB(clusterName string, lb *structs.LoadBalancer, a
}
}

if timeout != 0 {
action.Route.Timeout = durationpb.New(timeout)
}

return &envoy_route_v3.RouteConfiguration{
Name: clusterName,
VirtualHosts: []*envoy_route_v3.VirtualHost{
Expand Down Expand Up @@ -637,6 +641,9 @@ func (s *ResourceGenerator) makeUpstreamRouteForDiscoveryChain(
return nil, fmt.Errorf("failed to apply load balancer configuration to route action: %v", err)
}

if startNode.Resolver.RequestTimeout > 0 {
routeAction.Route.Timeout = durationpb.New(startNode.Resolver.RequestTimeout)
}
defaultRoute := &envoy_route_v3.Route{
Match: makeDefaultRouteMatch(),
Action: routeAction,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,30 +1,31 @@
{
"versionInfo": "00000001",
"resources": [
"versionInfo": "00000001",
"resources": [
{
"@type": "type.googleapis.com/envoy.config.route.v3.RouteConfiguration",
"name": "db",
"virtualHosts": [
"@type": "type.googleapis.com/envoy.config.route.v3.RouteConfiguration",
"name": "db",
"virtualHosts": [
{
"name": "db",
"domains": [
"name": "db",
"domains": [
"*"
],
"routes": [
"routes": [
{
"match": {
"prefix": "/"
"match": {
"prefix": "/"
},
"route": {
"cluster": "db.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul"
"route": {
"cluster": "db.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul",
"timeout": "33s"
}
}
]
}
],
"validateClusters": true
"validateClusters": true
}
],
"typeUrl": "type.googleapis.com/envoy.config.route.v3.RouteConfiguration",
"nonce": "00000001"
"typeUrl": "type.googleapis.com/envoy.config.route.v3.RouteConfiguration",
"nonce": "00000001"
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@
"prefix": "/"
},
"route": {
"cluster": "78ebd528~db.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul"
"cluster": "78ebd528~db.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul",
"timeout": "33s"
}
}
]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,30 +1,31 @@
{
"versionInfo": "00000001",
"resources": [
"versionInfo": "00000001",
"resources": [
{
"@type": "type.googleapis.com/envoy.config.route.v3.RouteConfiguration",
"name": "db",
"virtualHosts": [
"@type": "type.googleapis.com/envoy.config.route.v3.RouteConfiguration",
"name": "db",
"virtualHosts": [
{
"name": "db",
"domains": [
"name": "db",
"domains": [
"*"
],
"routes": [
"routes": [
{
"match": {
"prefix": "/"
"match": {
"prefix": "/"
},
"route": {
"cluster": "db.default.cluster-01.external.peer1.domain"
"route": {
"cluster": "db.default.cluster-01.external.peer1.domain",
"timeout": "33s"
}
}
]
}
],
"validateClusters": true
"validateClusters": true
}
],
"typeUrl": "type.googleapis.com/envoy.config.route.v3.RouteConfiguration",
"nonce": "00000001"
"typeUrl": "type.googleapis.com/envoy.config.route.v3.RouteConfiguration",
"nonce": "00000001"
}
Loading