opencurve / curve

Curve is a sandbox project hosted by the CNCF Foundation. It's cloud-native, high-performance, and easy to operate. Curve is an open-source distributed storage system for block and shared file storage.
https://opencurve.io
Apache License 2.0
2.33k stars 522 forks source link

[ Curve Summer Coding Camp]: Call For Participation! #2603

Closed wuhongsong closed 11 months ago

wuhongsong commented 1 year ago

In order to let everyone better join curve community, so we prepared this Curve Summer Coding Camp.

We have prepared a lot of interesting issues(include: c/c++,go,python,shell),all of these topics are graded on three levels of difficulty: easy, medium,hard.

In addition, we still have adaptation works, openEuler is a reliable open source OS that unleashes diversified computing power for a sustainable future,curve want to adapt it.

For more details, please refer to our dev guideline.

https://ask.opencurve.io/t/topic/161


We have provided some topics:

1、Web page console for Curve(Languages: vue3 ts;go ), mentor: @SeanHai

Func Issue Difficulty level Assigne PR Progress
remove the dependency of grpc from curve-manager https://github.com/opencurve/curve-manager/issues/1 medium
Fix the disk type monitor info of nvme-ssd missed from node_exporter https://github.com/opencurve/curve-manager/issues/2 easy
Fix request for time series data exceeding limit https://github.com/opencurve/curve-manager/issues/3 easy @lim-yoona
Remove the background color filled after default autofill in the login form https://github.com/opencurve/curve-dashboard/issues/1 easy @TrickEye #7 done
Expand the clickable area of the homepage clusteOpenEulerr capacity chart toggle button to match its hover area https://github.com/opencurve/curve-dashboard/issues/2 easy @Seanium
When zooming in on the page, the two pie charts on the homepage should be redrawn and centered https://github.com/opencurve/curve-dashboard/issues/3 easy @rambuild
The homepage cluster capacity pie chart is missing the legend for unallocated capacity https://github.com/opencurve/curve-dashboard/issues/4 easy @rambuild
Limit the display length of the text box content https://github.com/opencurve/curve-dashboard/issues/5 easy @scrail

2、Cloud native deployment (Languages: Go), mentor: @caoxianfei1

Func Issue Difficulty level Assigne PR Progress
Delete the deployment that to sync config file https://github.com/opencurve/curve-operator/issues/70 easy @lizonglingo https://github.com/opencurve/curve-operator/pull/78
Support add other config item not only ip and port information https://github.com/opencurve/curve-operator/issues/71 easy @Daz-3ux
Manage service log https://github.com/opencurve/curve-operator/issues/76 easy @Zero3River
Define CurveMonitor CR to deploy monitoring https://github.com/opencurve/curve-operator/issues/74 medium @mikechengwei https://github.com/opencurve/curve-operator/pull/80
Customized selection disk https://github.com/opencurve/curve-operator/issues/27 medium @liuminjian https://github.com/opencurve/curve-operator/pull/79
Update Cluster https://github.com/opencurve/curve-operator/issues/29 hard @peacelt

3、Perfection of Curveadm (Languages: Go), memtor: @caoxianfei1

Func Issue Difficulty level Assigne PR Progress
Manage service log https://github.com/opencurve/curveadm/issues/197 easy @koko2pp
Misleading replica configuration item https://github.com/opencurve/curveadm/issues/146 easy @tiansuo114
Add cluster type to deploy cluster https://github.com/opencurve/curveadm/issues/257 easy @niuyaru
Add debug mode https://github.com/opencurve/curveadm/issues/252 easy @Songjf-ttk
ss command does't support no-header option https://github.com/opencurve/curveadm/issues/226 easy @jyf111
Fix CurveAdm wiki document https://github.com/opencurve/curveadm/issues/175 easy
host and hostname https://github.com/opencurve/curveadm/issues/260 easy @Jason011125
Support deployment of nvme-of CurveBS https://github.com/opencurve/curveadm/issues/261 hard @YLShiJustFly
Incremental formatting https://github.com/opencurve/curveadm/issues/189 medium @liuminjian
Support deploying minio-s3-gateway https://github.com/opencurve/curveadm/issues/218 medium
More smart core_pattern https://github.com/opencurve/curveadm/issues/178 medium
[Feature] support deploy CurveBS on bcache https://github.com/opencurve/curveadm/issues/254 easy @saicaca
[Feature] support deploy CurveBS on bcache+mdrai1 https://github.com/opencurve/curveadm/issues/255 easy @shuaihehe
Optimize the process of deploying memcache https://github.com/opencurve/curveadm/issues/240 easy @shuaihehe

