Skip to content

Commit f050396

Browse files
Backport of [NET-10246] use correct enterprise meta for service name for LinkedService into release/1.19.x (#21533)
* backport of commit f5cec2e * backport of commit 8e63265 --------- Co-authored-by: jm96441n <john.maguire@hashicorp.com>
1 parent 3ad8611 commit f050396

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

.changelog/21382.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:bug
2+
terminating-gateway: **(Enterprise Only)** Fixed issue where enterprise metadata applied to linked services was the terminating-gateways enterprise metadata and not the linked services enterprise metadata.
3+
```

agent/consul/state/catalog.go

+3-4
Original file line numberDiff line numberDiff line change
@@ -942,7 +942,7 @@ func ensureServiceTxn(tx WriteTxn, idx uint64, node string, preserveIndexes bool
942942
}
943943
if conf != nil {
944944
termGatewayConf := conf.(*structs.TerminatingGatewayConfigEntry)
945-
addrs, err := getTermGatewayVirtualIPs(tx, idx, termGatewayConf.Services, &svc.EnterpriseMeta)
945+
addrs, err := getTermGatewayVirtualIPs(tx, idx, termGatewayConf.Services)
946946
if err != nil {
947947
return err
948948
}
@@ -3585,11 +3585,10 @@ func getTermGatewayVirtualIPs(
35853585
tx WriteTxn,
35863586
idx uint64,
35873587
services []structs.LinkedService,
3588-
entMeta *acl.EnterpriseMeta,
35893588
) (map[string]structs.ServiceAddress, error) {
35903589
addrs := make(map[string]structs.ServiceAddress, len(services))
35913590
for _, s := range services {
3592-
sn := structs.ServiceName{Name: s.Name, EnterpriseMeta: *entMeta}
3591+
sn := structs.ServiceName{Name: s.Name, EnterpriseMeta: s.EnterpriseMeta}
35933592
// Terminating Gateways cannot route to services in peered clusters
35943593
psn := structs.PeeredServiceName{ServiceName: sn, Peer: structs.DefaultPeerKeyword}
35953594
vip, err := assignServiceVirtualIP(tx, idx, psn)
@@ -3606,7 +3605,7 @@ func getTermGatewayVirtualIPs(
36063605
func updateTerminatingGatewayVirtualIPs(tx WriteTxn, idx uint64, conf *structs.TerminatingGatewayConfigEntry, entMeta *acl.EnterpriseMeta) error {
36073606
// Build the current map of services with virtual IPs for this gateway
36083607
services := conf.Services
3609-
addrs, err := getTermGatewayVirtualIPs(tx, idx, services, entMeta)
3608+
addrs, err := getTermGatewayVirtualIPs(tx, idx, services)
36103609
if err != nil {
36113610
return err
36123611
}

0 commit comments

Comments
 (0)