PulpV3GapAnalysis » History » Version 3
Brian Bouterse, 05/24/2018 07:08 PM
Posting content from today's meeting
1 | 1 | Brian Bouterse | h1. PulpV3GapAnalysis |
---|---|---|---|
2 | |||
3 | h1. Content Tab |
||
4 | |||
5 | h2. Content -> Red Hat Repositories |
||
6 | |||
7 | Katello knows the content URLs from candlepin, matches on the CDN, presents them to the user, the user selects them |
||
8 | * Katello creates a Repo tracking this in Pulp with client certificates and CA certificate |
||
9 | * Katello specifies custom options from the 'Custom Repo Creation Page' but these use cases are covered in that section |
||
10 | |||
11 | Katello deletes a Repository |
||
12 | |||
13 | h2. Content -> Products |
||
14 | |||
15 | h3. Content -> Products -> New Product (used for things like CentOS, SLES, etc) |
||
16 | |||
17 | All data here is stored only in Katello since this is a Product not a Repository and Pulp doesn't have a concept of a Product |
||
18 | Sync Plans will *not* be handled inside of Pulp |
||
19 | |||
20 | h3. Content -> Products -> {product_name} -> Repositories |
||
21 | |||
22 | The user selects a type and content-specific fields are shown. |
||
23 | |||
24 | h4. Debian: |
||
25 | |||
26 | h5. Sync Options |
||
27 | |||
28 | * Upstream URL (str) |
||
29 | * Releases (csv list) |
||
30 | * Components (csv list) |
||
31 | * Architectures (csv list) |
||
32 | * Verify SSL (boolean) |
||
33 | * Upstream username (str) |
||
34 | * Upstream password (str) |
||
35 | * Ignore Global http Proxy (bool) |
||
36 | |||
37 | h5. Publish Options |
||
38 | |||
39 | * Publish via HTTP (bool) <----------------------------- PROBLEM AREA |
||
40 | |||
41 | |||
42 | h4. Docker |
||
43 | |||
44 | * Sync Options |
||
45 | |||
46 | * Ustream URL (str) |
||
47 | |||
48 | * Upstream Repository Name (str) |
||
49 | |||
50 | * Verify SSL (bool) |
||
51 | |||
52 | * Upstream username (str) |
||
53 | |||
54 | * Upstream password (str) |
||
55 | |||
56 | * Ignore Global http Proxy (bool) |
||
57 | |||
58 | |||
59 | h4. File |
||
60 | |||
61 | h5. Sync Options |
||
62 | |||
63 | * Upstream URL (str) |
||
64 | |||
65 | * Verify SSL (boolean) |
||
66 | |||
67 | * Upstream username (str) |
||
68 | |||
69 | * Upstream password (str) |
||
70 | |||
71 | * Ignore Global http Proxy (bool) |
||
72 | |||
73 | h5. Publish Options |
||
74 | |||
75 | * Publish via HTTP (bool) <----------------------------- PROBLEM AREA |
||
76 | |||
77 | |||
78 | h4. OSTree |
||
79 | |||
80 | h5. Sync Options |
||
81 | |||
82 | * Upstream URL (str) |
||
83 | |||
84 | * Upstream Sync Policy (choice): Latest Only, All History, Custom Depth (with a number specified) <--- in Pulp2 also specified on distributor |
||
85 | |||
86 | * Verify SSL (boolean) |
||
87 | |||
88 | * Upstream username (str) |
||
89 | |||
90 | * Upstream password (str) |
||
91 | |||
92 | * Ignore Global http Proxy (bool) |
||
93 | |||
94 | |||
95 | h4. Puppet |
||
96 | |||
97 | h5. Sync Options |
||
98 | |||
99 | * Upstream URL (str) |
||
100 | |||
101 | * Verify SSL (boolean) |
||
102 | |||
103 | * Upstream username (str) |
||
104 | |||
105 | * Upstream password (str) |
||
106 | |||
107 | * Mirror on Sync (boolean) |
||
108 | |||
109 | * Ignore Global http Proxy (bool) |
||
110 | |||
111 | h5. Publish Options |
||
112 | |||
113 | * Publish via HTTP (bool) <----------------------------- PROBLEM AREA |
||
114 | |||
115 | |||
116 | h4. Yum |
||
117 | |||
118 | h5. General Fields <------ not used by Pulp |
||
119 | |||
120 | * Restrict to Architecture (choice) |
||
121 | |||
122 | * GPG Key (str) |
||
123 | |||
124 | h5. Sync Settings |
||
125 | |||
126 | * Upstream URL (str) |
||
127 | |||
128 | * Ignorable Content (multiselect): RPM, DRPM, SRPM, Errata, Distribution |
||
129 | |||
130 | * Verify SSL (boolean) |
||
131 | |||
132 | * Upstream username (str) |
||
133 | |||
134 | * Upstream password (str) |
||
135 | |||
136 | * Download Policy (choice): (On Demand, Background, Immediate) <---- Background does not have a strong use case |
||
137 | |||
138 | * Mirror on Sync (bool) |
||
139 | |||
140 | * Ignore Global http Proxy (bool) |
||
141 | |||
142 | * SSL CA Cert (str) |
||
143 | |||
144 | * SSL Client Cert (str) |
||
145 | |||
146 | * SSL Client Key(str) |
||
147 | |||
148 | h5. Publish Settings |
||
149 | |||
150 | * Checksum: (choice) Default, sha256, sha1 <----- for all repodata including primary.xml |
||
151 | |||
152 | |||
153 | 3 | Brian Bouterse | h3. Content -> Products -> {product_name} -> Repositories -> {repository_name} |
154 | |||
155 | This displays a created repository. |
||
156 | |||
157 | Katello allows the user to upload a package |
||
158 | |||
159 | * Receives the data from the user, sends it to Pulp |
||
160 | |||
161 | * Relies on Pulp to fully parse the metadata and create the unit <------- REQUIREMENT: must have Pulp determine all metdata |
||
162 | |||
163 | * Associates the the unit with the repository |
||
164 | |||
165 | Katello Reads a content Summary on this page |
||
166 | |||
167 | Katello can call a 'Sync Now' |
||
168 | |||
169 | * Katello tells the remote associated with the repository to sync |
||
170 | |||
171 | |||
172 | Katello can peroform an 'Advnaced Sync': |
||
173 | |||
174 | * Optimized Sync |
||
175 | |||
176 | * Complete Sync |
||
177 | |||
178 | * Validate Content Sync |
||
179 | |||
180 | |||
181 | h3. Content -> Products -> {product_name} -> Repositories |
||
182 | |||
183 | This is the index view of all repositories |
||
184 | |||
185 | Repsitories in Katello can have the same name, but Pulp enforces a unique name on repositories globally <--------- GAP |
||
186 | |||
187 | Katello takes a Product ID which resolves to a set of repos. Katello fetches this set of repos. For each repo we need to fetch: |
||
188 | |||
189 | * name (str) |
||
190 | |||
191 | * type (str), e.g. 'yum' |
||
192 | |||
193 | * sync status, e.g. 'Not synced, Pending, Error' <------------------------- GAP this would require a second call to load the data per Remote |
||
194 | |||
195 | * Content Summary, e.g. 2 packages, 5 errata, etc. Similarly for other types. |
||
196 | |||
197 | |||
198 | Katello can trigger a sync of one or more Repositories at once. |
||
199 | |||
200 | * Trigger the sync on one or more Remotes as independant calls |
||
201 | |||
202 | |||
203 | Katello can trigger a delete of one or more Repositories at once. |
||
204 | |||
205 | * Trigger the delete call to Pulp as independant calls |
||
206 | |||
207 | |||
208 | Search/Filtering of the list of Repositories, for Repository attributes |
||
209 | |||
210 | * content_type: the type of content |
||
211 | |||
212 | * content_view_id: the id of the content View <-------- not in Pulp anywhere currently |
||
213 | |||
214 | * ignore_global_proxy <--------- GAP area, not currently in Pulp, but probably should be |
||
215 | |||
216 | * name |
||
217 | |||
218 | * product |
||
219 | |||
220 | * redhat <---------- Anything added from Red Hat "Products" page in Katello gets Red Hat. |
||
221 | |||
222 | |||
223 | Search/Filtering of the list of Repositories, for content units |
||
224 | |||
225 | * distribution_arch: |
||
226 | |||
227 | * distribution_bootable <----------- if Katello can detect if it has a vmlinuz init.rd it knows the distribution is bootable. Detected at the end of every sync. |
||
228 | |||
229 | * distribution_family |
||
230 | |||
231 | * distribution_uuid |
||
232 | |||
233 | * distribution_variant |
||
234 | |||
235 | * distirbution_version |
||
236 | |||
237 | |||
238 | *NOTE: Must not have to make a call for each item in a list page. Must be able to make one call.* |
||
239 | 1 | Brian Bouterse | |
240 | h2. Content -> Content Credentials |
||
241 | |||
242 | |||
243 | h2. Content -> Sync Plans |
||
244 | |||
245 | |||
246 | h2. Content -> Sync Status |
||
247 | |||
248 | |||
249 | h2. Content -> Lifecycle |
||
250 | |||
251 | |||
252 | h2. Content -> Lifecycle Environments |
||
253 | |||
254 | |||
255 | h2. Content -> Content Views |
||
256 | |||
257 | |||
258 | h2. Content -> Activation Keys |
||
259 | |||
260 | |||
261 | h2. Content -> Content Types |
||
262 | |||
263 | |||
264 | h2. Content -> Deb Packages |
||
265 | |||
266 | |||
267 | h2. Content -> Container Image Tags |
||
268 | |||
269 | |||
270 | h2. Content -> Errata |
||
271 | |||
272 | |||
273 | h2. Content -> Files |
||
274 | |||
275 | |||
276 | h2. Content -> OSTree Branches |
||
277 | |||
278 | |||
279 | h2. Content -> Packages |
||
280 | |||
281 | |||
282 | h2. Content -> Puppet Modules |
||
283 | |||
284 | |||
285 | |||
286 | h1. Hosts -> Content Hosts |
||
287 | |||
288 | |||
289 | h1. Non UI things |
||
290 | |||
291 | * the API endpoint that clients upload their enabled repos |
||
292 | * the API endpoint that clients upload their package profiles |
||
293 | * the API endpoint that clients register |
||
294 | * the API endpoint that clients unregister |
||
295 | * speed throttling and other global settings? |
||
296 | 2 | Justin Sherrill | * Errata mailer |
297 | * smart proxy page/details |
||
298 | 1 | Brian Bouterse | |
299 | |||
300 | |||
301 | h1. Terminology |
||
302 | |||
303 | Candlepin Manifest - Defines Products, Subscriptions, and a Content Sets |
||
304 | Product - A collection of repositories. A repository can only belong to one product |
||
305 | Repository Set - Has a name, Label, and URL of the form: /content/rhel/server/7/$RELVER/$BASEARCH/os/ |