Project

General

Profile

Librgw » History » Version 1

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

1 1 Jessica Mack
h1. Librgw
2
3
h3. Summary
4
5
This has been discussed for Dumpling, but we want to look at it again.
6
[[RADOS Gateway refactor into library, internal APIs]]
7
8
h3. Owners
9
10
* Name (Affiliation)
11
* Name (Affiliation)
12
* Name
13
14
h3. Interested Parties
15
16
* Yehuda Sadeh (Inktank)
17
* Loic Dachary <loic@dachary.org>
18
* Roald van Loon <roaldvanloon@gmail.com>
19
* Name
20
21
h3. Current Status
22
23
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
25
h3. Detailed Description
26
27
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
Top level library:
29
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
 
31
Object store library:
32
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
34
h3. Work items
35
36
h4. Coding tasks
37
38
# Task 1
39
# Task 2
40
# Task 3
41
42
h4. Build / release tasks
43
44
# Task 1
45
# Task 2
46
# Task 3
47
48
h4. Documentation tasks
49
50
# Task 1
51
# Task 2
52
# Task 3
53
54
h4. Deprecation tasks
55
56
# Task 1
57
# Task 2
58
# Task 3