Skip to content

Commit

Permalink
feat: new project idea for Chaos Mesh (#1128)
Browse files Browse the repository at this point in the history
Signed-off-by: STRRL <[email protected]>
Signed-off-by: Nate W <[email protected]>
Co-authored-by: Nate W <[email protected]>
  • Loading branch information
STRRL and nate-double-u authored Jan 24, 2024
1 parent 8a07999 commit d37e3d0
Showing 1 changed file with 61 additions and 50 deletions.
111 changes: 61 additions & 50 deletions programs/lfx-mentorship/2024/01-Mar-May/project_ideas.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,53 @@

## Proposed Project ideas

### Antrea

#### East-west connectivity monitoring tool for Pod network

- Description: As a K8s network plugin (CNI plugin), Antrea provides networking functions for K8s Pods. These Pods are located on different Nodes, which can be in different availability zones, or even different geos. We would like to provide as part of Antrea (built-in capability) a tool to monitor Pod connectivity across the cluster. This tool should be able to report the average network latency between any 2 Nodes in the cluster. The latency information could then be visualized using a heatmap representation in the Antrea web UI.
- Expected Outcome: A new Antrea API which reports network health information and latency between K8s Nodes. If time allows, the Antrea web UI should also be extended so that latency information can be easily visualized through a heatmap.
- Recommended Skills: familiarity with Golang, some knowledge about the K8s architecture and APIs, some basic networking knowledge (TCP/IP stack), frontend development experience (React, TypeScript) would be great but not required.
- Mentor(s):
- Yang Ding (@Dyanngg, [email protected])
- Anlan He (@heanlan, [email protected])
- Antonin Bas (@antoninbas, [email protected])
- Upstream Issue: https://github.com/antrea-io/antrea/issues/5514

#### Ability to install / upgrade Antrea using the CLI

- Description: Currently Antrea can be installed using a K8s YAML manifest or through the provided Helm chart. We believe there is value in providing a 3rd installation method, using the "antctl" CLI. The CLI installation / upgrade method would have the following advantages: a) more user-friendly, with support for command-line options to customize the installation, b) ability to run sanity checks on the K8s cluster before comitting to the installation, c) when upgrading, the CLI will ensure that Antrea components are upgraded in the optimal order, to minimize workload disruption.
- Expected Outcome: A new command for antctl, the Antrea CLI, which will provide support for installation and upgrade.
- Recommended Skills: familiarity with Golang, some knowledge about the K8s architecture and APIs, UX experience would be great but not required.
- Mentor(s):
- Quan Tian (@tnqn, [email protected])
- Lan Luo (@luolanzone, [email protected])
- Antonin Bas (@antoninbas, [email protected])
- Upstream Issue: https://github.com/antrea-io/antrea/issues/5896

#### Replace deprecated bincover with golang built-in coverage profiling tool

