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 Fix issue with peer stream node cleanup. into release/1.14.x #17246

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
831 commits
Select commit Hold shift + click to select a range
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)
xwa153 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
9db223f
fix the linter (#17077)
rboyer Apr 20, 2023
53cdda8
Fix a bug with disco chain config entry fetching (#17078)
erichaberkorn Apr 21, 2023
9a89395
ci: fix test splits that have less test packages than runner count fr…
jmurret Apr 21, 2023
b19359c
ci: fix test splits that have less test packages than runner count fr…
jmurret Apr 21, 2023
d5277af
Add manual virtual IP support to state store (#16815)
kyhavlov Apr 21, 2023
6d01d07
Include virtual services from discovery chain in intention topology (…
kyhavlov Apr 21, 2023
a011d8c
Bump raft to 1.5.0 (#17081)
banks Apr 21, 2023
4681607
De-scope tenenacy requirements to OSS only for now. (#17087)
analogue Apr 24, 2023
a33b224
Fix virtual services being included in intention topology as downstre…
hashi-derek Apr 24, 2023
d4cacc7
Merge pull request #5200 from hashicorp/NET-3758 (#17102)
NiniOak Apr 24, 2023
9ce50ae
CI: remove uneeded AWS creds from test-integrations (#17104)
loshz Apr 24, 2023
001d540
Add sameness group field to prepared queries (#17089)
wilkermichael Apr 24, 2023
e47f321
APIGW Normalize Status Conditions (#16994)
jm96441n Apr 24, 2023
f56b254
ci: fix runner calculation to exclude the top level directory as part…
jmurret Apr 24, 2023
2d30388
remove envoy endpoint flag from k8s docs (#17105)
Apr 24, 2023
3f6069b
Clarify OpenTelemetry support for tracing (#17082)
joatmon08 Apr 25, 2023
e66b18d
Fix broken link in changelog (#17093)
yangjunmyfm192085 Apr 25, 2023
ba4a314
storage: fix bug where WatchList would (rarely) return duplicate even…
boxofrad Apr 25, 2023
b9c485d
Controller Supervision (#17016)
boxofrad Apr 25, 2023
9e35c47
De-flake snapshot test (#17120)
banks Apr 25, 2023
cc5cbcb
Update single-dc-multi-k8s.mdx (#17126)
Apr 25, 2023
e7bb8fd
Fix or disable pipeline breaking changes that made it into main in la…
analogue Apr 25, 2023
faae7bb
testing: `RunResourceService` helper (#17068)
boxofrad Apr 26, 2023
eeaa636
Cleanup from unblocking the pipeline 🧹 (#17121)
boxofrad Apr 26, 2023
c1e63cb
add sameness intentions in api package (#17096)
erichaberkorn Apr 26, 2023
a87115c
add acl filter logs (#17143)
erichaberkorn Apr 26, 2023
c501da0
api: ensure empty locality field is not transmitted to Consul (#17137)
rboyer Apr 26, 2023
cd18373
fix backward compat issue caused by localities being set to `null` wh…
erichaberkorn Apr 26, 2023
75669ed
proto-public: document resource service (#17119)
boxofrad Apr 26, 2023
c5c35ec
[CC-4519] Include Consul NodeID in Envoy bootstrap metadata (#17139)
freddygv Apr 26, 2023
b431b04
TProxy integration test (#17103)
Apr 26, 2023
f93bb65
docs: fixup note about node scope for admin partitions (#17147)
mikemorris Apr 26, 2023
80b1dbc
fixed aliases for sameness group (sameness_group) (#17161)
wilkermichael Apr 26, 2023
5eaeb7b
Support Envoy's MaxEjectionPercent and BaseEjectionTime config entrie…
analogue Apr 26, 2023
f03d6a0
Merge pull request #5288 from hashicorp/NET-3648_fix (#17163)
NiniOak Apr 27, 2023
391ed06
APIGW: Update how status conditions for certificates are handled (#17…
jm96441n Apr 27, 2023
e02ef16
Update HCP bootstrapping to support existing clusters (#16916)
freddygv Apr 27, 2023
eff5dd1
resource: owner references must include a uid (#17169)
boxofrad Apr 28, 2023
9fef1c7
Create tombstone on resource `Delete` (#17108)
analogue Apr 28, 2023
eded58b
Remove artificial ACLTokenMaxTTL limit for configuring acl token expi…
johnlanda Apr 28, 2023
1037bf7
Sync .golangci.yml from ENT (#17180)
analogue Apr 28, 2023
6b49869
peering: ensure that merged central configs of peered upstreams for p…
rboyer Apr 28, 2023
e4a341c
Permissive mTLS: Config entry filtering and CLI warnings (#17183)
Apr 28, 2023
2c0da88
fix panic in `injectSANMatcher` when `tlsContext` is `nil` (#17185)
erichaberkorn Apr 28, 2023
0fc4fc6
Revert "[CC-4519] Include Consul NodeID in Envoy bootstrap metadata" …
freddygv Apr 28, 2023
ef5d54f
feat: add no-op reporting background routine (#17178)
JadhavPoonam Apr 29, 2023
90fc9bd
Fix broken lightstep link (#17201)
eddie-rowe May 1, 2023
bdef223
Use auth context when evaluating service read permissions (#17207)
nathancoleman May 2, 2023
bd76fde
enable auto-tidy expired issuers in vault (as CA)
eikenb May 3, 2023
4715a86
Initial Catalog & Mesh Protobuf Definitions (#17123)
mkeeler May 5, 2023
917afcf
controller: make the `WorkQueue` generic (#16982)
boxofrad May 5, 2023
166d7a3
docs: consistently name Consul service mesh (#17222)
jkirschner-hashicorp May 5, 2023
61a281a
Fix issue with peer stream node cleanup.
hashi-derek May 8, 2023
9a7505d
backport of commit 61a281a4d88720b1e77a2f226c65d6a0abe3fd23
hashi-derek May 8, 2023
10b7a69
backport of commit 4feb116d11539186676939914b7440c84e4292c5
hashi-derek May 8, 2023
1830709
Merge 61a281a4d88720b1e77a2f226c65d6a0abe3fd23 into backport/derekm/N…
hc-github-team-consul-core May 8, 2023
51ce954
backport of commit 28a83da0881f74928a02953dfcc997ca51977a23
hashi-derek May 8, 2023
5e9a8a8
Merge branch 'release/1.14.x' into backport/derekm/NET-3007/fix-peer-…
jmurret May 8, 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
3 changes: 3 additions & 0 deletions .changelog/17235.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
```release-note:bug
peering: Fix issue where peer streams could incorrectly deregister services in various scenarios.
```
39 changes: 23 additions & 16 deletions agent/grpc-external/services/peerstream/replication.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import (
newproto "google.golang.org/protobuf/proto"
"google.golang.org/protobuf/types/known/anypb"

"github.com/hashicorp/consul/acl"
"github.com/hashicorp/consul/agent/cache"
"github.com/hashicorp/consul/agent/consul/state"
"github.com/hashicorp/consul/agent/structs"
Expand Down Expand Up @@ -338,7 +339,7 @@ func (s *Server) handleUpdateService(
for _, nodeSnap := range snap.Nodes {
// First register the node - skip the unchanged ones
changed := true
if storedNode, ok := storedNodesMap[nodeSnap.Node.ID]; ok {
if storedNode, ok := storedNodesMap[nodeSnap.Node.Node]; ok {
if storedNode.IsSame(nodeSnap.Node) {
changed = false
}
Expand All @@ -354,7 +355,7 @@ func (s *Server) handleUpdateService(
// Then register all services on that node - skip the unchanged ones
for _, svcSnap := range nodeSnap.Services {
changed = true
if storedSvcInst, ok := storedSvcInstMap[makeNodeSvcInstID(nodeSnap.Node.ID, svcSnap.Service.ID)]; ok {
if storedSvcInst, ok := storedSvcInstMap[makeNodeSvcInstID(nodeSnap.Node.Node, svcSnap.Service.ID)]; ok {
if storedSvcInst.IsSame(svcSnap.Service) {
changed = false
}
Expand All @@ -374,7 +375,7 @@ func (s *Server) handleUpdateService(
for _, svcSnap := range nodeSnap.Services {
for _, c := range svcSnap.Checks {
changed := true
if chk, ok := storedChecksMap[makeNodeCheckID(nodeSnap.Node.ID, svcSnap.Service.ID, c.CheckID)]; ok {
if chk, ok := storedChecksMap[makeNodeCheckID(nodeSnap.Node.Node, svcSnap.Service.ID, c.CheckID)]; ok {
if chk.IsSame(c) {
changed = false
}
Expand Down Expand Up @@ -512,8 +513,10 @@ func (s *Server) handleUpdateService(

// Delete any nodes that do not have any other services registered on them.
for node := range unusedNodes {
nodeMeta := structs.NodeEnterpriseMetaInPartition(sn.PartitionOrDefault())
_, ns, err := s.GetStore().NodeServices(nil, node, nodeMeta, peerName)
// The wildcard is used here so that all services, regardless of namespace are returned
// by the following query. Without this, the node might accidentally be cleaned up early.
wildcardNSMeta := acl.NewEnterpriseMetaWithPartition(sn.PartitionOrDefault(), acl.WildcardName)
_, ns, err := s.GetStore().NodeServiceList(nil, node, &wildcardNSMeta, peerName)
if err != nil {
return fmt.Errorf("failed to query services on node: %w", err)
}
Expand All @@ -526,10 +529,10 @@ func (s *Server) handleUpdateService(
err = s.Backend.CatalogDeregister(&structs.DeregisterRequest{
Node: node,
PeerName: peerName,
EnterpriseMeta: *nodeMeta,
EnterpriseMeta: *structs.NodeEnterpriseMetaInPartition(sn.PartitionOrDefault()),
})
if err != nil {
ident := fmt.Sprintf("partition:%s/peer:%s/node:%s", nodeMeta.PartitionOrDefault(), peerName, node)
ident := fmt.Sprintf("partition:%s/peer:%s/node:%s", sn.PartitionOrDefault(), peerName, node)
return fmt.Errorf("failed to deregister node %q: %w", ident, err)
}
}
Expand Down Expand Up @@ -632,31 +635,35 @@ type nodeCheckIdentity struct {
checkID string
}

func makeNodeSvcInstID(nodeID types.NodeID, serviceID string) nodeSvcInstIdentity {
func makeNodeSvcInstID(node string, serviceID string) nodeSvcInstIdentity {
return nodeSvcInstIdentity{
nodeID: string(nodeID),
nodeID: node,
serviceID: serviceID,
}
}

func makeNodeCheckID(nodeID types.NodeID, serviceID string, checkID types.CheckID) nodeCheckIdentity {
func makeNodeCheckID(node string, serviceID string, checkID types.CheckID) nodeCheckIdentity {
return nodeCheckIdentity{
serviceID: serviceID,
checkID: string(checkID),
nodeID: string(nodeID),
nodeID: node,
}
}

func buildStoredMap(storedInstances structs.CheckServiceNodes) (map[types.NodeID]*structs.Node, map[nodeSvcInstIdentity]*structs.NodeService, map[nodeCheckIdentity]*structs.HealthCheck) {
nodesMap := map[types.NodeID]*structs.Node{}
func buildStoredMap(storedInstances structs.CheckServiceNodes) (
map[string]*structs.Node,
map[nodeSvcInstIdentity]*structs.NodeService,
map[nodeCheckIdentity]*structs.HealthCheck,
) {
nodesMap := map[string]*structs.Node{}
svcInstMap := map[nodeSvcInstIdentity]*structs.NodeService{}
checksMap := map[nodeCheckIdentity]*structs.HealthCheck{}

for _, csn := range storedInstances {
nodesMap[csn.Node.ID] = csn.Node
svcInstMap[makeNodeSvcInstID(csn.Node.ID, csn.Service.ID)] = csn.Service
nodesMap[csn.Node.Node] = csn.Node
svcInstMap[makeNodeSvcInstID(csn.Node.Node, csn.Service.ID)] = csn.Service
for _, chk := range csn.Checks {
checksMap[makeNodeCheckID(csn.Node.ID, csn.Service.ID, chk.CheckID)] = chk
checksMap[makeNodeCheckID(csn.Node.Node, csn.Service.ID, chk.CheckID)] = chk
}
}
return nodesMap, svcInstMap, checksMap
Expand Down
2 changes: 1 addition & 1 deletion agent/grpc-external/services/peerstream/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ type StateStore interface {
ExportedServicesForPeer(ws memdb.WatchSet, peerID, dc string) (uint64, *structs.ExportedServiceList, error)
ServiceDump(ws memdb.WatchSet, kind structs.ServiceKind, useKind bool, entMeta *acl.EnterpriseMeta, peerName string) (uint64, structs.CheckServiceNodes, error)
CheckServiceNodes(ws memdb.WatchSet, serviceName string, entMeta *acl.EnterpriseMeta, peerName string) (uint64, structs.CheckServiceNodes, error)
NodeServices(ws memdb.WatchSet, nodeNameOrID string, entMeta *acl.EnterpriseMeta, peerName string) (uint64, *structs.NodeServices, error)
NodeServiceList(ws memdb.WatchSet, nodeNameOrID string, entMeta *acl.EnterpriseMeta, peerName string) (uint64, *structs.NodeServiceList, error)
CAConfig(ws memdb.WatchSet) (uint64, *structs.CAConfiguration, error)
TrustBundleListByService(ws memdb.WatchSet, service, dc string, entMeta acl.EnterpriseMeta) (uint64, []*pbpeering.PeeringTrustBundle, error)
ServiceList(ws memdb.WatchSet, entMeta *acl.EnterpriseMeta, peerName string) (uint64, structs.ServiceList, error)
Expand Down
Loading