Unverified Commit 457ed732 authored by Kubernetes Submit Queue's avatar Kubernetes Submit Queue Committed by GitHub

Merge pull request #64142 from stewart-yu/stewart-cleancontroller#02

Automatic merge from submit-queue (batch tested with PRs 64142, 64426, 62910, 63942, 64548). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. move specific option sub-struct from controller-manager into kube-controller manager packages **What this PR does / why we need it**: As follow-up [PR](https://github.com/kubernetes/kubernetes/pull/63283), in case of it too big to review. Move specific option sub-struct from `controller-manager` into `kube-controller manager` packages, which only used by `kube-controller manager` **Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*: Fixes # **Special notes for your reviewer**: /assign @sttts @deads2k /cc @hzxuzhonghu /hold just for the finally two commit, will rebase commit after [PR.](https://github.com/kubernetes/kubernetes/pull/63283) get merged. **Release note**: ```release-note NONE ```
parents 53d03c58 440a6166
...@@ -3,29 +3,11 @@ load("@io_bazel_rules_go//go:def.bzl", "go_library") ...@@ -3,29 +3,11 @@ load("@io_bazel_rules_go//go:def.bzl", "go_library")
go_library( go_library(
name = "go_default_library", name = "go_default_library",
srcs = [ srcs = [
"attachdetachcontroller.go",
"cloudprovider.go", "cloudprovider.go",
"csrsigningcontroller.go",
"daemonsetcontroller.go",
"debugging.go", "debugging.go",
"deploymentcontroller.go",
"deprecatedcontroller.go",
"endpointcontroller.go",
"garbagecollectorcontroller.go",
"generic.go", "generic.go",
"hpacontroller.go",
"insecure_serving.go", "insecure_serving.go",
"jobcontroller.go",
"kubecloudshared.go", "kubecloudshared.go",
"namespacecontroller.go",
"nodeipamcontroller.go",
"nodelifecyclecontroller.go",
"persistentvolumebindercontroller.go",
"podgccontroller.go",
"replicasetcontroller.go",
"replicationcontroller.go",
"resourcequotacontroller.go",
"serviceaccountcontroller.go",
"servicecontroller.go", "servicecontroller.go",
], ],
importpath = "k8s.io/kubernetes/cmd/controller-manager/app/options", importpath = "k8s.io/kubernetes/cmd/controller-manager/app/options",
......
...@@ -18,6 +18,7 @@ package options ...@@ -18,6 +18,7 @@ package options
import ( import (
"github.com/spf13/pflag" "github.com/spf13/pflag"
"k8s.io/kubernetes/pkg/apis/componentconfig" "k8s.io/kubernetes/pkg/apis/componentconfig"
) )
......
...@@ -18,6 +18,7 @@ package options ...@@ -18,6 +18,7 @@ package options
import ( import (
"github.com/spf13/pflag" "github.com/spf13/pflag"
"k8s.io/kubernetes/pkg/apis/componentconfig" "k8s.io/kubernetes/pkg/apis/componentconfig"
) )
......
...@@ -18,6 +18,7 @@ package options ...@@ -18,6 +18,7 @@ package options
import ( import (
"github.com/spf13/pflag" "github.com/spf13/pflag"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kubernetes/pkg/apis/componentconfig" "k8s.io/kubernetes/pkg/apis/componentconfig"
"k8s.io/kubernetes/pkg/client/leaderelectionconfig" "k8s.io/kubernetes/pkg/client/leaderelectionconfig"
......
...@@ -21,6 +21,7 @@ import ( ...@@ -21,6 +21,7 @@ import (
"net" "net"
"github.com/spf13/pflag" "github.com/spf13/pflag"
"k8s.io/apiserver/pkg/server/options" "k8s.io/apiserver/pkg/server/options"
genericcontrollermanager "k8s.io/kubernetes/cmd/controller-manager/app" genericcontrollermanager "k8s.io/kubernetes/cmd/controller-manager/app"
) )
......
...@@ -18,6 +18,7 @@ package options ...@@ -18,6 +18,7 @@ package options
import ( import (
"github.com/spf13/pflag" "github.com/spf13/pflag"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kubernetes/pkg/apis/componentconfig" "k8s.io/kubernetes/pkg/apis/componentconfig"
) )
......
...@@ -18,6 +18,7 @@ package options ...@@ -18,6 +18,7 @@ package options
import ( import (
"github.com/spf13/pflag" "github.com/spf13/pflag"
"k8s.io/kubernetes/pkg/apis/componentconfig" "k8s.io/kubernetes/pkg/apis/componentconfig"
) )
......
...@@ -20,7 +20,6 @@ go_library( ...@@ -20,7 +20,6 @@ go_library(
visibility = ["//visibility:public"], visibility = ["//visibility:public"],
deps = [ deps = [
"//cmd/controller-manager/app:go_default_library", "//cmd/controller-manager/app:go_default_library",
"//cmd/controller-manager/app/options:go_default_library",
"//cmd/kube-controller-manager/app/config:go_default_library", "//cmd/kube-controller-manager/app/config:go_default_library",
"//cmd/kube-controller-manager/app/options:go_default_library", "//cmd/kube-controller-manager/app/options:go_default_library",
"//pkg/apis/apps/install:go_default_library", "//pkg/apis/apps/install:go_default_library",
......
...@@ -27,7 +27,7 @@ import ( ...@@ -27,7 +27,7 @@ import (
"github.com/golang/glog" "github.com/golang/glog"
"k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/runtime/schema"
cmoptions "k8s.io/kubernetes/cmd/controller-manager/app/options" kubeoptions "k8s.io/kubernetes/cmd/kube-controller-manager/app/options"
"k8s.io/kubernetes/pkg/controller/certificates/approver" "k8s.io/kubernetes/pkg/controller/certificates/approver"
"k8s.io/kubernetes/pkg/controller/certificates/cleaner" "k8s.io/kubernetes/pkg/controller/certificates/cleaner"
"k8s.io/kubernetes/pkg/controller/certificates/signer" "k8s.io/kubernetes/pkg/controller/certificates/signer"
...@@ -55,12 +55,12 @@ func startCSRSigningController(ctx ControllerContext) (bool, error) { ...@@ -55,12 +55,12 @@ func startCSRSigningController(ctx ControllerContext) (bool, error) {
_, err := os.Stat(ctx.ComponentConfig.CSRSigningController.ClusterSigningCertFile) _, err := os.Stat(ctx.ComponentConfig.CSRSigningController.ClusterSigningCertFile)
certFileExists = !os.IsNotExist(err) certFileExists = !os.IsNotExist(err)
certUsesDefault = (ctx.ComponentConfig.CSRSigningController.ClusterSigningCertFile == cmoptions.DefaultClusterSigningCertFile) certUsesDefault = (ctx.ComponentConfig.CSRSigningController.ClusterSigningCertFile == kubeoptions.DefaultClusterSigningCertFile)
_, err = os.Stat(ctx.ComponentConfig.CSRSigningController.ClusterSigningKeyFile) _, err = os.Stat(ctx.ComponentConfig.CSRSigningController.ClusterSigningKeyFile)
keyFileExists = !os.IsNotExist(err) keyFileExists = !os.IsNotExist(err)
keyUsesDefault = (ctx.ComponentConfig.CSRSigningController.ClusterSigningKeyFile == cmoptions.DefaultClusterSigningKeyFile) keyUsesDefault = (ctx.ComponentConfig.CSRSigningController.ClusterSigningKeyFile == kubeoptions.DefaultClusterSigningKeyFile)
switch { switch {
case (keyFileExists && keyUsesDefault) || (certFileExists && certUsesDefault): case (keyFileExists && keyUsesDefault) || (certFileExists && certUsesDefault):
......
...@@ -8,7 +8,27 @@ load( ...@@ -8,7 +8,27 @@ load(
go_library( go_library(
name = "go_default_library", name = "go_default_library",
srcs = ["options.go"], srcs = [
"attachdetachcontroller.go",
"csrsigningcontroller.go",
"daemonsetcontroller.go",
"deploymentcontroller.go",
"deprecatedcontroller.go",
"endpointcontroller.go",
"garbagecollectorcontroller.go",
"hpacontroller.go",
"jobcontroller.go",
"namespacecontroller.go",
"nodeipamcontroller.go",
"nodelifecyclecontroller.go",
"options.go",
"persistentvolumebindercontroller.go",
"podgccontroller.go",
"replicasetcontroller.go",
"replicationcontroller.go",
"resourcequotacontroller.go",
"serviceaccountcontroller.go",
],
importpath = "k8s.io/kubernetes/cmd/kube-controller-manager/app/options", importpath = "k8s.io/kubernetes/cmd/kube-controller-manager/app/options",
deps = [ deps = [
"//cmd/controller-manager/app/options:go_default_library", "//cmd/controller-manager/app/options:go_default_library",
...@@ -22,6 +42,7 @@ go_library( ...@@ -22,6 +42,7 @@ go_library(
"//vendor/github.com/golang/glog:go_default_library", "//vendor/github.com/golang/glog:go_default_library",
"//vendor/github.com/spf13/pflag:go_default_library", "//vendor/github.com/spf13/pflag:go_default_library",
"//vendor/k8s.io/api/core/v1:go_default_library", "//vendor/k8s.io/api/core/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/util/errors:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/errors:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library",
......
...@@ -18,6 +18,7 @@ package options ...@@ -18,6 +18,7 @@ package options
import ( import (
"github.com/spf13/pflag" "github.com/spf13/pflag"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kubernetes/pkg/apis/componentconfig" "k8s.io/kubernetes/pkg/apis/componentconfig"
) )
......
...@@ -18,6 +18,7 @@ package options ...@@ -18,6 +18,7 @@ package options
import ( import (
"github.com/spf13/pflag" "github.com/spf13/pflag"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kubernetes/pkg/apis/componentconfig" "k8s.io/kubernetes/pkg/apis/componentconfig"
) )
......
...@@ -18,6 +18,7 @@ package options ...@@ -18,6 +18,7 @@ package options
import ( import (
"github.com/spf13/pflag" "github.com/spf13/pflag"
"k8s.io/kubernetes/pkg/apis/componentconfig" "k8s.io/kubernetes/pkg/apis/componentconfig"
) )
......
...@@ -18,6 +18,7 @@ package options ...@@ -18,6 +18,7 @@ package options
import ( import (
"github.com/spf13/pflag" "github.com/spf13/pflag"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kubernetes/pkg/apis/componentconfig" "k8s.io/kubernetes/pkg/apis/componentconfig"
) )
......
...@@ -18,10 +18,12 @@ package options ...@@ -18,10 +18,12 @@ package options
import ( import (
"github.com/spf13/pflag" "github.com/spf13/pflag"
"k8s.io/kubernetes/pkg/apis/componentconfig" "k8s.io/kubernetes/pkg/apis/componentconfig"
) )
// DeprecatedControllerOptions holds the DeprecatedController options, those option are deprecated. // DeprecatedControllerOptions holds the DeprecatedController options, those option are deprecated.
// TODO remove these fields once the deprecated flags are removed.
type DeprecatedControllerOptions struct { type DeprecatedControllerOptions struct {
DeletingPodsQPS float32 DeletingPodsQPS float32
DeletingPodsBurst int32 DeletingPodsBurst int32
......
...@@ -18,6 +18,7 @@ package options ...@@ -18,6 +18,7 @@ package options
import ( import (
"github.com/spf13/pflag" "github.com/spf13/pflag"
"k8s.io/kubernetes/pkg/apis/componentconfig" "k8s.io/kubernetes/pkg/apis/componentconfig"
) )
......
...@@ -18,6 +18,7 @@ package options ...@@ -18,6 +18,7 @@ package options
import ( import (
"github.com/spf13/pflag" "github.com/spf13/pflag"
"k8s.io/kubernetes/pkg/apis/componentconfig" "k8s.io/kubernetes/pkg/apis/componentconfig"
) )
......
...@@ -18,6 +18,7 @@ package options ...@@ -18,6 +18,7 @@ package options
import ( import (
"github.com/spf13/pflag" "github.com/spf13/pflag"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kubernetes/pkg/apis/componentconfig" "k8s.io/kubernetes/pkg/apis/componentconfig"
) )
......
...@@ -18,6 +18,7 @@ package options ...@@ -18,6 +18,7 @@ package options
import ( import (
"github.com/spf13/pflag" "github.com/spf13/pflag"
"k8s.io/kubernetes/pkg/apis/componentconfig" "k8s.io/kubernetes/pkg/apis/componentconfig"
) )
......
...@@ -18,6 +18,7 @@ package options ...@@ -18,6 +18,7 @@ package options
import ( import (
"github.com/spf13/pflag" "github.com/spf13/pflag"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kubernetes/pkg/apis/componentconfig" "k8s.io/kubernetes/pkg/apis/componentconfig"
) )
......
...@@ -18,6 +18,7 @@ package options ...@@ -18,6 +18,7 @@ package options
import ( import (
"github.com/spf13/pflag" "github.com/spf13/pflag"
"k8s.io/kubernetes/pkg/apis/componentconfig" "k8s.io/kubernetes/pkg/apis/componentconfig"
) )
......
...@@ -18,6 +18,7 @@ package options ...@@ -18,6 +18,7 @@ package options
import ( import (
"github.com/spf13/pflag" "github.com/spf13/pflag"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kubernetes/pkg/apis/componentconfig" "k8s.io/kubernetes/pkg/apis/componentconfig"
) )
......
...@@ -150,30 +150,30 @@ func TestAddFlags(t *testing.T) { ...@@ -150,30 +150,30 @@ func TestAddFlags(t *testing.T) {
CIDRAllocatorType: "CloudAllocator", CIDRAllocatorType: "CloudAllocator",
ConfigureCloudRoutes: false, ConfigureCloudRoutes: false,
}, },
AttachDetachController: &cmoptions.AttachDetachControllerOptions{ AttachDetachController: &AttachDetachControllerOptions{
ReconcilerSyncLoopPeriod: metav1.Duration{Duration: 30 * time.Second}, ReconcilerSyncLoopPeriod: metav1.Duration{Duration: 30 * time.Second},
DisableAttachDetachReconcilerSync: true, DisableAttachDetachReconcilerSync: true,
}, },
CSRSigningController: &cmoptions.CSRSigningControllerOptions{ CSRSigningController: &CSRSigningControllerOptions{
ClusterSigningCertFile: "/cluster-signing-cert", ClusterSigningCertFile: "/cluster-signing-cert",
ClusterSigningKeyFile: "/cluster-signing-key", ClusterSigningKeyFile: "/cluster-signing-key",
ClusterSigningDuration: metav1.Duration{Duration: 10 * time.Hour}, ClusterSigningDuration: metav1.Duration{Duration: 10 * time.Hour},
}, },
DaemonSetController: &cmoptions.DaemonSetControllerOptions{ DaemonSetController: &DaemonSetControllerOptions{
ConcurrentDaemonSetSyncs: 2, ConcurrentDaemonSetSyncs: 2,
}, },
DeploymentController: &cmoptions.DeploymentControllerOptions{ DeploymentController: &DeploymentControllerOptions{
ConcurrentDeploymentSyncs: 10, ConcurrentDeploymentSyncs: 10,
DeploymentControllerSyncPeriod: metav1.Duration{Duration: 45 * time.Second}, DeploymentControllerSyncPeriod: metav1.Duration{Duration: 45 * time.Second},
}, },
DeprecatedFlags: &cmoptions.DeprecatedControllerOptions{ DeprecatedFlags: &DeprecatedControllerOptions{
DeletingPodsQPS: 0.1, DeletingPodsQPS: 0.1,
RegisterRetryCount: 10, RegisterRetryCount: 10,
}, },
EndPointController: &cmoptions.EndPointControllerOptions{ EndPointController: &EndPointControllerOptions{
ConcurrentEndpointSyncs: 10, ConcurrentEndpointSyncs: 10,
}, },
GarbageCollectorController: &cmoptions.GarbageCollectorControllerOptions{ GarbageCollectorController: &GarbageCollectorControllerOptions{
ConcurrentGCSyncs: 30, ConcurrentGCSyncs: 30,
GCIgnoredResources: []componentconfig.GroupResource{ GCIgnoredResources: []componentconfig.GroupResource{
{Group: "extensions", Resource: "replicationcontrollers"}, {Group: "extensions", Resource: "replicationcontrollers"},
...@@ -190,24 +190,24 @@ func TestAddFlags(t *testing.T) { ...@@ -190,24 +190,24 @@ func TestAddFlags(t *testing.T) {
}, },
EnableGarbageCollector: false, EnableGarbageCollector: false,
}, },
HPAController: &cmoptions.HPAControllerOptions{ HPAController: &HPAControllerOptions{
HorizontalPodAutoscalerSyncPeriod: metav1.Duration{Duration: 45 * time.Second}, HorizontalPodAutoscalerSyncPeriod: metav1.Duration{Duration: 45 * time.Second},
HorizontalPodAutoscalerUpscaleForbiddenWindow: metav1.Duration{Duration: 1 * time.Minute}, HorizontalPodAutoscalerUpscaleForbiddenWindow: metav1.Duration{Duration: 1 * time.Minute},
HorizontalPodAutoscalerDownscaleForbiddenWindow: metav1.Duration{Duration: 2 * time.Minute}, HorizontalPodAutoscalerDownscaleForbiddenWindow: metav1.Duration{Duration: 2 * time.Minute},
HorizontalPodAutoscalerTolerance: 0.1, HorizontalPodAutoscalerTolerance: 0.1,
HorizontalPodAutoscalerUseRESTClients: true, HorizontalPodAutoscalerUseRESTClients: true,
}, },
JobController: &cmoptions.JobControllerOptions{ JobController: &JobControllerOptions{
ConcurrentJobSyncs: 5, ConcurrentJobSyncs: 5,
}, },
NamespaceController: &cmoptions.NamespaceControllerOptions{ NamespaceController: &NamespaceControllerOptions{
NamespaceSyncPeriod: metav1.Duration{Duration: 10 * time.Minute}, NamespaceSyncPeriod: metav1.Duration{Duration: 10 * time.Minute},
ConcurrentNamespaceSyncs: 20, ConcurrentNamespaceSyncs: 20,
}, },
NodeIpamController: &cmoptions.NodeIpamControllerOptions{ NodeIpamController: &NodeIpamControllerOptions{
NodeCIDRMaskSize: 48, NodeCIDRMaskSize: 48,
}, },
NodeLifecycleController: &cmoptions.NodeLifecycleControllerOptions{ NodeLifecycleController: &NodeLifecycleControllerOptions{
EnableTaintManager: false, EnableTaintManager: false,
NodeEvictionRate: 0.2, NodeEvictionRate: 0.2,
SecondaryNodeEvictionRate: 0.05, SecondaryNodeEvictionRate: 0.05,
...@@ -217,7 +217,7 @@ func TestAddFlags(t *testing.T) { ...@@ -217,7 +217,7 @@ func TestAddFlags(t *testing.T) {
LargeClusterSizeThreshold: 100, LargeClusterSizeThreshold: 100,
UnhealthyZoneThreshold: 0.6, UnhealthyZoneThreshold: 0.6,
}, },
PersistentVolumeBinderController: &cmoptions.PersistentVolumeBinderControllerOptions{ PersistentVolumeBinderController: &PersistentVolumeBinderControllerOptions{
PVClaimBinderSyncPeriod: metav1.Duration{Duration: 30 * time.Second}, PVClaimBinderSyncPeriod: metav1.Duration{Duration: 30 * time.Second},
VolumeConfiguration: componentconfig.VolumeConfiguration{ VolumeConfiguration: componentconfig.VolumeConfiguration{
EnableDynamicProvisioning: false, EnableDynamicProvisioning: false,
...@@ -232,20 +232,20 @@ func TestAddFlags(t *testing.T) { ...@@ -232,20 +232,20 @@ func TestAddFlags(t *testing.T) {
}, },
}, },
}, },
PodGCController: &cmoptions.PodGCControllerOptions{ PodGCController: &PodGCControllerOptions{
TerminatedPodGCThreshold: 12000, TerminatedPodGCThreshold: 12000,
}, },
ReplicaSetController: &cmoptions.ReplicaSetControllerOptions{ ReplicaSetController: &ReplicaSetControllerOptions{
ConcurrentRSSyncs: 10, ConcurrentRSSyncs: 10,
}, },
ReplicationController: &cmoptions.ReplicationControllerOptions{ ReplicationController: &ReplicationControllerOptions{
ConcurrentRCSyncs: 10, ConcurrentRCSyncs: 10,
}, },
ResourceQuotaController: &cmoptions.ResourceQuotaControllerOptions{ ResourceQuotaController: &ResourceQuotaControllerOptions{
ResourceQuotaSyncPeriod: metav1.Duration{Duration: 10 * time.Minute}, ResourceQuotaSyncPeriod: metav1.Duration{Duration: 10 * time.Minute},
ConcurrentResourceQuotaSyncs: 10, ConcurrentResourceQuotaSyncs: 10,
}, },
SAController: &cmoptions.SAControllerOptions{ SAController: &SAControllerOptions{
ServiceAccountKeyFile: "/service-account-private-key", ServiceAccountKeyFile: "/service-account-private-key",
ConcurrentSATokenSyncs: 10, ConcurrentSATokenSyncs: 10,
}, },
......
...@@ -18,6 +18,7 @@ package options ...@@ -18,6 +18,7 @@ package options
import ( import (
"github.com/spf13/pflag" "github.com/spf13/pflag"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kubernetes/pkg/apis/componentconfig" "k8s.io/kubernetes/pkg/apis/componentconfig"
) )
......
...@@ -18,6 +18,7 @@ package options ...@@ -18,6 +18,7 @@ package options
import ( import (
"github.com/spf13/pflag" "github.com/spf13/pflag"
"k8s.io/kubernetes/pkg/apis/componentconfig" "k8s.io/kubernetes/pkg/apis/componentconfig"
) )
......
...@@ -18,6 +18,7 @@ package options ...@@ -18,6 +18,7 @@ package options
import ( import (
"github.com/spf13/pflag" "github.com/spf13/pflag"
"k8s.io/kubernetes/pkg/apis/componentconfig" "k8s.io/kubernetes/pkg/apis/componentconfig"
) )
......
...@@ -18,6 +18,7 @@ package options ...@@ -18,6 +18,7 @@ package options
import ( import (
"github.com/spf13/pflag" "github.com/spf13/pflag"
"k8s.io/kubernetes/pkg/apis/componentconfig" "k8s.io/kubernetes/pkg/apis/componentconfig"
) )
......
...@@ -18,6 +18,7 @@ package options ...@@ -18,6 +18,7 @@ package options
import ( import (
"github.com/spf13/pflag" "github.com/spf13/pflag"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kubernetes/pkg/apis/componentconfig" "k8s.io/kubernetes/pkg/apis/componentconfig"
) )
......
...@@ -18,6 +18,7 @@ package options ...@@ -18,6 +18,7 @@ package options
import ( import (
"github.com/spf13/pflag" "github.com/spf13/pflag"
"k8s.io/kubernetes/pkg/apis/componentconfig" "k8s.io/kubernetes/pkg/apis/componentconfig"
) )
......
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