-
Notifications
You must be signed in to change notification settings - Fork 8
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
fix: use "double fork" to invoke port forward within Taskfile #1148
Conversation
Signed-off-by: Jeffrey Tang <[email protected]>
Signed-off-by: Jeffrey Tang <[email protected]>
Signed-off-by: Jeffrey Tang <[email protected]>
Signed-off-by: Jeffrey Tang <[email protected]>
Reference from GeminiThe Problem: Process Groups and Signal Propagation The core issue is very likely related to process groups and how signals are propagated within them. Even with setsid (which creates a new session), if the kubectl port-forward process isn't properly placed in its own process group, Taskfile (or its parent process) might be sending signals that inadvertently terminate the kubectl process when a connection is established and then closed. Here's why this happens: Process Groups: Processes are organized into process groups. When a signal is sent to a process group, all processes within that group receive the signal. Taskfile's Process Management: Taskfile, when it finishes executing a task, might be sending signals (like SIGHUP or SIGTERM) to its child processes and their process groups. Connection Establishment and Closure: When you connect with nc, the following happens: nc connects to the forwarded port. The Solution: Explicit Process Group Management The most reliable solution is to explicitly create a new process group for the kubectl port-forward process. This ensures that signals sent by Taskfile won't affect it |
…portforward-quit-task Signed-off-by: Jeffrey Tang <[email protected]> # Conflicts: # Taskfile.helper.yml
@JeffreyDallas , I already fixed this: #1132 |
Signed-off-by: Jeffrey Tang <[email protected]>
Signed-off-by: Jeffrey Tang <[email protected]>
E2E Test Report 17 files 126 suites 1h 26m 47s ⏱️ Results for commit f7dc8ca. ♻️ This comment has been updated with latest results. |
Coverage summary from CodacySee diff coverage on Codacy
Coverage variation details
Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: Diff coverage details
Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: See your quality gate settings Change summary preferencesCodacy stopped sending the deprecated coverage status on June 5th, 2024. Learn more Footnotes
|
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1148 +/- ##
==========================================
- Coverage 83.37% 82.97% -0.40%
==========================================
Files 77 77
Lines 20809 21171 +362
Branches 1717 1468 -249
==========================================
+ Hits 17349 17567 +218
- Misses 3363 3544 +181
+ Partials 97 60 -37
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we should support -q/--quiet on all commands/subcommands. Instead of removing the flag, just add the flag to the destroy subcommands.
Signed-off-by: Jeffrey Tang <[email protected]>
## [0.34.0](v0.33.0...v0.34.0) (2025-01-24) ### Features * `solo deployment create` should use the context and cluster provided for where to save the remote config ([#1142](#1142)) ([fe42edd](fe42edd)) * Connect to multicluster deployments and validate remoteConfigs ([#1141](#1141)) ([c78e226](c78e226)) * for v0.59.x or greater set the internal IP address to 127.0.0.1 to avoid an ISS, in config.txt ([#1162](#1162)) ([4ca488b](4ca488b)) * node upgrade command and new e2e tests ([#1133](#1133)) ([1cf5893](1cf5893)) * separate explorer from mirror node install/uninstall ([#1177](#1177)) ([0887fa6](0887fa6)) * solo network destroy should update remote-config ([#1155](#1155)) ([98b028f](98b028f)) * Update solo to load remote config near entry point ([#1176](#1176)) ([473a650](473a650)) ### Bug Fixes * merge error due to change of remote_config_tasks ([#1197](#1197)) ([9d1a8cb](9d1a8cb)) * Normalize mirror node resources path ([#1175](#1175)) ([ab018a7](ab018a7)) * Refactor RemoteConfigTasks class ([#1185](#1185)) ([66cfc4d](66cfc4d)) * remove k8.getKubeConfig ([#1182](#1182)) ([89c557a](89c557a)) * Set mirror node importer startDate ([#1174](#1174)) ([9d9ef53](9d9ef53)) * update hedera explorer chart version and location ([#1188](#1188)) ([0c415ef](0c415ef)) * use "double fork" to invoke port forward within Taskfile ([#1148](#1148)) ([d662d3f](d662d3f))
🎉 This PR is included in version 0.34.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Description
This pull request changes the following:
Related Issues