Project

Profile

Help

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

Ichimonji10, 11/07/2016 05:46 PM
Request that a goal 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 12 Ichimonji10
*Can this be restated in more pedantic terms? Does this mean that an arbitrary host can attach itself to Pulp's AMQP message bus and get updates on the progress of tasks?*
49
50 1 bmbouter
## Status
51
52
I can view the status of all pulp components  
53
I can view an overall health attribute  
54
I can view information about unapplied migrations
55
56
## Plugin API
57
58
We will have one  
59
We will use one  
60
It will be semantically versioned at 0.x separate from the REST API
61
62 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?*
63
64
*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.)*
65
66 1 bmbouter
## CLI
67
68 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?)*
69
70 1 bmbouter
repo CRUD  
71
CRUD for importers  
72
CRUD for publishers  
73
trigger syncs  
74
trigger publish  
75
list content in a repo  
76
upload  
77
server status  
78
list and cancel tasks  
79 8 Ichimonji10
authn via basic auth  
80
*(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."?)*
81 1 bmbouter
82
## Nectar Plugin Download API
83
84 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://?")*  
85 1 bmbouter
I can download files via HTTP, HTTPS  
86
I can download via file://  
87 9 Ichimonji10
Authentication parity with 2.y *(Again, is this an "I can do X" statement or a "Nectar can do X" statement?)*  
88 1 bmbouter
Recommend something for bandwidth limiting  
89
Verify integrity of downloaded files  
90 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?)*  
91 1 bmbouter
Streamer parity with 2.y
92
93
## Consumer Applicability
94
95
Using consumer profiles and repo bindings I can compute applicability with 2.y parity  
96
Performance needs to be awesome
97
98 11 Ichimonji10
*(Is the Pulp Consumer going away in Pulp 3? If so, is this section still appropriate?)*
99
100 1 bmbouter
## ISO exports
101
102
Export a group of repos to a single iso
103
104
## Plugin compatibility
105
106
rpm will work with platform  
107
puppet will work with platform  
108
ostree will work with platform  
109
python will work with platform  
110
file_plugin will work with platform  
111
docker will work with platform
112
113
## Migrations
114
115
users can run an executable similar to pulp-manage-db that is not named pulp-manage-db