From 8046bafca569c34d2fe9be533d1b00f32eb261e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucas=20K=C3=A4ldstr=C3=B6m?= Date: Tue, 4 Jul 2017 12:30:42 +0300 Subject: [PATCH] kubeadm: Move app/master into a separate phase directory --- build/visible_to/BUILD | 2 +- cmd/kubeadm/app/BUILD | 2 +- cmd/kubeadm/app/cmd/BUILD | 2 +- cmd/kubeadm/app/cmd/init.go | 26 ++++---- .../app/{master => phases/controlplane}/BUILD | 59 +++++++++---------- .../controlplane}/manifests.go | 0 .../controlplane}/manifests_test.go | 0 .../controlplane}/selfhosted.go | 3 +- cmd/kubeadm/app/util/BUILD | 5 ++ cmd/kubeadm/app/{master => util}/apiclient.go | 4 +- 10 files changed, 54 insertions(+), 49 deletions(-) rename cmd/kubeadm/app/{master => phases/controlplane}/BUILD (96%) rename cmd/kubeadm/app/{master => phases/controlplane}/manifests.go (100%) rename cmd/kubeadm/app/{master => phases/controlplane}/manifests_test.go (100%) rename cmd/kubeadm/app/{master => phases/controlplane}/selfhosted.go (99%) rename cmd/kubeadm/app/{master => util}/apiclient.go (96%) diff --git a/build/visible_to/BUILD b/build/visible_to/BUILD index 1d0dc31abb..3dab0c74de 100644 --- a/build/visible_to/BUILD +++ b/build/visible_to/BUILD @@ -72,7 +72,7 @@ package_group( packages = [ "//cmd/kubeadm/app", "//cmd/kubeadm/app/cmd", - "//cmd/kubeadm/app/master", + "//cmd/kubeadm/app/phases/controlplane", ], ) diff --git a/cmd/kubeadm/app/BUILD b/cmd/kubeadm/app/BUILD index 86cd8c4b48..dde909a126 100644 --- a/cmd/kubeadm/app/BUILD +++ b/cmd/kubeadm/app/BUILD @@ -35,11 +35,11 @@ filegroup( "//cmd/kubeadm/app/constants:all-srcs", "//cmd/kubeadm/app/discovery:all-srcs", "//cmd/kubeadm/app/images:all-srcs", - "//cmd/kubeadm/app/master:all-srcs", "//cmd/kubeadm/app/node:all-srcs", "//cmd/kubeadm/app/phases/addons:all-srcs", "//cmd/kubeadm/app/phases/apiconfig:all-srcs", "//cmd/kubeadm/app/phases/certs:all-srcs", + "//cmd/kubeadm/app/phases/controlplane:all-srcs", "//cmd/kubeadm/app/phases/kubeconfig:all-srcs", "//cmd/kubeadm/app/phases/token:all-srcs", "//cmd/kubeadm/app/preflight:all-srcs", diff --git a/cmd/kubeadm/app/cmd/BUILD b/cmd/kubeadm/app/cmd/BUILD index be4434e189..544a68d6f3 100644 --- a/cmd/kubeadm/app/cmd/BUILD +++ b/cmd/kubeadm/app/cmd/BUILD @@ -28,11 +28,11 @@ go_library( "//cmd/kubeadm/app/cmd/phases:go_default_library", "//cmd/kubeadm/app/constants:go_default_library", "//cmd/kubeadm/app/discovery:go_default_library", - "//cmd/kubeadm/app/master:go_default_library", "//cmd/kubeadm/app/node:go_default_library", "//cmd/kubeadm/app/phases/addons:go_default_library", "//cmd/kubeadm/app/phases/apiconfig:go_default_library", "//cmd/kubeadm/app/phases/certs:go_default_library", + "//cmd/kubeadm/app/phases/controlplane:go_default_library", "//cmd/kubeadm/app/phases/kubeconfig:go_default_library", "//cmd/kubeadm/app/phases/token:go_default_library", "//cmd/kubeadm/app/preflight:go_default_library", diff --git a/cmd/kubeadm/app/cmd/init.go b/cmd/kubeadm/app/cmd/init.go index ae541a2845..f8e87a115e 100644 --- a/cmd/kubeadm/app/cmd/init.go +++ b/cmd/kubeadm/app/cmd/init.go @@ -32,10 +32,10 @@ import ( kubeadmapiext "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1" "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/validation" kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants" - kubemaster "k8s.io/kubernetes/cmd/kubeadm/app/master" addonsphase "k8s.io/kubernetes/cmd/kubeadm/app/phases/addons" apiconfigphase "k8s.io/kubernetes/cmd/kubeadm/app/phases/apiconfig" certphase "k8s.io/kubernetes/cmd/kubeadm/app/phases/certs" + controlplanephase "k8s.io/kubernetes/cmd/kubeadm/app/phases/controlplane" kubeconfigphase "k8s.io/kubernetes/cmd/kubeadm/app/phases/kubeconfig" tokenphase "k8s.io/kubernetes/cmd/kubeadm/app/phases/token" "k8s.io/kubernetes/cmd/kubeadm/app/preflight" @@ -211,12 +211,12 @@ func (i *Init) Run(out io.Writer) error { } // PHASE 3: Bootstrap the control plane - if err := kubemaster.WriteStaticPodManifests(i.cfg); err != nil { + if err := controlplanephase.WriteStaticPodManifests(i.cfg); err != nil { return err } adminKubeConfigPath := filepath.Join(kubeadmapi.GlobalEnvParams.KubernetesDir, kubeadmconstants.AdminKubeConfigFileName) - client, err := kubemaster.CreateClientAndWaitForAPI(adminKubeConfigPath) + client, err := kubeadmutil.CreateClientAndWaitForAPI(adminKubeConfigPath) if err != nil { return err } @@ -225,16 +225,6 @@ func (i *Init) Run(out io.Writer) error { return err } - // Is deployment type self-hosted? - if i.cfg.SelfHosted { - // Temporary control plane is up, now we create our self hosted control - // plane components and remove the static manifests: - fmt.Println("[self-hosted] Creating self-hosted control plane...") - if err := kubemaster.CreateSelfHostedControlPlane(i.cfg, client); err != nil { - return err - } - } - // PHASE 4: Set up the bootstrap tokens if !i.skipTokenPrint { fmt.Printf("[token] Using token: %s\n", i.cfg.Token) @@ -271,6 +261,16 @@ func (i *Init) Run(out io.Writer) error { return err } + // Is deployment type self-hosted? + if i.cfg.SelfHosted { + // Temporary control plane is up, now we create our self hosted control + // plane components and remove the static manifests: + fmt.Println("[self-hosted] Creating self-hosted control plane...") + if err := controlplanephase.CreateSelfHostedControlPlane(i.cfg, client); err != nil { + return err + } + } + ctx := map[string]string{ "KubeConfigPath": filepath.Join(kubeadmapi.GlobalEnvParams.KubernetesDir, kubeadmconstants.AdminKubeConfigFileName), "KubeConfigName": kubeadmconstants.AdminKubeConfigFileName, diff --git a/cmd/kubeadm/app/master/BUILD b/cmd/kubeadm/app/phases/controlplane/BUILD similarity index 96% rename from cmd/kubeadm/app/master/BUILD rename to cmd/kubeadm/app/phases/controlplane/BUILD index c8d7f97001..1676ac0740 100644 --- a/cmd/kubeadm/app/master/BUILD +++ b/cmd/kubeadm/app/phases/controlplane/BUILD @@ -8,36 +8,6 @@ load( "go_test", ) -go_library( - name = "go_default_library", - srcs = [ - "apiclient.go", - "manifests.go", - "selfhosted.go", - ], - tags = ["automanaged"], - deps = [ - "//cmd/kubeadm/app/apis/kubeadm:go_default_library", - "//cmd/kubeadm/app/apis/kubeadm/v1alpha1:go_default_library", - "//cmd/kubeadm/app/constants:go_default_library", - "//cmd/kubeadm/app/images:go_default_library", - "//cmd/kubeadm/app/util/kubeconfig:go_default_library", - "//pkg/kubeapiserver/authorizer/modes:go_default_library", - "//pkg/kubectl/cmd/util:go_default_library", - "//pkg/kubelet/types:go_default_library", - "//pkg/util/version:go_default_library", - "//vendor/github.com/ghodss/yaml:go_default_library", - "//vendor/k8s.io/api/core/v1:go_default_library", - "//vendor/k8s.io/api/extensions/v1beta1:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/api/resource:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/util/intstr:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/util/wait:go_default_library", - "//vendor/k8s.io/client-go/kubernetes:go_default_library", - ], -) - go_test( name = "go_default_test", srcs = ["manifests_test.go"], @@ -53,6 +23,35 @@ go_test( ], ) +go_library( + name = "go_default_library", + srcs = [ + "manifests.go", + "selfhosted.go", + ], + tags = ["automanaged"], + deps = [ + "//cmd/kubeadm/app/apis/kubeadm:go_default_library", + "//cmd/kubeadm/app/apis/kubeadm/v1alpha1:go_default_library", + "//cmd/kubeadm/app/constants:go_default_library", + "//cmd/kubeadm/app/images:go_default_library", + "//cmd/kubeadm/app/util:go_default_library", + "//pkg/kubeapiserver/authorizer/modes:go_default_library", + "//pkg/kubectl/cmd/util:go_default_library", + "//pkg/kubelet/types:go_default_library", + "//pkg/util/version:go_default_library", + "//vendor/github.com/ghodss/yaml:go_default_library", + "//vendor/k8s.io/api/core/v1:go_default_library", + "//vendor/k8s.io/api/extensions/v1beta1:go_default_library", + "//vendor/k8s.io/apimachinery/pkg/api/resource:go_default_library", + "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", + "//vendor/k8s.io/apimachinery/pkg/util/intstr:go_default_library", + "//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library", + "//vendor/k8s.io/apimachinery/pkg/util/wait:go_default_library", + "//vendor/k8s.io/client-go/kubernetes:go_default_library", + ], +) + filegroup( name = "package-srcs", srcs = glob(["**"]), diff --git a/cmd/kubeadm/app/master/manifests.go b/cmd/kubeadm/app/phases/controlplane/manifests.go similarity index 100% rename from cmd/kubeadm/app/master/manifests.go rename to cmd/kubeadm/app/phases/controlplane/manifests.go diff --git a/cmd/kubeadm/app/master/manifests_test.go b/cmd/kubeadm/app/phases/controlplane/manifests_test.go similarity index 100% rename from cmd/kubeadm/app/master/manifests_test.go rename to cmd/kubeadm/app/phases/controlplane/manifests_test.go diff --git a/cmd/kubeadm/app/master/selfhosted.go b/cmd/kubeadm/app/phases/controlplane/selfhosted.go similarity index 99% rename from cmd/kubeadm/app/master/selfhosted.go rename to cmd/kubeadm/app/phases/controlplane/selfhosted.go index 810b6a9468..a6dbed2370 100644 --- a/cmd/kubeadm/app/master/selfhosted.go +++ b/cmd/kubeadm/app/phases/controlplane/selfhosted.go @@ -31,6 +31,7 @@ import ( kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants" "k8s.io/kubernetes/cmd/kubeadm/app/images" + kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util" "k8s.io/kubernetes/pkg/util/version" ) @@ -115,7 +116,7 @@ func launchSelfHostedAPIServer(cfg *kubeadmapi.MasterConfiguration, client *clie return fmt.Errorf("unable to delete temporary API server manifest [%v]", err) } - WaitForAPI(client) + kubeadmutil.WaitForAPI(client) fmt.Printf("[self-hosted] self-hosted kube-apiserver ready after %f seconds\n", time.Since(start).Seconds()) return nil diff --git a/cmd/kubeadm/app/util/BUILD b/cmd/kubeadm/app/util/BUILD index aba1277a54..c3b5aa66dd 100644 --- a/cmd/kubeadm/app/util/BUILD +++ b/cmd/kubeadm/app/util/BUILD @@ -11,14 +11,19 @@ load( go_library( name = "go_default_library", srcs = [ + "apiclient.go", "error.go", "template.go", "version.go", ], tags = ["automanaged"], deps = [ + "//cmd/kubeadm/app/constants:go_default_library", "//cmd/kubeadm/app/preflight:go_default_library", + "//cmd/kubeadm/app/util/kubeconfig:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/errors:go_default_library", + "//vendor/k8s.io/apimachinery/pkg/util/wait:go_default_library", + "//vendor/k8s.io/client-go/kubernetes:go_default_library", ], ) diff --git a/cmd/kubeadm/app/master/apiclient.go b/cmd/kubeadm/app/util/apiclient.go similarity index 96% rename from cmd/kubeadm/app/master/apiclient.go rename to cmd/kubeadm/app/util/apiclient.go index 1f27fc0891..2a3c39669e 100644 --- a/cmd/kubeadm/app/master/apiclient.go +++ b/cmd/kubeadm/app/util/apiclient.go @@ -1,5 +1,5 @@ /* -Copyright 2016 The Kubernetes Authors. +Copyright 2017 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package master +package util import ( "fmt"