diff --git a/src/control/cmd/dmg/support.go b/src/control/cmd/dmg/support.go index fdd30691f97..3f9a3226c6f 100644 --- a/src/control/cmd/dmg/support.go +++ b/src/control/cmd/dmg/support.go @@ -1,5 +1,6 @@ // // (C) Copyright 2022-2024 Intel Corporation. +// (C) Copyright 2026 Hewlett Packard Enterprise Development LP // // SPDX-License-Identifier: BSD-2-Clause-Patent // @@ -36,34 +37,6 @@ type collectLogCmd struct { support.LogTypeSubCmd } -// gRPC call to initiate the rsync and copy the logs to Admin (central location). -func (cmd *collectLogCmd) rsyncLog() error { - hostName, err := support.GetHostName() - if err != nil { - return err - } - - req := &control.CollectLogReq{ - TargetFolder: cmd.TargetFolder, - AdminNode: hostName, - LogFunction: support.RsyncLogEnum, - FileTransferExecArgs: cmd.FileTransferExecArgs, - } - cmd.Debugf("Rsync logs from servers to %s:%s ", hostName, cmd.TargetFolder) - resp, err := control.CollectLog(cmd.MustLogCtx(), cmd.ctlInvoker, req) - if err != nil && cmd.StopOnError { - return err - } - if len(resp.GetHostErrors()) > 0 { - if err := pretty.UpdateErrorSummary(resp, "rsync", &cmd.bld); err != nil { - return err - } - return resp.Errors() - } - - return nil -} - // gRPC call to Archive the logs on individual servers. func (cmd *collectLogCmd) archLogsOnServer() error { hostName, err := support.GetHostName() @@ -126,7 +99,7 @@ func (cmd *collectLogCmd) Execute(_ []string) error { // set of support collection steps to show in progress bar progress := support.ProgressBar{ - Total: len(LogCollection) + len(DmgInfoCollection) + 1, // Extra 1 is for rsync operation. + Total: len(LogCollection) + len(DmgInfoCollection), NoDisplay: cmd.JSONOutputEnabled(), } @@ -228,12 +201,6 @@ func (cmd *collectLogCmd) Execute(_ []string) error { } params.FileTransferExecArgs = cmd.FileTransferExecArgs - // R sync the logs from servers - rsyncerr := cmd.rsyncLog() - fmt.Print(progress.Display()) - if rsyncerr != nil && cmd.StopOnError { - return rsyncerr - } // Archive the logs if cmd.Archive { @@ -244,14 +211,12 @@ func (cmd *collectLogCmd) Execute(_ []string) error { return err } - // Archive the logs on Server node via gRPC in case of rsync failure and logs can not be - // copied to central/Admin node. - if rsyncerr != nil { - err = cmd.archLogsOnServer() - if err != nil && cmd.StopOnError { - return err - } + // Archive the logs on Server Node + err = cmd.archLogsOnServer() + if err != nil && cmd.StopOnError { + return err } + fmt.Print(progress.Display()) } diff --git a/src/control/lib/support/log.go b/src/control/lib/support/log.go index dc22e8d915f..9dca3b76b24 100644 --- a/src/control/lib/support/log.go +++ b/src/control/lib/support/log.go @@ -1,6 +1,6 @@ // // (C) Copyright 2022-2024 Intel Corporation. -// (C) Copyright 2025 Hewlett Packard Enterprise Development LP +// (C) Copyright 2025-2026 Hewlett Packard Enterprise Development LP // // SPDX-License-Identifier: BSD-2-Clause-Patent // @@ -351,13 +351,12 @@ func ArchiveLogs(log logging.Logger, opts ...CollectLogsParams) error { // Get the system hostname func GetHostName() (string, error) { - hn, err := exec.Command("hostname", "-s").Output() + hn, err := os.Hostname() if err != nil { - return "", errors.Wrapf(err, "Error running hostname -s command %s", hn) + return "", errors.Wrapf(err, "Error getting Hostname %s", hn) } - out := strings.Split(string(hn), "\n") - return out[0], nil + return hn, nil } // Create the local folder on each servers @@ -470,25 +469,6 @@ func rsyncLog(log logging.Logger, opts ...CollectLogsParams) error { } } - targetLocation, err := createHostFolder(opts[0].TargetFolder, log) - if err != nil { - return err - } - - cmd := strings.Join([]string{ - "rsync", - "-av", - "--blocking-io", - targetLocation, - opts[0].AdminNode + ":" + opts[0].TargetFolder}, - " ") - - out, err := exec.Command("sh", "-c", cmd).Output() - if err != nil { - return errors.Wrapf(err, "Error running command %s %s", cmd, string(out)) - } - log.Infof("rsyncCmd:= %s stdout:\n%s\n\n", cmd, string(out)) - return nil } diff --git a/src/control/lib/support/log_test.go b/src/control/lib/support/log_test.go index 1b3ebf8d32f..a1545455513 100644 --- a/src/control/lib/support/log_test.go +++ b/src/control/lib/support/log_test.go @@ -1,6 +1,6 @@ // // (C) Copyright 2022-2024 Intel Corporation. -// (C) Copyright 2025 Hewlett Packard Enterprise Development LP +// (C) Copyright 2025-2026 Hewlett Packard Enterprise Development LP // // SPDX-License-Identifier: BSD-2-Clause-Patent // @@ -336,41 +336,6 @@ func TestSupport_createHostLogFolder(t *testing.T) { } } -func TestSupport_rsyncLog(t *testing.T) { - log, buf := logging.NewTestLogger(t.Name()) - defer test.ShowBufferOnFailure(t, buf) - targetTestDir, targetCleanup := test.CreateTestDir(t) - defer targetCleanup() - srcPath := test.CreateTestFile(t, targetTestDir, "Temp File\n") - hostName, _ := os.Hostname() - - rsLog := CollectLogsParams{} - - for name, tc := range map[string]struct { - targetFolder string - AdminNode string - expErr error - }{ - "rsync to invalid Target directory": { - targetFolder: targetTestDir + "/foo/bar", - AdminNode: hostName + ":/tmp/foo/bar/", - expErr: errors.New("Error running command"), - }, - "rsync invalid log directory": { - targetFolder: srcPath + "/file1", - AdminNode: hostName, - expErr: errors.New("not a directory"), - }, - } { - t.Run(name, func(t *testing.T) { - rsLog.TargetFolder = tc.targetFolder - rsLog.AdminNode = tc.AdminNode - gotErr := rsyncLog(log, rsLog) - test.CmpErr(t, tc.expErr, gotErr) - }) - } -} - func TestSupport_customCopy(t *testing.T) { log, buf := logging.NewTestLogger(t.Name()) defer test.ShowBufferOnFailure(t, buf)