You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#### Implement Dynamic IPAM for the Slice Overlay Network
509
+
510
+
- Description: In the current KubeSlice design, IP address management (IPAM) for slice overlay networks is static and inefficient. A predefined CIDR block (e.g., 10.1.0.0/16) is divided into a fixed number of subnets regardless of how many clusters participate in the slice, leading to significant IP space wastage.
511
+
This project aims to implement a dynamic IPAM system that allocates IP subnets to clusters on demand and reclaims unused ranges when clusters leave the slice. It will ensure efficient address utilization, synchronization across clusters, and integration with the KubeSlice control plane.
512
+
513
+
- Expected Outcome:
514
+
- A dynamic IPAM allocator integrated with the KubeSlice controller or sidecar component.
515
+
- Support for on-demand IP allocation and subnet reclamation when clusters join or leave a slice.
516
+
- Conflict resolution and state synchronization across clusters using CRDs or distributed storage.
517
+
- Documentation on how the system works, configuration options, and edge case behaviour.
518
+
519
+
- Recommended Skills:
520
+
Go (Golang), Kubernetes controllers and CRDs, IPAM concepts, networking (CIDRs, subnets).
#### Implement Custom Topology Definition for a Slice
530
+
531
+
- Description: KubeSlice currently uses a full-mesh topology for the slice overlay network, where every cluster connects to every other cluster in the slice. This results in unnecessary tunnel creation and resource consumption.
532
+
This project proposes a topology-aware design, allowing users to define custom connectivity matrices for slices. Users can specify partial meshes. Additionally, the project will support configuring each cluster's VPN deployment type (client/server) to accommodate network constraints such as firewalls or NAT.
533
+
534
+
- Expected Outcome:
535
+
- Extension of the Slice CRD to support custom topology and VPN role definitions.
536
+
- Logic to establish tunnels based only on the defined connectivity matrix.
537
+
- Support for various deployment topologies (full-mesh, partial mesh, hub-spoke).
538
+
- Sample configurations and documentation on how to define and validate topologies.
539
+
540
+
- Recommended Skills:
541
+
Go (Golang), Kubernetes CRDs and controllers, VPN networking concepts (client/server), overlay networking.
#### Implement Comprehensive Unit & Integration Testing for kubeslice-cli
552
+
553
+
- Description: The kubeslice-cli repository currently lacks comprehensive unit and integration tests making it hard to test the changes. This project aims to implement a robust testing framework to ensure the reliability and stability of the CLI tool. The Mentee will write unit tests for existing functions & integration tests for the CLI commands & also set up a continuous integration pipeline to run these tests automatically on every commit and pull request.
554
+
- Expected Outcome:
555
+
- A fully configured testing framework for kubeslice-cli with unit and integration tests covering all critical functionalities.
556
+
- A CI/CD pipeline configuration (e.g., GitHub Actions) that automatically runs the tests on every pull request.
557
+
- Documentation on how to run these tests & add new ones.
558
+
- Recommended Skills: Go (Golang), Go testing frameworks (testify), Kubernetes, CLI, CI/CD (GitHub Actions).
#### Enhance and Automate End-to-End (E2E) Testing Across the KubeSlice Ecosystem
566
+
567
+
- Description: The KubeSlice project consists of multiple repositories that work together to provide application connectivity and network services across Kubernetes clusters. Currently, our E2E tests are outdated and need significant improvement. This project aims to automate the E2E testing process by improving the current test suite and implementing new tests where necessary. This will ensure that the entire KubeSlice ecosystem works seamlessly together.
568
+
- Expected Outcome:
569
+
- A comprehensive set of E2E tests covering all critical functionalities of KubeSlice.
570
+
- Integration of the E2E tests into the CI/CD pipeline to run automatically.
571
+
- Clear Documentation for running & extending the E2E tests.
0 commit comments