Add random port support to Python services #2206
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.
With #2193 we introduced Docker services for runtime testing that can assign random ports on the host to well know ports on the guest. This PR does the same for Python based services which can have well known ports mapped to randomly assigned ports.
The Python services do this by printing a
PORT=(P1,P2)
message to stdout where P1 is the well known port and P2 is the randomly assigned port. The runtime testing runtime parses this message and knows how to replace the well known ports in the test spin.toml files with the random ports.With this change, we're at a point where runtime tests should run on most host machines without any modification.