PulpV3GapAnalysis » History » Revision 3
« Previous |
Revision 3/40
(diff)
| Next »
Brian Bouterse, 05/24/2018 07:08 PM
Posting content from today's meeting
PulpV3GapAnalysis¶
Content Tab¶
Content -> Red Hat Repositories¶
Katello knows the content URLs from candlepin, matches on the CDN, presents them to the user, the user selects them- Katello creates a Repo tracking this in Pulp with client certificates and CA certificate
- Katello specifies custom options from the 'Custom Repo Creation Page' but these use cases are covered in that section
Katello deletes a Repository
Content -> Products¶
Content -> Products -> New Product (used for things like CentOS, SLES, etc)¶
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
Sync Plans will not be handled inside of Pulp
Content -> Products -> {product_name} -> Repositories¶
The user selects a type and content-specific fields are shown.
Debian:¶
Sync Options¶
- Upstream URL (str)
- Releases (csv list)
- Components (csv list)
- Architectures (csv list)
- Verify SSL (boolean)
- Upstream username (str)
- Upstream password (str)
- Ignore Global http Proxy (bool)
Publish Options¶
- Publish via HTTP (bool) <----------------------------- PROBLEM AREA
Docker¶
- Sync Options
- Ustream URL (str)
- Upstream Repository Name (str)
- Verify SSL (bool)
- Upstream username (str)
- Upstream password (str)
- Ignore Global http Proxy (bool)
File¶
Sync Options¶
- Upstream URL (str)
- Verify SSL (boolean)
- Upstream username (str)
- Upstream password (str)
- Ignore Global http Proxy (bool)
Publish Options¶
- Publish via HTTP (bool) <----------------------------- PROBLEM AREA
OSTree¶
Sync Options¶
- Upstream URL (str)
- Upstream Sync Policy (choice): Latest Only, All History, Custom Depth (with a number specified) <--- in Pulp2 also specified on distributor
- Verify SSL (boolean)
- Upstream username (str)
- Upstream password (str)
- Ignore Global http Proxy (bool)
Puppet¶
Sync Options¶
- Upstream URL (str)
- Verify SSL (boolean)
- Upstream username (str)
- Upstream password (str)
- Mirror on Sync (boolean)
- Ignore Global http Proxy (bool)
Publish Options¶
- Publish via HTTP (bool) <----------------------------- PROBLEM AREA
Yum¶
General Fields <------ not used by Pulp¶
- Restrict to Architecture (choice)
- GPG Key (str)
Sync Settings¶
- Upstream URL (str)
- Ignorable Content (multiselect): RPM, DRPM, SRPM, Errata, Distribution
- Verify SSL (boolean)
- Upstream username (str)
- Upstream password (str)
- Download Policy (choice): (On Demand, Background, Immediate) <---- Background does not have a strong use case
- Mirror on Sync (bool)
- Ignore Global http Proxy (bool)
- SSL CA Cert (str)
- SSL Client Cert (str)
- SSL Client Key(str)
Publish Settings¶
- Checksum: (choice) Default, sha256, sha1 <----- for all repodata including primary.xml
Content -> Products -> {product_name} -> Repositories -> {repository_name}¶
This displays a created repository.
Katello allows the user to upload a package
- Receives the data from the user, sends it to Pulp
- Relies on Pulp to fully parse the metadata and create the unit <------- REQUIREMENT: must have Pulp determine all metdata
- Associates the the unit with the repository
Katello Reads a content Summary on this page
Katello can call a 'Sync Now'
- Katello tells the remote associated with the repository to sync
Katello can peroform an 'Advnaced Sync':
- Optimized Sync
- Complete Sync
- Validate Content Sync
Content -> Products -> {product_name} -> Repositories¶
This is the index view of all repositories
Repsitories in Katello can have the same name, but Pulp enforces a unique name on repositories globally <--------- GAP
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:
- name (str)
- type (str), e.g. 'yum'
- sync status, e.g. 'Not synced, Pending, Error' <------------------------- GAP this would require a second call to load the data per Remote
- Content Summary, e.g. 2 packages, 5 errata, etc. Similarly for other types.
Katello can trigger a sync of one or more Repositories at once.
- Trigger the sync on one or more Remotes as independant calls
Katello can trigger a delete of one or more Repositories at once.
- Trigger the delete call to Pulp as independant calls
Search/Filtering of the list of Repositories, for Repository attributes
- content_type: the type of content
- content_view_id: the id of the content View <-------- not in Pulp anywhere currently
- ignore_global_proxy <--------- GAP area, not currently in Pulp, but probably should be
- name
- product
- redhat <---------- Anything added from Red Hat "Products" page in Katello gets Red Hat.
Search/Filtering of the list of Repositories, for content units
- distribution_arch:
- 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.
- distribution_family
- distribution_uuid
- distribution_variant
- distirbution_version
NOTE: Must not have to make a call for each item in a list page. Must be able to make one call.
Content -> Content Credentials¶
Content -> Sync Plans¶
Content -> Sync Status¶
Content -> Lifecycle¶
Content -> Lifecycle Environments¶
Content -> Content Views¶
Content -> Activation Keys¶
Content -> Content Types¶
Content -> Deb Packages¶
Content -> Container Image Tags¶
Content -> Errata¶
Content -> Files¶
Content -> OSTree Branches¶
Content -> Packages¶
Content -> Puppet Modules¶
Hosts -> Content Hosts¶
Non UI things¶
- the API endpoint that clients upload their enabled repos
- the API endpoint that clients upload their package profiles
- the API endpoint that clients register
- the API endpoint that clients unregister
- speed throttling and other global settings?
- Errata mailer
- smart proxy page/details
Terminology¶
Candlepin Manifest - Defines Products, Subscriptions, and a Content Sets
Product - A collection of repositories. A repository can only belong to one product
Repository Set - Has a name, Label, and URL of the form: /content/rhel/server/7/$RELVER/$BASEARCH/os/
Updated by Brian Bouterse over 6 years ago · 40 revisions