Pulp 3 Minimum Viable Product » History » Sprint/Milestone 6
Ichimonji10, 11/07/2016 04:46 PM
Request that several goals be clarified
1 | 1 | bmbouter | # Pulp 3.0.0 Minimum Viable Product (MVP) |
---|---|---|---|
2 | |||
3 | ## Authentication |
||
4 | |||
5 | I can login with a username and password that Pulp stores |
||
6 | I can CRUD a user |
||
7 | I can list all users |
||
8 | I can change the password of a user |
||
9 | I can acquire a token to access the API |
||
10 | I can invalidate all JWT tokens for a given user |
||
11 | |||
12 | ## Repositories |
||
13 | |||
14 | 2 | Ichimonji10 | I can list all repos |
15 | I can CRUD a repository |
||
16 | I can list associated importers and publishers |
||
17 | I can list content in a repository |
||
18 | I can summarize content in a repo (including counts) |
||
19 | I can CRUD an importer |
||
20 | I can CRUD a publisher |
||
21 | 1 | bmbouter | |
22 | ## Content Manipulation |
||
23 | |||
24 | 4 | Ichimonji10 | I can sync an importer |
25 | I can publish a publisher |
||
26 | I can upload *(What to where?)* |
||
27 | I can copy *(What from where to where?)* |
||
28 | I can clean up orphans |
||
29 | 1 | bmbouter | |
30 | ## Filter |
||
31 | |||
32 | 5 | Ichimonji10 | I can filter all nouns *(What is the meaning of "filter?" What is a noun?)* |
33 | 1 | bmbouter | |
34 | ## Task Management |
||
35 | |||
36 | I can list all tasks and filter them |
||
37 | I can see a detail view for a specific task including its progress and results |
||
38 | I can cancel tasks |
||
39 | |||
40 | ## Task Group |
||
41 | |||
42 | I can view a summary of the status of all tasks in a group |
||
43 | |||
44 | ## Event Listener Notifier |
||
45 | |||
46 | I can receive serialized task info via AMQP on each task save |
||
47 | |||
48 | ## Status |
||
49 | |||
50 | I can view the status of all pulp components |
||
51 | I can view an overall health attribute |
||
52 | I can view information about unapplied migrations |
||
53 | |||
54 | ## Plugin API |
||
55 | |||
56 | We will have one |
||
57 | We will use one |
||
58 | It will be semantically versioned at 0.x separate from the REST API |
||
59 | |||
60 | 6 | Ichimonji10 | *Will this API be a Python code interface, a networked HTTP interface, or something else? In other words, for Pulp to use a plugin, will Pulp look for Python code, will it make HTTP calls to some networked resource, or something else?* |
61 | |||
62 | *What are three examples of plugins that will be written? (One goal is "we will use one," so presumably some specific plug-ins are already in mind.)* |
||
63 | |||
64 | 1 | bmbouter | ## CLI |
65 | |||
66 | We will port what is there with as little effort as possible |
||
67 | repo CRUD |
||
68 | CRUD for importers |
||
69 | CRUD for publishers |
||
70 | trigger syncs |
||
71 | trigger publish |
||
72 | list content in a repo |
||
73 | upload |
||
74 | server status |
||
75 | list and cancel tasks |
||
76 | authn via basic auth |
||
77 | |||
78 | ## Nectar Plugin Download API |
||
79 | |||
80 | I can download files via HTTP, HTTPS |
||
81 | I can download via file:// |
||
82 | Authentication parity with 2.y |
||
83 | Recommend something for bandwidth limiting |
||
84 | Verify integrity of downloaded files |
||
85 | Alternate content source support |
||
86 | Streamer parity with 2.y |
||
87 | |||
88 | ## Consumer Applicability |
||
89 | |||
90 | Using consumer profiles and repo bindings I can compute applicability with 2.y parity |
||
91 | Performance needs to be awesome |
||
92 | |||
93 | ## ISO exports |
||
94 | |||
95 | Export a group of repos to a single iso |
||
96 | |||
97 | ## Plugin compatibility |
||
98 | |||
99 | rpm will work with platform |
||
100 | puppet will work with platform |
||
101 | ostree will work with platform |
||
102 | python will work with platform |
||
103 | file_plugin will work with platform |
||
104 | docker will work with platform |
||
105 | |||
106 | ## Migrations |
||
107 | |||
108 | users can run an executable similar to pulp-manage-db that is not named pulp-manage-db |