LFX Mentorship 2026_01 test task #7743
antoninbas
started this conversation in
General
Replies: 3 comments 23 replies
-
|
For submissions, please reply to this thread with the requested information |
Beta Was this translation helpful? Give feedback.
22 replies
-
|
Name: Maya Mohamed |
Beta Was this translation helpful? Give feedback.
0 replies
-
|
Why not generate expr from packetcapture crd and use the same way as tcpdump does to generate BPF code(introduce cgo and using libpcap)? |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
First, we'd like to thank everyone who is interested in taking part to the LFX Mentorship program with us, and we are excited to welcome new contributors to Project Antrea.
We submitted the following projects for this iteration of the LFX Mentorship program:
In order to help us find the right candidate, we have prepared a test task. It's a good opportunity for you to get familiar with the project proposals, and for us to ensure that you have some of the required skills for a successful mentorship.
The task is more advanced / involved / unsupervised than for previous mentorships for 2 reasons: we receive many applications and have trouble selecting the right candidate as a result, and the use of coding assistants makes simple coding tasks trivial.
We encourage the use of coding assistants, however:
Remember to apply at https://lfx.linuxfoundation.org/tools/mentorship/ in addition to completing the task.
Task details
The goal of this task is to produce a poor-man's version of the Antrea PacketCapture feature. You will implement a Kubernetes controller that runs as a DaemonSet and performs packet captures on demand.
High-level guidelines:
tcpdumpon demand when a certain annotation is added to the Pod."tcpdump.antrea.io": "<N>".Nrepresents the max number of capture files. To implement this, your program will invoketcpdumpas follows:tcpdump -C 1M -W <N> -w /capture-<Pod name>.pcap.ubuntu:24.04as the base image. The container will need to includebash,tcpdumpand your compiled Go program. Follow best practices when defining the Dockerfile (you can refer to the antrea-controller Dockerfile for an example). Load the image into your Kind cluster (e.g., usingkind load docker-image).pingorcurlin a loop).tcpdump.antrea.io: "5"(or another number).ls -l /capture-*).Deliverables:
Create a GitHub repository with the following:
Dockerfileand optionally aMakefile.kubectl describefor the test Pod once it is running and annotated (save aspod-describe.txt).kubectl get pods -A(save aspods.txt).ls -l /capture-*from inside the capture Pod showing at least one non-empty pcap file (save ascapture-files.txt).kubectl cp).tcpdump -r <file>on the extracted file (save ascapture-output.txt).README.mdOrganization of the repository is left to your discretion. Keep it simple, concise, and well-organized.
Submissions
Upon completing the task, reply to the thread with the following information:
For any queries, please reply to the discussion thread or post in the
#antreachannel in the K8s Slack workspace. Do not send emails or DMs to ask for assistance, use public channels only.Deadlines
Task Deadline: Submissions must be completed by February 11, 11:00 AM PST..
LFX Application Deadline: LFX applicants must submit by February 10, 11:00 AM PST.
Beta Was this translation helpful? Give feedback.
All reactions