kubeadm: added file discovery.

Fixes kubernetes/kubeadm#93
parent ed5414d3
...@@ -33,6 +33,7 @@ import ( ...@@ -33,6 +33,7 @@ import (
kubeconfigphase "k8s.io/kubernetes/cmd/kubeadm/app/phases/kubeconfig" kubeconfigphase "k8s.io/kubernetes/cmd/kubeadm/app/phases/kubeconfig"
"k8s.io/kubernetes/cmd/kubeadm/app/preflight" "k8s.io/kubernetes/cmd/kubeadm/app/preflight"
kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util" kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api"
clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api"
"k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/runtime"
...@@ -129,7 +130,7 @@ func (j *Join) Validate() error { ...@@ -129,7 +130,7 @@ func (j *Join) Validate() error {
return validation.ValidateNodeConfiguration(j.cfg).ToAggregate() return validation.ValidateNodeConfiguration(j.cfg).ToAggregate()
} }
// Run executes worked node provisioning and tries to join an existing cluster. // Run executes worker node provisioning and tries to join an existing cluster.
func (j *Join) Run(out io.Writer) error { func (j *Join) Run(out io.Writer) error {
var cfg *clientcmdapi.Config var cfg *clientcmdapi.Config
// TODO: delete this first block when we move Token to the discovery interface // TODO: delete this first block when we move Token to the discovery interface
...@@ -138,7 +139,6 @@ func (j *Join) Run(out io.Writer) error { ...@@ -138,7 +139,6 @@ func (j *Join) Run(out io.Writer) error {
if err != nil { if err != nil {
return err return err
} }
connectionDetails, err := kubenode.EstablishMasterConnection(j.cfg.Discovery.Token, clusterInfo) connectionDetails, err := kubenode.EstablishMasterConnection(j.cfg.Discovery.Token, clusterInfo)
if err != nil { if err != nil {
return err return err
...@@ -161,8 +161,7 @@ func (j *Join) Run(out io.Writer) error { ...@@ -161,8 +161,7 @@ func (j *Join) Run(out io.Writer) error {
} }
} }
err := kubeconfigphase.WriteKubeconfigToDisk(path.Join(kubeadmapi.GlobalEnvParams.KubernetesDir, kubeconfigphase.KubeletKubeConfigFileName), cfg) if err := kubeconfigphase.WriteKubeconfigToDisk(path.Join(kubeadmapi.GlobalEnvParams.KubernetesDir, kubeconfigphase.KubeletKubeConfigFileName), cfg); err != nil {
if err != nil {
return err return err
} }
......
...@@ -23,9 +23,19 @@ import ( ...@@ -23,9 +23,19 @@ import (
clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api"
) )
func For(c kubeadmapi.Discovery) (*clientcmdapi.Config, error) { // For identifies and executes the desired discovery mechanism.
func For(d kubeadmapi.Discovery) (*clientcmdapi.Config, error) {
switch { switch {
case d.File != nil:
return runFileDiscovery(d.File)
default: default:
return nil, fmt.Errorf("unimplemented") return nil, fmt.Errorf("Couldn't find a valid discovery configuration. Please provide one.")
}
}
// runFileDiscovery executes file-based discovery.
func runFileDiscovery(fd *kubeadmapi.FileDiscovery) (*clientcmdapi.Config, error) {
return clientcmd.LoadFromFile(fd.Path)
}
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment