-
Notifications
You must be signed in to change notification settings - Fork 115
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Copy config files for FAM to server #14866
Conversation
4e6f87b
to
d0a6c31
Compare
I'd suggest to keep all config related to
|
d0a6c31
to
44fa4fc
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pending config consolidation under a single file
44fa4fc
to
fc86ddc
Compare
if 'utils.manifest' in str(local_path): | ||
if temp_file: | ||
with NamedTemporaryFile(dir=robottelo_tmp_dir) as content_file: | ||
content_file.write(str.encode(local_path)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what is going on here? how is this different from the utils.manifest
case?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I honestly don't know how the path is being passed for the case where the local path contains utils.manifest
. For my instance, I can at least say you aren't actually passing a path but rather a string. Whereas the manifest case does some sort of read()
function. Maybe @JacobCallahan or @synkd could give us some insight here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The path is being passed by the upload_manifest
helper [1], specifically in cases where we're uploading a manifest via CLI, rather than importing directly via API. In those cases, we need to pass the path of the manifest file to put
it onto the Satellite before being imported with hammer. The third bullet point in this comment [2] describes these scenarios.
I think that, in cases where Manifester times out and we fail over to cloned manifests, the contents of the cloned manifest object need to be written to a file before transferring that file to the Satellite, whereas with Manifester, the file would already be present on the local file system. The check for utils.manifest
is a way of distinguishing between Manifester and cloned manifests.
I hope this provides some measure of clarity. It is admittedly rather confusing.
[1]
def upload_manifest(self, org_id, manifest=None, interface='API', timeout=None): |
[2] #12605 (comment)
571e3b6
to
fb7fc06
Compare
Need to wait for theforeman/foreman-ansible-modules#1732 to be merged now |
fb7fc06
to
324b119
Compare
(cherry picked from commit a6ce5f7)
(cherry picked from commit a6ce5f7)
Problem Statement
Some tests are failing in production because we are missing live config settings for them. We also created some tech debt on the last PR, because we were doing inline config replacement with
sed
.Solution
Host the config files ourselves and evaluate them with dynaconf before sending them to the server.
I won't be able to test this in PRT at the moment, but will open a jenkins PR for the right config settings. The current templates I copied into here are directly from https://github.com/theforeman/foreman-ansible-modules/tree/develop/tests/test_playbooks/vars