diff --git a/pkg/handler/connect.go b/pkg/handler/connect.go index 8a790658..0a8f2f03 100644 --- a/pkg/handler/connect.go +++ b/pkg/handler/connect.go @@ -848,18 +848,13 @@ func (c *ConnectOptions) getCIDR(ctx context.Context, m *dhcp.Manager) error { } // (2) get CIDR from cni - c.cidrs, err = util.GetCIDR(ctx, c.clientset, c.config, c.Namespace) - c.cidrs = util.RemoveCIDRsContainingIPs(util.RemoveLargerOverlappingCIDRs(c.cidrs), c.apiServerIPs) - if err == nil { - s := sets.New[string]() - for _, cidr := range c.cidrs { - s.Insert(cidr.String()) - } - return m.Set(ctx, config.KeyClusterIPv4POOLS, strings.Join(s.UnsortedList(), " ")) + cidrs := util.GetCIDR(ctx, c.clientset, c.config, c.Namespace) + c.cidrs = util.RemoveCIDRsContainingIPs(util.RemoveLargerOverlappingCIDRs(cidrs), c.apiServerIPs) + s := sets.New[string]() + for _, cidr := range c.cidrs { + s.Insert(cidr.String()) } - - // ignore error - return nil + return m.Set(ctx, config.KeyClusterIPv4POOLS, strings.Join(s.UnsortedList(), " ")) } func (c *ConnectOptions) addExtraRoute(ctx context.Context, name string) error { diff --git a/pkg/util/cidr.go b/pkg/util/cidr.go index a67820e5..8e2024a7 100644 --- a/pkg/util/cidr.go +++ b/pkg/util/cidr.go @@ -33,7 +33,7 @@ import ( // 2) grep cmdline // 3) create svc + cat *.conflist // 4) create svc + get pod ip with svc mask -func GetCIDR(ctx context.Context, clientset *kubernetes.Clientset, restconfig *rest.Config, namespace string) ([]*net.IPNet, error) { +func GetCIDR(ctx context.Context, clientset *kubernetes.Clientset, restconfig *rest.Config, namespace string) []*net.IPNet { defer func() { _ = clientset.CoreV1().Pods(namespace).Delete(context.Background(), config.CniNetName, v1.DeleteOptions{GracePeriodSeconds: pointer.Int64(0)}) }() @@ -70,7 +70,7 @@ func GetCIDR(ctx context.Context, clientset *kubernetes.Clientset, restconfig *r } } - return result, nil + return result } // ParseCIDRFromString diff --git a/pkg/util/cidr_test.go b/pkg/util/cidr_test.go index f6d61b56..245d9ef8 100644 --- a/pkg/util/cidr_test.go +++ b/pkg/util/cidr_test.go @@ -53,10 +53,10 @@ func TestByDumpClusterInfo(t *testing.T) { before() info, err := GetCIDRByDumpClusterInfo(context.Background(), clientset) if err != nil { - t.Error(err) + t.Log(err.Error()) } for _, ipNet := range info { - fmt.Println(ipNet.String()) + t.Log(ipNet.String()) } } @@ -64,19 +64,18 @@ func TestByCreateSvc(t *testing.T) { before() info, err := GetServiceCIDRByCreateService(context.Background(), clientset.CoreV1().Services("default")) if err != nil { - t.Error(err) + t.Log(err.Error()) + } + if info != nil { + t.Log(info.String()) } - fmt.Println(info) } func TestElegant(t *testing.T) { before() - elegant, err := GetCIDR(context.Background(), clientset, restconfig, namespace) - if err != nil { - t.Error(err) - } - for _, net := range elegant { - fmt.Println(net.String()) + elegant := GetCIDR(context.Background(), clientset, restconfig, namespace) + for _, ipNet := range elegant { + t.Log(ipNet.String()) } }