Project

General

Profile

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/