4、New tool support (Languages: Go), mentor: @Cyber-SiKu

Func Issue Difficulty level Assigne PR Progress
[tools-v2]: Add the command of statistical curvefs information #2532 easy
[tools-v2]:add bs delete volume snapshot #2578 easy @lng2020 #2637
[tools-v2]:add bs delete volume recover #2580 easy @setcy
[tools-v2]:add bs delete volume clone #2581 easy
[tools-v2]:add bs query volume snapshot #2582 easy @Xinlong-Chen
[tools-v2]:add bs status volume snapshot #2583 easy @saicaca
[tools-v2]:add bs query volume clone-recover #2584 easy @374954417 #2787
[tools-v2]:add bs create volume snapshot #2585 easy @ApiaoSamaa #2663
[tools-v2]:add bs create volume clone/recover #2586 easy @lng2020 #2639
[tools-v2]:add bs update volume flatten #2587 easy @baytan0720 #2757
[tools-v2]:add bs recover volume #2588 easy @lng2020 #2638
[tools-v2]:support export monitor target #2564 easy
[tools-v2]:add bs stop volume snapshot #2579 easy @ZackSoul

5、Modification of code logic (Languages: C++)

Func Issue Difficulty level Assigne PR Progress mentor
[curvefs/metaserver] The trash module will lose the current processing inode information that needs to be deleted after a system reboot #2507 medium @UniverseParticle @SeanHai
[curvefs/mds] Optimizing unit tests #2505 easy @ken90242 @wu-hanqing
curvefs/metaserver: Can metaserver's raft snapshot implementation be asynchronous #1617 hard @NaturalSelect @wu-hanqing
optimize curvebs rapid leader schedule #2388 medium @wu-hanqing
print error code with more meaningful name #2185 easy @Nopedi @wu-hanqing
s3Adaptor retry after put or get object failed #2546 easy @montaguelhz @wuhongsong
Change the confusing configuration name #2597 easy @201341 #2647 done @wuhongsong
unified name needed #2514 easy @wuhongsong
CurveFS merges the rpc of the associated operation of dentry and parentInode #2548 medium @201341 @SeanHai
[curvefs/client] curvefs metric problem #2391 easy @PerseidMeteor @h0hmj
[CurveBS] Add chunkserver-level statistics and allocation limits for the curvebs capacity statistics and allocation module #2559 medium @mikechengwei @xu-chaojie
When the cluster capacity is almost full, make the cluster readonly #2561 hard @kevincheng2 @xu-chaojie
[curvefs]: change s3info #2517 medium @Cyber-SiKu
curvefs/client:warmup list and stop #2517 medium @Cyber-SiKu
Curve:translate Chinese annotations in the Curve into English annotations #2576 medium @koko2pp @Cyber-SiKu
[Curvefs]:curvefs/client:warmup list and stop #2244 medium @ken90242 @Cyber-SiKu

6、Ci for Curve(Languages: shell/python), mentor: @YunhuiChen

Func Issue Difficulty level Assigne PR Progress
【CI】Use github action to do some static checks and code security tests on the code in the curve warehouse https://github.com/opencurve/curve/issues/2570 easy @czm23333
[CI] integrate clang-tidy https://github.com/opencurve/curve/issues/2566 easy
[CI] integrate clang-format https://github.com/opencurve/curve/issues/2565 easy @peter5232 https://github.com/opencurve/curve/pull/2739
[CI] add basic static check, complie, test by using github actions https://github.com/opencurve/curveadm/issues/256 easy @357447923

7、Curve operating system adaptation for openEuler

openEuler is a reliable open source OS that unleashes diversified computing power for a sustainable future.

Func Issue Difficulty level Assigne PR Progress mentor
Adaptor openEuler #2612 hard @peter5232 @wangxiyuan from openEuler @Cyber-SiKu from Curve
ken90242 commented 1 year ago

Hi, I'm interested in participating in the code camp. How should I register for it?

spy9777 commented 1 year ago

Hi, I'm interested in participating in the code camp. How should I register for it?

Hi,You are welcome to participate, please add ”OpenCurve_bot“ on WeChat.

ken90242 commented 1 year ago

btw, I think the link for curvefs/client:warmup list and stop might be mistyped. (should be https://github.com/opencurve/curve/issues/2244)

caoxianfei1 commented 1 year ago

btw, I think the link for curvefs/client:warmup list and stop might be mistyped. (should be #2244)

Already added here.

caoxianfei1 commented 11 months ago

Close it because coding camp is finished.