PulpV3GapAnalysis » History » Revision 3
Revision 2 (Justin Sherrill, 05/23/2018 02:31 PM) → Revision 3/40 (Brian Bouterse, 05/24/2018 07:08 PM)
h1. PulpV3GapAnalysis h1. Content Tab h2. 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 h2. Content -> Products h3. 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 h3. Content -> Products -> {product_name} -> Repositories The user selects a type and content-specific fields are shown. h4. Debian: h5. 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) h5. Publish Options * Publish via HTTP (bool) <----------------------------- PROBLEM AREA h4. Docker * Sync Options * Ustream URL (str) * Upstream Repository Name (str) * Verify SSL (bool) * Upstream username (str) * Upstream password (str) * Ignore Global http Proxy (bool) h4. File h5. Sync Options * Upstream URL (str) * Verify SSL (boolean) * Upstream username (str) * Upstream password (str) * Ignore Global http Proxy (bool) h5. Publish Options * Publish via HTTP (bool) <----------------------------- PROBLEM AREA h4. OSTree h5. 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) h4. Puppet h5. Sync Options * Upstream URL (str) * Verify SSL (boolean) * Upstream username (str) * Upstream password (str) * Mirror on Sync (boolean) * Ignore Global http Proxy (bool) h5. Publish Options * Publish via HTTP (bool) <----------------------------- PROBLEM AREA h4. Yum h5. General Fields <------ not used by Pulp * Restrict to Architecture (choice) * GPG Key (str) h5. 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) h5. Publish Settings * Checksum: (choice) Default, sha256, sha1 <----- for all repodata including primary.xml h3. 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 h3. 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.* h2. Content -> Content Credentials h2. Content -> Sync Plans h2. Content -> Sync Status h2. Content -> Lifecycle h2. Content -> Lifecycle Environments h2. Content -> Content Views h2. Content -> Activation Keys h2. Content -> Content Types h2. Content -> Deb Packages h2. Content -> Container Image Tags h2. Content -> Errata h2. Content -> Files h2. Content -> OSTree Branches h2. Content -> Packages h2. Content -> Puppet Modules h1. Hosts -> Content Hosts h1. 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 h1. 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/