Pull pre-merge changes from develop#952
Merged
DmytroNazarenko merged 7 commits intobetafrom Dec 17, 2025
Merged
Conversation
Function doesn't wait for `openssl s_client ...` to finish. It assumes that when the command is still running that is the successful condition. However the function should wait for exit code from the binary. We saw in production intermittent and very often `skale ssl upload` failures. This change should fix this problem and underlying race condition.
Replace for loop and dp.poll() with more straightforward dp.wait() with a timeout, as requested during diff review.
Redirect the child's standard input to subprocess.DEVNULL, so it starts with no stdin attached. This prevents the OpenSSL health-check process from reading from, or blocking on, the parent's terminal or execution environment stdin stream.
Fix check_ssl_connection() function
Remove docker-compose requirement
DmytroNazarenko
previously approved these changes
Dec 16, 2025
DmytroNazarenko
approved these changes
Dec 16, 2025
badrogger
approved these changes
Dec 16, 2025
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.
This pull request introduces improvements to the SSL health check logic in the SKALE Node CLI, enhancing reliability and error handling. The changes mainly focus on making the SSL connection verification process more robust and updating subprocess management.
SSL Health Check Improvements
check_ssl_connectionfunction now waits for the OpenSSL subprocess to finish with a timeout, raising a clear error if the check takes too long or fails, instead of relying on a fixed sleep and poll approach. This results in more reliable and informative error handling.subprocessmodule is now explicitly imported innode_cli/core/ssl/check.pyto support the new timeout logic.Subprocess Management
detached_subprocessfunction innode_cli/core/ssl/utils.pynow setsstdin=subprocess.DEVNULLto prevent the subprocess from waiting for input, improving process isolation and avoiding potential hangs.Documentation
README.mdwas updated to remove the version restriction ondocker-compose, clarifying that any version is acceptable.