Project

General

Profile

Librgw » History » Version 1

Jessica Mack, 06/21/2015 06:20 AM

1 1 Jessica Mack
h1. Librgw
2 1 Jessica Mack
3 1 Jessica Mack
h3. Summary
4 1 Jessica Mack
5 1 Jessica Mack
This has been discussed for Dumpling, but we want to look at it again.
6 1 Jessica Mack
[[RADOS Gateway refactor into library, internal APIs]]
7 1 Jessica Mack
8 1 Jessica Mack
h3. Owners
9 1 Jessica Mack
10 1 Jessica Mack
* Name (Affiliation)
11 1 Jessica Mack
* Name (Affiliation)
12 1 Jessica Mack
* Name
13 1 Jessica Mack
14 1 Jessica Mack
h3. Interested Parties
15 1 Jessica Mack
16 1 Jessica Mack
* Yehuda Sadeh (Inktank)
17 1 Jessica Mack
* Loic Dachary <loic@dachary.org>
18 1 Jessica Mack
* Roald van Loon <roaldvanloon@gmail.com>
19 1 Jessica Mack
* Name
20 1 Jessica Mack
21 1 Jessica Mack
h3. Current Status
22 1 Jessica Mack
23 1 Jessica Mack
Not much has been done in this area since the Dumpling discussion. We want to take a look at it again, especially in light of the external Swift api discussion, Swift lfs, and how it affects RGW.
24 1 Jessica Mack
25 1 Jessica Mack
h3. Detailed Description
26 1 Jessica Mack
27 1 Jessica Mack
There are a few different steps that can be taken. Currently the gateway is a monolithic fastcgi server. We want to be able to provide hooks into different web servers (or other services), and this can be achieved by abstracting different layers.
28 1 Jessica Mack
Top level library:
29 1 Jessica Mack
The gateway itself limits the actual fastcgi specific calls (mainly to rgw_main.cc, rgw_fcgi.{h,cc} -- the rest is all abstracted), so that with little work we can create a library abstraction that encapsulates request and data path handling. New hooks will be required to abstract current header response mechanism. The new library will allow integrating the gateway with other web server frameworks.
30 1 Jessica Mack
 
31 1 Jessica Mack
Object store library:
32 1 Jessica Mack
A boto-like library api for rgw. At first go it will only include data level api (objects, buckets). Further down the line it will include extra capabilities, such as user management, usage logging, etc.
33 1 Jessica Mack
34 1 Jessica Mack
h3. Work items
35 1 Jessica Mack
36 1 Jessica Mack
h4. Coding tasks
37 1 Jessica Mack
38 1 Jessica Mack
# Task 1
39 1 Jessica Mack
# Task 2
40 1 Jessica Mack
# Task 3
41 1 Jessica Mack
42 1 Jessica Mack
h4. Build / release tasks
43 1 Jessica Mack
44 1 Jessica Mack
# Task 1
45 1 Jessica Mack
# Task 2
46 1 Jessica Mack
# Task 3
47 1 Jessica Mack
48 1 Jessica Mack
h4. Documentation tasks
49 1 Jessica Mack
50 1 Jessica Mack
# Task 1
51 1 Jessica Mack
# Task 2
52 1 Jessica Mack
# Task 3
53 1 Jessica Mack
54 1 Jessica Mack
h4. Deprecation tasks
55 1 Jessica Mack
56 1 Jessica Mack
# Task 1
57 1 Jessica Mack
# Task 2
58 1 Jessica Mack
# Task 3