Skip to content

Commit

Permalink
google-summer-of-code/index.md: update Shaman project
Browse files Browse the repository at this point in the history
There were typos in emails, so fixed that,
also updated project description.

Signed-off-by: Kamoltat Sirivadhna <[email protected]>
  • Loading branch information
kamoltat committed Feb 29, 2024
1 parent 664b40f commit 7330810
Showing 1 changed file with 25 additions and 70 deletions.
95 changes: 25 additions & 70 deletions src/en/developers/google-summer-of-code/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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

Expand All @@ -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">

0 comments on commit 7330810

Please sign in to comment.