Project

Profile

Help

Pulp 3 Minimum Viable Product » History » Sprint/Milestone 10

Ichimonji10, 11/07/2016 05:17 PM

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 8 Ichimonji10
We will port what is there with as little effort as possible *(Does this mean that porting will be easy for developers, or that switching from the Pulp 2-3 CLI will be easy for users? If the former, isn't this an implementation detail that doesn't belong in an MVP document? If the latter, does this mean that we're going to carry forward the issues with pulp-admin, like a lack of status codes?)*
67
68 1 bmbouter
repo CRUD  
69
CRUD for importers  
70
CRUD for publishers  
71
trigger syncs  
72
trigger publish  
73
list content in a repo  
74
upload  
75
server status  
76
list and cancel tasks  
77 8 Ichimonji10
authn via basic auth  
78
*(Should the supported set of operations be stated in terms of "The capabilities listed in the 'Authenctication,' 'Repositories,' and 'Filter' sections will be supported by the CLI."?)*
79 1 bmbouter
80
## Nectar Plugin Download API
81
82 9 Ichimonji10
*(Is it correct to say that "I, the user, can download files via HTTP, HTTPS and file://," or "Nectar, the application, can download files via HTTP, HTTPS and file://?")*  
83 1 bmbouter
I can download files via HTTP, HTTPS  
84
I can download via file://  
85 9 Ichimonji10
Authentication parity with 2.y *(Again, is this an "I can do X" statement or a "Nectar can do X" statement?)*  
86 1 bmbouter
Recommend something for bandwidth limiting  
87
Verify integrity of downloaded files  
88 10 Ichimonji10
Alternate content source support *(Please clarify what this means. Does this mean that content can be downloaded via a protocol other than HTTP, HTTPS and file://? Does it mean that a single importer may attempt to download content from a prioritized list of locations? Something else? Assuming this is an importer-related things, which types of importers will support this? RPM? Python? Etc?)*  
89 1 bmbouter
Streamer parity with 2.y
90
91
## Consumer Applicability
92
93
Using consumer profiles and repo bindings I can compute applicability with 2.y parity  
94
Performance needs to be awesome
95
96
## ISO exports
97
98
Export a group of repos to a single iso
99
100
## Plugin compatibility
101
102
rpm will work with platform  
103
puppet will work with platform  
104
ostree will work with platform  
105
python will work with platform  
106
file_plugin will work with platform  
107
docker will work with platform
108
109
## Migrations
110
111
users can run an executable similar to pulp-manage-db that is not named pulp-manage-db