layer1: log namespace manager summary
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
# 2026-04-26 — NamespaceManager rewrite, step 46
|
||||
|
||||
## Цель шага
|
||||
|
||||
Начать реальное использование `NamespaceManager.Summary()` в orchestration layer.
|
||||
|
||||
## Что меняем
|
||||
|
||||
1. Добавляем helper `LogNamespaceManagerSummary()`.
|
||||
2. `PrepareManagedNamespaceWatcher()` пишет summary после bootstrap.
|
||||
3. В лог попадают:
|
||||
- общее число namespace-ов;
|
||||
- subscriber-ы;
|
||||
- phase counts.
|
||||
|
||||
## Что НЕ меняем
|
||||
|
||||
- не экспортируем summary наружу через HTTP;
|
||||
- не меняем runtime behavior watcher-ов.
|
||||
@@ -113,9 +113,21 @@ func NewWatcherNamespaceManager(ctx context.Context, namespaces []string, source
|
||||
func PrepareManagedNamespaceWatcher(ctx context.Context, logger *zap.Logger, component string, namespaces []string, removalStrategy NamespaceRemovalStrategy, subscriber NamespaceSubscriber) (NamespaceManager, k8sCache.ResourceEventHandlerFuncs, error) {
|
||||
manager, err := NewWatcherNamespaceManager(ctx, namespaces, NamespaceSourceEnv, time.Now().UTC(), subscriber)
|
||||
handlers := NewNamespaceWatcherEventHandlers(ctx, logger, component, manager, removalStrategy)
|
||||
LogNamespaceManagerSummary(logger, component+": prepared namespace manager", manager.Summary())
|
||||
return manager, handlers, err
|
||||
}
|
||||
|
||||
func LogNamespaceManagerSummary(logger *zap.Logger, message string, summary NamespaceManagerSummary) {
|
||||
if logger == nil {
|
||||
return
|
||||
}
|
||||
logger.Info(message,
|
||||
zap.Int("total_namespaces", summary.TotalNamespaces),
|
||||
zap.Any("phase_counts", summary.PhaseCounts),
|
||||
zap.Strings("subscribers", summary.Subscribers),
|
||||
)
|
||||
}
|
||||
|
||||
func NamespaceBecameUnmanaged(oldNamespace *corev1.Namespace, newNamespace *corev1.Namespace) bool {
|
||||
if oldNamespace == nil || newNamespace == nil {
|
||||
return false
|
||||
|
||||
@@ -475,6 +475,10 @@ func TestNamespaceManagerSummary(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestLogNamespaceManagerSummaryWithNilLogger(t *testing.T) {
|
||||
LogNamespaceManagerSummary(nil, "ignored", NamespaceManagerSummary{TotalNamespaces: 1})
|
||||
}
|
||||
|
||||
func TestNamespaceManagerDispatchAdd(t *testing.T) {
|
||||
manager := NewNamespaceManager()
|
||||
manager.Upsert(NamespaceEvent{Type: NamespaceEventAdd, Name: "tenant-a", Source: NamespaceSourceWatcher})
|
||||
|
||||
Reference in New Issue
Block a user