@@ -37,6 +37,7 @@ import (
3737 userdefinednetworkscheme "github.com/ovn-org/ovn-kubernetes/go-controller/pkg/crd/userdefinednetwork/v1/apis/clientset/versioned/scheme"
3838 userdefinednetworkinformer "github.com/ovn-org/ovn-kubernetes/go-controller/pkg/crd/userdefinednetwork/v1/apis/informers/externalversions/userdefinednetwork/v1"
3939 userdefinednetworklister "github.com/ovn-org/ovn-kubernetes/go-controller/pkg/crd/userdefinednetwork/v1/apis/listers/userdefinednetwork/v1"
40+ "github.com/ovn-org/ovn-kubernetes/go-controller/pkg/metrics"
4041 "github.com/ovn-org/ovn-kubernetes/go-controller/pkg/util"
4142)
4243
@@ -389,6 +390,14 @@ func (c *Controller) syncUserDefinedNetwork(udn *userdefinednetworkv1.UserDefine
389390 return nil , nil
390391 }
391392
393+ var role , topology string
394+ if udn .Spec .Layer2 != nil {
395+ role = string (udn .Spec .Layer2 .Role )
396+ } else if udn .Spec .Layer3 != nil {
397+ role = string (udn .Spec .Layer3 .Role )
398+ }
399+ topology = string (udn .Spec .Topology )
400+
392401 if ! udn .DeletionTimestamp .IsZero () { // udn is being deleted
393402 if controllerutil .ContainsFinalizer (udn , template .FinalizerUserDefinedNetwork ) {
394403 if err := c .deleteNAD (udn , udn .Namespace ); err != nil {
@@ -401,6 +410,7 @@ func (c *Controller) syncUserDefinedNetwork(udn *userdefinednetworkv1.UserDefine
401410 return nil , fmt .Errorf ("failed to remove finalizer to UserDefinedNetwork: %w" , err )
402411 }
403412 klog .Infof ("Finalizer removed from UserDefinedNetworks [%s/%s]" , udn .Namespace , udn .Name )
413+ metrics .DecrementUDNCount (role , topology )
404414 }
405415
406416 return nil , nil
@@ -412,6 +422,7 @@ func (c *Controller) syncUserDefinedNetwork(udn *userdefinednetworkv1.UserDefine
412422 return nil , fmt .Errorf ("failed to add finalizer to UserDefinedNetwork: %w" , err )
413423 }
414424 klog .Infof ("Added Finalizer to UserDefinedNetwork [%s/%s]" , udn .Namespace , udn .Name )
425+ metrics .IncrementUDNCount (role , topology )
415426 }
416427
417428 return c .updateNAD (udn , udn .Namespace )
@@ -539,6 +550,16 @@ func (c *Controller) syncClusterUDN(cudn *userdefinednetworkv1.ClusterUserDefine
539550 cudnName := cudn .Name
540551 affectedNamespaces := c .namespaceTracker [cudnName ]
541552
553+ var role , topology string
554+ if cudn .Spec .Network .Layer2 != nil {
555+ role = string (cudn .Spec .Network .Layer2 .Role )
556+ } else if cudn .Spec .Network .Layer3 != nil {
557+ role = string (cudn .Spec .Network .Layer3 .Role )
558+ } else if cudn .Spec .Network .Localnet != nil {
559+ role = string (cudn .Spec .Network .Localnet .Role )
560+ }
561+ topology = string (cudn .Spec .Network .Topology )
562+
542563 if ! cudn .DeletionTimestamp .IsZero () {
543564 if controllerutil .ContainsFinalizer (cudn , template .FinalizerUserDefinedNetwork ) {
544565 var errs []error
@@ -564,6 +585,7 @@ func (c *Controller) syncClusterUDN(cudn *userdefinednetworkv1.ClusterUserDefine
564585 }
565586 klog .Infof ("Finalizer removed from ClusterUserDefinedNetwork %q" , cudn .Name )
566587 delete (c .namespaceTracker , cudnName )
588+ metrics .DecrementCUDNCount (role , topology )
567589 }
568590
569591 return nil , nil
@@ -581,6 +603,7 @@ func (c *Controller) syncClusterUDN(cudn *userdefinednetworkv1.ClusterUserDefine
581603 return nil , fmt .Errorf ("failed to add finalizer to ClusterUserDefinedNetwork %q: %w" , cudnName , err )
582604 }
583605 klog .Infof ("Added Finalizer to ClusterUserDefinedNetwork %q" , cudnName )
606+ metrics .IncrementCUDNCount (role , topology )
584607 }
585608
586609 selectedNamespaces , err := c .getSelectedNamespaces (cudn .Spec .NamespaceSelector )
0 commit comments