Replaced panic by printf in karcli.

Signed-off-by: Da K. Ma <klaus1982.cn@gmail.com>
This commit is contained in:
Da K. Ma 2018-06-13 12:56:35 +08:00
parent 4dbcb99583
commit 275caee10c
3 changed files with 30 additions and 12 deletions

View File

@ -16,6 +16,7 @@ limitations under the License.
package main
import (
"fmt"
"time"
"github.com/golang/glog"
@ -46,7 +47,7 @@ func main() {
jobRunCmd := &cobra.Command{
Use: "run",
Run: func(cmd *cobra.Command, args []string) {
job.RunJob()
checkError(cmd, job.RunJob())
},
}
job.InitRunFlags(jobRunCmd)
@ -55,7 +56,7 @@ func main() {
jobListCmd := &cobra.Command{
Use: "list",
Run: func(cmd *cobra.Command, args []string) {
job.ListJobs()
checkError(cmd, job.ListJobs())
},
}
job.InitListFlags(jobListCmd)
@ -65,3 +66,16 @@ func main() {
rootCmd.Execute()
}
func checkError(cmd *cobra.Command, err error) {
if err != nil {
msg := "Failed to"
// Ignore the root command.
for cur := cmd; cur.Parent() != nil; cur = cur.Parent() {
msg = msg + fmt.Sprintf(" %s", cur.Name())
}
fmt.Printf("%s: %v\n", msg, err)
}
}

View File

@ -38,29 +38,31 @@ func InitListFlags(cmd *cobra.Command) {
cmd.Flags().StringVarP(&listJobFlags.Namespace, "namespace", "", "default", "the namespace of job")
}
func ListJobs() {
func ListJobs() error {
config, err := buildConfig(listJobFlags.Master, listJobFlags.Kubeconfig)
if err != nil {
panic(err)
return err
}
queueClient := clientset.NewForConfigOrDie(config)
queueJobs, err := queueClient.ArbV1().QueueJobs(listJobFlags.Namespace).List(metav1.ListOptions{})
if err != nil {
panic(err)
return err
}
if len(queueJobs.Items) == 0 {
fmt.Printf("No resources found\n")
return
return nil
}
fmt.Printf("%-30s%-25s%-12s%-12s%-12s%-12s%-12s%-12s\n",
fmt.Printf("%-30s%-25s%-12s%-8s%-12s%-12s%-12s%-12s\n",
"Name", "Creation", "Replicas", "Min", "Pending", "Running", "Succeeded", "Failed")
for _, qj := range queueJobs.Items {
fmt.Printf("%-30s%-25s%-12d%-12d%-12d%-12d%-12d%-12d\n",
fmt.Printf("%-30s%-25s%-12d%-8d%-12d%-12d%-12d%-12d\n",
qj.Name, qj.CreationTimestamp.Format("2006-01-02 15:04:05"), qj.Spec.Replicas,
qj.Status.MinAvailable, qj.Status.Pending, qj.Status.Running, qj.Status.Succeeded, qj.Status.Failed)
}
return nil
}

View File

@ -52,17 +52,17 @@ func InitRunFlags(cmd *cobra.Command) {
var queueJobName = "queuejob.arbitrator.k8s.io"
func RunJob() {
func RunJob() error {
config, err := buildConfig(launchJobFlags.Master, launchJobFlags.Kubeconfig)
if err != nil {
panic(err)
return err
}
queueClient := clientset.NewForConfigOrDie(config)
req, err := populateResourceListV1(launchJobFlags.Requests)
if err != nil {
panic(err)
return err
}
qj := &arbv1.QueueJob{
@ -102,6 +102,8 @@ func RunJob() {
}
if _, err := queueClient.ArbV1().QueueJobs(launchJobFlags.Namespace).Create(qj); err != nil {
panic(err)
return err
}
return nil
}