-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
[master] make Cloud::vm_config() handle per-VM vm_overrides according to inline docs #64701
[master] make Cloud::vm_config() handle per-VM vm_overrides according to inline docs #64701
Conversation
Hi there! Welcome to the Salt Community! Thank you for making your first contribution. We have a lengthy process for issues and PRs. Someone from the Core Team will follow up as soon as possible. In the meantime, here’s some information that may help as you continue your Salt journey.
There are lots of ways to get involved in our community. Every month, there are around a dozen opportunities to meet with other contributors and the Salt Core team and collaborate in real time. The best way to keep track is by subscribing to the Salt Community Events Calendar. |
bcaa2fa
to
c656ac7
Compare
Any additional action required on my behalf to get this merged? The PR got out of sync with master and I tried to rebase here, but this does seem to require some additional workflow approval? If it's just a matter of time and patience, I'm ok with that - just let me know. |
I went ahead and started the pipeline. There is nothing on your end that you need to do, I'll follow up here and it also has the 3007.0 label so this is on our radar. |
Congratulations on your first PR being merged! 🎉 |
What does this PR do?
The handling of per-VM overrides within Cloud::vm_config() needs to reflect that the input dict "vm_overrides" is specified to have per-VM overrides, with the VM name being the dict key and the actual overrides the according value.
What issues does this PR fix or reference?
Fixes: #64610
Previous Behavior
Originally, the full "vm_overrides" dict was merged as-is into the VM's configuration dict, placing all override values under new top-level keys (the VMs' names). Therefore, these overrides were never effectively pulled in.
Additionally, the overrides handling was coded to not consider nested updates, but rather replacing the whole sub-tree under the top-level node. So any nested configuration from the main, provider or profile config would have been fully replaced by the overrides, if the same top-level key exists.
New Behavior
The vm_override dict is checked for the sub-element concerning the currently handled VM, and the overrides are fully/nestedly merged into the VM's config, as already was done for provider and profile configuration.
Merge requirements satisfied?
Commits signed with GPG?
No