Open
Conversation
9b64454 to
61417df
Compare
Add load_yaml_file and reuse it in the CLI paths that read OpenStack, RabbitMQ, Octavia, and database secrets from YAML files. Several commands called get_vault() before checking whether the file was actually vault-encrypted. In deployments that keep secrets as plain YAML, this produced repeated 'Unable to get ansible vault password' errors for a path that is never needed. Read the file first and only initialize the vault when the content is encrypted. This removes noisy false-error output during checks and deployments while preserving decryption for encrypted secrets. AI-assisted: Codex Signed-off-by: Roger Luethi <luethi@osism.tech>
61417df to
d021d66
Compare
There was a problem hiding this comment.
Hey - I've left some high level feedback:
- In
load_yaml_file, the initialos.path.existscheck duplicates existence checks already done in some callers and always logs an error; consider either removing the internal existence check or returning a more specific error to avoid double logging for the same missing file. load_yaml_filecurrently catches a broadExceptionand converts all failures intoNone; consider narrowing the exception handling (e.g., separate decryption vs. I/O errors) or propagating specific exceptions so callers can distinguish between missing files, decryption errors, and invalid YAML content.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- In `load_yaml_file`, the initial `os.path.exists` check duplicates existence checks already done in some callers and always logs an error; consider either removing the internal existence check or returning a more specific error to avoid double logging for the same missing file.
- `load_yaml_file` currently catches a broad `Exception` and converts all failures into `None`; consider narrowing the exception handling (e.g., separate decryption vs. I/O errors) or propagating specific exceptions so callers can distinguish between missing files, decryption errors, and invalid YAML content.Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Add load_yaml_file and reuse it in the CLI paths that read OpenStack, RabbitMQ, Octavia, and database secrets from YAML files.
Several commands called get_vault() before checking whether the file was actually vault-encrypted. In deployments that keep secrets as plain YAML, this produced repeated 'Unable to get ansible vault password' errors for a path that is never needed.
Read the file first and only initialize the vault when the content is encrypted. This removes noisy false-error output during checks and deployments while preserving decryption for encrypted secrets.
AI-assisted: Codex