- Description: Currently Antrea uses a third-party tool called [bincover](https://github.com/confluentinc/bincover) to measure code coverage when running end-to-end (e2e) tests. This tool has been deprecated in favor of the built-in Go coverage profiling tool (https://go.dev/testing/coverage/) starting with Go 1.20, and it is no longer maintained. We would like to remove usage of bincover from the Antrea project and start using the built-in Go tool.
- Expected Outcome: Complete removal of the bincove dependency. Code coverage can still be measured with the same accuracy when running Antrea e2e tests and the results can still be reported to [Codecov](https://about.codecov.io/).
- Recommended Skills: familiarity with Golang and the Golang testing framework.
- Mentor(s):
- Antonin Bas (@antoninbas, [email protected])
- Lan Luo (@luolanzone, [email protected])
- Upstream Issue: https://github.com/antrea-io/antrea/issues/4962

### Chaos Mesh

#### Observability for StressChaos

- Description: StressChaos is a chaos experiment that injects stress to the system. The current implementation of StressChaos is lack of observability, most of observability solutions could not observe the stress at Pod level, but only at Node level. This project is to enhance observability for StressChaos.
- Expected Outcome: Chaos Mesh end users could observe the injected stress at Pod level.
- Recommended Skills: Golang, Kubernetes, Linux, Observability Tools(e.g. Prometheus, Grafana, etc.)
- Mentor(s):
- Zhiqiang Zhou(@STRRL, [email protected])
- Yue Yang(@g1eny0ung, [email protected])
- Cwen Yin(@cwen0, [email protected])
- Upstream Issue: https://github.com/chaos-mesh/chaos-mesh/discussions/3012, https://github.com/chaos-mesh/chaos-mesh/issues/3651

### Cilium

#### Governance Documentation
Expand All @@ -29,6 +76,20 @@
- Bill Mulligan(@xmulligan, [email protected])
- Upstream Issue: https://github.com/cilium/community/issues/78 https://github.com/cilium/community/issues/27

### Knative Eventing

#### Cross Namespace Event Links

- Description: One of the most requested features in Knative Eventing over the past few years has been for triggers in different namespaces than brokers, and for subscriptions
in different namespaces than channels. More information can be found in the upstream issue.
- Expected Outcome: Knative Eventing Triggers and Subscriptions can reference Brokers or Channels in a namespace different from their own if the user possesses the necessary
permissions to do so.
- Recommended Skills: Go, Kubernetes
- Mentor(s):
- Calum Murray (@Cali0707, [email protected])
- Pierangelo Di Pilato (@pierdipi, [email protected])
- Upstream Issue: https://github.com/knative/eventing/issues/7530

### Jaeger

#### Jaeger-V2 Storage Backends
Expand Down Expand Up @@ -72,53 +133,3 @@
- [Manan Gupta](https://github.com/GuptaManan100) ([email protected])
- [Harshit Gangal](https://github.com/harshit-gangal) ([email protected])
- Issue: <https://github.com/vitessio/vitess/issues/14931>

---

### Knative Eventing

#### Cross Namespace Event Links

- Description: One of the most requested features in Knative Eventing over the past few years has been for triggers in different namespaces than brokers, and for subscriptions
in different namespaces than channels. More information can be found in the upstream issue.
- Expected Outcome: Knative Eventing Triggers and Subscriptions can reference Brokers or Channels in a namespace different from their own if the user possesses the necessary
permissions to do so.
- Recommended Skills: Go, Kubernetes
- Mentor(s):
- Calum Murray (@Cali0707, [email protected])
- Pierangelo Di Pilato (@pierdipi, [email protected])
- Upstream Issue: https://github.com/knative/eventing/issues/7530

### Antrea

#### East-west connectivity monitoring tool for Pod network

- Description: As a K8s network plugin (CNI plugin), Antrea provides networking functions for K8s Pods. These Pods are located on different Nodes, which can be in different availability zones, or even different geos. We would like to provide as part of Antrea (built-in capability) a tool to monitor Pod connectivity across the cluster. This tool should be able to report the average network latency between any 2 Nodes in the cluster. The latency information could then be visualized using a heatmap representation in the Antrea web UI.
- Expected Outcome: A new Antrea API which reports network health information and latency between K8s Nodes. If time allows, the Antrea web UI should also be extended so that latency information can be easily visualized through a heatmap.
- Recommended Skills: familiarity with Golang, some knowledge about the K8s architecture and APIs, some basic networking knowledge (TCP/IP stack), frontend development experience (React, TypeScript) would be great but not required.
- Mentor(s):
- Yang Ding (@Dyanngg, [email protected])
- Anlan He (@heanlan, [email protected])
- Antonin Bas (@antoninbas, [email protected])
- Upstream Issue: https://github.com/antrea-io/antrea/issues/5514

#### Ability to install / upgrade Antrea using the CLI

- Description: Currently Antrea can be installed using a K8s YAML manifest or through the provided Helm chart. We believe there is value in providing a 3rd installation method, using the "antctl" CLI. The CLI installation / upgrade method would have the following advantages: a) more user-friendly, with support for command-line options to customize the installation, b) ability to run sanity checks on the K8s cluster before comitting to the installation, c) when upgrading, the CLI will ensure that Antrea components are upgraded in the optimal order, to minimize workload disruption.
- Expected Outcome: A new command for antctl, the Antrea CLI, which will provide support for installation and upgrade.
- Recommended Skills: familiarity with Golang, some knowledge about the K8s architecture and APIs, UX experience would be great but not required.
- Mentor(s):
- Quan Tian (@tnqn, [email protected])
- Lan Luo (@luolanzone, [email protected])
- Antonin Bas (@antoninbas, [email protected])
- Upstream Issue: https://github.com/antrea-io/antrea/issues/5896

#### Replace deprecated bincover with golang built-in coverage profiling tool

- Description: Currently Antrea uses a third-party tool called [bincover](https://github.com/confluentinc/bincover) to measure code coverage when running end-to-end (e2e) tests. This tool has been deprecated in favor of the built-in Go coverage profiling tool (https://go.dev/testing/coverage/) starting with Go 1.20, and it is no longer maintained. We would like to remove usage of bincover from the Antrea project and start using the built-in Go tool.
- Expected Outcome: Complete removal of the bincove dependency. Code coverage can still be measured with the same accuracy when running Antrea e2e tests and the results can still be reported to [Codecov](https://about.codecov.io/).
- Recommended Skills: familiarity with Golang and the Golang testing framework.
- Mentor(s):
- Antonin Bas (@antoninbas, [email protected])
- Lan Luo (@luolanzone, [email protected])
- Upstream Issue: https://github.com/antrea-io/antrea/issues/4962

0 comments on commit d37e3d0

Please sign in to comment.