Merge pull request #1936 from upsj/main
add docstring for node patterns
This commit is contained in:
@@ -18,6 +18,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
||||
- Support configuring Ignition with resources. #1894
|
||||
- Added `wwctl <node|partition> set --parttype`. #1894
|
||||
- Added additional documentation for network tags. #1856
|
||||
- Added node pattern description to commands that use it. #1936
|
||||
|
||||
### Fixed
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ package list
|
||||
import (
|
||||
"github.com/spf13/cobra"
|
||||
"github.com/warewulf/warewulf/internal/app/wwctl/completions"
|
||||
"github.com/warewulf/warewulf/internal/pkg/hostlist"
|
||||
)
|
||||
|
||||
type variables struct {
|
||||
@@ -21,7 +22,7 @@ func GetCommand() *cobra.Command {
|
||||
Use: "list [OPTIONS] [PATTERN]",
|
||||
Short: "List nodes",
|
||||
Long: "This command lists all configured nodes. Optionally, it will list only\n" +
|
||||
"nodes matching a PATTERN.",
|
||||
"nodes matching a PATTERN.\n" + hostlist.Docstring,
|
||||
RunE: CobraRunE(&vars),
|
||||
Aliases: []string{"ls"},
|
||||
ValidArgsFunction: completions.Nodes,
|
||||
|
||||
@@ -3,6 +3,7 @@ package sensors
|
||||
import (
|
||||
"github.com/spf13/cobra"
|
||||
"github.com/warewulf/warewulf/internal/app/wwctl/completions"
|
||||
"github.com/warewulf/warewulf/internal/pkg/hostlist"
|
||||
)
|
||||
|
||||
type variables struct {
|
||||
@@ -18,7 +19,7 @@ func GetCommand() *cobra.Command {
|
||||
DisableFlagsInUseLine: true,
|
||||
Use: "sensors [OPTIONS] PATTERN",
|
||||
Short: "Show node IPMI sensor information",
|
||||
Long: "Show IPMI sensor information for nodes matching PATTERN.",
|
||||
Long: "Show IPMI sensor information for nodes matching PATTERN.\n" + hostlist.Docstring,
|
||||
Args: cobra.MinimumNArgs(1),
|
||||
RunE: CobraRunE(&vars),
|
||||
ValidArgsFunction: completions.Nodes,
|
||||
|
||||
@@ -4,6 +4,7 @@ import (
|
||||
"github.com/spf13/cobra"
|
||||
"github.com/warewulf/warewulf/internal/app/wwctl/completions"
|
||||
"github.com/warewulf/warewulf/internal/app/wwctl/flags"
|
||||
"github.com/warewulf/warewulf/internal/pkg/hostlist"
|
||||
"github.com/warewulf/warewulf/internal/pkg/node"
|
||||
)
|
||||
|
||||
@@ -23,7 +24,7 @@ func GetCommand() *cobra.Command {
|
||||
DisableFlagsInUseLine: true,
|
||||
Use: "set [OPTIONS] PATTERN",
|
||||
Short: "Configure node properties",
|
||||
Long: "This command sets configuration properties for nodes matching PATTERN.\n\nNote: use the string 'UNSET' to remove a configuration",
|
||||
Long: "This command sets configuration properties for nodes matching PATTERN.\n\nNote: use the string 'UNSET' to remove a configuration\n" + hostlist.Docstring,
|
||||
Aliases: []string{"modify"},
|
||||
Args: cobra.MinimumNArgs(1), // require pattern as a mandatory arg
|
||||
RunE: CobraRunE(&vars),
|
||||
|
||||
@@ -3,6 +3,7 @@ package cycle
|
||||
import (
|
||||
"github.com/spf13/cobra"
|
||||
"github.com/warewulf/warewulf/internal/app/wwctl/completions"
|
||||
"github.com/warewulf/warewulf/internal/pkg/hostlist"
|
||||
)
|
||||
|
||||
type variables struct {
|
||||
@@ -17,7 +18,7 @@ func GetCommand() *cobra.Command {
|
||||
DisableFlagsInUseLine: true,
|
||||
Use: "cycle [OPTIONS] [PATTERN ...]",
|
||||
Short: "Power cycle the given node(s)",
|
||||
Long: "This command cycles power for a set of nodes specified by PATTERN.",
|
||||
Long: "This command cycles power for a set of nodes specified by PATTERN.\n" + hostlist.Docstring,
|
||||
RunE: CobraRunE(&vars),
|
||||
Args: cobra.MinimumNArgs(1),
|
||||
ValidArgsFunction: completions.Nodes,
|
||||
|
||||
@@ -3,6 +3,7 @@ package off
|
||||
import (
|
||||
"github.com/spf13/cobra"
|
||||
"github.com/warewulf/warewulf/internal/app/wwctl/completions"
|
||||
"github.com/warewulf/warewulf/internal/pkg/hostlist"
|
||||
)
|
||||
|
||||
type variables struct {
|
||||
@@ -17,7 +18,7 @@ func GetCommand() *cobra.Command {
|
||||
DisableFlagsInUseLine: true,
|
||||
Use: "off [OPTIONS] [PATTERN ...]",
|
||||
Short: "Power off the given node(s)",
|
||||
Long: "This command will shutdown power to a set of nodes specified by PATTERN.",
|
||||
Long: "This command will shutdown power to a set of nodes specified by PATTERN.\n" + hostlist.Docstring,
|
||||
RunE: CobraRunE(&vars),
|
||||
Args: cobra.MinimumNArgs(1),
|
||||
ValidArgsFunction: completions.Nodes,
|
||||
|
||||
@@ -3,6 +3,7 @@ package on
|
||||
import (
|
||||
"github.com/spf13/cobra"
|
||||
"github.com/warewulf/warewulf/internal/app/wwctl/completions"
|
||||
"github.com/warewulf/warewulf/internal/pkg/hostlist"
|
||||
)
|
||||
|
||||
type variables struct {
|
||||
@@ -16,7 +17,7 @@ func GetCommand() *cobra.Command {
|
||||
powerCmd := &cobra.Command{
|
||||
Use: "on [OPTIONS] [PATTERN ...]",
|
||||
Short: "Power on the given node(s)",
|
||||
Long: "This command will power on a set of nodes specified by PATTERN.",
|
||||
Long: "This command will power on a set of nodes specified by PATTERN.\n" + hostlist.Docstring,
|
||||
RunE: CobraRunE(&vars),
|
||||
Args: cobra.MinimumNArgs(1),
|
||||
ValidArgsFunction: completions.Nodes,
|
||||
|
||||
@@ -3,6 +3,7 @@ package reset
|
||||
import (
|
||||
"github.com/spf13/cobra"
|
||||
"github.com/warewulf/warewulf/internal/app/wwctl/completions"
|
||||
"github.com/warewulf/warewulf/internal/pkg/hostlist"
|
||||
)
|
||||
|
||||
type variables struct {
|
||||
@@ -17,7 +18,7 @@ func GetCommand() *cobra.Command {
|
||||
DisableFlagsInUseLine: true,
|
||||
Use: "reset [OPTIONS] [PATTERN ...]",
|
||||
Short: "Issue a reset to node(s)",
|
||||
Long: "This command will issue a reset to a set of nodes specified by PATTERN.",
|
||||
Long: "This command will issue a reset to a set of nodes specified by PATTERN.\n" + hostlist.Docstring,
|
||||
RunE: CobraRunE(&vars),
|
||||
Args: cobra.MinimumNArgs(1),
|
||||
ValidArgsFunction: completions.Nodes,
|
||||
|
||||
@@ -3,6 +3,7 @@ package soft
|
||||
import (
|
||||
"github.com/spf13/cobra"
|
||||
"github.com/warewulf/warewulf/internal/app/wwctl/completions"
|
||||
"github.com/warewulf/warewulf/internal/pkg/hostlist"
|
||||
)
|
||||
|
||||
type variables struct {
|
||||
@@ -15,9 +16,9 @@ func GetCommand() *cobra.Command {
|
||||
vars := variables{}
|
||||
powerCmd := &cobra.Command{
|
||||
DisableFlagsInUseLine: true,
|
||||
Use: "soft",
|
||||
Use: "soft [OPTIONS] [PATTERN ...]",
|
||||
Short: "Gracefully shuts down the given node(s)",
|
||||
Long: "This command uses the operating system to shut down the set of nodes specified by PATTERN.",
|
||||
Long: "This command uses the operating system to shut down the set of nodes specified by PATTERN.\n" + hostlist.Docstring,
|
||||
RunE: CobraRunE(&vars),
|
||||
Args: cobra.MinimumNArgs(1),
|
||||
ValidArgsFunction: completions.Nodes,
|
||||
|
||||
@@ -3,6 +3,7 @@ package status
|
||||
import (
|
||||
"github.com/spf13/cobra"
|
||||
"github.com/warewulf/warewulf/internal/app/wwctl/completions"
|
||||
"github.com/warewulf/warewulf/internal/pkg/hostlist"
|
||||
)
|
||||
|
||||
type variables struct {
|
||||
@@ -17,7 +18,7 @@ func GetCommand() *cobra.Command {
|
||||
DisableFlagsInUseLine: true,
|
||||
Use: "status [OPTIONS] [PATTERN ...]",
|
||||
Short: "Show power status for the given node(s)",
|
||||
Long: "This command displays the power status of a set of nodes specified by PATTERN.",
|
||||
Long: "This command displays the power status of a set of nodes specified by PATTERN.\n" + hostlist.Docstring,
|
||||
RunE: CobraRunE(&vars),
|
||||
Args: cobra.MinimumNArgs(1),
|
||||
ValidArgsFunction: completions.Nodes,
|
||||
|
||||
@@ -3,6 +3,7 @@ package ssh
|
||||
import (
|
||||
"github.com/spf13/cobra"
|
||||
"github.com/warewulf/warewulf/internal/app/wwctl/completions"
|
||||
"github.com/warewulf/warewulf/internal/pkg/hostlist"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -10,7 +11,7 @@ var (
|
||||
DisableFlagsInUseLine: true,
|
||||
Use: "ssh [OPTIONS] NODE_PATTERN COMMAND",
|
||||
Short: "SSH into configured nodes in parallel",
|
||||
Long: "Easily ssh into nodes in parallel to run non-interactive commands\n",
|
||||
Long: "Easily ssh into nodes in parallel to run non-interactive commands\n" + hostlist.Docstring,
|
||||
RunE: CobraRunE,
|
||||
Args: cobra.MinimumNArgs(2),
|
||||
ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
|
||||
|
||||
@@ -6,6 +6,8 @@ import (
|
||||
"strings"
|
||||
)
|
||||
|
||||
const Docstring = "Node patterns are a comma-separated list of individual pattern.\nEach pattern can either be a full node name or a node range like node[01-03,05]."
|
||||
|
||||
// Expand takes a slice of host strings, possibly containing comma-separated
|
||||
// values and bracketed ranges (e.g. "node[01-03]") and returns a fully expanded
|
||||
// slice of host names.
|
||||
|
||||
Reference in New Issue
Block a user