-
Notifications
You must be signed in to change notification settings - Fork 5.6k
Refactor and improvements for "transactional-updates" module #61188
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
Refactor and improvements for "transactional-updates" module #61188
Conversation
|
I notice there are few tests failures, I'm pushing necessary fixes |
|
@Ch3LL thanks for the review! 👍 I've pushed some of the requested changes and did some comments about the parameter deprecations. |
Hi! I'm your friendly PR bot!You might be wondering what I'm doing commenting here on your PR. Yes, as a matter of fact, I am... I'm just here to help us improve the documentation. I can't respond to Okay... so what do you do? I detect modules that are missing docstrings or "CLI Example" on existing docstrings! So what does that have to do with my PR? I noticed that in this PR there are some files changed that have some of these Okay, what are they? Well, my favorite, is that since you were making changes here I'm hoping that If I can, then what? Well, you can either add them to this PR or add them to another PR. Either way is fine! Well... what if I can't, or don't want to? That's also fine! We appreciate all contributions to the Salt Project. If you Whatever approach you decide to take, just drop a comment here letting us know! Detected Issues (click me)Check Known Missing Docstrings...........................................Failed - hook id: invoke - duration: 1.57s - exit code: 1 Thanks again! |
What does this PR do?
This PR changes the way the
transactional-updatemodule is working internally in order to run Salt actions inside new transactions.The previous architecture used the Salt SSH approach, using the SSH wrappers, Salt thin and
state.pkgin order to execute a Salt action inside a transaction. We found this is a bit problematic, and produce some issues particularly when dealing with complex/fancy states like:The above state produce the following error when running in a transactional system:
Similarly with this other state, where filerefs appears as missing (will force us to use extra_filerefs for this particular call):
and
In this case we are getting:
What this PR does in order to solve this problems is the following:
concurrentflag to allow execution of the underlying "salt-call" in case of states execution.--no-return-eventfor "salt-call" to avoid getting duplicated events on the Salt event bus.state.highstatenot acting according toconcurrentflag described in Salt documentation.This brings some benefits:
Merge requirements satisfied?
[NOTICE] Bug fixes or features added to Salt require tests.
Commits signed with GPG?
Yes
Please review Salt's Contributing Guide for best practices.
See GitHub's page on GPG signing for more information about signing commits with GPG.