From dcd00c936ec891104f467302b41007820cffe68a Mon Sep 17 00:00:00 2001 From: Joe Beda Date: Tue, 13 Jan 2015 11:22:02 -0800 Subject: [PATCH] Move all kubernetes to posix flags --- cmd/e2e/e2e.go | 4 +++- cmd/integration/integration.go | 3 ++- cmd/kube-apiserver/apiserver.go | 3 ++- cmd/kube-controller-manager/controller-manager.go | 4 +++- cmd/kube-proxy/proxy.go | 4 +++- cmd/kubecfg/kubecfg.go | 1 + cmd/kubelet/kubelet.go | 4 +++- cmd/kubernetes/kubernetes.go | 3 ++- pkg/api/resource/quantity.go | 2 +- pkg/api/serialization_test.go | 2 +- pkg/conversion/scheme_test.go | 2 +- pkg/util/logs.go | 2 +- pkg/util/net_test.go | 3 ++- pkg/util/plog_import.go | 13 ++++++++++++- pkg/version/verflag/verflag.go | 6 +++++- plugin/cmd/kube-scheduler/scheduler.go | 4 +++- 16 files changed, 45 insertions(+), 15 deletions(-) diff --git a/cmd/e2e/e2e.go b/cmd/e2e/e2e.go index 6fccb351cc2..915531c2e1f 100644 --- a/cmd/e2e/e2e.go +++ b/cmd/e2e/e2e.go @@ -17,7 +17,6 @@ limitations under the License. package main import ( - "flag" "fmt" "io/ioutil" "os" @@ -35,6 +34,8 @@ import ( "github.com/GoogleCloudPlatform/kubernetes/pkg/runtime" "github.com/GoogleCloudPlatform/kubernetes/pkg/util" "github.com/golang/glog" + + flag "github.com/spf13/pflag" ) var ( @@ -699,6 +700,7 @@ func TestPodHasServiceEnvVars(c *client.Client) bool { } func main() { + util.AddAllFlagsToPFlags() flag.Parse() goruntime.GOMAXPROCS(goruntime.NumCPU()) util.ReallyCrash = true diff --git a/cmd/integration/integration.go b/cmd/integration/integration.go index d3377d07fc0..0cfe8c6d2a9 100644 --- a/cmd/integration/integration.go +++ b/cmd/integration/integration.go @@ -19,7 +19,6 @@ limitations under the License. package main import ( - "flag" "io/ioutil" "net" "net/http" @@ -54,6 +53,7 @@ import ( "github.com/coreos/go-etcd/etcd" "github.com/golang/glog" + flag "github.com/spf13/pflag" ) var ( @@ -563,6 +563,7 @@ func runServiceTest(client *client.Client) { type testFunc func(*client.Client) func main() { + util.AddAllFlagsToPFlags() flag.Parse() runtime.GOMAXPROCS(runtime.NumCPU()) util.ReallyCrash = true diff --git a/cmd/kube-apiserver/apiserver.go b/cmd/kube-apiserver/apiserver.go index 671e2b0f52e..1a74b8a351c 100644 --- a/cmd/kube-apiserver/apiserver.go +++ b/cmd/kube-apiserver/apiserver.go @@ -20,7 +20,6 @@ package main import ( "crypto/tls" - "flag" "net" "net/http" "strconv" @@ -40,6 +39,7 @@ import ( "github.com/coreos/go-etcd/etcd" "github.com/golang/glog" + flag "github.com/spf13/pflag" ) var ( @@ -124,6 +124,7 @@ func newEtcd(etcdConfigFile string, etcdServerList util.StringList) (helper tool } func main() { + util.AddAllFlagsToPFlags() flag.Parse() util.InitLogs() defer util.FlushLogs() diff --git a/cmd/kube-controller-manager/controller-manager.go b/cmd/kube-controller-manager/controller-manager.go index 44f5f6511d9..7687160e199 100644 --- a/cmd/kube-controller-manager/controller-manager.go +++ b/cmd/kube-controller-manager/controller-manager.go @@ -21,7 +21,6 @@ limitations under the License. package main import ( - "flag" "net" "net/http" "strconv" @@ -38,7 +37,9 @@ import ( "github.com/GoogleCloudPlatform/kubernetes/pkg/service" "github.com/GoogleCloudPlatform/kubernetes/pkg/util" "github.com/GoogleCloudPlatform/kubernetes/pkg/version/verflag" + "github.com/golang/glog" + flag "github.com/spf13/pflag" ) var ( @@ -74,6 +75,7 @@ func verifyMinionFlags() { } func main() { + util.AddAllFlagsToPFlags() flag.Parse() util.InitLogs() defer util.FlushLogs() diff --git a/cmd/kube-proxy/proxy.go b/cmd/kube-proxy/proxy.go index 256dd7987c6..d26150b7ab8 100644 --- a/cmd/kube-proxy/proxy.go +++ b/cmd/kube-proxy/proxy.go @@ -17,7 +17,6 @@ limitations under the License. package main import ( - "flag" "net" "net/http" "strconv" @@ -32,8 +31,10 @@ import ( "github.com/GoogleCloudPlatform/kubernetes/pkg/util/exec" "github.com/GoogleCloudPlatform/kubernetes/pkg/util/iptables" "github.com/GoogleCloudPlatform/kubernetes/pkg/version/verflag" + "github.com/coreos/go-etcd/etcd" "github.com/golang/glog" + flag "github.com/spf13/pflag" ) var ( @@ -52,6 +53,7 @@ func init() { } func main() { + util.AddAllFlagsToPFlags() flag.Parse() util.InitLogs() defer util.FlushLogs() diff --git a/cmd/kubecfg/kubecfg.go b/cmd/kubecfg/kubecfg.go index ed3224e3a0d..4b102c44d89 100644 --- a/cmd/kubecfg/kubecfg.go +++ b/cmd/kubecfg/kubecfg.go @@ -37,6 +37,7 @@ import ( "github.com/GoogleCloudPlatform/kubernetes/pkg/util" "github.com/GoogleCloudPlatform/kubernetes/pkg/version" "github.com/GoogleCloudPlatform/kubernetes/pkg/version/verflag" + "github.com/golang/glog" "github.com/skratchdot/open-golang/open" ) diff --git a/cmd/kubelet/kubelet.go b/cmd/kubelet/kubelet.go index d9385d9bb70..a1b4ab5f0b6 100644 --- a/cmd/kubelet/kubelet.go +++ b/cmd/kubelet/kubelet.go @@ -21,7 +21,6 @@ limitations under the License. package main import ( - "flag" "math/rand" "net" "time" @@ -33,7 +32,9 @@ import ( "github.com/GoogleCloudPlatform/kubernetes/pkg/standalone" "github.com/GoogleCloudPlatform/kubernetes/pkg/util" "github.com/GoogleCloudPlatform/kubernetes/pkg/version/verflag" + "github.com/golang/glog" + flag "github.com/spf13/pflag" ) const defaultRootDir = "/var/lib/kubelet" @@ -89,6 +90,7 @@ func setupRunOnce() { } func main() { + util.AddAllFlagsToPFlags() flag.Parse() util.InitLogs() defer util.FlushLogs() diff --git a/cmd/kubernetes/kubernetes.go b/cmd/kubernetes/kubernetes.go index 44ccaaa34ed..80208723fdf 100644 --- a/cmd/kubernetes/kubernetes.go +++ b/cmd/kubernetes/kubernetes.go @@ -21,7 +21,6 @@ limitations under the License. package main import ( - "flag" "fmt" "time" @@ -33,6 +32,7 @@ import ( "github.com/GoogleCloudPlatform/kubernetes/pkg/util" "github.com/golang/glog" + flag "github.com/spf13/pflag" ) var ( @@ -66,6 +66,7 @@ func newApiClient(addr string, port int) *client.Client { } func main() { + util.AddAllFlagsToPFlags() flag.Parse() util.InitLogs() defer util.FlushLogs() diff --git a/pkg/api/resource/quantity.go b/pkg/api/resource/quantity.go index 03558aeaa8a..7ec8bf9c4cd 100644 --- a/pkg/api/resource/quantity.go +++ b/pkg/api/resource/quantity.go @@ -18,12 +18,12 @@ package resource import ( "errors" - "flag" "fmt" "math/big" "regexp" "strings" + flag "github.com/spf13/pflag" "speter.net/go/exp/math/dec/inf" ) diff --git a/pkg/api/serialization_test.go b/pkg/api/serialization_test.go index c05d13b5ffe..be5da5005b0 100644 --- a/pkg/api/serialization_test.go +++ b/pkg/api/serialization_test.go @@ -19,7 +19,6 @@ package api_test import ( "encoding/json" - "flag" "math/rand" "reflect" "strconv" @@ -37,6 +36,7 @@ import ( docker "github.com/fsouza/go-dockerclient" fuzz "github.com/google/gofuzz" + flag "github.com/spf13/pflag" "speter.net/go/exp/math/dec/inf" ) diff --git a/pkg/conversion/scheme_test.go b/pkg/conversion/scheme_test.go index 3d2c3bbc5cf..40bf1e9c81f 100644 --- a/pkg/conversion/scheme_test.go +++ b/pkg/conversion/scheme_test.go @@ -18,7 +18,6 @@ package conversion import ( "encoding/json" - "flag" "fmt" "reflect" "strings" @@ -28,6 +27,7 @@ import ( "github.com/ghodss/yaml" "github.com/google/gofuzz" + flag "github.com/spf13/pflag" ) var fuzzIters = flag.Int("fuzz_iters", 50, "How many fuzzing iterations to do.") diff --git a/pkg/util/logs.go b/pkg/util/logs.go index 8049b6ece81..2e88e20065a 100644 --- a/pkg/util/logs.go +++ b/pkg/util/logs.go @@ -17,11 +17,11 @@ limitations under the License. package util import ( - "flag" "log" "time" "github.com/golang/glog" + flag "github.com/spf13/pflag" ) var logFlushFreq = flag.Duration("log_flush_frequency", 5*time.Second, "Maximum number of seconds between log flushes") diff --git a/pkg/util/net_test.go b/pkg/util/net_test.go index 972770f1260..afdb802684d 100644 --- a/pkg/util/net_test.go +++ b/pkg/util/net_test.go @@ -17,8 +17,9 @@ limitations under the License. package util import ( - "flag" "testing" + + flag "github.com/spf13/pflag" ) func TestIP(t *testing.T) { diff --git a/pkg/util/plog_import.go b/pkg/util/plog_import.go index e0f6afc18a4..41b333b8afb 100644 --- a/pkg/util/plog_import.go +++ b/pkg/util/plog_import.go @@ -42,7 +42,13 @@ func wrapFlagValue(v flag.Value) pflag.Value { pv := &flagValueWrapper{ inner: v, } - pv.flagType = reflect.TypeOf(v).Elem().Name() + + t := reflect.TypeOf(v) + if t.Kind() == reflect.Interface || t.Kind() == reflect.Ptr { + t = t.Elem() + } + + pv.flagType = t.Name() pv.flagType = strings.TrimSuffix(pv.flagType, "Value") return pv } @@ -76,3 +82,8 @@ func AddFlagSetToPFlagSet(fsIn *flag.FlagSet, fsOut *pflag.FlagSet) { func AddAllFlagsToPFlagSet(fs *pflag.FlagSet) { AddFlagSetToPFlagSet(flag.CommandLine, fs) } + +// Add al of the top level 'flag' package flags to the top level 'pflag' flags. +func AddAllFlagsToPFlags() { + AddFlagSetToPFlagSet(flag.CommandLine, pflag.CommandLine) +} diff --git a/pkg/version/verflag/verflag.go b/pkg/version/verflag/verflag.go index 85c47bc5214..8322e4fe480 100644 --- a/pkg/version/verflag/verflag.go +++ b/pkg/version/verflag/verflag.go @@ -19,12 +19,12 @@ limitations under the License. package verflag import ( - "flag" "fmt" "os" "strconv" "github.com/GoogleCloudPlatform/kubernetes/pkg/version" + flag "github.com/spf13/pflag" ) type versionValue int @@ -66,6 +66,10 @@ func (v *versionValue) String() string { return fmt.Sprintf("%v", bool(*v == VersionTrue)) } +func (v *versionValue) Type() string { + return "version" +} + func VersionVar(p *versionValue, name string, value versionValue, usage string) { *p = value flag.Var(p, name, usage) diff --git a/plugin/cmd/kube-scheduler/scheduler.go b/plugin/cmd/kube-scheduler/scheduler.go index 757e745e11e..8bd7a6d2e70 100644 --- a/plugin/cmd/kube-scheduler/scheduler.go +++ b/plugin/cmd/kube-scheduler/scheduler.go @@ -17,7 +17,6 @@ limitations under the License. package main import ( - "flag" "net" "net/http" "strconv" @@ -33,6 +32,8 @@ import ( _ "github.com/GoogleCloudPlatform/kubernetes/plugin/pkg/scheduler/algorithmprovider" "github.com/GoogleCloudPlatform/kubernetes/plugin/pkg/scheduler/factory" "github.com/golang/glog" + + flag "github.com/spf13/pflag" ) var ( @@ -47,6 +48,7 @@ func init() { } func main() { + util.AddAllFlagsToPFlags() flag.Parse() util.InitLogs() defer util.FlushLogs()