These 79 commits are when the Protocol Buffers files have changed:
| Commit: | 20bd60e | |
|---|---|---|
| Author: | Kris Raney | |
| Committer: | GitHub | |
[meshnet] multiplex tcp streams for a node pair (#733) * [meshnet] multiplex tcp streams for a node pair 1. Created nodeStreamManager (stream_manager.go): • Keyed by nodeStreamKey{ topoNs string, peerIP string }. • Opens only one gRPC connection (grpc.Dial) and only one SendToStream bidirectional streaming RPC per (peerIP, topoNs) pair. • Includes reference counting (GetOrCreateStream / ReleaseStream). When the last wire for a topology targeting a peer node is removed, the shared stream and gRPC connection close gracefully. • Features a high-capacity buffered channel (10,000 packet queue) and dedicated sender worker loop with automatic reconnect logic. 2. Updated TAP Reader Threads (grpcwire.go): • Modified RecvFrmLocalPodThread so TAP readers no longer execute individual grpc.Dial or SendToStream calls. • Each TAP reader now acquires the shared topology stream via nodeStream := streamMgr.GetOrCreateStream(wire. TopoNamespace, wire.PeerNodeIP) and multiplexes packets into nodeStream.Send(payload). 3. Per-Topology Isolation: • Topology topo-A and topology topo-B running between the same pair of physical nodes maintain completely separate gRPC connections and streams. * [meshnet] Reduce startup time for large meshes The base design had a lot of single-interface RPCs to update k8s and remote meshnets. For large numbers of links it costs a lot of serial round trip wait time. This batches things and pipelines them so that we avoid a lot of unnecessary overhead delay at start time. * Review comments - multi-topology and general dead code cleanup ### 1. Unused getEnvString in sys_tune.go • Removed the unused private helper sys_tune.go. ────── ### 2. Remove gwire_recon.go • Removed the obsolete single-wire gwire_recon.go function, as all updates are now handled by gwire_recon.go. • Updated the gwire_recon.go doc comment. ────── ### 3. Namespace Isolation in Status Batch Updates • Problem: gwire_recon.go used updates[0].wire.TopoNamespace for the entire batch, which caused cross-namespace collisions when multiple topologies ran on the same cluster. • Fix: Updated gwire_recon.go to group updates by statusGroupKey{nodeName, topoNs} and delegate each group to gwire_recon.go. • Added unit test gwire_recon_test.go in gwire_recon_test.go to verify concurrent multi-namespace status updates. ────── ### 4. Unused s.conn and s.mu in stream_manager.go • s.conn was assigned in run() but never read elsewhere because the active connection lifecycle is managed directly by drainAndSend(ctx, cancel, conn, stream) (which closes conn in its defer block upon termination). • Removed the unused conn and mu fields from stream_manager.go along with the redundant mutex locking. ────── ### 5. Additional Dead Code Cleanup • **grpcwire.go**: • Removed unused (w *wireMap) Delete method. • Simplified grpcwire.go to delegate to grpcwire.go, eliminating duplicated locking and update logic. • **gwire_map.go**: • Removed unused (w *wireMap) DeleteWoLock method. • **handler.go**: • Removed commented-out legacy call in handler.go. * Fix AI-discovered issues #### 1. Status Queue Deadlocks & Ghost Wires • gwire_recon.go: • Replaced the scalar flushSignal chan struct{} in gwire_recon.go with a slice (flushSignals []chan struct{}) so all flush requests in a batch are tracked and closed without overwrites. • Added wire.mu.Lock() / wire.mu.Unlock() to gwire_recon.go to eliminate data races against concurrent peer updates. • Added gwire_recon.go to gwire_recon.go before calling deleteGRPCWireStatus. • Added in-memory presence checks via grpcwire.go in gwire_recon.go and gwire_recon.go to prevent writing deleted wires back into K8s. • Handled apierrors.IsNotFound(err) gracefully in gwire_recon.go. #### 2. Leaked TAP File Descriptors on Wire Deletion • gwire_map.go & grpcwire.go: • Added wires.CloseAndRemoveHandle(key) to close the underlying *os.File and delete it from wires.handles. • Updated gwire_map.go to avoid deleting the handle prematurely before grpcwire.go closes it. • Updated grpcwire.go and gwire_map.go to close and remove TAP file descriptors. #### 3. Goroutine & Buffer Leak on Teardown • grpcwire.go: • Made packet channel writes in grpcwire.go select on <-wire.StopC. If teardown occurs, the reader immediately returns the buffer to packetPool and exits cleanly. #### 4. Controller Batch Error Handling & Bounds Checking • controller.go: • Added nil checks for batchResp and slice bounds validation against chunkLinks. • Captured individual remote link creation failures and returned an aggregate errors.Join(batchErrs...) from controller.go so the reconciler retries when remote wire setup fails. #### 5. Duplicate Packet Receive Goroutines & Stream Refcount Leaks • gwire_rpc_handlers.go & handler.go: • Updated gwire_rpc_handlers.go to return (wire *GRPCWire, created bool, err error). • Updated handler.go and handler.go to only spawn grpcwire.go when created == true. #### 6. Throttled Reconnection on Send Errors • stream_manager.go: • Added a backoff delay in stream_manager.go after stream_manager.go returns due to connection drops, preventing 100% CPU spin loops while continuing to respect stopChan.
| Commit: | 12725d8 | |
|---|---|---|
| Author: | Kris Raney | |
| Committer: | GitHub | |
Remove limitation preventing high link counts (#717) * Add testing specifically for the 1500 link case * Use pod affinity / antiaffinity for determinism Rather than leaving it to chance, explicitly make a test for local veth vs remote vxlan * Create a helper to replace koko This has these properties for better performance * Gathers all changes for a given pod (i.e. netns) into a batch * Sets up veths, moves them, etc within a single netns context change for the pod batch. (Well, actually two.) * Uses deterministic names so that idempotent recovery from a mid-batch crash is doable. * Shift the work of creating interfaces to meshnetd This simplifies the CNI plugin so that it can reliably return within K8s' time limit. It has meshnetd do the work of creating interfaces and moving them into the pod's netns. This has important benefits * It eliminates the skip / don't skip multiprocess coordination between paired pods, which otherwise causes many network round trips both between the plugin and meshnetd, and also meshnetd and kubeapi. * Meshnetd can much more easily batch operations within a pod namespace. This reduces the number of expensive netns system calls with large numbers of links It has a side effect that the CNI plugin returns before all interfaces are present. (Really, before ANY are present.) That lets the pod go RUNNING before the interfaces are ready. However, this was always true for interfaces that are skipped (that is, the other end of the link is responsible for setting it up.) The init-wait container already exists to address this already-present problem. * Use init-wait to make sure all interfaces are present Before the pod is running, thus before pings happen * Have the CNI plugin wait for link up This is bounded, it waits for up to 5 seconds. For existing common small topologies, this will make sure the interfaces are all ready before the pod is considered running (before the main container starts.) This is actually an improvement over the prior code, since the prior code didn't account for skipped interfaces (ones where the other pod is responsible for creating it.) This implementation does consider that. If creation takes longer than the limit, then CNI plugin returns to avoid any risk of timeouts. The container can start, but will need to wait for interfaces to show up asynchronously. The existing init-wait image, used as an init container, already addresses this case (because of the skipped links before.) * Cover vxlan and grpcwire cases also veth local proved the change works to allow 1500 interfaces, so now fix the other modes under the new implementation. This CL moves the responsibility of plumbing remote links (VXLAN and gRPC wires) from the CNI plugin to the meshnetd controller. - Extended wireutil.PodLinkConfig to parse peer_intf and peer_ip. - Implemented stateless remote VXLAN tunnel creation inside the controller loop. - Implemented remote gRPC wire dialing and connection establishment initiated by the higher-priority node. - Fixed a lookup key mismatch in the daemon's in-memory wires database, aligning it to use the netNS path instead of the Kubernetes namespace. - Fixed a bug where AddWireInMemNDataStore was overriding the wire's readiness state, preventing peer interface ID updates. * Allocate VXLAN VNIs in namespace-isolated blocks Calculates VXLAN VNIs using a namespace-specific block offset to prevent VNI conflicts when multiple topology namespaces are deployed on the same Kind nodes. - Added wireutil.NamespaceVNIOffset helper to hash the namespace name to a 24-bit VNI block. - Updated daemon controller to compute VNI using the namespace offset. * Report network plumbing errors in Topology resource status Extends the Topology CRD schema and daemon controller to propagate plumbing errors (such as VNI conflicts) back to Kubernetes, making troubleshooting much easier. - Added status.plumbing_error field to Topology CRD validation schema. - Added deepcopy annotations to Topology substructs and regenerated zz_generated.deepcopy.go. - Wrapped ReconcilePodLinks to write back errors to status.plumbing_error on failure, and clear them on success. - Propagated MakeVxLan errors out of vxlan.CreateOrUpdate instead of swallowing them. - Mark skipped field as deprecated * Have CNI wait for 15 seconds The goal of this delay is to prevent a behavior change for existing common case tests that are quick to come up. This has the CNI plugin wait till interfaces are all ready, so in these simple cases init-wait isn't necessary. This change adds a little more margin in support of that. * Use the CNI plugin start time to set a deadline This way even if the early work causes delays, we're bounded within the CNI plugin's deadline * [meshnet] Update kustomize so it doesn't break lint To avoid needing to manually fix this every time * Fix protolint errors --------- Co-authored-by: marcushines <80116818+marcushines@users.noreply.github.com>
| Commit: | c7bd450 | |
|---|---|---|
| Author: | marcushines | |
| Committer: | GitHub | |
Add initial support for Ciena (saos and waverouter) (#708) * Add initial support for Ciena (saos and waverouter) * Modified proto/topo/topo.proto * add Ciena vendor and ciena_saos type * Modified proto/topo/topo.pb.go * changes generated by topo.proto * Modified topo/topo.go * add ciena node into import * Added topo/node/ciena/ciena.go * ciena node implementation * Added proto/ciena.proto * add Ciena proto - define Ciena specific vendor data for KNE * Added proto/ciena/ciena.pb.go * file generated by proto/ciena.proto * fix lint issue and comments * fix markdown and json errors * fix markdown lint * Fix linter errors --------- Co-authored-by: Anh Nguyen <tranguye@ciena.com> Co-authored-by: Brandon Stoll <bstoll@users.noreply.github.com>
| Commit: | f57ab15 | |
|---|---|---|
| Author: | marcushines | |
| Committer: | GitHub | |
Merge branch 'main' into hines-fork
| Commit: | 6aa288a | |
|---|---|---|
| Author: | Kris Raney | |
| Committer: | GitHub | |
Import meshnet under KNE maintenance (#709)
| Commit: | a0448bb | |
|---|---|---|
| Author: | Anh Nguyen | |
| Committer: | Marcus Hines | |
Add initial support for Ciena (saos and waverouter) * Modified proto/topo/topo.proto * add Ciena vendor and ciena_saos type * Modified proto/topo/topo.pb.go * changes generated by topo.proto * Modified topo/topo.go * add ciena node into import * Added topo/node/ciena/ciena.go * ciena node implementation * Added proto/ciena.proto * add Ciena proto - define Ciena specific vendor data for KNE * Added proto/ciena/ciena.pb.go * file generated by proto/ciena.proto
| Commit: | 4acfd5f | |
|---|---|---|
| Author: | marcushines | |
| Committer: | GitHub | |
Add Sonic node type (#701) * Add Sonic node type * fix formating
The documentation is generated from this commit.
| Commit: | 2f54ebf | |
|---|---|---|
| Author: | pranaysameer | |
| Committer: | GitHub | |
Add support for IN_CLUSTER_PROXY node type (#681) * Add support for IN_CLUSTER_PROXY node type - Update proto/topo.proto with `IN_CLUSTER_PROXY` in Vendor and `Node.Type` enums. - Create `topo/node/inclusterproxy` package implementing `Node` interface. - Set default image to `nicolaka/netshoot:latest` and enforce at least 1 `Service`. - Enforce link constraints to allow exactly one interface (`eth1`). - Add warning if `socat` is missing from `Command` or `Args`. - Update `topo/topo.go` to register the new node type. - Add unit tests in `topo/node/inclusterproxy/inclusterproxy_test.go`. * Add support for IN_CLUSTER_PROXY node type - Update proto/topo.proto with `IN_CLUSTER_PROXY` in Vendor and `Node.Type` enums. - Create `topo/node/inclusterproxy` package implementing `Node` interface. - Set default image to `nicolaka/netshoot:latest` and enforce at least 1 `Service`. - Enforce link constraints to allow exactly one interface (`eth1`). - Enforce that `proxy-pool-for` label is present in static configuration. - Add static validation assuring `eth1` is connected directly to the node given in `proxy-pool-for`. - Add automatic `socat` command generation using `peer-ip` and `target-port` labels: - Supports IPv4 address allocation arithmetic using `/31` masks. - Adds IPv6 support using `/127` arithmetic and handles `TCP6-LISTEN` argument switches. - Update `topo/topo.go` to register the new node type. - Update `topo/topo.go` to register the new node type. - Add unit tests in `topo/node/inclusterproxy/inclusterproxy_test.go`. * Fix config labels for peer ip * Rename calculateStaticIP to deriveAdjacentIP * Fix typos * Fix failing valid_pb_with_automatic_generation_ipv * Fix lint errors
| Commit: | 3560302 | |
|---|---|---|
| Author: | jasdeep-hundal | |
| Committer: | GitHub | |
Default to kne-external for all publicly available container images (#639) * Add image repository option for kubeadm deployments Add image repository option for kubeadm deployments, defaulting to the 'kne-external' repo used elsewhere in KNE. * Regenerate protos after adding image_repository field * Substitute repo for default containerd pause image * Arista node should use default init image * IxiaTG node should use default init image * Nokia node should use default init image
| Commit: | 99f3ff9 | |
|---|---|---|
| Author: | Jasdeep Hundal | |
| Committer: | Jasdeep Hundal | |
Add image repository option for kubeadm deployments Add image repository option for kubeadm deployments, defaulting to the 'kne-external' repo used elsewhere in KNE.
| Commit: | 7e50460 | |
|---|---|---|
| Author: | marcushines | |
| Committer: | Neha Manjunath | |
Fix for adding topology into the return of create topology (#617)
| Commit: | 22c3268 | |
|---|---|---|
| Author: | marcushines | |
| Committer: | GitHub | |
Fix for adding topology into the return of create topology (#617)
| Commit: | 38d759c | |
|---|---|---|
| Author: | Marcus Hines | |
| Committer: | Marcus Hines | |
Fix for adding topology into the return of create topology
| Commit: | 1c32b83 | |
|---|---|---|
| Author: | Daniel Grau | |
| Committer: | GitHub | |
Add support for additional files for Alpine (#564)
| Commit: | 874ad9a | |
|---|---|---|
| Author: | William Dye | |
| Committer: | GitHub | |
Add inside_ip to node and populate it in topo.Show (#559) * Add inside_ip to node and populate it in topo.Show * Rename inside_ip to pod_ip and update proto comment
| Commit: | 9dcbf29 | |
|---|---|---|
| Author: | Alex Masi | |
| Committer: | GitHub | |
Add FORWARD node type and implementation (#552) * Add intf read/writer * add fwd node type definition * fix fwd proto * add forward container * add license * fix test * lint * lint
| Commit: | 49dfbf2 | |
|---|---|---|
| Author: | Alex Masi | |
lint
| Commit: | 396ff82 | |
|---|---|---|
| Author: | Alex Masi | |
fix fwd proto
| Commit: | 3d799bf | |
|---|---|---|
| Author: | Alex Masi | |
add fwd node type definition
| Commit: | 3929cc9 | |
|---|---|---|
| Author: | Alex Masi | |
| Committer: | GitHub | |
Add external grpc wire support (#548) * add grpc wire * cleanup file structure * remove bin * implement common wire library * fix goroutines * go mod tidy * lint * add tests * add license
| Commit: | a1790f7 | |
|---|---|---|
| Author: | Alex Masi | |
add cert type
| Commit: | a682615 | |
|---|---|---|
| Author: | Alex Masi | |
| Committer: | GitHub | |
Add credential provider option to kubeadm (#533) * Add credential provider option to kubeadm * add unit test * fix string manipulation
| Commit: | a48ea9f | |
|---|---|---|
| Author: | Alex Masi | |
| Committer: | GitHub | |
Add Kubeadm to topology manager (#527) Add functionality to topology manager to get information about cluster token
| Commit: | 97d11f1 | |
|---|---|---|
| Author: | NehaManjunath | |
| Committer: | GitHub | |
Proto changes (#522) * Proto changes * Fix linter --------- Co-authored-by: Neha Manjunath <nehamanjunath@google.com>
| Commit: | 9bd8580 | |
|---|---|---|
| Author: | Neha Manjunath | |
Fix linter
| Commit: | bfcf7e8 | |
|---|---|---|
| Author: | Neha Manjunath | |
Merge branch 'main' into interface-type
| Commit: | 5e92c29 | |
|---|---|---|
| Author: | Alex Masi | |
| Committer: | GitHub | |
Add kubeadm join to topo manager (#521) add kubeadm join to topo manager
| Commit: | 66ccbc0 | |
|---|---|---|
| Author: | Neha Manjunath | |
Proto changes
| Commit: | ed02645 | |
|---|---|---|
| Author: | David Avnerson | |
| Committer: | GitHub | |
Adding Drivenets vendor (#480) * Adding Drivenets Vendor support * Adding Drivenets Vendor support * update vendor service defaults * modified after review * go mod tidy + go fmt * create Volume based on configMap * use errdif for unit test and modified controller.proto * added default config file and path
| Commit: | bf42d07 | |
|---|---|---|
| Author: | Alex Masi | |
| Committer: | GitHub | |
remove trailing whitespace (#487)
| Commit: | ce83887 | |
|---|---|---|
| Author: | NehaManjunath | |
| Committer: | GitHub | |
Support multiple services in topo proto (#486) Co-authored-by: Neha Manjunath <nehamanjunath@google.com>
| Commit: | 4c0bf99 | |
|---|---|---|
| Author: | Neha Manjunath | |
Support multiple services in topo proto
| Commit: | 47b283f | |
|---|---|---|
| Author: | sonikajindal | |
| Committer: | GitHub | |
Alpine kne node for Alpine Virtual Switch (#470) * Add Alpine KNE node * Add Alpine node type * Add alpine proto * Fix test topo * Add name of dataplane container * Fix pod creation * Add alpine test topology proto * Add unittest * Address review comments * Address review comments * Address review comments * Add Todo for constraint * Add Todo for constraint * Add Todo for constraint * Fix unittest and formatting * Fix * Fix * Fix * Fix linter error * Fix linter error
| Commit: | 7ecf53e | |
|---|---|---|
| Author: | Alex Masi | |
| Committer: | GitHub | |
Add apply kubeyaml rpc to KNE grpc server (#464) * Add apply cmd to KNE * fix impl * address comments * linter * add tests * linter
| Commit: | f2da5fc | |
|---|---|---|
| Author: | Alex Masi | |
| Committer: | GitHub | |
fix trailing whitespace and update comment (#418) * fix trailing whitespace and update comment * fix lint
| Commit: | 62666fe | |
|---|---|---|
| Author: | NehaManjunath | |
| Committer: | GitHub | |
Proto changes for host constraints (#415) * Proto changes for host constraints * Fix linter issues * Resolve comments * Review comments * Incorporate comments * Address comment --------- Co-authored-by: Neha Manjunath <nehamanjunath@google.com>
| Commit: | 68c2b78 | |
|---|---|---|
| Author: | Alex Masi | |
| Committer: | GitHub | |
Add event proto (#387) * Add event proto * fix formatting * fmt proto * Add comments to proto
| Commit: | b5b54b9 | |
|---|---|---|
| Author: | marcushines | |
| Committer: | GitHub | |
Fix trailing whitespace in topo.proto (#334)
| Commit: | c6aa7b2 | |
|---|---|---|
| Author: | marcushines | |
| Committer: | GitHub | |
Add multivendor topology and valid configurations for ceos and xrd (#321) fix AS and isis loopback fix external port numbers Make new comments based on services clarification
| Commit: | 94b0065 | |
|---|---|---|
| Author: | Alex Masi | |
| Committer: | GitHub | |
Revert "Revert "Support specify manifests/operators as both raw data … (#320) * Revert "Revert "Support specify manifests/operators as both raw data and filepaths" (#319)" This reverts commit 2bacfe39af92d8b5037d9b22d6d41271907c7c7b. * Add backwards compat * Remove changes to api * revert debug change
| Commit: | 2bacfe3 | |
|---|---|---|
| Author: | marcushines | |
| Committer: | GitHub | |
Revert "Support specify manifests/operators as both raw data and filepaths" (#319) Revert "Support specify manifests/operators as both raw data and filepaths (#317)" This reverts commit eef1a2d88de166722b66270a464e924bea0c7135.
| Commit: | eef1a2d | |
|---|---|---|
| Author: | Alex Masi | |
| Committer: | GitHub | |
Support specify manifests/operators as both raw data and filepaths (#317) * Update proto fields * Support raw data and filepaths * Support files or data * fix tests * retain existing proto fields, deprecated to delete later * Lint
| Commit: | 5859e7f | |
|---|---|---|
| Author: | Daniel Grau | |
| Committer: | GitHub | |
Lemming node impl uses operator (#275) * Lemming node impl uses operator * init image * use the right commit for lemming + test fix * feedback
| Commit: | 01303ee | |
|---|---|---|
| Author: | Alex Masi | |
| Committer: | GitHub | |
Add external cluster option to specify docker network name (#263) * Add external cluster option to specify docker network name * Add example external dep cfg * fix proto
| Commit: | 420b39b | |
|---|---|---|
| Author: | Oscar Frasier | |
| Committer: | GitHub | |
Add vendor data, update arista operator to v2.0.1 (#253) - Add a vendor_data field to the node proto This allows the arista node to override feature toggles and block startup acknowledgement on certain internal processes. - Define an arista-specific config type This is in proto/ceos and define APIs for the above features - Upgrade to the v2.0.1 of the arista operator A new major version was needed for a breaking change related to testing. The existing uint32 fields did not serialize properly when using the dynamic fake, which was needed to test the CRD generation with vendor-specific data (and address a general coverage gap, too). - Switch to the arista operator dynamic client Previously, we were using the REST client.
| Commit: | 6a700bf | |
|---|---|---|
| Author: | Alex Masi | |
| Committer: | GitHub | |
Add external cluster type (#245) * Add external cluster type * Add extra health check * lint * Generate protos * fix broken presubmit
| Commit: | fe05480 | |
|---|---|---|
| Author: | Alex Masi | |
| Committer: | GitHub | |
Remove references to node type (#244) * Remove references to node type * Fix tests * Deprecate field instead of reserving it for now
| Commit: | 9c3f3a8 | |
|---|---|---|
| Author: | Alex Masi | |
| Committer: | GitHub | |
Add controllers to manifests (#221) * Add controllers to manifests * cleanup tests and protos * Simplify manifests * Fix container versions * srl version
| Commit: | 6d57b9f | |
|---|---|---|
| Author: | Alex Masi | |
| Committer: | GitHub | |
Add arista operator deployment in kne (#214) * Add arista operator deployment in kne * Update cli * fix cisco
| Commit: | 1a11a00 | |
|---|---|---|
| Author: | Daniel Grau | |
| Committer: | GitHub | |
Add basic lemming node implementation (#206) * Add basic lemming node implementation * feedback * feedback * Fix linter to use existing protolint.yaml * move lint config
| Commit: | 1e161cb | |
|---|---|---|
| Author: | Alex Masi | |
| Committer: | GitHub | |
Add proto fields for controller push/reset cfg rpcs (#190)
| Commit: | b0820c4 | |
|---|---|---|
| Author: | Alex Masi | |
| Committer: | GitHub | |
Add srl controller to `kne_cli deploy` (#174) * Add srlinux controller to deployment * Fix cli + server for srl * Add tests * Fix protoc version * linter * Linter * update proto enum * linter * Fix rebase * Fix more rebase issues
| Commit: | 5bf2e31 | |
|---|---|---|
| Author: | Alex Masi | |
Update proto packages
| Commit: | 02c13da | |
|---|---|---|
| Author: | Ashutosh Kumar | |
| Committer: | GitHub | |
Added support for annotating interface groups in KNE topology (#146) * added support for annotating interface groups in KNE topology * added examples for topology containing interface groups * upgraded protoc-gen-go
| Commit: | ec2e970 | |
|---|---|---|
| Author: | marcushines | |
| Committer: | GitHub | |
create generate file for protos to keep them synced (#144)
| Commit: | 9a10c7b | |
|---|---|---|
| Author: | alexmasi | |
fix formatting
| Commit: | 0ff4bd7 | |
|---|---|---|
| Author: | alexmasi | |
Add controller spec to controller proto + fmt protos
| Commit: | 1e78d9b | |
|---|---|---|
| Author: | Alex Masi | |
Add container loading to topo manager protos
| Commit: | 3ff1725 | |
|---|---|---|
| Author: | Greg Dennis | |
| Committer: | GitHub | |
spelling fixes
| Commit: | 25b033c | |
|---|---|---|
| Author: | mojiiba | |
| Committer: | GitHub | |
modify cisco nodes (#91) * improve cisco nodes * add a comment * fix handling of invalid interface id and improve the code * refator the interface mapping * Update cisco.go fix the duped regex check Co-authored-by: marcushines <80116818+marcushines@users.noreply.github.com>
| Commit: | f49f07a | |
|---|---|---|
| Author: | Shubh Mondal | |
Add topology proto to ShowTopologyResponse
| Commit: | 18c19e3 | |
|---|---|---|
| Author: | Shubh Mondal | |
resolving PR comments with modifications
| Commit: | d6c2f7c | |
|---|---|---|
| Author: | Shubh Mondal | |
Update controller service proto with creating cluster design modifications
| Commit: | 1acfb64 | |
|---|---|---|
| Author: | shubh90 | |
| Committer: | GitHub | |
Sm controller (#79) * initial version of controller service proto * initial version of controller service proto * initial version of controller service proto * initial version of controller service proto * change CreateTopologyRequest message to take topology proto * Addressed topology state questions from design doc * Update Pod states
| Commit: | 0878e92 | |
|---|---|---|
| Author: | Marcus Hines | |
Add support for Cisco XRD node type
| Commit: | 9f4a5a8 | |
|---|---|---|
| Author: | Alex Masi | |
| Committer: | GitHub | |
Add proto option to change init container for new pods (#69) * add init_container option to node proto * fix generated proto * change name and line length * remove internal example
| Commit: | 28bc2d9 | |
|---|---|---|
| Author: | Marcus Hines | |
| Committer: | GitHub | |
Refactor to remove the node struct to implementation layer Now all vendor implementations are directly referenced from the topology manager This allows for simpler testing and modifications to each implementation. (#46) * Update go.mod to 1.17 and address dependabot library issue * WIP for moving node to interface and refactor topo manager use only the interface directly * Refactor to remove the node struct to implementation layer Now all vendor implementations are directly referenced from the topology manager This allows for simpler testing and modifications to each implementation. * fix test * fix up comments Co-authored-by: Marcus Hines <hines@google.com> Co-authored-by: marcushines <80116818+marcushines@users.noreply.github.com>
| Commit: | 6c04098 | |
|---|---|---|
| Author: | shubh90 | |
| Committer: | GitHub | |
delete whitespaces in topo.proto (#51)
| Commit: | a923f20 | |
|---|---|---|
| Author: | shubh90 | |
| Committer: | GitHub | |
delete trailing white spaces (#50)
| Commit: | 7f2070e | |
|---|---|---|
| Author: | Marcus Hines | |
| Committer: | GitHub | |
Add Go BGP node into KNE (#44) * Update ubuntu dockerfile to include extra apps for troubleshooting also add serviceaccount role setup and pod start * add gobgp as a node type * Update gobgp_test.go Co-authored-by: marcushines <80116818+marcushines@users.noreply.github.com>
| Commit: | 15930d9 | |
|---|---|---|
| Author: | Marcus Hines | |
| Committer: | GitHub | |
Add Version/model/vendor into proto. (#30) * Add Version/model/vendor into proto. * add interface peer * fix lint * Update topo.proto Co-authored-by: marcushines <80116818+marcushines@users.noreply.github.com>
| Commit: | 46f49de | |
|---|---|---|
| Author: | marcushines | |
| Committer: | GitHub | |
fix service implementation to properly expose node port as well as internal and outside ports (#16) * fix service implementation to properly expose node port as well as internal and outside ports * fix names in mixed topology and remove profile from withtraffic * fix typo
| Commit: | 8912f04 | |
|---|---|---|
| Author: | marcushines | |
| Committer: | GitHub | |
Add support for cli command and initial bringup for generation of self signed certs on arista nodes (#13) * Add support for cli command and initial bringup for generation of self signed certs on arista nodes * fix lint warnings * fix last lint * address comments from alex
| Commit: | 3aa4b28 | |
|---|---|---|
| Author: | marcushines | |
| Committer: | GitHub | |
Add support for pushing a config file on arista node start (#10)
| Commit: | 9f0a59e | |
|---|---|---|
| Author: | Marcus Hines | |
Change topo enums to pass lint Add Proto linter to repo so we don't introduce lint issues update all examples to use new enum values and regenerated pb.go files
| Commit: | 85670fd | |
|---|---|---|
| Author: | Marcus Hines | |
Add Keysight Ixia TG and regenerate topo proto
| Commit: | b6486d7 | |
|---|---|---|
| Author: | Marcus Hines | |
| Committer: | Marcus Hines | |
Fix node config to properly merged with defaults for all node types
| Commit: | 2464e18 | |
|---|---|---|
| Author: | Marcus Hines | |
Add node type handlers
| Commit: | 8f47e5d | |
|---|---|---|
| Author: | Marcus Hines | |
| Committer: | Marcus Hines | |
Initial checkin of all code and license