Convert AnsibleEntity and SaltEntity to be real SoftwareProcess #123
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.
Background
Salt and Ansible are currently installed by Brooklyn and:
They are effectively software processes as they manage software lifecycle but are not considered as such based on their current implementation.
Issue
The current implementation uses
EffectorStartableImplinstead ofSoftwareProcessImpl. This has some side effects which might be surprising for users, such as:provisioning.properties) are not applied when the SG is created (on supported clouds).portdoes not worksshell.envare also not applied (BROOKLYN-503)CALLER_CONTEXTis not setThis list is not exhaustive, I just wanted to illustrate the most common issues a user will bump into by using those entities.
Solution
Make those 2 entities real
SoftwareProcesses, this PR is doing just that. I simply moved around the existing code to make it match the phases ofSoftwareProcess.This has been tested with YAML tests available here for Ansible and here for Salt