Document foremanctl impact on Pulp import/export paths#4905
Document foremanctl impact on Pulp import/export paths#4905aneta-petrova wants to merge 2 commits into
Conversation
|
The PR preview for 2b1e51d is available at theforeman-foreman-documentation-preview-pr-4905.surge.sh The following output files are affected by this PR:
|
|
Hi @aidenfine, can you please take a look at this PR and let me know if you think these are the changes needed to cover theforeman/foremanctl#455? Note that the preview links in #4905 (comment) include containerized and non-containerized docs preview builds. So for example to review the foremanctl changes, the right HTML builds to look at would be mainly https://theforeman-foreman-documentation-preview-pr-4905.surge.sh/nightly/Managing_Content/index-containerized-katello.html. |
vsedmik
left a comment
There was a problem hiding this comment.
Left one note bellow which is going to be addressed by another PR I have been told, so ACK here, looks good to me. 👍
| ifdef::containerized[] | ||
| . Add the parent folder to allowed import paths: | ||
| + | ||
| [options="nowrap", subs="+quotes,attributes"] | ||
| ---- | ||
| # {foremanctl} deploy --content-import-path /var/lib/pulp/__local_repos__ | ||
| ---- | ||
| endif::[] |
There was a problem hiding this comment.
This is probably not the only part that needs update in this chapter for the containerized SAT, the preceding foreman-maintain will need an update too.
There was a problem hiding this comment.
Looking at the satellite-maintain instructions above makes me wonder if they're even correct right now. Line 30 is telling users to use satellite-maintain packages after unlocking package management, and that doesn't seem right (https://github.com/theforeman/foreman-documentation/blob/master/guides/common/modules/ref_managing-packages-on-the-base-operating-system.adoc).
maximiliankolb
left a comment
There was a problem hiding this comment.
Two minor suggestion, overall LGTM style-wise.
I also suggest to swap the order in the snippet file name:
$ fd snip_ | rg prereq
guides/common/modules/snip_prerequisite-activation-key-available.adoc
guides/common/modules/snip_prerequisite-configured-smart-proxy-registration-provisioning.adoc
guides/common/modules/snip_prerequisite-networking-for-provisioning.adoc
guides/common/modules/snip_prerequisite-project-client-repository-ak.adoc
guides/common/modules/snip_prerequisite-project-client-repository-enabled.adoc
guides/common/modules/snip_prerequisite-repositories-with-oscap.adoc
guides/common/modules/snip_prerequisites-common-compute-resource.adoc
guides/common/modules/snip_prerequisites-configuring-smartproxyservers-for-load-balancing.adoc
guides/common/modules/snip_prerequisites-deploying-ca-cert-rex.adoc
guides/common/modules/snip_registering-a-host-prerequisites.adoc
So maybe "snip_prerequisite-allowed-export-paths.adoc`.
| To configure additional paths, use `ALLOWED_EXPORT_PATHS` in `/etc/pulp/settings.py`. | ||
| endif::[] | ||
| ifdef::containerized[] | ||
| The default export path is `/var/lib/pulp/exports/`. |
There was a problem hiding this comment.
line 5 and 9 are identical, you could move this line below line 3.
|
Tech wise, I think that Tested on Foreman 3.18/Katello 4.20. |
ekohl
left a comment
There was a problem hiding this comment.
Please keep the installer and foremanctl commands in sync as much as possible. I realize it was already wrong before, but this is a good opportunity to fix it. Note that users who manually modify settings.py will lose the value on the next installer run and we also can't migrate them from non-containerized to containerized. For that latter part is exactly why we maintain the parameter mapping.
| * The syncable exports must be located in one of your allowed import paths. | ||
| ifndef::containerized[] | ||
| The default import path is `/var/lib/pulp/imports/`. | ||
| To configure additional paths, use `ALLOWED_IMPORT_PATHS` in `/etc/pulp/settings.py`. |
There was a problem hiding this comment.
Users should never modify settings.py themselves. Even with satellite-installer. Users can use {foreman-installer} --foreman-proxy-content-pulpcore-additional-import-paths $path to add additional paths. Looks like this bug was originally introduced in 1afa311.
Note that in https://github.com/theforeman/foremanctl/blob/master/docs/user/parameters.md#mapped we document this parameter mapping.
| By default, this includes `/var/lib/pulp/imports/`. | ||
| * The syncable exports must be located in one of your allowed import paths. | ||
| ifndef::containerized[] | ||
| The default import path is `/var/lib/pulp/imports/`. |
There was a problem hiding this comment.
Not quite true: https://github.com/theforeman/puppet-foreman_proxy_content/blob/9f441f35d1a403f7576aa2845353c2d6d40246f9/manifests/init.pp#L151-L161 shows the logic. On content proxies (downstream: Capsule) it's /var/lib/pulp/sync_imports while on the main server (downstream: Satellite) it's both /var/lib/pulp/sync_imports and /var/lib/pulp/imports.
| * Exports are written to one of your allowed export paths. | ||
| ifndef::containerized[] | ||
| The default export path is `/var/lib/pulp/exports/`. | ||
| To configure additional paths, use `ALLOWED_EXPORT_PATHS` in `/etc/pulp/settings.py`. |
There was a problem hiding this comment.
Similar to above: please use --foreman-proxy-content-pulpcore-additional-export-paths. It's also odd that it mentions --content-export-path doesn't have an existing entry while --foreman-proxy-content-pulpcore-additional-export-paths exists for that.
What changes are you introducing?
Why are you introducing these changes? (Explanation, links to references, issues, etc.)
theforeman/foremanctl#455
https://github.com/theforeman/foremanctl/blob/744ba31fd0ee4e4a74eef97e2c705acca1b2961d/src/roles/pulp/defaults/main.yaml#L29-L30
theforeman/foremanctl#445
Anything else to add? (Considerations, potential downsides, alternative solutions you have explored, etc.)
Assisted-by: Cursor
Contributor checklists
Please cherry-pick my commits into: