-
Notifications
You must be signed in to change notification settings - Fork 271
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
pkg/importer: Increase number of nbdkit lines logged #3360
Conversation
30 is far too small. For "chatty" plugins like VDDK many more debugging lines will be printed for simple open calls. For debugging it is vital that we do not lose this information. Ideally I would set this to infinity. Related: https://issues.redhat.com/browse/CNV-44894 Signed-off-by: Richard W.M. Jones <[email protected]>
Hi @rwmjones. Thanks for your PR. PRs from untrusted users cannot be marked as trusted with I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
/lgtm |
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.
Looks good, if you want, you have the nbdkit
cmd stdout in output *bufio.Reader
func (watcher NbdKitLogWatcherVddk) Start(output *bufio.Reader) { |
/tmp/nbdkit.log
by dropping containerized-data-importer/pkg/image/nbdkit.go
Lines 293 to 296 in a9f2836
_, err = f.WriteString(logLine) | |
if err != nil { | |
klog.Errorf("failed to write log line; %v", err) | |
} |
(unless theres some implication in doing that)
This is probably the way to go, to see everything from nbdkit/VDDK get logged. I think there is a password printed in plain text in there somewhere though, it might be a good idea to filter that out. |
The password is passed to nbdkit directly on the command line here:
This is bad in several ways:
You can avoid all that by writing the password into a temporary file (ensure that the file is unreadable by other), and then passing More details here (scroll down a bit to where it talks about the password parameter): |
The test fails seem unrelated ...? |
/test pull-containerized-data-importer-e2e-hpp-latest |
@rwmjones: Cannot trigger testing until a trusted user reviews the PR and leaves an In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
correct: /test pull-containerized-data-importer-e2e-hpp-latest |
/test pull-containerized-data-importer-e2e-ceph |
Let me know if you plan to take this suggestion |
I didn't really understand what exactly was meant. For the immediate customer bug we're facing, getting more log lines out from the customer's container is the most important thing here. |
I am suggesting to dump the entire log into a file |
How can we see the log then? Currently the customer runs |
You can't ssh the pod if it failed/completed, so how would you get the nbd log if pod fails too quick? we can keep a debug pod running but not sure that's the best way to go. I guess that's the reason we put it in the pod log. |
You would have to watch that file in the container. Let me know if you want this merged as is |
@mrnold If you're happy with this, then so I am. It's a minimal change to improve the situation and collect the logs, perhaps not the long term final fix. The password issue noted above is also quite important. I may have a go at fixing that if I get time today. |
/approve @mrnold unhold when ready |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: akalenyu The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/unhold I think it's fine to keep this pull request to the one small change, and implement the other suggestions separately. |
@akalenyu can we get this change backported to 4.15 and 4.14 (at least)? |
sure |
@akalenyu: new pull request created: #3374 In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
/cherrypick release-v1.58 |
@akalenyu: new pull request created: #3375 In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
/cherrypick release-v1.57 |
@akalenyu: new pull request created: #3376 In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
30 is far too small. For "chatty" plugins like VDDK many more debugging lines will be printed for simple open calls. For debugging it is vital that we do not lose this information. Ideally I would set this to infinity.
Related: https://issues.redhat.com/browse/CNV-44894
Release note:
CC @mrnold