projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
20667: Add InitialQuotaEstimate config.
[arvados.git]
/
tools
/
keep-block-check
/
keep-block-check.go
diff --git
a/tools/keep-block-check/keep-block-check.go
b/tools/keep-block-check/keep-block-check.go
index fec699f19f9886e16908d64c4e537e8023eaf0e8..6127485835388d359b64e5ffae4cd2607c298cc6 100644
(file)
--- a/
tools/keep-block-check/keep-block-check.go
+++ b/
tools/keep-block-check/keep-block-check.go
@@
-9,6
+9,7
@@
import (
"errors"
"flag"
"fmt"
"errors"
"flag"
"fmt"
+ "io"
"io/ioutil"
"log"
"net/http"
"io/ioutil"
"log"
"net/http"
@@
-16,6
+17,7
@@
import (
"strings"
"time"
"strings"
"time"
+ "git.arvados.org/arvados.git/lib/cmd"
"git.arvados.org/arvados.git/sdk/go/arvadosclient"
"git.arvados.org/arvados.git/sdk/go/keepclient"
)
"git.arvados.org/arvados.git/sdk/go/arvadosclient"
"git.arvados.org/arvados.git/sdk/go/keepclient"
)
@@
-23,13
+25,10
@@
import (
var version = "dev"
func main() {
var version = "dev"
func main() {
- err := doMain(os.Args[1:])
- if err != nil {
- log.Fatalf("%v", err)
- }
+ os.Exit(doMain(os.Args[1:], os.Stderr))
}
}
-func doMain(args []string
) error
{
+func doMain(args []string
, stderr io.Writer) int
{
flags := flag.NewFlagSet("keep-block-check", flag.ExitOnError)
configFile := flags.String(
flags := flag.NewFlagSet("keep-block-check", flag.ExitOnError)
configFile := flags.String(
@@
-69,40
+68,46
@@
func doMain(args []string) error {
false,
"Print version information and exit.")
false,
"Print version information and exit.")
- // Parse args; omit the first arg which is the command name
- flags.Parse(args)
-
- // Print version information if requested
- if *getVersion {
- fmt.Printf("keep-block-check %s\n", version)
- os.Exit(0)
+ if ok, code := cmd.ParseFlags(flags, os.Args[0], args, "", stderr); !ok {
+ return code
+ } else if *getVersion {
+ fmt.Printf("%s %s\n", os.Args[0], version)
+ return 0
}
config, blobSigningKey, err := loadConfig(*configFile)
if err != nil {
}
config, blobSigningKey, err := loadConfig(*configFile)
if err != nil {
- return fmt.Errorf("Error loading configuration from file: %s", err.Error())
+ fmt.Fprintf(stderr, "Error loading configuration from file: %s\n", err)
+ return 1
}
// get list of block locators to be checked
blockLocators, err := getBlockLocators(*locatorFile, *prefix)
if err != nil {
}
// get list of block locators to be checked
blockLocators, err := getBlockLocators(*locatorFile, *prefix)
if err != nil {
- return fmt.Errorf("Error reading block hashes to be checked from file: %s", err.Error())
+ fmt.Fprintf(stderr, "Error reading block hashes to be checked from file: %s\n", err)
+ return 1
}
// setup keepclient
kc, blobSignatureTTL, err := setupKeepClient(config, *keepServicesJSON, *blobSignatureTTLFlag)
if err != nil {
}
// setup keepclient
kc, blobSignatureTTL, err := setupKeepClient(config, *keepServicesJSON, *blobSignatureTTLFlag)
if err != nil {
- return fmt.Errorf("Error configuring keepclient: %s", err.Error())
+ fmt.Fprintf(stderr, "Error configuring keepclient: %s\n", err)
+ return 1
+ }
+
+ err = performKeepBlockCheck(kc, blobSignatureTTL, blobSigningKey, blockLocators, *verbose)
+ if err != nil {
+ fmt.Fprintln(stderr, err)
+ return 1
}
}
- return
performKeepBlockCheck(kc, blobSignatureTTL, blobSigningKey, blockLocators, *verbose)
+ return
0
}
type apiConfig struct {
APIToken string
APIHost string
APIHostInsecure bool
}
type apiConfig struct {
APIToken string
APIHost string
APIHostInsecure bool
- ExternalClient bool
}
// Load config from given file
}
// Load config from given file
@@
-146,8
+151,6
@@
func readConfigFromFile(filename string) (config apiConfig, blobSigningKey strin
config.APIHost = value
case "ARVADOS_API_HOST_INSECURE":
config.APIHostInsecure = arvadosclient.StringBool(value)
config.APIHost = value
case "ARVADOS_API_HOST_INSECURE":
config.APIHostInsecure = arvadosclient.StringBool(value)
- case "ARVADOS_EXTERNAL_CLIENT":
- config.ExternalClient = arvadosclient.StringBool(value)
case "ARVADOS_BLOB_SIGNING_KEY":
blobSigningKey = value
}
case "ARVADOS_BLOB_SIGNING_KEY":
blobSigningKey = value
}
@@
-165,7
+168,6
@@
func setupKeepClient(config apiConfig, keepServicesJSON string, blobSignatureTTL
ApiInsecure: config.APIHostInsecure,
Client: &http.Client{Transport: &http.Transport{
TLSClientConfig: &tls.Config{InsecureSkipVerify: config.APIHostInsecure}}},
ApiInsecure: config.APIHostInsecure,
Client: &http.Client{Transport: &http.Transport{
TLSClientConfig: &tls.Config{InsecureSkipVerify: config.APIHostInsecure}}},
- External: config.ExternalClient,
}
// If keepServicesJSON is provided, use it instead of service discovery
}
// If keepServicesJSON is provided, use it instead of service discovery