Fix excessive line spacing issue when listing nodes

Signed-off-by: xu yang <xyang@ciq.com>
This commit is contained in:
xu yang
2024-09-24 04:08:30 +00:00
committed by Jonathon Anderson
parent d24a92965f
commit aa8282ad10
9 changed files with 78 additions and 72 deletions

View File

@@ -9,6 +9,7 @@ import (
apicontainer "github.com/warewulf/warewulf/internal/pkg/api/container"
"github.com/warewulf/warewulf/internal/pkg/container"
"github.com/warewulf/warewulf/internal/pkg/util"
"github.com/warewulf/warewulf/internal/pkg/wwlog"
)
var containerList = apicontainer.ContainerList
@@ -22,7 +23,7 @@ func CobraRunE(vars *variables) func(cmd *cobra.Command, args []string) (err err
return err
}
if vars.full {
ph := helper.NewPrintHelper([]string{"CONTAINER NAME", "NODES", "KERNEL VERSION", "CREATION TIME", "MODIFICATION TIME", "SIZE"})
ph := helper.New([]string{"CONTAINER NAME", "NODES", "KERNEL VERSION", "CREATION TIME", "MODIFICATION TIME", "SIZE"})
for i := 0; i < len(containerInfo); i++ {
createTime := time.Unix(int64(containerInfo[i].CreateDate), 0)
modTime := time.Unix(int64(containerInfo[i].ModDate), 0)
@@ -43,8 +44,9 @@ func CobraRunE(vars *variables) func(cmd *cobra.Command, args []string) (err err
})
}
ph.Render()
wwlog.Info(ph.String())
} else if vars.kernel {
ph := helper.NewPrintHelper([]string{"CONTAINER NAME", "NODES", "KERNEL VERSION"})
ph := helper.New([]string{"CONTAINER NAME", "NODES", "KERNEL VERSION"})
for i := 0; i < len(containerInfo); i++ {
ph.Append([]string{
containerInfo[i].Name,
@@ -53,9 +55,9 @@ func CobraRunE(vars *variables) func(cmd *cobra.Command, args []string) (err err
})
}
ph.Render()
wwlog.Info(ph.String())
} else if showSize {
ph := helper.NewPrintHelper([]string{"CONTAINER NAME", "NODES", "SIZE"})
ph := helper.New([]string{"CONTAINER NAME", "NODES", "SIZE"})
for i := 0; i < len(containerInfo); i++ {
sz := util.ByteToString(int64(containerInfo[i].ImgSize))
if vars.compressed {
@@ -72,15 +74,16 @@ func CobraRunE(vars *variables) func(cmd *cobra.Command, args []string) (err err
})
}
ph.Render()
wwlog.Info(ph.String())
}
} else {
ph := helper.NewPrintHelper([]string{"CONTAINER NAME"})
ph := helper.New([]string{"CONTAINER NAME"})
list, _ := container.ListSources()
for _, cont := range list {
ph.Append([]string{cont})
}
ph.Render()
wwlog.Info(ph.String())
}
return
}

View File

@@ -13,6 +13,7 @@ import (
warewulfconf "github.com/warewulf/warewulf/internal/pkg/config"
"github.com/warewulf/warewulf/internal/pkg/node"
"github.com/warewulf/warewulf/internal/pkg/warewulfd"
"github.com/warewulf/warewulf/internal/pkg/wwlog"
)
func Test_List(t *testing.T) {
@@ -67,10 +68,11 @@ WW_INTERNAL: 0
tt.mockFunc()
baseCmd := GetCommand()
baseCmd.SetArgs(tt.args)
baseCmd.SetOut(nil)
baseCmd.SetErr(nil)
stdoutR, stdoutW, _ := os.Pipe()
os.Stdout = stdoutW
wwlog.SetLogWriter(os.Stdout)
baseCmd.SetOut(os.Stdout)
baseCmd.SetErr(os.Stdout)
err = baseCmd.Execute()
if err != nil {
t.Errorf("Received error when running command, err: %v", err)