Address lint comments, remove confusing multi-runner API

pull/8545/head
Thomas Stromberg 2020-06-25 14:36:39 -07:00
parent 521d334b6a
commit 2a39d993ea
9 changed files with 23 additions and 26 deletions

View File

@ -133,8 +133,8 @@ func initMinikubeFlags() {
startCmd.Flags().StringArrayVar(&config.AddonList, "addons", nil, "Enable addons. see `minikube addons list` for a list of valid addon names.")
startCmd.Flags().String(criSocket, "", "The cri socket path to be used.")
startCmd.Flags().String(networkPlugin, "", "Kubelet network plug-in to use (default: auto)")
startCmd.Flags().Bool(enableDefaultCNI, false, "DEPRECATED: Replaced by --cni=custom")
startCmd.Flags().String(cniFlag, "", "CNI plug-in to use. Valid options: auto, calico, custom, flannel, kindnet (default: auto)")
startCmd.Flags().Bool(enableDefaultCNI, false, "DEPRECATED: Replaced by --cni=bridge")
startCmd.Flags().String(cniFlag, "", "CNI plug-in to use. Valid options: auto, bridge, flannel, kindnet, or path to a CNI manifest (default: auto)")
startCmd.Flags().StringSlice(waitComponents, kverify.DefaultWaitList, fmt.Sprintf("comma separated list of Kubernetes components to verify and wait for after starting a cluster. defaults to %q, available options: %q . other acceptable values are 'all' or 'none', 'true' and 'false'", strings.Join(kverify.DefaultWaitList, ","), strings.Join(kverify.AllComponentsList, ",")))
startCmd.Flags().Duration(waitTimeout, 6*time.Minute, "max time to wait per Kubernetes core services to be healthy.")
startCmd.Flags().Bool(nativeSSH, true, "Use native Golang SSH client (default true). Set to 'false' to use the command line 'ssh' command when accessing the docker machine. Useful for the machine drivers when they will not start with 'Waiting for SSH'.")

View File

@ -277,7 +277,7 @@ func (k *Bootstrapper) applyCNI(cfg config.ClusterConfig) error {
out.T(out.CNI, "Configuring {{.name}} (Container Networking Interface) ...", out.V{"name": cnm.String()})
if err := cnm.Apply(k.c, []cni.Runner{k.c}); err != nil {
if err := cnm.Apply(k.c); err != nil {
return errors.Wrap(err, "cni apply")
}

View File

@ -18,6 +18,7 @@ package cni
import (
"bytes"
"fmt"
"text/template"
"github.com/pkg/errors"
@ -68,13 +69,20 @@ func (c Bridge) netconf() (assets.CopyableFile, error) {
}
// Apply enables the CNI
func (c Bridge) Apply(_ Runner, nodes []Runner) error {
func (c Bridge) Apply(r Runner) error {
if len(c.cc.Nodes) > 1 {
return fmt.Errorf("bridge CNI is incompatible with multi-node clusters")
}
f, err := c.netconf()
if err != nil {
return errors.Wrap(err, "netconf")
}
return applyNetConf(nodes, f)
if err := r.Copy(f); err != nil {
return errors.Wrapf(err, "copy")
}
return nil
}
// CIDR returns the default CIDR used by this CNI

View File

@ -46,8 +46,8 @@ type Runner interface {
// Manager is a common interface for CNI
type Manager interface {
// Enable enables the CNI
Apply(Runner, []Runner) error
// Apply a CNI. The provided runner is for the control plane
Apply(Runner) error
// CIDR returns the default CIDR used by this CNI
CIDR() string
@ -147,14 +147,3 @@ func applyManifest(cc config.ClusterConfig, r Runner, f assets.CopyableFile) err
return nil
}
// applyNetConf applies a netconf file across nodes
func applyNetConf(rs []Runner, f assets.CopyableFile) error {
for _, r := range rs {
if err := r.Copy(f); err != nil {
return errors.Wrapf(err, "copy")
}
}
return nil
}

View File

@ -51,13 +51,13 @@ func NewCustom(cc config.ClusterConfig, manifest string) (Custom, error) {
}
// Apply enables the CNI
func (c Custom) Apply(master Runner, nodes []Runner) error {
func (c Custom) Apply(r Runner) error {
m, err := assets.NewFileAsset(c.manifest, path.Dir(manifestPath()), path.Base(manifestPath()), "0644")
if err != nil {
return errors.Wrap(err, "manifest")
}
return applyManifest(c.cc, master, m)
return applyManifest(c.cc, r, m)
}
// CIDR returns the default CIDR used by this CNI

View File

@ -33,7 +33,7 @@ func (c Disabled) String() string {
}
// Apply enables the CNI
func (c Disabled) Apply(master Runner, nodes []Runner) error {
func (c Disabled) Apply(r Runner) error {
if driver.IsKIC(c.cc.Driver) && c.cc.KubernetesConfig.ContainerRuntime != "docker" {
glog.Warningf("CNI is recommended for %q driver and %q runtime - expect networking issues", c.cc.Driver, c.cc.KubernetesConfig.ContainerRuntime)
}

View File

@ -636,8 +636,8 @@ func (c Flannel) String() string {
}
// Apply enables the CNI
func (c Flannel) Apply(master Runner, nodes []Runner) error {
return applyManifest(c.cc, master, manifestAsset([]byte(flannelTmpl)))
func (c Flannel) Apply(r Runner) error {
return applyManifest(c.cc, r, manifestAsset([]byte(flannelTmpl)))
}
// CIDR returns the default CIDR used by this CNI

View File

@ -167,12 +167,12 @@ func (c KindNet) manifest() (assets.CopyableFile, error) {
}
// Apply enables the CNI
func (c KindNet) Apply(master Runner, nodes []Runner) error {
func (c KindNet) Apply(r Runner) error {
m, err := c.manifest()
if err != nil {
return errors.Wrap(err, "manifest")
}
return applyManifest(c.cc, master, m)
return applyManifest(c.cc, r, m)
}
// CIDR returns the default CIDR used by this CNI

View File

@ -191,7 +191,7 @@ func Start(starter Starter, apiServer bool) (*kubeconfig.Settings, error) {
return nil, errors.Wrap(err, "cni")
}
if err := cnm.Apply(cpr, []cni.Runner{cpr, starter.Runner}); err != nil {
if err := cnm.Apply(cpr); err != nil {
return nil, errors.Wrap(err, "cni apply")
}
}