Unverified Commit 658024c2 authored by Kubernetes Submit Queue's avatar Kubernetes Submit Queue Committed by GitHub

Merge pull request #54846 from zjj2wry/remove-kubectl-dep

Automatic merge from submit-queue. 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>. Remove kubectl dependency internal version **What this PR does / why we need it**: ref kubernetes/kubectl#83 **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**: use `k8s.io/api/core/v1` replace `k8s.io/kubernetes/pkg/api` use `k8s.io/client-go/kubernetes/typed/core/v1` replace `k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion` **Release note**: ```release-note NONE ```
parents 824533d2 2862fcc6
...@@ -139,6 +139,7 @@ go_library( ...@@ -139,6 +139,7 @@ go_library(
"//vendor/k8s.io/apimachinery/pkg/watch:go_default_library", "//vendor/k8s.io/apimachinery/pkg/watch:go_default_library",
"//vendor/k8s.io/apiserver/pkg/util/flag:go_default_library", "//vendor/k8s.io/apiserver/pkg/util/flag:go_default_library",
"//vendor/k8s.io/client-go/kubernetes:go_default_library", "//vendor/k8s.io/client-go/kubernetes:go_default_library",
"//vendor/k8s.io/client-go/kubernetes/typed/core/v1:go_default_library",
"//vendor/k8s.io/client-go/kubernetes/typed/rbac/v1:go_default_library", "//vendor/k8s.io/client-go/kubernetes/typed/rbac/v1:go_default_library",
"//vendor/k8s.io/client-go/rest:go_default_library", "//vendor/k8s.io/client-go/rest:go_default_library",
"//vendor/k8s.io/client-go/tools/clientcmd:go_default_library", "//vendor/k8s.io/client-go/tools/clientcmd:go_default_library",
......
...@@ -22,10 +22,10 @@ import ( ...@@ -22,10 +22,10 @@ import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/spf13/pflag" "github.com/spf13/pflag"
"k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/labels"
"k8s.io/kubernetes/pkg/api" corev1 "k8s.io/client-go/kubernetes/typed/core/v1"
coreclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates" "k8s.io/kubernetes/pkg/kubectl/cmd/templates"
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
"k8s.io/kubernetes/pkg/kubectl/metricsutil" "k8s.io/kubernetes/pkg/kubectl/metricsutil"
...@@ -36,7 +36,7 @@ import ( ...@@ -36,7 +36,7 @@ import (
type TopNodeOptions struct { type TopNodeOptions struct {
ResourceName string ResourceName string
Selector string Selector string
NodeClient coreclient.NodesGetter NodeClient corev1.CoreV1Interface
HeapsterOptions HeapsterTopOptions HeapsterOptions HeapsterTopOptions
Client *metricsutil.HeapsterMetricsClient Client *metricsutil.HeapsterMetricsClient
Printer *metricsutil.TopCmdPrinter Printer *metricsutil.TopCmdPrinter
...@@ -118,7 +118,7 @@ func (o *TopNodeOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args [] ...@@ -118,7 +118,7 @@ func (o *TopNodeOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args []
return cmdutil.UsageErrorf(cmd, "%s", cmd.Use) return cmdutil.UsageErrorf(cmd, "%s", cmd.Use)
} }
clientset, err := f.ClientSet() clientset, err := f.KubernetesClientSet()
if err != nil { if err != nil {
return err return err
} }
...@@ -149,7 +149,7 @@ func (o TopNodeOptions) RunTopNode() error { ...@@ -149,7 +149,7 @@ func (o TopNodeOptions) RunTopNode() error {
return errors.New("metrics not available yet") return errors.New("metrics not available yet")
} }
var nodes []api.Node var nodes []v1.Node
if len(o.ResourceName) > 0 { if len(o.ResourceName) > 0 {
node, err := o.NodeClient.Nodes().Get(o.ResourceName, metav1.GetOptions{}) node, err := o.NodeClient.Nodes().Get(o.ResourceName, metav1.GetOptions{})
if err != nil { if err != nil {
...@@ -166,7 +166,7 @@ func (o TopNodeOptions) RunTopNode() error { ...@@ -166,7 +166,7 @@ func (o TopNodeOptions) RunTopNode() error {
nodes = append(nodes, nodeList.Items...) nodes = append(nodes, nodeList.Items...)
} }
allocatable := make(map[string]api.ResourceList) allocatable := make(map[string]v1.ResourceList)
for _, n := range nodes { for _, n := range nodes {
allocatable[n.Name] = n.Status.Allocatable allocatable[n.Name] = n.Status.Allocatable
......
...@@ -25,8 +25,8 @@ import ( ...@@ -25,8 +25,8 @@ import (
"net/url" "net/url"
"k8s.io/api/core/v1"
"k8s.io/client-go/rest/fake" "k8s.io/client-go/rest/fake"
"k8s.io/kubernetes/pkg/api"
cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing"
"k8s.io/metrics/pkg/apis/metrics/v1alpha1" "k8s.io/metrics/pkg/apis/metrics/v1alpha1"
) )
...@@ -188,7 +188,7 @@ func TestTopNodeWithLabelSelectorMetrics(t *testing.T) { ...@@ -188,7 +188,7 @@ func TestTopNodeWithLabelSelectorMetrics(t *testing.T) {
ListMeta: metrics.ListMeta, ListMeta: metrics.ListMeta,
Items: metrics.Items[0:1], Items: metrics.Items[0:1],
} }
expectedNodes := api.NodeList{ expectedNodes := v1.NodeList{
ListMeta: nodes.ListMeta, ListMeta: nodes.ListMeta,
Items: nodes.Items[0:1], Items: nodes.Items[0:1],
} }
......
...@@ -22,10 +22,10 @@ import ( ...@@ -22,10 +22,10 @@ import (
"io" "io"
"time" "time"
"k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/labels"
"k8s.io/kubernetes/pkg/api" corev1 "k8s.io/client-go/kubernetes/typed/core/v1"
coreclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates" "k8s.io/kubernetes/pkg/kubectl/cmd/templates"
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
"k8s.io/kubernetes/pkg/kubectl/metricsutil" "k8s.io/kubernetes/pkg/kubectl/metricsutil"
...@@ -41,7 +41,7 @@ type TopPodOptions struct { ...@@ -41,7 +41,7 @@ type TopPodOptions struct {
Selector string Selector string
AllNamespaces bool AllNamespaces bool
PrintContainers bool PrintContainers bool
PodClient coreclient.PodsGetter PodClient corev1.PodsGetter
HeapsterOptions HeapsterTopOptions HeapsterOptions HeapsterTopOptions
Client *metricsutil.HeapsterMetricsClient Client *metricsutil.HeapsterMetricsClient
Printer *metricsutil.TopCmdPrinter Printer *metricsutil.TopCmdPrinter
...@@ -114,7 +114,7 @@ func (o *TopPodOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args []s ...@@ -114,7 +114,7 @@ func (o *TopPodOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args []s
if err != nil { if err != nil {
return err return err
} }
clientset, err := f.ClientSet() clientset, err := f.KubernetesClientSet()
if err != nil { if err != nil {
return err return err
} }
...@@ -185,7 +185,7 @@ func verifyEmptyMetrics(o TopPodOptions, selector labels.Selector) error { ...@@ -185,7 +185,7 @@ func verifyEmptyMetrics(o TopPodOptions, selector labels.Selector) error {
return errors.New("metrics not available yet") return errors.New("metrics not available yet")
} }
func checkPodAge(pod *api.Pod) error { func checkPodAge(pod *v1.Pod) error {
age := time.Since(pod.CreationTimestamp.Time) age := time.Since(pod.CreationTimestamp.Time)
if age > metricsCreationDelay { if age > metricsCreationDelay {
message := fmt.Sprintf("Metrics not available for pod %s/%s, age: %s", pod.Namespace, pod.Name, age.String()) message := fmt.Sprintf("Metrics not available for pod %s/%s, age: %s", pod.Namespace, pod.Name, age.String())
......
...@@ -28,7 +28,6 @@ import ( ...@@ -28,7 +28,6 @@ import (
"k8s.io/api/core/v1" "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/resource" "k8s.io/apimachinery/pkg/api/resource"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kubernetes/pkg/api"
cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing"
metricsapi "k8s.io/metrics/pkg/apis/metrics/v1alpha1" metricsapi "k8s.io/metrics/pkg/apis/metrics/v1alpha1"
) )
...@@ -59,7 +58,7 @@ func marshallBody(metrics interface{}) (io.ReadCloser, error) { ...@@ -59,7 +58,7 @@ func marshallBody(metrics interface{}) (io.ReadCloser, error) {
return ioutil.NopCloser(bytes.NewReader(result)), nil return ioutil.NopCloser(bytes.NewReader(result)), nil
} }
func testNodeMetricsData() (*metricsapi.NodeMetricsList, *api.NodeList) { func testNodeMetricsData() (*metricsapi.NodeMetricsList, *v1.NodeList) {
metrics := &metricsapi.NodeMetricsList{ metrics := &metricsapi.NodeMetricsList{
ListMeta: metav1.ListMeta{ ListMeta: metav1.ListMeta{
ResourceVersion: "1", ResourceVersion: "1",
...@@ -85,28 +84,28 @@ func testNodeMetricsData() (*metricsapi.NodeMetricsList, *api.NodeList) { ...@@ -85,28 +84,28 @@ func testNodeMetricsData() (*metricsapi.NodeMetricsList, *api.NodeList) {
}, },
}, },
} }
nodes := &api.NodeList{ nodes := &v1.NodeList{
ListMeta: metav1.ListMeta{ ListMeta: metav1.ListMeta{
ResourceVersion: "15", ResourceVersion: "15",
}, },
Items: []api.Node{ Items: []v1.Node{
{ {
ObjectMeta: metav1.ObjectMeta{Name: "node1", ResourceVersion: "10"}, ObjectMeta: metav1.ObjectMeta{Name: "node1", ResourceVersion: "10"},
Status: api.NodeStatus{ Status: v1.NodeStatus{
Allocatable: api.ResourceList{ Allocatable: v1.ResourceList{
api.ResourceCPU: *resource.NewMilliQuantity(10, resource.DecimalSI), v1.ResourceCPU: *resource.NewMilliQuantity(10, resource.DecimalSI),
api.ResourceMemory: *resource.NewQuantity(20*(1024*1024), resource.DecimalSI), v1.ResourceMemory: *resource.NewQuantity(20*(1024*1024), resource.DecimalSI),
api.ResourceStorage: *resource.NewQuantity(30*(1024*1024), resource.DecimalSI), v1.ResourceStorage: *resource.NewQuantity(30*(1024*1024), resource.DecimalSI),
}, },
}, },
}, },
{ {
ObjectMeta: metav1.ObjectMeta{Name: "node2", ResourceVersion: "11"}, ObjectMeta: metav1.ObjectMeta{Name: "node2", ResourceVersion: "11"},
Status: api.NodeStatus{ Status: v1.NodeStatus{
Allocatable: api.ResourceList{ Allocatable: v1.ResourceList{
api.ResourceCPU: *resource.NewMilliQuantity(50, resource.DecimalSI), v1.ResourceCPU: *resource.NewMilliQuantity(50, resource.DecimalSI),
api.ResourceMemory: *resource.NewQuantity(60*(1024*1024), resource.DecimalSI), v1.ResourceMemory: *resource.NewQuantity(60*(1024*1024), resource.DecimalSI),
api.ResourceStorage: *resource.NewQuantity(70*(1024*1024), resource.DecimalSI), v1.ResourceStorage: *resource.NewQuantity(70*(1024*1024), resource.DecimalSI),
}, },
}, },
}, },
......
...@@ -14,15 +14,15 @@ go_library( ...@@ -14,15 +14,15 @@ go_library(
"//build/visible_to:pkg_kubectl_metricsutil_CONSUMERS", "//build/visible_to:pkg_kubectl_metricsutil_CONSUMERS",
], ],
deps = [ deps = [
"//pkg/api:go_default_library",
"//pkg/api/legacyscheme:go_default_library", "//pkg/api/legacyscheme:go_default_library",
"//pkg/api/validation:go_default_library", "//pkg/api/validation:go_default_library",
"//pkg/client/clientset_generated/internalclientset/typed/core/internalversion:go_default_library",
"//pkg/printers:go_default_library", "//pkg/printers:go_default_library",
"//vendor/k8s.io/api/core/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/api/resource: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/apis/meta/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/labels:go_default_library", "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
"//vendor/k8s.io/client-go/kubernetes/typed/core/v1:go_default_library",
"//vendor/k8s.io/metrics/pkg/apis/metrics/v1alpha1:go_default_library", "//vendor/k8s.io/metrics/pkg/apis/metrics/v1alpha1:go_default_library",
], ],
) )
......
...@@ -24,8 +24,8 @@ import ( ...@@ -24,8 +24,8 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/labels"
"k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/runtime/schema"
corev1 "k8s.io/client-go/kubernetes/typed/core/v1"
"k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/api/validation"
coreclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion"
metricsapi "k8s.io/metrics/pkg/apis/metrics/v1alpha1" metricsapi "k8s.io/metrics/pkg/apis/metrics/v1alpha1"
) )
...@@ -46,14 +46,14 @@ var ( ...@@ -46,14 +46,14 @@ var (
) )
type HeapsterMetricsClient struct { type HeapsterMetricsClient struct {
SVCClient coreclient.ServicesGetter SVCClient corev1.ServicesGetter
HeapsterNamespace string HeapsterNamespace string
HeapsterScheme string HeapsterScheme string
HeapsterService string HeapsterService string
HeapsterPort string HeapsterPort string
} }
func NewHeapsterMetricsClient(svcClient coreclient.ServicesGetter, namespace, scheme, service, port string) *HeapsterMetricsClient { func NewHeapsterMetricsClient(svcClient corev1.ServicesGetter, namespace, scheme, service, port string) *HeapsterMetricsClient {
return &HeapsterMetricsClient{ return &HeapsterMetricsClient{
SVCClient: svcClient, SVCClient: svcClient,
HeapsterNamespace: namespace, HeapsterNamespace: namespace,
...@@ -63,7 +63,7 @@ func NewHeapsterMetricsClient(svcClient coreclient.ServicesGetter, namespace, sc ...@@ -63,7 +63,7 @@ func NewHeapsterMetricsClient(svcClient coreclient.ServicesGetter, namespace, sc
} }
} }
func DefaultHeapsterMetricsClient(svcClient coreclient.ServicesGetter) *HeapsterMetricsClient { func DefaultHeapsterMetricsClient(svcClient corev1.ServicesGetter) *HeapsterMetricsClient {
return NewHeapsterMetricsClient(svcClient, DefaultHeapsterNamespace, DefaultHeapsterScheme, DefaultHeapsterService, DefaultHeapsterPort) return NewHeapsterMetricsClient(svcClient, DefaultHeapsterNamespace, DefaultHeapsterScheme, DefaultHeapsterService, DefaultHeapsterPort)
} }
......
...@@ -21,17 +21,17 @@ import ( ...@@ -21,17 +21,17 @@ import (
"io" "io"
"sort" "sort"
"k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/resource" "k8s.io/apimachinery/pkg/api/resource"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/legacyscheme" "k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/printers" "k8s.io/kubernetes/pkg/printers"
metricsapi "k8s.io/metrics/pkg/apis/metrics/v1alpha1" metricsapi "k8s.io/metrics/pkg/apis/metrics/v1alpha1"
) )
var ( var (
MeasuredResources = []api.ResourceName{ MeasuredResources = []v1.ResourceName{
api.ResourceCPU, v1.ResourceCPU,
api.ResourceMemory, v1.ResourceMemory,
} }
NodeColumns = []string{"NAME", "CPU(cores)", "CPU%", "MEMORY(bytes)", "MEMORY%"} NodeColumns = []string{"NAME", "CPU(cores)", "CPU%", "MEMORY(bytes)", "MEMORY%"}
PodColumns = []string{"NAME", "CPU(cores)", "MEMORY(bytes)"} PodColumns = []string{"NAME", "CPU(cores)", "MEMORY(bytes)"}
...@@ -41,8 +41,8 @@ var ( ...@@ -41,8 +41,8 @@ var (
type ResourceMetricsInfo struct { type ResourceMetricsInfo struct {
Name string Name string
Metrics api.ResourceList Metrics v1.ResourceList
Available api.ResourceList Available v1.ResourceList
} }
type TopCmdPrinter struct { type TopCmdPrinter struct {
...@@ -53,7 +53,7 @@ func NewTopCmdPrinter(out io.Writer) *TopCmdPrinter { ...@@ -53,7 +53,7 @@ func NewTopCmdPrinter(out io.Writer) *TopCmdPrinter {
return &TopCmdPrinter{out: out} return &TopCmdPrinter{out: out}
} }
func (printer *TopCmdPrinter) PrintNodeMetrics(metrics []metricsapi.NodeMetrics, availableResources map[string]api.ResourceList) error { func (printer *TopCmdPrinter) PrintNodeMetrics(metrics []metricsapi.NodeMetrics, availableResources map[string]v1.ResourceList) error {
if len(metrics) == 0 { if len(metrics) == 0 {
return nil return nil
} }
...@@ -65,7 +65,7 @@ func (printer *TopCmdPrinter) PrintNodeMetrics(metrics []metricsapi.NodeMetrics, ...@@ -65,7 +65,7 @@ func (printer *TopCmdPrinter) PrintNodeMetrics(metrics []metricsapi.NodeMetrics,
}) })
printColumnNames(w, NodeColumns) printColumnNames(w, NodeColumns)
var usage api.ResourceList var usage v1.ResourceList
for _, m := range metrics { for _, m := range metrics {
err := legacyscheme.Scheme.Convert(&m.Usage, &usage, nil) err := legacyscheme.Scheme.Convert(&m.Usage, &usage, nil)
if err != nil { if err != nil {
...@@ -119,14 +119,14 @@ func printColumnNames(out io.Writer, names []string) { ...@@ -119,14 +119,14 @@ func printColumnNames(out io.Writer, names []string) {
} }
func printSinglePodMetrics(out io.Writer, m *metricsapi.PodMetrics, printContainersOnly bool, withNamespace bool) error { func printSinglePodMetrics(out io.Writer, m *metricsapi.PodMetrics, printContainersOnly bool, withNamespace bool) error {
containers := make(map[string]api.ResourceList) containers := make(map[string]v1.ResourceList)
podMetrics := make(api.ResourceList) podMetrics := make(v1.ResourceList)
for _, res := range MeasuredResources { for _, res := range MeasuredResources {
podMetrics[res], _ = resource.ParseQuantity("0") podMetrics[res], _ = resource.ParseQuantity("0")
} }
for _, c := range m.Containers { for _, c := range m.Containers {
var usage api.ResourceList var usage v1.ResourceList
err := legacyscheme.Scheme.Convert(&c.Usage, &usage, nil) err := legacyscheme.Scheme.Convert(&c.Usage, &usage, nil)
if err != nil { if err != nil {
return err return err
...@@ -149,7 +149,7 @@ func printSinglePodMetrics(out io.Writer, m *metricsapi.PodMetrics, printContain ...@@ -149,7 +149,7 @@ func printSinglePodMetrics(out io.Writer, m *metricsapi.PodMetrics, printContain
printMetricsLine(out, &ResourceMetricsInfo{ printMetricsLine(out, &ResourceMetricsInfo{
Name: contName, Name: contName,
Metrics: containers[contName], Metrics: containers[contName],
Available: api.ResourceList{}, Available: v1.ResourceList{},
}) })
} }
} else { } else {
...@@ -159,7 +159,7 @@ func printSinglePodMetrics(out io.Writer, m *metricsapi.PodMetrics, printContain ...@@ -159,7 +159,7 @@ func printSinglePodMetrics(out io.Writer, m *metricsapi.PodMetrics, printContain
printMetricsLine(out, &ResourceMetricsInfo{ printMetricsLine(out, &ResourceMetricsInfo{
Name: m.Name, Name: m.Name,
Metrics: podMetrics, Metrics: podMetrics,
Available: api.ResourceList{}, Available: v1.ResourceList{},
}) })
} }
return nil return nil
...@@ -187,11 +187,11 @@ func printAllResourceUsages(out io.Writer, metrics *ResourceMetricsInfo) { ...@@ -187,11 +187,11 @@ func printAllResourceUsages(out io.Writer, metrics *ResourceMetricsInfo) {
} }
} }
func printSingleResourceUsage(out io.Writer, resourceType api.ResourceName, quantity resource.Quantity) { func printSingleResourceUsage(out io.Writer, resourceType v1.ResourceName, quantity resource.Quantity) {
switch resourceType { switch resourceType {
case api.ResourceCPU: case v1.ResourceCPU:
fmt.Fprintf(out, "%vm", quantity.MilliValue()) fmt.Fprintf(out, "%vm", quantity.MilliValue())
case api.ResourceMemory: case v1.ResourceMemory:
fmt.Fprintf(out, "%vMi", quantity.Value()/(1024*1024)) fmt.Fprintf(out, "%vMi", quantity.Value()/(1024*1024))
default: default:
fmt.Fprintf(out, "%v", quantity.Value()) fmt.Fprintf(out, "%v", quantity.Value())
......
...@@ -21,10 +21,10 @@ import ( ...@@ -21,10 +21,10 @@ import (
"strconv" "strconv"
"strings" "strings"
"k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/util/intstr" "k8s.io/apimachinery/pkg/util/intstr"
"k8s.io/kubernetes/pkg/api"
) )
// The only difference between ServiceGeneratorV1 and V2 is that the service port is named "default" in V1, while it is left unnamed in V2. // The only difference between ServiceGeneratorV1 and V2 is that the service port is named "default" in V1, while it is left unnamed in V2.
...@@ -113,7 +113,7 @@ func generate(genericParams map[string]interface{}) (runtime.Object, error) { ...@@ -113,7 +113,7 @@ func generate(genericParams map[string]interface{}) (runtime.Object, error) {
isHeadlessService := params["cluster-ip"] == "None" isHeadlessService := params["cluster-ip"] == "None"
ports := []api.ServicePort{} ports := []v1.ServicePort{}
servicePortName, found := params["port-name"] servicePortName, found := params["port-name"]
if !found { if !found {
// Leave the port unnamed. // Leave the port unnamed.
...@@ -168,20 +168,20 @@ func generate(genericParams map[string]interface{}) (runtime.Object, error) { ...@@ -168,20 +168,20 @@ func generate(genericParams map[string]interface{}) (runtime.Object, error) {
protocol = exposeProtocol protocol = exposeProtocol
} }
} }
ports = append(ports, api.ServicePort{ ports = append(ports, v1.ServicePort{
Name: name, Name: name,
Port: int32(port), Port: int32(port),
Protocol: api.Protocol(protocol), Protocol: v1.Protocol(protocol),
}) })
} }
} }
service := api.Service{ service := v1.Service{
ObjectMeta: metav1.ObjectMeta{ ObjectMeta: metav1.ObjectMeta{
Name: name, Name: name,
Labels: labels, Labels: labels,
}, },
Spec: api.ServiceSpec{ Spec: v1.ServiceSpec{
Selector: selector, Selector: selector,
Ports: ports, Ports: ports,
}, },
...@@ -213,24 +213,24 @@ func generate(genericParams map[string]interface{}) (runtime.Object, error) { ...@@ -213,24 +213,24 @@ func generate(genericParams map[string]interface{}) (runtime.Object, error) {
service.Spec.ExternalIPs = []string{params["external-ip"]} service.Spec.ExternalIPs = []string{params["external-ip"]}
} }
if len(params["type"]) != 0 { if len(params["type"]) != 0 {
service.Spec.Type = api.ServiceType(params["type"]) service.Spec.Type = v1.ServiceType(params["type"])
} }
if service.Spec.Type == api.ServiceTypeLoadBalancer { if service.Spec.Type == v1.ServiceTypeLoadBalancer {
service.Spec.LoadBalancerIP = params["load-balancer-ip"] service.Spec.LoadBalancerIP = params["load-balancer-ip"]
} }
if len(params["session-affinity"]) != 0 { if len(params["session-affinity"]) != 0 {
switch api.ServiceAffinity(params["session-affinity"]) { switch v1.ServiceAffinity(params["session-affinity"]) {
case api.ServiceAffinityNone: case v1.ServiceAffinityNone:
service.Spec.SessionAffinity = api.ServiceAffinityNone service.Spec.SessionAffinity = v1.ServiceAffinityNone
case api.ServiceAffinityClientIP: case v1.ServiceAffinityClientIP:
service.Spec.SessionAffinity = api.ServiceAffinityClientIP service.Spec.SessionAffinity = v1.ServiceAffinityClientIP
default: default:
return nil, fmt.Errorf("unknown session affinity: %s", params["session-affinity"]) return nil, fmt.Errorf("unknown session affinity: %s", params["session-affinity"])
} }
} }
if len(params["cluster-ip"]) != 0 { if len(params["cluster-ip"]) != 0 {
if params["cluster-ip"] == "None" { if params["cluster-ip"] == "None" {
service.Spec.ClusterIP = api.ClusterIPNone service.Spec.ClusterIP = v1.ClusterIPNone
} else { } else {
service.Spec.ClusterIP = params["cluster-ip"] service.Spec.ClusterIP = params["cluster-ip"]
} }
......
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