servodserver: Add initial implementation for new APIs to save logs
BUG=b:372925074
TEST=CQ
Cq-Depend: chromium:5957769
Change-Id: Icd8ff6c8bb5fe2ab062fcc4db6d8301803305c6c
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/dev-util/+/5962844
Tested-by: Seewai Fu <seewaifu@google.com>
Reviewed-by: Kshitij Pancholi <panchok@google.com>
Commit-Queue: Seewai Fu <seewaifu@google.com>
diff --git a/src/go.chromium.org/chromiumos/test/servod/cmd/servodserver/servodserver.go b/src/go.chromium.org/chromiumos/test/servod/cmd/servodserver/servodserver.go
index 4d48263..df58f5a 100644
--- a/src/go.chromium.org/chromiumos/test/servod/cmd/servodserver/servodserver.go
+++ b/src/go.chromium.org/chromiumos/test/servod/cmd/servodserver/servodserver.go
@@ -247,6 +247,32 @@
return errorMessage
}
+// LogCheckPoint will create checkpoint certain files so that some files
+// can be saved partially when SaveLogs is called.
+// For example, /var/log/messages in a labstation can be
+// very big and include information from a few days ago.
+// Getting the checkpoint of the current /var/log/messages will
+// allow SaveLogs to save the portion only relevant to the current
+// testing session.
+func (s *ServodService) LogCheckPoint(ctx context.Context, req *api.LogCheckPointRequest) (*api.LogCheckPointResponse, error) {
+ s.logger.Printf("Received api.LogCheckPointRequest: %#v\n", req)
+ return nil, errors.New("the service LogCheckPoint has not be implemented")
+}
+
+// SaveLogs will save servod related logs on the host that this service
+// is running.
+// Logs include:
+//
+// /var/log/message from the servod host.
+// /var/log/servod_<port>/ latest.DEBUG from servod host.
+// /var/log/servod_<port>.STARTUP.log from servod host.
+// The output of "dmesg -H" from the servod host.
+// The extraction of the MCU console logs from latest.DEBUG
+func (s *ServodService) SaveLogs(ctx context.Context, req *api.SaveLogsRequest) (*api.SaveLogsResponse, error) {
+ s.logger.Printf("Received api.SaveLogsRequest: %#v\n", req)
+ return nil, errors.New("the service SaveLogs has not be implemented")
+}
+
// getExitInfo extracts exit info from Session Run's error
func getExitInfo(runError error) *api.ExecCmdResponse_ExitInfo {
// If no error, command succeeded