test fixes

This commit is contained in:
crn4
2025-09-05 13:06:06 +02:00
parent ca85aa9b8f
commit 08fba9876b
5 changed files with 27 additions and 25 deletions

View File

@@ -858,12 +858,10 @@ func (a *Account) GetPeerNetworkMapExp(
peerID string,
peersCustomZone nbdns.CustomZone,
validatedPeers map[string]struct{},
resourcePolicies map[string][]*Policy,
routers map[string]map[string]*routerTypes.NetworkRouter,
metrics *telemetry.AccountManagerMetrics,
) *NetworkMap {
a.initNetworkMapBuilder(validatedPeers)
return a.NetworkMapCache.GetPeerNetworkMap(ctx, peerID, peersCustomZone, validatedPeers, resourcePolicies, routers, metrics)
return a.NetworkMapCache.GetPeerNetworkMap(ctx, peerID, peersCustomZone, validatedPeers, metrics)
}
func (a *Account) OnPeerAddedUpdNetworkMapCache(peerId string) error {

View File

@@ -105,7 +105,7 @@ func TestGetPeerNetworkMap_Golden_New(t *testing.T) {
}
builder := types.NewNetworkMapBuilder(account, validatedPeersMap)
networkMap := builder.GetPeerNetworkMap(ctx, testingPeerID, dns.CustomZone{}, validatedPeersMap, nil, nil, nil)
networkMap := builder.GetPeerNetworkMap(ctx, testingPeerID, dns.CustomZone{}, validatedPeersMap, nil)
normalizeAndSortNetworkMap(networkMap)
@@ -150,7 +150,7 @@ func BenchmarkGetPeerNetworkMap(b *testing.B) {
for range b.N {
builder := types.NewNetworkMapBuilder(account, validatedPeersMap)
for _, peerID := range peerIDs {
_ = builder.GetPeerNetworkMap(ctx, peerID, dns.CustomZone{}, validatedPeersMap, nil, nil, nil)
_ = builder.GetPeerNetworkMap(ctx, peerID, dns.CustomZone{}, validatedPeersMap, nil)
}
}
})
@@ -269,7 +269,7 @@ func TestGetPeerNetworkMap_Golden_New_WithOnPeerAdded(t *testing.T) {
err := builder.OnPeerAddedIncremental(newPeerID)
require.NoError(t, err, "error adding peer to cache")
networkMap := builder.GetPeerNetworkMap(ctx, testingPeerID, dns.CustomZone{}, validatedPeersMap, nil, nil, nil)
networkMap := builder.GetPeerNetworkMap(ctx, testingPeerID, dns.CustomZone{}, validatedPeersMap, nil)
normalizeAndSortNetworkMap(networkMap)
@@ -329,7 +329,7 @@ func BenchmarkGetPeerNetworkMap_AfterPeerAdded(b *testing.B) {
for i := 0; i < b.N; i++ {
_ = builder.OnPeerAddedIncremental(newPeerID)
for _, testingPeerID := range peerIDs {
_ = builder.GetPeerNetworkMap(ctx, testingPeerID, dns.CustomZone{}, validatedPeersMap, nil, nil, nil)
_ = builder.GetPeerNetworkMap(ctx, testingPeerID, dns.CustomZone{}, validatedPeersMap, nil)
}
}
})
@@ -475,7 +475,7 @@ func TestGetPeerNetworkMap_Golden_New_WithOnPeerAddedRouter(t *testing.T) {
err := builder.OnPeerAddedIncremental(newRouterID)
require.NoError(t, err, "error adding router to cache")
networkMap := builder.GetPeerNetworkMap(ctx, testingPeerID, dns.CustomZone{}, validatedPeersMap, nil, nil, nil)
networkMap := builder.GetPeerNetworkMap(ctx, testingPeerID, dns.CustomZone{}, validatedPeersMap, nil)
normalizeAndSortNetworkMap(networkMap)
@@ -559,7 +559,7 @@ func BenchmarkGetPeerNetworkMap_AfterRouterPeerAdded(b *testing.B) {
for i := 0; i < b.N; i++ {
_ = builder.OnPeerAddedIncremental(newRouterID)
for _, testingPeerID := range peerIDs {
_ = builder.GetPeerNetworkMap(ctx, testingPeerID, dns.CustomZone{}, validatedPeersMap, nil, nil, nil)
_ = builder.GetPeerNetworkMap(ctx, testingPeerID, dns.CustomZone{}, validatedPeersMap, nil)
}
}
})
@@ -664,7 +664,7 @@ func TestGetPeerNetworkMap_Golden_New_WithOnPeerDeleted(t *testing.T) {
err := builder.OnPeerDeleted(deletedPeerID)
require.NoError(t, err, "error deleting peer from cache")
networkMap := builder.GetPeerNetworkMap(ctx, testingPeerID, dns.CustomZone{}, validatedPeersMap, nil, nil, nil)
networkMap := builder.GetPeerNetworkMap(ctx, testingPeerID, dns.CustomZone{}, validatedPeersMap, nil)
normalizeAndSortNetworkMap(networkMap)
@@ -796,7 +796,7 @@ func TestGetPeerNetworkMap_Golden_New_WithDeletedRouterPeer(t *testing.T) {
err := builder.OnPeerDeleted(deletedRouterID)
require.NoError(t, err, "error deleting routing peer from cache")
networkMap := builder.GetPeerNetworkMap(ctx, testingPeerID, dns.CustomZone{}, validatedPeersMap, nil, nil, nil)
networkMap := builder.GetPeerNetworkMap(ctx, testingPeerID, dns.CustomZone{}, validatedPeersMap, nil)
normalizeAndSortNetworkMap(networkMap)
@@ -856,7 +856,7 @@ func BenchmarkGetPeerNetworkMap_AfterPeerDeleted(b *testing.B) {
for i := 0; i < b.N; i++ {
_ = builder.OnPeerDeleted(deletedPeerID)
for _, testingPeerID := range peerIDs {
_ = builder.GetPeerNetworkMap(ctx, testingPeerID, dns.CustomZone{}, validatedPeersMap, nil, nil, nil)
_ = builder.GetPeerNetworkMap(ctx, testingPeerID, dns.CustomZone{}, validatedPeersMap, nil)
}
}
})

View File

@@ -35,6 +35,9 @@ type NetworkMapCache struct {
peerRoutes map[string]*PeerRoutesView
peerDNS map[string]*nbdns.Config
resourceRouters map[string]map[string]*routerTypes.NetworkRouter
resourcePolicies map[string][]*Policy
mu sync.RWMutex
}
@@ -88,6 +91,11 @@ func (b *NetworkMapBuilder) initialBuild(account *Account) {
b.buildGlobalIndexes(account)
resourceRouters := account.GetResourceRoutersMap()
resourcePolicies := account.GetResourcePoliciesMap()
b.cache.resourceRouters = resourceRouters
b.cache.resourcePolicies = resourcePolicies
for peerID := range account.Peers {
b.buildPeerACLView(account, peerID)
b.buildPeerRoutesView(account, peerID)
@@ -151,11 +159,10 @@ func (b *NetworkMapBuilder) buildPeerACLView(account *Account, peerID string) {
if peer == nil {
return
}
resourcePolicies := b.cache.resourcePolicies
resourceRouters := b.cache.resourceRouters
allPotentialPeers, firewallRules := account.GetPeerConnectionResources(ctx, peer, b.validatedPeers)
resourceRouters := account.GetResourceRoutersMap()
resourcePolicies := account.GetResourcePoliciesMap()
isRouter, networkResourcesRoutes, sourcePeers := account.GetNetworkResourcesRoutesToSync(ctx, peerID, resourcePolicies, resourceRouters)
var emptyExpiredPeers []*nbpeer.Peer
@@ -192,6 +199,8 @@ func (b *NetworkMapBuilder) buildPeerRoutesView(account *Account, peerID string)
if peer == nil {
return
}
resourcePolicies := b.cache.resourcePolicies
resourceRouters := b.cache.resourceRouters
view := &PeerRoutesView{
OwnRouteIDs: make([]route.ID, 0),
@@ -239,8 +248,6 @@ func (b *NetworkMapBuilder) buildPeerRoutesView(account *Account, peerID string)
}
}
resourceRouters := account.GetResourceRoutersMap()
resourcePolicies := account.GetResourcePoliciesMap()
_, networkResourcesRoutes, _ := account.GetNetworkResourcesRoutesToSync(ctx, peerID, resourcePolicies, resourceRouters)
for _, rt := range networkResourcesRoutes {
@@ -289,8 +296,6 @@ func (b *NetworkMapBuilder) GetPeerNetworkMap(
peerID string,
peersCustomZone nbdns.CustomZone,
validatedPeers map[string]struct{},
resourcePolicies map[string][]*Policy,
routers map[string]map[string]*routerTypes.NetworkRouter,
metrics *telemetry.AccountManagerMetrics,
) *NetworkMap {
start := time.Now()
@@ -710,13 +715,12 @@ func (b *NetworkMapBuilder) calculateNetworkResourceFirewallUpdates(
peerGroups []string,
updates map[string]*PeerUpdateDelta,
) {
resourcePolicies := account.GetResourcePoliciesMap()
routers := account.GetResourceRoutersMap()
for _, resource := range account.NetworkResources {
if !resource.Enabled {
continue
}
resourcePolicies := b.cache.resourcePolicies
resourceRouters := b.cache.resourceRouters
policies := resourcePolicies[resource.ID]
peerHasAccess := false
@@ -745,7 +749,7 @@ func (b *NetworkMapBuilder) calculateNetworkResourceFirewallUpdates(
continue
}
networkRouters := routers[resource.NetworkID]
networkRouters := resourceRouters[resource.NetworkID]
for routerPeerID, router := range networkRouters {
if !router.Enabled || routerPeerID == newPeerID {
continue