Project

Profile

Help

31+ Ideas (post MVP) » History » Sprint/Milestone 13

mhrivnak, 10/09/2017 10:16 PM

1 12 bmbouter
# Core 3.1+ Ideas (post MVP)
2 1 bmbouter
3 11 bmbouter
## Authentication
4 1 bmbouter
5
  - External
6
  - Expiring passwords
7
  - REMOTE_USER support?
8
9 11 bmbouter
## Authorization
10 1 bmbouter
11
\<put ideas here\>
12
13 11 bmbouter
## Versioned Repository
14 1 bmbouter
15 6 bmbouter
<span style="color:red;">As an authenticated user, I can get a list of a repo's versions.</span>
16
17
<span style="color:red;">As an authenticated user, I can specify how many versions to keep at a time.</span>
18
19 7 bmbouter
<span style="color:red;">As an authenticated user, I can get a reference to a new repo version from any task that adds or removes content.</span>
20 6 bmbouter
21
<span style="color:red;">As an authenticated user, I can publish a repo and have it default to the latest version.</span>
22
23
<span style="color:red;">As an authenticated user, I can run a publisher with a repository version.</span>
24 1 bmbouter
25 11 bmbouter
## Content Manipulation
26 2 bmbouter
27
  - Sync can have "sync" options.
28
  - Sync options are different than "importer" attributes.
29
30 11 bmbouter
## Upload
31 5 bmbouter
32
  - Allow for a large single file to have its chunks uploaded in parallel.
33
34 11 bmbouter
## Importers
35 1 bmbouter
36
  - Sync from multiple importers
37
  - We need to support multiple importers to properly support distributions and ostree (with distributions).
38
  - add auto-publish feature
39
  - As an authenticated user I have a notes field I can use to store arbitrary \<key, value\> tuples with both key and value being strings.
40 11 bmbouter
  - Add the force-full option.
41 1 bmbouter
42 11 bmbouter
## Publishers
43 2 bmbouter
44 11 bmbouter
  - Add an auto_publish feature. Possibly a field called auto_publish \[default to true\] that indicates that the publisher will publish automatically when the associated repository's content has changed.
45 1 bmbouter
  - Add the force-full option.
46 12 bmbouter
  - Add a no-op publishing feature
47 11 bmbouter
48
## Task Management
49
50 3 bmbouter
Allow filtering of tasks on 'completed' or 'started'. These 'meta' states are not states directly, but they represent a group of states. For instance 'completed' would be represent 'skipped', 'completed', 'failed', and 'canceled'.
51
52
Additional filtering support:
53 1 bmbouter
54 3 bmbouter
  - worker
55
  - started_at, filtered by less than, greater than
56 1 bmbouter
  - finished_at, filtered by less than, greater than
57 3 bmbouter
  - resource field on an associated ReservedResource
58
59
As an authenticated user I can DELETE a task
60
61 11 bmbouter
## Task Scheduling
62 5 bmbouter
63
  - As an authenticated user, I can schedule a task.
64 1 bmbouter
65 11 bmbouter
## Data Exports
66 4 bmbouter
67
As an authenticated user, I can export a group of published repositories to a single media
68
69
As an authenticated user, I can export an incremental publish of a group of repositories to a single media
70
71
For both use cases \^, the layout needs some more discussion.
72
73
  - maybe it is specified by the user?
74 1 bmbouter
  - maybe it is maintains the published filesystem tree structure?
75
76 4 bmbouter
Also there are two main options in this area.
77
78
1\. One is a publish bundler that bundles up all the units published to disk. Then this media (e.g. an iso) is mounted and brought into another Pulp installation using a sync. This will only work for content types that don't require 'live APIs'
79
80
2\. Another option is to export database model data and disk content units from one Pulp to media and then import by directly adding those units to another Pulp. This could be done through the API possibly. This would allow things like Docker to be exported and imported, but it may not work for OSTree??
81
82 1 bmbouter
Also there was discussion about OSTree possibly never supporting and incremental export/import due to how OSTree stores content.
83
84 11 bmbouter
## Server Plugins (which content types are available and importers and publishers)
85 9 bmbouter
86 11 bmbouter
## Orphans
87 9 bmbouter
88
As an authenticated user, I can remove one or more units from one or more repositories
89
90
  - filtering support on the unit(s)
91
  - filtering support on the repositories
92
93 1 bmbouter
As an authenticated user, I can delete content units even when associated with repositories.
94
95 12 bmbouter
## Plugin API
96 1 bmbouter
97 12 bmbouter
Incremental publishing support
98 8 dkliban@redhat.com
99 11 bmbouter
## Status API
100 8 dkliban@redhat.com
101
Status API return status of Squid (aka Proxy), web server, streamer
102
103
API to view an overall health attribute that returns a message when something is not operating properly or True.
104
105
I can view information about unapplied migrations
106
107 1 bmbouter
I can view a verbose Status API which returns a Pulp version for each component along with a list of all plugins and their versions.
108
109
## Alternate content source support
110 12 bmbouter
111
# Plugin Feature Set 3.1+ Ideas (post MVP)
112
113
## Python
114
115
  - Add a mirror sync policy
116 13 mhrivnak
117
## Event Listener Notifier
118
119
I can receive serialized task info via AMQP on each task save
120
121
*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?*