From 265bdb46e6875cb5c75e6db8e98a38775da69391 Mon Sep 17 00:00:00 2001 From: earrage Date: Mon, 5 Nov 2018 11:49:36 -0800 Subject: Add ability to read controller nodeport IP from file - Formalize use of cloverctl config file using viper - Default name of config file is '.cloverctl.yaml' - Look for file in home directory or relative to cloverctl executable - Single value in config is for 'ControllerIP: ' - Still try and retrieve port value of clover-controller nodeport automatically - Still try and retrieve IP address of clover-controller LB if GKE environment is being used and override config file value if found in current kube context - Improve error messaging if controller connect fails - Clean up the CLI help output - Modify jmeter 'get testresult' command to avoid the use of flags and use arguments instead Change-Id: Id95d1b3d1079ac84996681db62da1f9b6b8a88b5 Signed-off-by: earrage --- clover/cloverctl/src/cloverctl/cmd/start_visibility.go | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'clover/cloverctl/src/cloverctl/cmd/start_visibility.go') diff --git a/clover/cloverctl/src/cloverctl/cmd/start_visibility.go b/clover/cloverctl/src/cloverctl/cmd/start_visibility.go index 18f8aac..bbc25d8 100644 --- a/clover/cloverctl/src/cloverctl/cmd/start_visibility.go +++ b/clover/cloverctl/src/cloverctl/cmd/start_visibility.go @@ -9,6 +9,7 @@ package cmd import ( "fmt" + "os" "io/ioutil" "gopkg.in/resty.v1" "github.com/ghodss/yaml" @@ -18,7 +19,7 @@ import ( var visibilitystartCmd = &cobra.Command{ Use: "visibility", - Short: "Start visibility data collection", + Short: "Start visibility collector process", Long: ``, Run: func(cmd *cobra.Command, args []string) { startCollector() @@ -36,23 +37,27 @@ func startCollector() { if cloverFile != "" { in, err := ioutil.ReadFile(cloverFile) if err != nil { - panic(err.Error()) + fmt.Printf("Cannot read file: %v\n", err) + os.Exit(1) } out_json, err := yaml.YAMLToJSON(in) message_body = string(out_json) if err != nil { - panic(err.Error()) + fmt.Printf("Invalid yaml: %v\n", err) + os.Exit(1) } } else { message_body = `{"sample_interval":"10", "t_port":"80", "t_host":"jaeger-query.istio-system"}` } + checkControllerIP() url := controllerIP + "/collector/start" resp, err := resty.R(). SetHeader("Content-Type", "application/json"). SetBody(message_body). Post(url) if err != nil { - panic(err.Error()) + fmt.Printf("Cannot connect to controller: %v\n", err) + os.Exit(1) } fmt.Printf("\n%v\n", resp) } -- cgit 1.2.3-korg