Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions api/metallb/clientset/v1beta1/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -87,13 +87,11 @@ func L2AdvertisementGVR() schema.GroupVersionResource {
}

var (
groupVersion = metallbv1.GroupVersion
groupVersion = schema.GroupVersion{Group: "metallb.io", Version: "v1beta1"}
Scheme = runtime.NewScheme()
)

func init() {
metallbv1.AddToScheme(Scheme)

metav1.AddToGroupVersion(Scheme, groupVersion)
metav1.AddMetaToScheme(Scheme)
}
Expand Down
9 changes: 2 additions & 7 deletions api/metallb/clientset/v1beta1/ipaddresspool.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ import (
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/watch"
"k8s.io/client-go/dynamic"
"sigs.k8s.io/controller-runtime/pkg/client/apiutil"
)

type addressPoolClient struct {
Expand Down Expand Up @@ -56,13 +55,9 @@ func (a *addressPoolClient) Get(ctx context.Context, name string, opts metav1.Ge
}

func (a *addressPoolClient) Create(ctx context.Context, pool *metallbv1.IPAddressPool, opts metav1.CreateOptions) (*metallbv1.IPAddressPool, error) {
gvk, err := apiutil.GVKForObject(pool, Scheme)
if err != nil {
return nil, fmt.Errorf("failed to get gvk for AddressPool: %w", err)
}
pool.TypeMeta = metav1.TypeMeta{
Kind: gvk.Kind,
APIVersion: gvk.GroupVersion().String(),
Kind: "IPAddressPool",
APIVersion: metallbv1.GroupVersion.String(),
}
obj, err := runtime.DefaultUnstructuredConverter.ToUnstructured(pool)
if err != nil {
Expand Down
9 changes: 2 additions & 7 deletions api/metallb/clientset/v1beta1/l2advertisement.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ import (
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/watch"
"k8s.io/client-go/dynamic"
"sigs.k8s.io/controller-runtime/pkg/client/apiutil"
)

type l2AdvertisementClient struct {
Expand Down Expand Up @@ -56,13 +55,9 @@ func (l *l2AdvertisementClient) Get(ctx context.Context, name string, opts metav
}

func (l *l2AdvertisementClient) Create(ctx context.Context, pool *metallbv1.L2Advertisement, opts metav1.CreateOptions) (*metallbv1.L2Advertisement, error) {
gvk, err := apiutil.GVKForObject(pool, Scheme)
if err != nil {
return nil, fmt.Errorf("failed to get gvk for AddressPool: %w", err)
}
pool.TypeMeta = metav1.TypeMeta{
Kind: gvk.Kind,
APIVersion: gvk.GroupVersion().String(),
Kind: "L2Advertisement",
APIVersion: metallbv1.GroupVersion.String(),
}
obj, err := runtime.DefaultUnstructuredConverter.ToUnstructured(pool)
if err != nil {
Expand Down
4 changes: 2 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,11 @@ require (
k8s.io/client-go v0.36.3
k8s.io/klog/v2 v2.140.0
k8s.io/utils v0.0.0-20260707023825-cf1189d6abe3
sigs.k8s.io/controller-runtime v0.24.1
sigs.k8s.io/yaml v1.6.0
)

require sigs.k8s.io/controller-runtime v0.24.1 // indirect

require (
bitbucket.org/creachadair/stringset v0.0.14 // indirect
cloud.google.com/go v0.123.0 // indirect
Expand All @@ -67,7 +68,6 @@ require (
github.com/docker/go-connections v0.8.1 // indirect
github.com/docker/go-units v0.5.0 // indirect
github.com/emicklei/go-restful/v3 v3.13.0 // indirect
github.com/evanphx/json-patch/v5 v5.9.11 // indirect
github.com/felixge/httpsnoop v1.1.0 // indirect
github.com/fsnotify/fsnotify v1.10.1 // indirect
github.com/fxamacker/cbor/v2 v2.9.1 // indirect
Expand Down
20 changes: 0 additions & 20 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,6 @@ github.com/aristanetworks/arista-ceoslab-operator/v2 v2.1.2 h1:1aAxwwu4xyfiU1/FX
github.com/aristanetworks/arista-ceoslab-operator/v2 v2.1.2/go.mod h1:/mvSt2fEmlVEU7dppip3UNz/MUt380f50dFsZRGn83o=
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ=
github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
github.com/carlmontanari/difflibgo v0.0.0-20210718194309-31b9e131c298 h1:Y8rTum6LZ8oP/2aC+OaaP76OCjHbunKMkim81mzNCH0=
Expand Down Expand Up @@ -75,8 +73,6 @@ github.com/envoyproxy/go-control-plane/envoy v1.37.0/go.mod h1:DReE9MMrmecPy+YvQ
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/envoyproxy/protoc-gen-validate v1.3.3 h1:MVQghNeW+LZcmXe7SY1V36Z+WFMDjpqGAGacLe2T0ds=
github.com/envoyproxy/protoc-gen-validate v1.3.3/go.mod h1:TsndJ/ngyIdQRhMcVVGDDHINPLWB7C82oDArY51KfB0=
github.com/evanphx/json-patch/v5 v5.9.11 h1:/8HVnzMq13/3x9TPvjG08wUGqBTmZBsCWzjTM0wiaDU=
github.com/evanphx/json-patch/v5 v5.9.11/go.mod h1:3j+LviiESTElxA4p3EMKAB9HXj3/XEtnUf6OZxqIQTM=
github.com/felixge/httpsnoop v1.1.0 h1:3YtUj32ZZkqZtt3sZZsClsymw/QDuVfpNhoA31zeORc=
github.com/felixge/httpsnoop v1.1.0/go.mod h1:Zqxgdd+1Rkcz8euOqdr7lqgCRJztwr5hp9vDSi5UZCE=
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
Expand All @@ -92,8 +88,6 @@ github.com/go-logr/logr v1.4.4 h1:tG4xh9yMsRCAiodLVTxyrkzSZ9+o0L1Kg/+cPVcbP/8=
github.com/go-logr/logr v1.4.4/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
github.com/go-logr/zapr v1.3.0 h1:XGdV8XW8zdwFiwOA2Dryh1gj2KRQyOOoNmBy4EplIcQ=
github.com/go-logr/zapr v1.3.0/go.mod h1:YKepepNBd1u/oyhd/yQmtjVXmm9uML4IXUgMOwR8/Gg=
github.com/go-openapi/jsonpointer v0.23.1 h1:1HBACs7XIwR2RcmItfdSFlALhGbe6S92p0ry4d1GWg4=
github.com/go-openapi/jsonpointer v0.23.1/go.mod h1:iWRmZTrGn7XwYhtPt/fvdSFj1OfNBngqRT2UG3BxSqY=
github.com/go-openapi/jsonreference v0.21.6 h1:NZ5nGfnaM1n4I43Xjm1e5/M2GjOwQwndQz22uhxwD+Y=
Expand Down Expand Up @@ -280,15 +274,7 @@ github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/prometheus/client_golang v1.23.2 h1:Je96obch5RDVy3FDMndoUsjAhG5Edi49h0RJWRi/o0o=
github.com/prometheus/client_golang v1.23.2/go.mod h1:Tb1a6LWHB3/SPIzCoaDXI4I8UHKeFTEQ1YCr+0Gyqmg=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk=
github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE=
github.com/prometheus/common v0.67.5 h1:pIgK94WWlQt1WLwAC5j2ynLaBRDiinoAb86HZHTUGI4=
github.com/prometheus/common v0.67.5/go.mod h1:SjE/0MzDEEAyrdr5Gqc6G+sXI67maCxzaT3A2+HqjUw=
github.com/prometheus/procfs v0.20.1 h1:XwbrGOIplXW/AU3YhIhLODXMJYyC1isLFfYCsTEycfc=
github.com/prometheus/procfs v0.20.1/go.mod h1:o9EMBZGRyvDrSPH1RqdxhojkuXstoe4UlK79eF5TGGo=
github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
Expand Down Expand Up @@ -376,10 +362,6 @@ go.opentelemetry.io/proto/otlp v1.11.0 h1:5rrYs0Ykyj50sdU/JU0x8etU+LubXWb+gED6Tb
go.opentelemetry.io/proto/otlp v1.11.0/go.mod h1:SmVizdCOAm3XBtG1g1NnOdhW6jtddT72hLMhv8VwA8E=
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
go.uber.org/zap v1.27.1 h1:08RqriUEv8+ArZRYSTXy1LeBScaMpVSTBhCeaZYfMYc=
go.uber.org/zap v1.27.1/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
go.universe.tf/metallb v0.16.1 h1:iVtjCslcUFMOEvuNeAyW2ygZxyW+6YjnNcEuCTOZezc=
go.universe.tf/metallb v0.16.1/go.mod h1:bcFtsBPqKJChcT7gf4bhRtR6HAu8TeY7OGLYanK2tOQ=
go.yaml.in/yaml/v2 v2.4.4 h1:tuyd0P+2Ont/d6e2rl3be67goVK4R6deVxCUX5vyPaQ=
Expand Down Expand Up @@ -530,8 +512,6 @@ honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWh
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
k8s.io/api v0.36.3 h1:NxB+05W2UGqXWFXcLO0RB5cnqnUPP5v5sVlaOH0Iz4w=
k8s.io/api v0.36.3/go.mod h1:JzLQKqRHC5+I8RVj/lS3lCg0mg6nWI9Fo/Sk3ElxHzg=
k8s.io/apiextensions-apiserver v0.36.0 h1:Wt7E8J+VBCbj4FjiBfDTK/neXDDjyJVJc7xfuOHImZ0=
k8s.io/apiextensions-apiserver v0.36.0/go.mod h1:kGDjH0msuiIB3tgsYRV0kS9GqpMYMUsQ3GHv7TApyug=
k8s.io/apimachinery v0.36.3 h1:PkzMRBRG8joFD8EhCuQAtNPvJlxb82FwplP26HIzvAM=
k8s.io/apimachinery v0.36.3/go.mod h1:cTSjBWgPe/6CQyBKzY/hDIRWCQQQeK0mfLbml0UYFHE=
k8s.io/client-go v0.36.3 h1:M4JdVzXxYcZk4fGpfDdYnxSwhLKWCFoQsHW6t+z8Hfg=
Expand Down
2 changes: 1 addition & 1 deletion manifests/meshnet/grpc/manifest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -326,7 +326,7 @@ spec:
hostNetwork: true
hostPID: true
nodeSelector:
beta.kubernetes.io/arch: amd64
kubernetes.io/arch: amd64
serviceAccountName: meshnet
terminationGracePeriodSeconds: 30
tolerations:
Expand Down
2 changes: 1 addition & 1 deletion manifests/meshnet/vxlan/manifest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -326,7 +326,7 @@ spec:
hostNetwork: true
hostPID: true
nodeSelector:
beta.kubernetes.io/arch: amd64
kubernetes.io/arch: amd64
serviceAccountName: meshnet
terminationGracePeriodSeconds: 30
tolerations:
Expand Down
9 changes: 2 additions & 7 deletions third_party/meshnet/api/clientset/v1beta1/topology.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ import (
"k8s.io/client-go/dynamic"
"k8s.io/client-go/kubernetes/scheme"
"k8s.io/client-go/rest"
"sigs.k8s.io/controller-runtime/pkg/client/apiutil"

topologyv1 "github.com/openconfig/kne/third_party/meshnet/api/types/v1beta1"
)
Expand Down Expand Up @@ -134,13 +133,9 @@ func (t *topologyClient) Get(ctx context.Context, name string, opts metav1.GetOp
}

func (t *topologyClient) Create(ctx context.Context, topology *topologyv1.Topology, opts metav1.CreateOptions) (*topologyv1.Topology, error) {
gvk, err := apiutil.GVKForObject(topology, topologyv1.Scheme)
if err != nil {
return nil, fmt.Errorf("failed to get gvk for Topology: %w", err)
}
topology.TypeMeta = metav1.TypeMeta{
Kind: gvk.Kind,
APIVersion: gvk.GroupVersion().String(),
Kind: "Topology",
APIVersion: topologyv1.SchemeGroupVersion.String(),
}
obj, err := runtime.DefaultUnstructuredConverter.ToUnstructured(topology)
if err != nil {
Expand Down
2 changes: 1 addition & 1 deletion third_party/meshnet/manifests/base/daemonset.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ spec:
hostIPC: true
serviceAccountName: meshnet
nodeSelector:
beta.kubernetes.io/arch: amd64
kubernetes.io/arch: amd64
tolerations:
- operator: Exists
effect: NoSchedule
Expand Down
47 changes: 19 additions & 28 deletions topo/node/nokia/nokia.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,12 @@ import (
"google.golang.org/protobuf/proto"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/apimachinery/pkg/fields"
runtime "k8s.io/apimachinery/pkg/runtime"
"k8s.io/client-go/rest"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/client-go/dynamic"
log "k8s.io/klog/v2"
ctrlclient "sigs.k8s.io/controller-runtime/pkg/client"
)

const (
Expand All @@ -39,9 +40,11 @@ var (
// ErrIncompatibleCliConn raised when an invalid scrapligo cli transport type is found.
ErrIncompatibleCliConn = errors.New("incompatible cli connection in use")

// newSrlinuxClient returns a controller-runtime client for srlinux
// resources. This can be set to a fake for unit testing.
newSrlinuxClient = newSrlinuxClientWithSchema
srlGVR = schema.GroupVersionResource{
Group: srlinuxv1.GroupVersion.Group,
Version: srlinuxv1.GroupVersion.Version,
Resource: "srlinuxes",
}

defaultConstraints = node.Constraints{
CPU: "2000m", // 2000 milliCPUs
Expand Down Expand Up @@ -114,19 +117,6 @@ func New(nodeImpl *node.Impl) (node.Node, error) {
return n, nil
}

// newSrlinuxClientWithSchema returns a controller-runtime client for srlinux and loads its schema.
func newSrlinuxClientWithSchema(c *rest.Config) (ctrlclient.Client, error) {
// initialize the controller-runtime client with srlinux scheme
scheme := runtime.NewScheme()

err := srlinuxv1.AddToScheme(scheme)
if err != nil {
return nil, err
}

return ctrlclient.New(c, ctrlclient.Options{Scheme: scheme})
}

type Node struct {
*node.Impl
cliConn *scraplinetwork.Driver
Expand Down Expand Up @@ -297,12 +287,18 @@ func (n *Node) Create(ctx context.Context) error {
Version: n.GetProto().GetVersion(),
},
}
c, err := newSrlinuxClient(n.RestConfig)
srlMap, err := runtime.DefaultUnstructuredConverter.ToUnstructured(srl)
if err != nil {
return err
}
srlUnstructured := &unstructured.Unstructured{Object: srlMap}

if err := c.Create(ctx, srl); err != nil {
c, err := dynamic.NewForConfig(n.RestConfig)
if err != nil {
return err
}

if _, err := c.Resource(srlGVR).Namespace(n.Namespace).Create(ctx, srlUnstructured, metav1.CreateOptions{}); err != nil {
return err
}

Expand Down Expand Up @@ -368,16 +364,11 @@ func (n *Node) DefaultNodeConstraints() node.Constraints {
}

func (n *Node) Delete(ctx context.Context) error {
c, err := newSrlinuxClient(n.RestConfig)
c, err := dynamic.NewForConfig(n.RestConfig)
if err != nil {
return err
}
err = c.Delete(ctx, &srlinuxv1.Srlinux{
ObjectMeta: metav1.ObjectMeta{
Namespace: n.GetNamespace(), Name: n.Name(),
},
})
if err != nil {
if err := c.Resource(srlGVR).Namespace(n.Namespace).Delete(ctx, n.Name(), metav1.DeleteOptions{}); err != nil {
return err
}
if err := n.DeleteService(ctx); err != nil {
Expand Down
Loading