21189: Revert exit code 64 to 2 for invalid command line argument. 21189-changeset-limit
authorTom Clegg <tom@curii.com>
Thu, 16 Nov 2023 07:10:41 +0000 (02:10 -0500)
committerTom Clegg <tom@curii.com>
Thu, 16 Nov 2023 07:10:41 +0000 (02:10 -0500)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@curii.com>

18 files changed:
cmd/arvados-client/cmd_test.go
cmd/arvados-server/arvados-controller.service
cmd/arvados-server/arvados-dispatch-cloud.service
cmd/arvados-server/arvados-dispatch-lsf.service
cmd/arvados-server/arvados-git-httpd.service
cmd/arvados-server/arvados-health.service
cmd/arvados-server/arvados-ws.service
cmd/arvados-server/crunch-dispatch-slurm.service
cmd/arvados-server/keep-balance.service
cmd/arvados-server/keep-web.service
cmd/arvados-server/keepproxy.service
cmd/arvados-server/keepstore.service
lib/cli/get.go
lib/cmd/cmd.go
lib/cmd/cmd_test.go
lib/cmd/parseflags.go
lib/config/cmd_test.go
services/keep-balance/main.go

index 5cbb1e5e4adab4600ccd00b4121862257bd5a241..911375c655e0d295957903793a9b98f4943d4d8c 100644 (file)
@@ -24,12 +24,12 @@ type ClientSuite struct{}
 
 func (s *ClientSuite) TestBadCommand(c *check.C) {
        exited := handler.RunCommand("arvados-client", []string{"no such command"}, bytes.NewReader(nil), ioutil.Discard, ioutil.Discard)
-       c.Check(exited, check.Equals, cmd.EX_USAGE)
+       c.Check(exited, check.Equals, cmd.EXIT_INVALIDARGUMENT)
 }
 
 func (s *ClientSuite) TestBadSubcommandArgs(c *check.C) {
        exited := handler.RunCommand("arvados-client", []string{"get"}, bytes.NewReader(nil), ioutil.Discard, ioutil.Discard)
-       c.Check(exited, check.Equals, cmd.EX_USAGE)
+       c.Check(exited, check.Equals, cmd.EXIT_INVALIDARGUMENT)
 }
 
 func (s *ClientSuite) TestVersion(c *check.C) {
index cf680f959f394f98768e2dc0734f8b1ac6d30e0b..f96532de5ef30d167944dfc23b958a16e26bcce9 100644 (file)
@@ -19,7 +19,7 @@ ExecStart=/usr/bin/arvados-controller
 LimitNOFILE=65536
 Restart=always
 RestartSec=1
-RestartPreventExitStatus=64
+RestartPreventExitStatus=2
 
 # systemd<=219 (centos:7, debian:8, ubuntu:trusty) obeys StartLimitInterval in the [Service] section
 StartLimitInterval=0
index 61e2325d263637584f4e906aa8658aab64d71623..11887b8f8c5ca99324cd4c82075d83a11325042c 100644 (file)
@@ -19,7 +19,7 @@ ExecStart=/usr/bin/arvados-dispatch-cloud
 LimitNOFILE=65536
 Restart=always
 RestartSec=1
-RestartPreventExitStatus=64
+RestartPreventExitStatus=2
 
 # systemd<=219 (centos:7, debian:8, ubuntu:trusty) obeys StartLimitInterval in the [Service] section
 StartLimitInterval=0
index 931ef405628013f4d8f5cd544faf00eae2b3b22f..f90cd9033d4b444932519cb8c230f242eaea5c1c 100644 (file)
@@ -19,7 +19,7 @@ ExecStart=/usr/bin/arvados-dispatch-lsf
 LimitNOFILE=65536
 Restart=always
 RestartSec=1
-RestartPreventExitStatus=64
+RestartPreventExitStatus=2
 
 # systemd<=219 (centos:7, debian:8, ubuntu:trusty) obeys StartLimitInterval in the [Service] section
 StartLimitInterval=0
index b86293d97798b1a628ca9182aea6ff4e8a34d5bb..6e5b0dc8e284d64ff5bf2b50bfceded013dfbcd0 100644 (file)
@@ -19,7 +19,7 @@ ExecStart=/usr/bin/arvados-git-httpd
 LimitNOFILE=65536
 Restart=always
 RestartSec=1
-RestartPreventExitStatus=64
+RestartPreventExitStatus=2
 
 # systemd<=219 (centos:7, debian:8, ubuntu:trusty) obeys StartLimitInterval in the [Service] section
 StartLimitInterval=0
index 4605681cb8f994d3576d50e82a122bb30ab6895f..ef145e26ebcb1989dc3c3f60d6e7a7e69f8cb0b5 100644 (file)
@@ -19,7 +19,7 @@ ExecStart=/usr/bin/arvados-health
 LimitNOFILE=65536
 Restart=always
 RestartSec=1
-RestartPreventExitStatus=64
+RestartPreventExitStatus=2
 
 # systemd<=219 (centos:7, debian:8, ubuntu:trusty) obeys StartLimitInterval in the [Service] section
 StartLimitInterval=0
index 5ba7b54c7d39c838c1f8ef70fdf5aa81846533a0..2e884495998280936a4dc4375bcac6d9d26006ae 100644 (file)
@@ -18,7 +18,7 @@ ExecStart=/usr/bin/arvados-ws
 LimitNOFILE=65536
 Restart=always
 RestartSec=1
-RestartPreventExitStatus=64
+RestartPreventExitStatus=2
 
 # systemd<=219 (centos:7, debian:8, ubuntu:trusty) obeys StartLimitInterval in the [Service] section
 StartLimitInterval=0
index 53b0157807dd062ea9a97497a5addf2ac506a568..d2a2fb39d9dca39a3df99f57989ae9d7db1c4fbf 100644 (file)
@@ -19,7 +19,7 @@ ExecStart=/usr/bin/crunch-dispatch-slurm
 LimitNOFILE=65536
 Restart=always
 RestartSec=1
-RestartPreventExitStatus=64
+RestartPreventExitStatus=2
 
 # systemd<=219 (centos:7, debian:8, ubuntu:trusty) obeys StartLimitInterval in the [Service] section
 StartLimitInterval=0
index c603939bcf62bcb5b897caa94f93de7472a100cf..f282f0a65021ad78e7f628ee3d94fef976231836 100644 (file)
@@ -20,7 +20,7 @@ LimitNOFILE=65536
 Restart=always
 RestartSec=10s
 Nice=19
-RestartPreventExitStatus=64
+RestartPreventExitStatus=2
 
 # systemd<=219 (centos:7, debian:8, ubuntu:trusty) obeys StartLimitInterval in the [Service] section
 StartLimitInterval=0
index d88dea231f408c460dc3aa23c8c8ea1e71570335..4ecd0b49782561da91c49f0a3dea38e9306a2b7b 100644 (file)
@@ -19,7 +19,7 @@ ExecStart=/usr/bin/keep-web
 LimitNOFILE=65536
 Restart=always
 RestartSec=1
-RestartPreventExitStatus=64
+RestartPreventExitStatus=2
 
 # systemd<=219 (centos:7, debian:8, ubuntu:trusty) obeys StartLimitInterval in the [Service] section
 StartLimitInterval=0
index 952c7df6a1b49b00e790c1ace7b89dbe1ca908fa..139df1c3fade823cf8950e8b8e7d3c4678a80c19 100644 (file)
@@ -19,7 +19,7 @@ ExecStart=/usr/bin/keepproxy
 LimitNOFILE=65536
 Restart=always
 RestartSec=1
-RestartPreventExitStatus=64
+RestartPreventExitStatus=2
 
 # systemd<=219 (centos:7, debian:8, ubuntu:trusty) obeys StartLimitInterval in the [Service] section
 StartLimitInterval=0
index 14cad20436eb92c11eb8fef0ba2d120361bce30e..de0fd1dbd7e989a9ad7e33e93ee5149c034b4217 100644 (file)
@@ -23,7 +23,7 @@ ExecStart=/usr/bin/keepstore
 LimitNOFILE=65536
 Restart=always
 RestartSec=1
-RestartPreventExitStatus=64
+RestartPreventExitStatus=2
 
 # systemd<=219 (centos:7, debian:8, ubuntu:trusty) obeys StartLimitInterval in the [Service] section
 StartLimitInterval=0
index 3976b2d3cc95cf2bacb37ed649306ec48d1e8248..352e7b9af61ea2a51a12656ae26141335b1e64c2 100644 (file)
@@ -30,12 +30,12 @@ func (getCmd) RunCommand(prog string, args []string, stdin io.Reader, stdout, st
        flags.SetOutput(stderr)
        err = flags.Parse(args)
        if err != nil {
-               return cmd.EX_USAGE
+               return cmd.EXIT_INVALIDARGUMENT
        }
        if len(flags.Args()) != 1 {
                fmt.Fprintf(stderr, "usage of %s:\n", prog)
                flags.PrintDefaults()
-               return cmd.EX_USAGE
+               return cmd.EXIT_INVALIDARGUMENT
        }
        if opts.Short {
                opts.Format = "uuid"
index 332e0dcf58b12f5c4caa6a72248578e81e6094da..40e80f5eaab74df0f5370f50c12d1d2868e0e6f9 100644 (file)
@@ -21,7 +21,7 @@ import (
        "github.com/sirupsen/logrus"
 )
 
-const EX_USAGE = 64
+const EXIT_INVALIDARGUMENT = 2
 
 type Handler interface {
        RunCommand(prog string, args []string, stdin io.Reader, stdout, stderr io.Writer) int
@@ -106,13 +106,13 @@ func (m Multi) RunCommand(prog string, args []string, stdin io.Reader, stdout, s
        } else if len(args) < 1 {
                fmt.Fprintf(stderr, "usage: %s command [args]\n", prog)
                m.Usage(stderr)
-               return EX_USAGE
+               return EXIT_INVALIDARGUMENT
        } else if cmd, ok = m[args[0]]; ok {
                return cmd.RunCommand(prog+" "+args[0], args[1:], stdin, stdout, stderr)
        } else {
                fmt.Fprintf(stderr, "%s: unrecognized command %q\n", prog, args[0])
                m.Usage(stderr)
-               return EX_USAGE
+               return EXIT_INVALIDARGUMENT
        }
 }
 
index b4ce7194c1e020e35ac2bf080a8ad66b95e46f60..2d03722adcc5a31fe1d535c1d213dcdc8e82e14d 100644 (file)
@@ -57,7 +57,7 @@ func (s *CmdSuite) TestUsage(c *check.C) {
        stdout := bytes.NewBuffer(nil)
        stderr := bytes.NewBuffer(nil)
        exited := testCmd.RunCommand("prog", []string{"nosuchcommand", "hi"}, bytes.NewReader(nil), stdout, stderr)
-       c.Check(exited, check.Equals, 64)
+       c.Check(exited, check.Equals, 2)
        c.Check(stdout.String(), check.Equals, "")
        c.Check(stderr.String(), check.Matches, `(?ms)^prog: unrecognized command "nosuchcommand"\n.*echo.*\n`)
 }
index d4158a21955607708df65d9afedb5194e4e4ac2f..275e063f3118b17290ee64582b9bf976f1555166 100644 (file)
@@ -26,8 +26,7 @@ var defaultFlagSet = flag.NewFlagSet("none", flag.ContinueOnError)
 // running normally, or false if it should exit now.
 //
 // If ok is false, the second return value is an appropriate exit
-// code: 0 if "-help" was given, EX_USAGE (64) if there was a usage
-// error.
+// code: 0 if "-help" was given, 2 if there was a usage error.
 func ParseFlags(f FlagSet, prog string, args []string, positional string, stderr io.Writer) (ok bool, exitCode int) {
        f.Init(prog, flag.ContinueOnError)
        f.SetOutput(io.Discard)
@@ -36,7 +35,7 @@ func ParseFlags(f FlagSet, prog string, args []string, positional string, stderr
        case nil:
                if f.NArg() > 0 && positional == "" {
                        fmt.Fprintf(stderr, "unrecognized command line arguments: %v (try -help)\n", f.Args())
-                       return false, EX_USAGE
+                       return false, EXIT_INVALIDARGUMENT
                }
                return true, 0
        case flag.ErrHelp:
@@ -56,6 +55,6 @@ func ParseFlags(f FlagSet, prog string, args []string, positional string, stderr
                return false, 0
        default:
                fmt.Fprintf(stderr, "error parsing command line arguments: %s (try -help)\n", err)
-               return false, EX_USAGE
+               return false, EXIT_INVALIDARGUMENT
        }
 }
index 123750e76e9fb5c01bfafa3cbfba8d33c11cad21..53f677796d8617bb84dd6a3d8a1f3bf699eb56e0 100644 (file)
@@ -33,7 +33,7 @@ func (s *CommandSuite) SetUpSuite(c *check.C) {
 func (s *CommandSuite) TestDump_BadArg(c *check.C) {
        var stderr bytes.Buffer
        code := DumpCommand.RunCommand("arvados config-dump", []string{"-badarg"}, bytes.NewBuffer(nil), bytes.NewBuffer(nil), &stderr)
-       c.Check(code, check.Equals, cmd.EX_USAGE)
+       c.Check(code, check.Equals, cmd.EXIT_INVALIDARGUMENT)
        c.Check(stderr.String(), check.Equals, "error parsing command line arguments: flag provided but not defined: -badarg (try -help)\n")
 }
 
index f9a3e1701aa7a2ae40dafc926f99a7f3a27107a0..ec1cb18ee1087063a57d63f73c2c00b5a17eab33 100644 (file)
@@ -59,7 +59,7 @@ func (command) RunCommand(prog string, args []string, stdin io.Reader, stdout, s
                fmt.Fprint(stderr,
                        "Usage error: the -commit-pulls or -commit-trash command line flags are no longer supported.\n",
                        "Use Collections.BalancePullLimit and Collections.BalanceTrashLimit instead.\n")
-               return cmd.EX_USAGE
+               return cmd.EXIT_INVALIDARGUMENT
        }
 
        // Drop our custom args that would be rejected by the generic