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) {
|
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)
|
manager, err := NewWatcherNamespaceManager(ctx, namespaces, NamespaceSourceEnv, time.Now().UTC(), subscriber)
|
||||||
handlers := NewNamespaceWatcherEventHandlers(ctx, logger, component, manager, removalStrategy)
|
handlers := NewNamespaceWatcherEventHandlers(ctx, logger, component, manager, removalStrategy)
|
||||||
|
LogNamespaceManagerSummary(logger, component+": prepared namespace manager", manager.Summary())
|
||||||
return manager, handlers, err
|
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 {
|
func NamespaceBecameUnmanaged(oldNamespace *corev1.Namespace, newNamespace *corev1.Namespace) bool {
|
||||||
if oldNamespace == nil || newNamespace == nil {
|
if oldNamespace == nil || newNamespace == nil {
|
||||||
return false
|
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) {
|
func TestNamespaceManagerDispatchAdd(t *testing.T) {
|
||||||
manager := NewNamespaceManager()
|
manager := NewNamespaceManager()
|
||||||
manager.Upsert(NamespaceEvent{Type: NamespaceEventAdd, Name: "tenant-a", Source: NamespaceSourceWatcher})
|
manager.Upsert(NamespaceEvent{Type: NamespaceEventAdd, Name: "tenant-a", Source: NamespaceSourceWatcher})
|
||||||
|
|||||||
Reference in New Issue
Block a user