Migrate from urfave/cli to cobra (#1385)
This commit is contained in:
@@ -31,7 +31,7 @@ import (
|
||||
"k8s.io/client-go/tools/portforward"
|
||||
"k8s.io/client-go/transport/spdy"
|
||||
|
||||
"github.com/fission/fission/pkg/fission-cli/consolemsg"
|
||||
"github.com/fission/fission/pkg/fission-cli/console"
|
||||
"github.com/fission/fission/pkg/utils"
|
||||
)
|
||||
|
||||
@@ -41,7 +41,7 @@ import (
|
||||
// its targetPort. Once the port forward is started, wait for it to
|
||||
// start accepting connections before returning.
|
||||
func SetupPortForward(namespace, labelSelector string) (string, error) {
|
||||
consolemsg.Verbose(2, "Setting up port forward to %s in namespace %s",
|
||||
console.Verbose(2, "Setting up port forward to %s in namespace %s",
|
||||
labelSelector, namespace)
|
||||
|
||||
localPort, err := findFreePort()
|
||||
@@ -49,7 +49,7 @@ func SetupPortForward(namespace, labelSelector string) (string, error) {
|
||||
return "", errors.Wrap(err, "error finding unused port")
|
||||
}
|
||||
|
||||
consolemsg.Verbose(2, "Waiting for local port %v", localPort)
|
||||
console.Verbose(2, "Waiting for local port %v", localPort)
|
||||
for {
|
||||
conn, _ := net.DialTimeout("tcp",
|
||||
net.JoinHostPort("", localPort), time.Millisecond)
|
||||
@@ -61,7 +61,7 @@ func SetupPortForward(namespace, labelSelector string) (string, error) {
|
||||
time.Sleep(time.Millisecond * 50)
|
||||
}
|
||||
|
||||
consolemsg.Verbose(2, "Starting port forward from local port %v", localPort)
|
||||
console.Verbose(2, "Starting port forward from local port %v", localPort)
|
||||
go func() {
|
||||
err := runPortForward(labelSelector, localPort, namespace)
|
||||
if err != nil {
|
||||
@@ -70,7 +70,7 @@ func SetupPortForward(namespace, labelSelector string) (string, error) {
|
||||
}
|
||||
}()
|
||||
|
||||
consolemsg.Verbose(2, "Waiting for port forward %v to start...", localPort)
|
||||
console.Verbose(2, "Waiting for port forward %v to start...", localPort)
|
||||
for {
|
||||
conn, _ := net.DialTimeout("tcp",
|
||||
net.JoinHostPort("", localPort), time.Millisecond)
|
||||
@@ -81,7 +81,7 @@ func SetupPortForward(namespace, labelSelector string) (string, error) {
|
||||
time.Sleep(time.Millisecond * 50)
|
||||
}
|
||||
|
||||
consolemsg.Verbose(2, "Port forward from local port %v started", localPort)
|
||||
console.Verbose(2, "Port forward from local port %v started", localPort)
|
||||
|
||||
return localPort, nil
|
||||
}
|
||||
@@ -109,7 +109,7 @@ func runPortForward(labelSelector string, localPort string, ns string) error {
|
||||
return err
|
||||
}
|
||||
|
||||
consolemsg.Verbose(2, "Connected to Kubernetes API")
|
||||
console.Verbose(2, "Connected to Kubernetes API")
|
||||
|
||||
// if namespace is unset, try to find a pod in any namespace
|
||||
if len(ns) == 0 {
|
||||
@@ -177,7 +177,7 @@ func runPortForward(labelSelector string, localPort string, ns string) error {
|
||||
for _, servicePort := range service.Spec.Ports {
|
||||
targetPort = servicePort.TargetPort.String()
|
||||
}
|
||||
consolemsg.Verbose(2, "Connecting to port %v on pod %v/%v", targetPort, podNameSpace, podNameSpace)
|
||||
console.Verbose(2, "Connecting to port %v on pod %v/%v", targetPort, podNameSpace, podNameSpace)
|
||||
|
||||
stopChannel := make(chan struct{}, 1)
|
||||
readyChannel := make(chan struct{})
|
||||
@@ -199,7 +199,7 @@ func runPortForward(labelSelector string, localPort string, ns string) error {
|
||||
dialer := spdy.NewDialer(upgrader, &http.Client{Transport: transport}, "POST", url)
|
||||
|
||||
outStream := os.Stdout
|
||||
if consolemsg.Verbosity < 2 {
|
||||
if console.Verbosity < 2 {
|
||||
outStream = nil
|
||||
}
|
||||
fw, err := portforward.New(dialer, ports, stopChannel, readyChannel, outStream, os.Stderr)
|
||||
@@ -207,6 +207,6 @@ func runPortForward(labelSelector string, localPort string, ns string) error {
|
||||
return errors.Wrap(err, "error creating port forwarder")
|
||||
}
|
||||
|
||||
consolemsg.Verbose(2, "Starting port forwarder")
|
||||
console.Verbose(2, "Starting port forwarder")
|
||||
return fw.ForwardPorts()
|
||||
}
|
||||
|
||||
@@ -36,10 +36,11 @@ import (
|
||||
|
||||
"github.com/fission/fission/pkg/controller/client"
|
||||
"github.com/fission/fission/pkg/fission-cli/cliwrapper/cli"
|
||||
"github.com/fission/fission/pkg/fission-cli/consolemsg"
|
||||
"github.com/fission/fission/pkg/fission-cli/flag"
|
||||
"github.com/fission/fission/pkg/fission-cli/console"
|
||||
flagkey "github.com/fission/fission/pkg/fission-cli/flag/key"
|
||||
"github.com/fission/fission/pkg/info"
|
||||
"github.com/fission/fission/pkg/plugin"
|
||||
"github.com/fission/fission/pkg/utils"
|
||||
)
|
||||
|
||||
func GetFissionNamespace() string {
|
||||
@@ -111,7 +112,7 @@ func GetKubernetesClient() (*restclient.Config, *kubernetes.Clientset, error) {
|
||||
// In case that user.Current() may be unable to work under some circumstances and return errors like
|
||||
// "user: Current not implemented on darwin/amd64" due to cross-compilation problem. (https://github.com/golang/go/issues/6376).
|
||||
// Instead of doing fatal here, we fallback to get home directory from the environment $HOME.
|
||||
consolemsg.Warn(fmt.Sprintf("Could not get the current user's directory (%s), fallback to get it from env $HOME", err))
|
||||
console.Warn(fmt.Sprintf("Could not get the current user's directory (%s), fallback to get it from env $HOME", err))
|
||||
homeDir = os.Getenv("HOME")
|
||||
} else {
|
||||
homeDir = usr.HomeDir
|
||||
@@ -123,9 +124,9 @@ func GetKubernetesClient() (*restclient.Config, *kubernetes.Clientset, error) {
|
||||
"Set the KUBECONFIG environment variable to your kubeconfig's path.")
|
||||
}
|
||||
loadingRules.ExplicitPath = kubeConfigPath
|
||||
consolemsg.Verbose(2, "Using kubeconfig from %q", kubeConfigPath)
|
||||
console.Verbose(2, "Using kubeconfig from %q", kubeConfigPath)
|
||||
} else {
|
||||
consolemsg.Verbose(2, "Using kubeconfig from environment %q", kubeConfigPath)
|
||||
console.Verbose(2, "Using kubeconfig from environment %q", kubeConfigPath)
|
||||
}
|
||||
|
||||
config, err := clientcmd.NewNonInteractiveDeferredLoadingClientConfig(
|
||||
@@ -180,7 +181,7 @@ func GetVersion(client *client.Client) info.Versions {
|
||||
|
||||
serverInfo, err := client.ServerInfo()
|
||||
if err != nil {
|
||||
consolemsg.Warn(fmt.Sprintf("Error getting Fission API version: %v", err))
|
||||
console.Warn(fmt.Sprintf("Error getting Fission API version: %v", err))
|
||||
serverInfo = &info.ServerInfo{}
|
||||
}
|
||||
|
||||
@@ -195,7 +196,7 @@ func GetVersion(client *client.Client) info.Versions {
|
||||
}
|
||||
|
||||
func GetServer(flags cli.Input) (c *client.Client, err error) {
|
||||
serverUrl := flags.GlobalString(flag.FISSION_SERVER)
|
||||
serverUrl := flags.GlobalString(flagkey.Server)
|
||||
if len(serverUrl) == 0 {
|
||||
// starts local portforwarder etc.
|
||||
serverUrl, err = GetApplicationUrl("application=fission-api")
|
||||
@@ -230,10 +231,10 @@ func GetResourceReqs(flags cli.Input, resReqs *v1.ResourceRequirements) (*v1.Res
|
||||
r.Limits = make(map[v1.ResourceName]resource.Quantity)
|
||||
}
|
||||
|
||||
e := &multierror.Error{}
|
||||
e := utils.MultiErrorWithFormat()
|
||||
|
||||
if flags.IsSet(flag.RUNTIME_MINCPU) {
|
||||
mincpu := flags.Int(flag.RUNTIME_MINCPU)
|
||||
if flags.IsSet(flagkey.RuntimeMincpu) {
|
||||
mincpu := flags.Int(flagkey.RuntimeMincpu)
|
||||
cpuRequest, err := resource.ParseQuantity(strconv.Itoa(mincpu) + "m")
|
||||
if err != nil {
|
||||
e = multierror.Append(e, errors.Wrap(err, "Failed to parse mincpu"))
|
||||
@@ -241,8 +242,8 @@ func GetResourceReqs(flags cli.Input, resReqs *v1.ResourceRequirements) (*v1.Res
|
||||
r.Requests[v1.ResourceCPU] = cpuRequest
|
||||
}
|
||||
|
||||
if flags.IsSet(flag.RUNTIME_MINMEMORY) {
|
||||
minmem := flags.Int(flag.RUNTIME_MINMEMORY)
|
||||
if flags.IsSet(flagkey.RuntimeMinmemory) {
|
||||
minmem := flags.Int(flagkey.RuntimeMinmemory)
|
||||
memRequest, err := resource.ParseQuantity(strconv.Itoa(minmem) + "Mi")
|
||||
if err != nil {
|
||||
e = multierror.Append(e, errors.Wrap(err, "Failed to parse minmemory"))
|
||||
@@ -250,8 +251,8 @@ func GetResourceReqs(flags cli.Input, resReqs *v1.ResourceRequirements) (*v1.Res
|
||||
r.Requests[v1.ResourceMemory] = memRequest
|
||||
}
|
||||
|
||||
if flags.IsSet(flag.RUNTIME_MAXCPU) {
|
||||
maxcpu := flags.Int(flag.RUNTIME_MAXCPU)
|
||||
if flags.IsSet(flagkey.RuntimeMaxcpu) {
|
||||
maxcpu := flags.Int(flagkey.RuntimeMaxcpu)
|
||||
cpuLimit, err := resource.ParseQuantity(strconv.Itoa(maxcpu) + "m")
|
||||
if err != nil {
|
||||
e = multierror.Append(e, errors.Wrap(err, "Failed to parse maxcpu"))
|
||||
@@ -259,8 +260,8 @@ func GetResourceReqs(flags cli.Input, resReqs *v1.ResourceRequirements) (*v1.Res
|
||||
r.Limits[v1.ResourceCPU] = cpuLimit
|
||||
}
|
||||
|
||||
if flags.IsSet(flag.RUNTIME_MAXMEMORY) {
|
||||
maxmem := flags.Int(flag.RUNTIME_MAXMEMORY)
|
||||
if flags.IsSet(flagkey.RuntimeMaxmemory) {
|
||||
maxmem := flags.Int(flagkey.RuntimeMaxmemory)
|
||||
memLimit, err := resource.ParseQuantity(strconv.Itoa(maxmem) + "Mi")
|
||||
if err != nil {
|
||||
e = multierror.Append(e, errors.Wrap(err, "Failed to parse maxmemory"))
|
||||
@@ -297,7 +298,7 @@ func GetResourceReqs(flags cli.Input, resReqs *v1.ResourceRequirements) (*v1.Res
|
||||
}
|
||||
|
||||
func GetSpecDir(flags cli.Input) string {
|
||||
specDir := flags.String(flag.SPEC_SPECDIR)
|
||||
specDir := flags.String(flagkey.SpecDir)
|
||||
if len(specDir) == 0 {
|
||||
specDir = "specs"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user