-
Notifications
You must be signed in to change notification settings - Fork 88
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
google-summer-of-code/index.md: update Shaman project
There were typos in emails, so fixed that, also updated project description. Signed-off-by: Kamoltat Sirivadhna <[email protected]>
- Loading branch information
Showing
1 changed file
with
25 additions
and
70 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -26,33 +26,34 @@ get started with contributions](https://ceph.io/en/developers/contribute/). | |
|
||
<hr class="hr"> | ||
|
||
## Improving Shaman the Builder | ||
## Shaman Scheduling for Success | ||
|
||
**Mentor name(s):** Zack Cerza, Kamoltat (Junior) Sirivadhna | ||
Aishwarya Mathuria, Vallari Agrawal | ||
|
||
**Mentor email(s):** zcerza@ibm.com, [email protected], amathuri@ibm.com, | ||
vallariag@ibm.com | ||
**Mentor email(s):** zack1@ibm.com, [email protected], aishwarya.mathuria@ibm.com, | ||
vallari.agrawal@ibm.com | ||
|
||
**Difficulty:** Medium | ||
|
||
**Project Hours:** 350 | ||
|
||
**Skills needed:** Shell, Python | ||
**Subcomponent of Ceph:** [Build System](https://github.com/ceph/ceph-build) | ||
|
||
**Subcomponent of Ceph:** [Ceph Build System](https://github.com/ceph/ceph-build), [Ceph Integration Test Framework](https://github.com/ceph/teuthology) | ||
|
||
**Description of project:** | ||
Ceph's build system is far from perfect and have encoutered several | ||
problems in the past. Your job is to work with Ceph's | ||
Infrastructure + Teuthology Team to improve the current build system. | ||
Enable ceph developers to preset Teuthology commands (scheduling) when pushing a feature branch to Shaman. | ||
|
||
**Standup/weekly call mentee could attend?:** teuthology weekly meeting | ||
|
||
**Expected Outcome(s):** | ||
**Steps to evaluate an applicant for the project:** | ||
|
||
A reduction in build times from Ceph developers pushing to the ceph-ci repo to rpms, debs, and containers bieng created | ||
TBD | ||
|
||
<hr class="hr"> | ||
|
||
## From RADOS to REDIS | ||
## From RADOS to REDIS | ||
|
||
**Mentor name(s):** Yuval Lifshitz | ||
|
||
|
@@ -66,21 +67,23 @@ A reduction in build times from Ceph developers pushing to the ceph-ci repo to r | |
|
||
**Subcomponent of Ceph:** RGW | ||
|
||
**Description of project:** | ||
**Description of project:** | ||
|
||
Bucket notifications are important building block for many use cases. And persistent bucket notifications in particular, as they let the system overcome broker outages. However, since the persistent notifications are backed with a RADOS queue, they have a cost. Both in the extra load on the RADOS cluster, and with the inability to operate in environments where there is no RADOS backend. In this project, we would like to implement persistent bucket notifications in the RADOS Gateway using a Redis Queue. Combined with the "zipper" project we would be able to enjoy bucket notifications with backends like posix, dbstore, daos etc. | ||
Bucket notifications are important building block for many use cases. And persistent bucket notifications in particular, as they let the system overcome broker outages. However, since the persistent notifications are backed with a RADOS queue, they have a cost. Both in the extra load on the RADOS cluster, and with the inability to operate in environemnts where there is no RADOS backend. In this project, we would like to implement persistent bucket notifications in the RADOS Gateway using a Redis Queue. Combined with the "zipper" project we would be able to enjoy bucket notifications with backends like posix, dbstore, daos etc. | ||
|
||
**Expected Outcome(s):** | ||
**Standup/weekly call mentee could attend?:** RGW standup | ||
|
||
Persistent bucket notifications being stored in a Redis cluster that is being read and written to by the RADOS Gateway with non RADOS backends like posix store | ||
**Steps to evaluate an applicant for the project:** | ||
|
||
TBD, A link with more detailed instructions will be provided | ||
|
||
<hr class="hr"> | ||
|
||
## RGW AdminAPI Audit & Refactoring | ||
|
||
**Mentor name(s):** Ali Maredia, Samarah Uriarte | ||
**Mentor name(s):** Ali Maredia, Samarah Uriarte, Josh Durgin | ||
|
||
**Mentor email(s):** [email protected], [email protected] | ||
**Mentor email(s):** [email protected], [email protected], [email protected] | ||
|
||
**Difficulty:** Intermediate | ||
|
||
|
@@ -90,66 +93,18 @@ Persistent bucket notifications being stored in a Redis cluster that is being re | |
|
||
**Subcomponent of Ceph:** RGW | ||
|
||
**Description of project:** | ||
**Description of project:** | ||
|
||
The Rados Gateway (RGW) has a REST API that can do admin operations called the [admin ops api](https://docs.ceph.com/en/latest/radosgw/adminops/). | ||
The Rados Gateway (RGW) has a REST API that can do admin operations called the [admin ops api](https://docs.ceph.com/en/latest/radosgw/adminops/). | ||
|
||
This project have two phases. The first phase would include enhancing the intergration testing coverage of the admin API, and auditing the documentation to make sure it is up to date. | ||
The second phase would entail refactoring the admin API code to ensure it can work with different backends such as posix, dbstore, rados, etc. | ||
|
||
**Expected Outcome(s):** | ||
|
||
For the first phase, improvements to the test suite that tests the RGW admin API. In the second phase would be a working admin API with a non-RADOS backend like posix store | ||
|
||
<hr class="hr"> | ||
|
||
## Lunar Time | ||
|
||
**Mentor name(s):** Yuval Lifshitz | ||
|
||
**Mentor email(s):** [email protected] | ||
|
||
**Difficulty:** Hard | ||
|
||
**Project Hours:** 350 | ||
|
||
**Skills needed:** C++ | ||
|
||
**Subcomponent of Ceph:** RGW | ||
|
||
**Description of project:** | ||
|
||
Lua scripts on the RADOS Gateway are powerful, so, in the meantime we only allow admins to add them to the RADOS Gatewway. Before we open this possibility to users, we want to add several protection layers to prevent from careless users to take down the system. One of these measures, will be to limit the execution time of each script, so it does not hog the system, go into infinite loops etc. | ||
|
||
**Expected Outcome(s):** | ||
|
||
Prevention of lua scripts in the RADOS Gateway from hogging system resources. | ||
|
||
<hr class="hr"> | ||
|
||
## Tidy Up Song | ||
|
||
**Mentor name(s):** Ronen Friedman, Yuval Lifshitz | ||
|
||
**Mentor email(s):** [email protected], [email protected] | ||
|
||
**Difficulty:** Intermediate | ||
|
||
**Project Hours:** 350 | ||
|
||
**Skills needed:** C++ | ||
|
||
**Subcomponent of Ceph:** RGW, Core | ||
|
||
**Description of project:** | ||
Use [clang-tidy](https://clang.llvm.org/extra/clang-tidy/) for static analysis in the Ceph project: | ||
**Standup/weekly call mentee could attend?:** RGW standup | ||
|
||
1. make sure that ceph compiles under clang | ||
2. tune up clang-tidy to find important issues that are common to Ceph (looking for a relatively _small_ subset of _critical_ issues) | ||
3. cleanup issues found in (2). don't have to cleanup all of them... | ||
4. add to jenkins/github actions (non blocking) | ||
**Steps to evaluate an applicant for the project:** | ||
|
||
**Expected Outcome(s):** | ||
Have clang-tidy run against Ceph PRs, and show errors only if introduced in the PR. | ||
Applicants should be able to write a python program that tests a local RGW's admin API | ||
Refactor a subset of the admin API code | ||
|
||
<hr class="hr"> |