-
Task
-
Resolution: Done
-
Undefined
-
None
Goal:
- Manage all entities in candlepin related to a content template
Acceptance Criteria:
As part of Content Template creation (or update), we need tasks to be run that create all the entities we need to represent the repositories and template in candlepin. For create/Update, you'll use these apis:
# Create a product for all custom repos, if it doesn't exist. The creation would only ever happen once. OwnerProductApi.CreateProduct POST /owners/{owner_key}/products # Create a Pool to act as the subscripotion for the custom product. The creation would only ever happen once. OwnersApi.CreatePool POST /owners/{owner_key}/pools * Expiration date at some point in the future (satellite uses a static end date in 2049 https://github.com/Katello/katello/blob/master/app/lib/katello/resources/candlepin/product.rb#L80) #For each repository, create a content set OwnerContetAPI.CreateContent (or CreateContentBatch) POST /owners/{owner_key}/content * GgpURL should point to the GPG key url # Add each content to the product (if not already) OwnerProductApi.AddContentToProduct POST /owners/{owner_key}/products/{product_id}/content/{content_id} * Set enabled to true # Create an enviornment for the content template OwnersAPI.CreateEnv POST /owners/{owner_key}/environments * Set env prefix accordingly * (pulp-content path): https://cert.console.redhat.com/api/pulp-content/ with the red hat domain path, template path: /$RH_DOMAIN/$TEMPLATE_UUID/ * so then when red hat content set with some path (/content/os/rhel/9/x86_64/os/) is promoted to it, it'll use the full URL of: https://cert.console.redhat.com/api/pulp-content/$RH_DOMAIN/$TEMPLATE_UUID/content/os/rhel/9/x86_64/os/ # Add content to environment (set enabled= true) POST /environments/{env_id}/content EnvironmentAPI.PromoteContent # Remove content that shouldn't be there (on update if repos are added/removed) EnvironmentApi.DemoteContent Delete /environments/{env_id}/content
As part of this, we should write an integration test.
Owner_key here is the org_id
At the end of this ticket, i wouldn't expect candlepin support to be turned on in stage/prod
- is depended on by
-
HMS-3600 API - Delete candlepin environment when content template is deleted
- Closed