Fix ini_manage error and change handling #43723
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What does this PR do?
This PR fixes a problem where
ini_manage
will throw an exception in test mode when a managed file is not present yet. Additionally, the dictionary of changes handles them by sections, which means that scenarios in which changes do not occur still return a dictionary of keys with empty dictionaries as values. The previous method ofif changes:
would result in changes being detected when there weren't any.What issues does this PR fix or reference?
None
Previous Behavior
Example of exception during test mode:
Also, changes would be detected in files where no changes were made due to ho the dictionary of changes is kept. Enforcing a property within a section such as:
...would return:
...in the changes dictionary when there weren't any changes for the
settings
section.New Behavior
File access to non-existent files is ignored in test mode.
The state now inspects each key in the changes dictionary for changes by section.
Tests written?
No
Please review Salt's Contributing Guide for best practices.