As a user, I would like to create ISO files of exported repos
Many users would prefer if repo exports were created in ISO format.
Pulp currently supports ISO exports, but the exports are based on individual repos or repo groups. Katello should be able to re-use this (possibly creating a one-off repo group and then removing at the end of the task).
The API should support passing in a "size" field for the ISO size that passes through to Pulp. We may also want to map a few strings to common sizes:
DVD - 4.7GB
BD-R - 25GB
BD-R_DL - 50GB
BD-R_QL - 100GB
Fixes #12570: export of content views
This patch allows for exporting content view versions via a new `/export`
endpoint. Exports have the following optional parameters:
- `export_to_iso` - export to ISO or directory
- `iso_mb_size` - maximum size of each ISO in set (only is valid when
`export_to_iso` is true)
- `since` - timestamp of content; will force "incremental" format
Additionally, it allows for incremental imports on sync if the `incremental`
flag is passed through. Incremental imports are different than typical syncs
because of the different file format that Pulp outputs. For example, instead of
a yum repo, it will be a bare directory with RPMs and some json files with RPM
and errata information.
Content view version export works by creating a temporary repo group in Pulp,
exporting that group, and then deleting the temporary group. We cannot do it
repo by repo since the ISO needs to contain all of the repos on the same image.
The default setting for pulp_export_dir has been changed to live under
Rails.root, so it plays better with selinux.
Refs #12570 - Hammer commands for repo and CVV export
This adds two commands to hammer which support repo and CVV export.