mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-26 21:17:23 +00:00
Move the apiCallRetryInterval constants to a common place and a little bit cleanup
This commit is contained in:
parent
e289342158
commit
6d7d1317cb
@ -37,6 +37,7 @@ filegroup(
|
|||||||
"//cmd/kubeadm/app/images:all-srcs",
|
"//cmd/kubeadm/app/images:all-srcs",
|
||||||
"//cmd/kubeadm/app/master:all-srcs",
|
"//cmd/kubeadm/app/master:all-srcs",
|
||||||
"//cmd/kubeadm/app/node: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/apiconfig:all-srcs",
|
||||||
"//cmd/kubeadm/app/phases/certs:all-srcs",
|
"//cmd/kubeadm/app/phases/certs:all-srcs",
|
||||||
"//cmd/kubeadm/app/phases/kubeconfig:all-srcs",
|
"//cmd/kubeadm/app/phases/kubeconfig:all-srcs",
|
||||||
|
@ -16,6 +16,8 @@ limitations under the License.
|
|||||||
|
|
||||||
package constants
|
package constants
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
const (
|
const (
|
||||||
CACertAndKeyBaseName = "ca"
|
CACertAndKeyBaseName = "ca"
|
||||||
CACertName = "ca.crt"
|
CACertName = "ca.crt"
|
||||||
@ -43,4 +45,7 @@ const (
|
|||||||
// Constants for what we name our ServiceAccounts with limited access to the cluster in case of RBAC
|
// Constants for what we name our ServiceAccounts with limited access to the cluster in case of RBAC
|
||||||
KubeDNSServiceAccountName = "kube-dns"
|
KubeDNSServiceAccountName = "kube-dns"
|
||||||
KubeProxyServiceAccountName = "kube-proxy"
|
KubeProxyServiceAccountName = "kube-proxy"
|
||||||
|
|
||||||
|
// APICallRetryInterval defines how long kubeadm should wait before retrying a failed API operation
|
||||||
|
APICallRetryInterval = 500 * time.Millisecond
|
||||||
)
|
)
|
||||||
|
@ -24,23 +24,13 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
KubeEtcdImage = "etcd"
|
KubeEtcdImage = "etcd"
|
||||||
|
|
||||||
KubeAPIServerImage = "apiserver"
|
KubeAPIServerImage = "apiserver"
|
||||||
KubeControllerManagerImage = "controller-manager"
|
KubeControllerManagerImage = "controller-manager"
|
||||||
KubeSchedulerImage = "scheduler"
|
KubeSchedulerImage = "scheduler"
|
||||||
KubeProxyImage = "proxy"
|
KubeProxyImage = "proxy"
|
||||||
|
|
||||||
KubeDNSImage = "k8s-dns-kube-dns"
|
|
||||||
KubeDNSmasqImage = "k8s-dns-dnsmasq"
|
|
||||||
KubeDNSSidecarImage = "k8s-dns-sidecar"
|
|
||||||
Pause = "pause"
|
|
||||||
|
|
||||||
gcrPrefix = "gcr.io/google_containers"
|
|
||||||
etcdVersion = "3.0.14-kubeadm"
|
etcdVersion = "3.0.14-kubeadm"
|
||||||
|
|
||||||
kubeDNSVersion = "1.11.0"
|
|
||||||
pauseVersion = "3.0"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func GetCoreImage(image string, cfg *kubeadmapi.MasterConfiguration, overrideImage string) string {
|
func GetCoreImage(image string, cfg *kubeadmapi.MasterConfiguration, overrideImage string) string {
|
||||||
@ -56,13 +46,3 @@ func GetCoreImage(image string, cfg *kubeadmapi.MasterConfiguration, overrideIma
|
|||||||
KubeProxyImage: fmt.Sprintf("%s/%s-%s:%s", repoPrefix, "kube-proxy", runtime.GOARCH, cfg.KubernetesVersion),
|
KubeProxyImage: fmt.Sprintf("%s/%s-%s:%s", repoPrefix, "kube-proxy", runtime.GOARCH, cfg.KubernetesVersion),
|
||||||
}[image]
|
}[image]
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetAddonImage(image string) string {
|
|
||||||
repoPrefix := kubeadmapi.GlobalEnvParams.RepositoryPrefix
|
|
||||||
return map[string]string{
|
|
||||||
KubeDNSImage: fmt.Sprintf("%s/%s-%s:%s", repoPrefix, KubeDNSImage, runtime.GOARCH, kubeDNSVersion),
|
|
||||||
KubeDNSmasqImage: fmt.Sprintf("%s/%s-%s:%s", repoPrefix, KubeDNSmasqImage, runtime.GOARCH, kubeDNSVersion),
|
|
||||||
KubeDNSSidecarImage: fmt.Sprintf("%s/%s-%s:%s", repoPrefix, KubeDNSSidecarImage, runtime.GOARCH, kubeDNSVersion),
|
|
||||||
Pause: fmt.Sprintf("%s/%s-%s:%s", repoPrefix, Pause, runtime.GOARCH, pauseVersion),
|
|
||||||
}[image]
|
|
||||||
}
|
|
||||||
|
@ -30,7 +30,10 @@ type getCoreImageTest struct {
|
|||||||
o string
|
o string
|
||||||
}
|
}
|
||||||
|
|
||||||
const testversion = "1"
|
const (
|
||||||
|
testversion = "1"
|
||||||
|
gcrPrefix = "gcr.io/google_containers"
|
||||||
|
)
|
||||||
|
|
||||||
func TestGetCoreImage(t *testing.T) {
|
func TestGetCoreImage(t *testing.T) {
|
||||||
var imageTest = []struct {
|
var imageTest = []struct {
|
||||||
@ -75,38 +78,3 @@ func TestGetCoreImage(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGetAddonImage(t *testing.T) {
|
|
||||||
var imageTest = []struct {
|
|
||||||
t string
|
|
||||||
expected string
|
|
||||||
}{
|
|
||||||
{"matches nothing", ""},
|
|
||||||
{
|
|
||||||
KubeDNSImage,
|
|
||||||
fmt.Sprintf("%s/%s-%s:%s", gcrPrefix, KubeDNSImage, runtime.GOARCH, kubeDNSVersion),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
KubeDNSmasqImage,
|
|
||||||
fmt.Sprintf("%s/%s-%s:%s", gcrPrefix, KubeDNSmasqImage, runtime.GOARCH, kubeDNSVersion),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
KubeDNSSidecarImage,
|
|
||||||
fmt.Sprintf("%s/%s-%s:%s", gcrPrefix, KubeDNSSidecarImage, runtime.GOARCH, kubeDNSVersion),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
Pause,
|
|
||||||
fmt.Sprintf("%s/%s-%s:%s", gcrPrefix, Pause, runtime.GOARCH, pauseVersion),
|
|
||||||
},
|
|
||||||
}
|
|
||||||
for _, it := range imageTest {
|
|
||||||
actual := GetAddonImage(it.t)
|
|
||||||
if actual != it.expected {
|
|
||||||
t.Errorf(
|
|
||||||
"failed GetAddonImage:\n\texpected: %s\n\t actual: %s",
|
|
||||||
it.expected,
|
|
||||||
actual,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@ -11,29 +11,28 @@ load(
|
|||||||
go_library(
|
go_library(
|
||||||
name = "go_default_library",
|
name = "go_default_library",
|
||||||
srcs = [
|
srcs = [
|
||||||
"addons.go",
|
|
||||||
"apiclient.go",
|
"apiclient.go",
|
||||||
"discovery.go",
|
"discovery.go",
|
||||||
"manifests.go",
|
"manifests.go",
|
||||||
"selfhosted.go",
|
"selfhosted.go",
|
||||||
|
"templates.go",
|
||||||
"tokens.go",
|
"tokens.go",
|
||||||
],
|
],
|
||||||
tags = ["automanaged"],
|
tags = ["automanaged"],
|
||||||
deps = [
|
deps = [
|
||||||
"//cmd/kubeadm/app/apis/kubeadm:go_default_library",
|
"//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/constants:go_default_library",
|
||||||
"//cmd/kubeadm/app/images:go_default_library",
|
"//cmd/kubeadm/app/images:go_default_library",
|
||||||
"//cmd/kubeadm/app/phases/kubeconfig:go_default_library",
|
|
||||||
"//cmd/kubeadm/app/util:go_default_library",
|
"//cmd/kubeadm/app/util:go_default_library",
|
||||||
|
"//pkg/api:go_default_library",
|
||||||
"//pkg/api/v1:go_default_library",
|
"//pkg/api/v1:go_default_library",
|
||||||
"//pkg/apis/extensions/v1beta1:go_default_library",
|
"//pkg/apis/extensions/v1beta1:go_default_library",
|
||||||
"//pkg/client/clientset_generated/clientset:go_default_library",
|
"//pkg/client/clientset_generated/clientset:go_default_library",
|
||||||
"//pkg/kubectl/cmd/util:go_default_library",
|
"//pkg/kubectl/cmd/util:go_default_library",
|
||||||
"//pkg/registry/core/service/ipallocator:go_default_library",
|
|
||||||
"//vendor:k8s.io/apimachinery/pkg/api/errors",
|
"//vendor:k8s.io/apimachinery/pkg/api/errors",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/api/resource",
|
"//vendor:k8s.io/apimachinery/pkg/api/resource",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
|
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
|
||||||
|
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/util/intstr",
|
"//vendor:k8s.io/apimachinery/pkg/util/intstr",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/util/uuid",
|
"//vendor:k8s.io/apimachinery/pkg/util/uuid",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/util/wait",
|
"//vendor:k8s.io/apimachinery/pkg/util/wait",
|
||||||
@ -44,12 +43,7 @@ go_library(
|
|||||||
|
|
||||||
go_test(
|
go_test(
|
||||||
name = "go_default_test",
|
name = "go_default_test",
|
||||||
srcs = [
|
srcs = ["manifests_test.go"],
|
||||||
"addons_test.go",
|
|
||||||
"apiclient_test.go",
|
|
||||||
"discovery_test.go",
|
|
||||||
"manifests_test.go",
|
|
||||||
],
|
|
||||||
library = ":go_default_library",
|
library = ":go_default_library",
|
||||||
tags = ["automanaged"],
|
tags = ["automanaged"],
|
||||||
deps = [
|
deps = [
|
||||||
|
@ -27,6 +27,7 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/util/intstr"
|
"k8s.io/apimachinery/pkg/util/intstr"
|
||||||
"k8s.io/apimachinery/pkg/util/wait"
|
"k8s.io/apimachinery/pkg/util/wait"
|
||||||
kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
|
kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
|
||||||
|
kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants"
|
||||||
"k8s.io/kubernetes/cmd/kubeadm/app/images"
|
"k8s.io/kubernetes/cmd/kubeadm/app/images"
|
||||||
"k8s.io/kubernetes/pkg/api/v1"
|
"k8s.io/kubernetes/pkg/api/v1"
|
||||||
ext "k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
|
ext "k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
|
||||||
@ -79,7 +80,7 @@ func launchSelfHostedAPIServer(cfg *kubeadmapi.MasterConfiguration, client *clie
|
|||||||
return fmt.Errorf("failed to create self-hosted %q daemon set [%v]", kubeAPIServer, err)
|
return fmt.Errorf("failed to create self-hosted %q daemon set [%v]", kubeAPIServer, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
wait.PollInfinite(apiCallRetryInterval, func() (bool, error) {
|
wait.PollInfinite(kubeadmconstants.APICallRetryInterval, func() (bool, error) {
|
||||||
// TODO: This might be pointless, checking the pods is probably enough.
|
// TODO: This might be pointless, checking the pods is probably enough.
|
||||||
// It does however get us a count of how many there should be which may be useful
|
// It does however get us a count of how many there should be which may be useful
|
||||||
// with HA.
|
// with HA.
|
||||||
@ -157,7 +158,7 @@ func launchSelfHostedScheduler(cfg *kubeadmapi.MasterConfiguration, client *clie
|
|||||||
// waitForPodsWithLabel will lookup pods with the given label and wait until they are all
|
// waitForPodsWithLabel will lookup pods with the given label and wait until they are all
|
||||||
// reporting status as running.
|
// reporting status as running.
|
||||||
func waitForPodsWithLabel(client *clientset.Clientset, appLabel string, mustBeRunning bool) {
|
func waitForPodsWithLabel(client *clientset.Clientset, appLabel string, mustBeRunning bool) {
|
||||||
wait.PollInfinite(apiCallRetryInterval, func() (bool, error) {
|
wait.PollInfinite(kubeadmconstants.APICallRetryInterval, func() (bool, error) {
|
||||||
// TODO: Do we need a stronger label link than this?
|
// TODO: Do we need a stronger label link than this?
|
||||||
listOpts := metav1.ListOptions{LabelSelector: fmt.Sprintf("k8s-app=%s", appLabel)}
|
listOpts := metav1.ListOptions{LabelSelector: fmt.Sprintf("k8s-app=%s", appLabel)}
|
||||||
apiPods, err := client.Pods(metav1.NamespaceSystem).List(listOpts)
|
apiPods, err := client.Pods(metav1.NamespaceSystem).List(listOpts)
|
||||||
|
@ -74,7 +74,7 @@ func TestParseTemplate(t *testing.T) {
|
|||||||
outbytes, err := ParseTemplate(tt.template, tt.data)
|
outbytes, err := ParseTemplate(tt.template, tt.data)
|
||||||
if tt.errExpected != (err != nil) {
|
if tt.errExpected != (err != nil) {
|
||||||
t.Errorf(
|
t.Errorf(
|
||||||
"failed TestParseTemplate:\n\texpected err: %s\n\t actual: %s",
|
"failed TestParseTemplate:\n\texpected err: %t\n\t actual: %s",
|
||||||
tt.errExpected,
|
tt.errExpected,
|
||||||
err,
|
err,
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user