mirror of https://github.com/kubernetes/kops.git
Misc build fixes for dns-controller
This commit is contained in:
parent
a34adc9be3
commit
27026ff110
|
|
@ -21,7 +21,6 @@ import (
|
|||
"github.com/spf13/cobra"
|
||||
"k8s.io/kops/channels/pkg/channels"
|
||||
"k8s.io/kops/util/pkg/tables"
|
||||
k8sapi "k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/api/v1"
|
||||
"os"
|
||||
)
|
||||
|
|
@ -60,7 +59,7 @@ func (c *GetAddonsCmd) Run(args []string) error {
|
|||
return err
|
||||
}
|
||||
|
||||
namespaces, err := k8sClient.Namespaces().List(k8sapi.ListOptions{})
|
||||
namespaces, err := k8sClient.Namespaces().List(v1.ListOptions{})
|
||||
if err != nil {
|
||||
return fmt.Errorf("error listing namespaces: %v", err)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ import (
|
|||
"github.com/golang/glog"
|
||||
"github.com/spf13/cobra"
|
||||
"github.com/spf13/viper"
|
||||
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_3"
|
||||
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5"
|
||||
"k8s.io/kubernetes/pkg/client/unversioned/clientcmd"
|
||||
)
|
||||
|
||||
|
|
@ -79,7 +79,7 @@ func (c *RootCmd) AddCommand(cmd *cobra.Command) {
|
|||
c.cobraCommand.AddCommand(cmd)
|
||||
}
|
||||
|
||||
func (c *RootCmd) KubernetesClient() (*release_1_3.Clientset, error) {
|
||||
func (c *RootCmd) KubernetesClient() (*release_1_5.Clientset, error) {
|
||||
config := clientcmd.NewNonInteractiveDeferredLoadingClientConfig(
|
||||
clientcmd.NewDefaultClientConfigLoadingRules(),
|
||||
&clientcmd.ConfigOverrides{})
|
||||
|
|
@ -96,7 +96,7 @@ func (c *RootCmd) KubernetesClient() (*release_1_3.Clientset, error) {
|
|||
}
|
||||
}
|
||||
|
||||
k8sClient, err := release_1_3.NewForConfig(clientConfig)
|
||||
k8sClient, err := release_1_5.NewForConfig(clientConfig)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("cannot build kube client: %v", err)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ import (
|
|||
"fmt"
|
||||
"github.com/golang/glog"
|
||||
"k8s.io/kops/channels/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_3"
|
||||
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5"
|
||||
"k8s.io/kubernetes/pkg/util/validation/field"
|
||||
"net/url"
|
||||
)
|
||||
|
|
@ -57,7 +57,7 @@ func (a *Addon) buildChannel() *Channel {
|
|||
}
|
||||
return channel
|
||||
}
|
||||
func (a *Addon) GetRequiredUpdates(k8sClient *release_1_3.Clientset) (*AddonUpdate, error) {
|
||||
func (a *Addon) GetRequiredUpdates(k8sClient *release_1_5.Clientset) (*AddonUpdate, error) {
|
||||
newVersion := a.ChannelVersion()
|
||||
|
||||
channel := a.buildChannel()
|
||||
|
|
@ -78,7 +78,7 @@ func (a *Addon) GetRequiredUpdates(k8sClient *release_1_3.Clientset) (*AddonUpda
|
|||
}, nil
|
||||
}
|
||||
|
||||
func (a *Addon) EnsureUpdated(k8sClient *release_1_3.Clientset) (*AddonUpdate, error) {
|
||||
func (a *Addon) EnsureUpdated(k8sClient *release_1_5.Clientset) (*AddonUpdate, error) {
|
||||
required, err := a.GetRequiredUpdates(k8sClient)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
|
|
|||
|
|
@ -21,10 +21,9 @@ import (
|
|||
"fmt"
|
||||
"github.com/blang/semver"
|
||||
"github.com/golang/glog"
|
||||
"k8s.io/kops/upup/pkg/fi"
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/api/v1"
|
||||
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_3"
|
||||
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5"
|
||||
"strings"
|
||||
)
|
||||
|
||||
|
|
@ -47,7 +46,7 @@ func stringValue(s *string) string {
|
|||
return *s
|
||||
}
|
||||
|
||||
func (c *ChannelVersion) String() {
|
||||
func (c *ChannelVersion) String() string {
|
||||
return "Version=" + stringValue(c.Version) + " Channel=" + stringValue(c.Channel)
|
||||
}
|
||||
|
||||
|
|
@ -116,7 +115,7 @@ func (c *ChannelVersion) Replaces(existing *ChannelVersion) bool {
|
|||
return true
|
||||
}
|
||||
|
||||
func (c *Channel) GetInstalledVersion(k8sClient *release_1_3.Clientset) (*ChannelVersion, error) {
|
||||
func (c *Channel) GetInstalledVersion(k8sClient *release_1_5.Clientset) (*ChannelVersion, error) {
|
||||
ns, err := k8sClient.Namespaces().Get(c.Namespace)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error querying namespace %q: %v", c.Namespace, err)
|
||||
|
|
@ -137,7 +136,7 @@ type annotationPatchMetadata struct {
|
|||
Annotations map[string]string `json:"annotations,omitempty"`
|
||||
}
|
||||
|
||||
func (c *Channel) SetInstalledVersion(k8sClient *release_1_3.Clientset, version *ChannelVersion) error {
|
||||
func (c *Channel) SetInstalledVersion(k8sClient *release_1_5.Clientset, version *ChannelVersion) error {
|
||||
// Primarily to check it exists
|
||||
_, err := k8sClient.Namespaces().Get(c.Namespace)
|
||||
if err != nil {
|
||||
|
|
|
|||
|
|
@ -23,8 +23,8 @@ import (
|
|||
"k8s.io/kops/dns-controller/pkg/dns"
|
||||
"k8s.io/kops/dns-controller/pkg/watchers"
|
||||
"k8s.io/kubernetes/federation/pkg/dnsprovider"
|
||||
client "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_3/typed/core/v1"
|
||||
client_extensions "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_3/typed/extensions/v1beta1"
|
||||
client "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5/typed/core/v1"
|
||||
client_extensions "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1"
|
||||
kubectl_util "k8s.io/kubernetes/pkg/kubectl/cmd/util"
|
||||
"os"
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@ import (
|
|||
"github.com/golang/glog"
|
||||
|
||||
"k8s.io/kops/dns-controller/pkg/util"
|
||||
"k8s.io/kops/upup/pkg/fi/utils"
|
||||
"k8s.io/kubernetes/federation/pkg/dnsprovider"
|
||||
"k8s.io/kubernetes/federation/pkg/dnsprovider/rrstype"
|
||||
"sort"
|
||||
|
|
@ -247,7 +246,7 @@ func (c *DNSController) runOnce() error {
|
|||
}
|
||||
oldValues := oldValueMap[k]
|
||||
|
||||
if utils.StringSlicesEqual(newValues, oldValues) {
|
||||
if util.StringSlicesEqual(newValues, oldValues) {
|
||||
glog.V(4).Infof("no change to records for %s", k)
|
||||
continue
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,29 @@
|
|||
/*
|
||||
Copyright 2016 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.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
package util
|
||||
|
||||
func StringSlicesEqual(l, r []string) bool {
|
||||
if len(l) != len(r) {
|
||||
return false
|
||||
}
|
||||
for i, v := range l {
|
||||
if r[i] != v {
|
||||
return false
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
|
@ -22,26 +22,23 @@ import (
|
|||
|
||||
"github.com/golang/glog"
|
||||
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
|
||||
client_extensions "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_3/typed/extensions/v1beta1"
|
||||
"k8s.io/kubernetes/pkg/fields"
|
||||
"k8s.io/kubernetes/pkg/labels"
|
||||
|
||||
"k8s.io/kops/dns-controller/pkg/dns"
|
||||
"k8s.io/kops/dns-controller/pkg/util"
|
||||
"k8s.io/kubernetes/pkg/api/v1"
|
||||
"k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
|
||||
client_extensions "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5/typed/extensions/v1beta1"
|
||||
"k8s.io/kubernetes/pkg/watch"
|
||||
)
|
||||
|
||||
// IngressController watches for Ingress objects with dns labels
|
||||
type IngressController struct {
|
||||
util.Stoppable
|
||||
kubeClient *client_extensions.ExtensionsClient
|
||||
kubeClient client_extensions.ExtensionsV1beta1Interface
|
||||
scope dns.Scope
|
||||
}
|
||||
|
||||
// newIngressController creates a ingressController
|
||||
func NewIngressController(kubeClient *client_extensions.ExtensionsClient, dns dns.Context) (*IngressController, error) {
|
||||
func NewIngressController(kubeClient client_extensions.ExtensionsV1beta1Interface, dns dns.Context) (*IngressController, error) {
|
||||
scope, err := dns.CreateScope("ingress")
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error building dns scope: %v", err)
|
||||
|
|
@ -67,11 +64,11 @@ func (c *IngressController) Run() {
|
|||
|
||||
func (c *IngressController) runWatcher(stopCh <-chan struct{}) {
|
||||
runOnce := func() (bool, error) {
|
||||
var listOpts api.ListOptions
|
||||
var listOpts v1.ListOptions
|
||||
glog.Warningf("querying without label filter")
|
||||
listOpts.LabelSelector = labels.Everything()
|
||||
//listOpts.LabelSelector = labels.Everything()
|
||||
glog.Warningf("querying without field filter")
|
||||
listOpts.FieldSelector = fields.Everything()
|
||||
//listOpts.FieldSelector = fields.Everything()
|
||||
ingressList, err := c.kubeClient.Ingresses("").List(listOpts)
|
||||
if err != nil {
|
||||
return false, fmt.Errorf("error listing ingresss: %v", err)
|
||||
|
|
@ -84,9 +81,9 @@ func (c *IngressController) runWatcher(stopCh <-chan struct{}) {
|
|||
c.scope.MarkReady()
|
||||
|
||||
glog.Warningf("querying without label filter")
|
||||
listOpts.LabelSelector = labels.Everything()
|
||||
//listOpts.LabelSelector = labels.Everything()
|
||||
glog.Warningf("querying without field filter")
|
||||
listOpts.FieldSelector = fields.Everything()
|
||||
//listOpts.FieldSelector = fields.Everything()
|
||||
listOpts.Watch = true
|
||||
listOpts.ResourceVersion = ingressList.ResourceVersion
|
||||
watcher, err := c.kubeClient.Ingresses("").Watch(listOpts)
|
||||
|
|
|
|||
|
|
@ -24,23 +24,20 @@ import (
|
|||
|
||||
"k8s.io/kops/dns-controller/pkg/dns"
|
||||
"k8s.io/kops/dns-controller/pkg/util"
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/api/v1"
|
||||
client "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_3/typed/core/v1"
|
||||
"k8s.io/kubernetes/pkg/fields"
|
||||
"k8s.io/kubernetes/pkg/labels"
|
||||
client "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5/typed/core/v1"
|
||||
"k8s.io/kubernetes/pkg/watch"
|
||||
)
|
||||
|
||||
// NodeController watches for nodes
|
||||
type NodeController struct {
|
||||
util.Stoppable
|
||||
kubeClient *client.CoreClient
|
||||
kubeClient client.CoreV1Interface
|
||||
scope dns.Scope
|
||||
}
|
||||
|
||||
// newNodeController creates a nodeController
|
||||
func NewNodeController(kubeClient *client.CoreClient, dns dns.Context) (*NodeController, error) {
|
||||
func NewNodeController(kubeClient client.CoreV1Interface, dns dns.Context) (*NodeController, error) {
|
||||
scope, err := dns.CreateScope("node")
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error building dns scope: %v", err)
|
||||
|
|
@ -66,12 +63,12 @@ func (c *NodeController) Run() {
|
|||
|
||||
func (c *NodeController) runWatcher(stopCh <-chan struct{}) {
|
||||
runOnce := func() (bool, error) {
|
||||
var listOpts api.ListOptions
|
||||
var listOpts v1.ListOptions
|
||||
|
||||
// Note we need to watch all the nodes, to set up alias targets
|
||||
listOpts.LabelSelector = labels.Everything()
|
||||
//listOpts.LabelSelector = labels.Everything()
|
||||
glog.Warningf("querying without field filter")
|
||||
listOpts.FieldSelector = fields.Everything()
|
||||
//listOpts.FieldSelector = fields.Everything()
|
||||
|
||||
nodeList, err := c.kubeClient.Nodes().List(listOpts)
|
||||
if err != nil {
|
||||
|
|
@ -85,9 +82,9 @@ func (c *NodeController) runWatcher(stopCh <-chan struct{}) {
|
|||
c.scope.MarkReady()
|
||||
|
||||
// Note we need to watch all the nodes, to set up alias targets
|
||||
listOpts.LabelSelector = labels.Everything()
|
||||
//listOpts.LabelSelector = labels.Everything()
|
||||
glog.Warningf("querying without field filter")
|
||||
listOpts.FieldSelector = fields.Everything()
|
||||
//listOpts.FieldSelector = fields.Everything()
|
||||
|
||||
listOpts.Watch = true
|
||||
listOpts.ResourceVersion = nodeList.ResourceVersion
|
||||
|
|
|
|||
|
|
@ -24,11 +24,8 @@ import (
|
|||
|
||||
"k8s.io/kops/dns-controller/pkg/dns"
|
||||
"k8s.io/kops/dns-controller/pkg/util"
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/api/v1"
|
||||
client "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_3/typed/core/v1"
|
||||
"k8s.io/kubernetes/pkg/fields"
|
||||
"k8s.io/kubernetes/pkg/labels"
|
||||
client "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5/typed/core/v1"
|
||||
"k8s.io/kubernetes/pkg/watch"
|
||||
"strings"
|
||||
)
|
||||
|
|
@ -36,12 +33,12 @@ import (
|
|||
// PodController watches for Pods with dns annotations
|
||||
type PodController struct {
|
||||
util.Stoppable
|
||||
kubeClient *client.CoreClient
|
||||
kubeClient client.CoreV1Interface
|
||||
scope dns.Scope
|
||||
}
|
||||
|
||||
// newPodController creates a podController
|
||||
func NewPodController(kubeClient *client.CoreClient, dns dns.Context) (*PodController, error) {
|
||||
func NewPodController(kubeClient client.CoreV1Interface, dns dns.Context) (*PodController, error) {
|
||||
scope, err := dns.CreateScope("pod")
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error building dns scope: %v", err)
|
||||
|
|
@ -67,11 +64,11 @@ func (c *PodController) Run() {
|
|||
|
||||
func (c *PodController) runWatcher(stopCh <-chan struct{}) {
|
||||
runOnce := func() (bool, error) {
|
||||
var listOpts api.ListOptions
|
||||
var listOpts v1.ListOptions
|
||||
glog.Warningf("querying without label filter")
|
||||
listOpts.LabelSelector = labels.Everything()
|
||||
//listOpts.LabelSelector = labels.Everything()
|
||||
glog.Warningf("querying without field filter")
|
||||
listOpts.FieldSelector = fields.Everything()
|
||||
//listOpts.FieldSelector = fields.Everything()
|
||||
podList, err := c.kubeClient.Pods("").List(listOpts)
|
||||
if err != nil {
|
||||
return false, fmt.Errorf("error listing pods: %v", err)
|
||||
|
|
@ -84,9 +81,9 @@ func (c *PodController) runWatcher(stopCh <-chan struct{}) {
|
|||
c.scope.MarkReady()
|
||||
|
||||
glog.Warningf("querying without label filter")
|
||||
listOpts.LabelSelector = labels.Everything()
|
||||
//listOpts.LabelSelector = labels.Everything()
|
||||
glog.Warningf("querying without field filter")
|
||||
listOpts.FieldSelector = fields.Everything()
|
||||
//listOpts.FieldSelector = fields.Everything()
|
||||
listOpts.Watch = true
|
||||
listOpts.ResourceVersion = podList.ResourceVersion
|
||||
watcher, err := c.kubeClient.Pods("").Watch(listOpts)
|
||||
|
|
|
|||
|
|
@ -24,11 +24,8 @@ import (
|
|||
|
||||
"k8s.io/kops/dns-controller/pkg/dns"
|
||||
"k8s.io/kops/dns-controller/pkg/util"
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/api/v1"
|
||||
client "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_3/typed/core/v1"
|
||||
"k8s.io/kubernetes/pkg/fields"
|
||||
"k8s.io/kubernetes/pkg/labels"
|
||||
client "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5/typed/core/v1"
|
||||
"k8s.io/kubernetes/pkg/watch"
|
||||
"strings"
|
||||
)
|
||||
|
|
@ -36,12 +33,12 @@ import (
|
|||
// ServiceController watches for services with dns annotations
|
||||
type ServiceController struct {
|
||||
util.Stoppable
|
||||
kubeClient *client.CoreClient
|
||||
kubeClient client.CoreV1Interface
|
||||
scope dns.Scope
|
||||
}
|
||||
|
||||
// newServiceController creates a serviceController
|
||||
func NewServiceController(kubeClient *client.CoreClient, dns dns.Context) (*ServiceController, error) {
|
||||
func NewServiceController(kubeClient client.CoreV1Interface, dns dns.Context) (*ServiceController, error) {
|
||||
scope, err := dns.CreateScope("service")
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error building dns scope: %v", err)
|
||||
|
|
@ -67,11 +64,11 @@ func (c *ServiceController) Run() {
|
|||
|
||||
func (c *ServiceController) runWatcher(stopCh <-chan struct{}) {
|
||||
runOnce := func() (bool, error) {
|
||||
var listOpts api.ListOptions
|
||||
var listOpts v1.ListOptions
|
||||
glog.Warningf("querying without label filter")
|
||||
listOpts.LabelSelector = labels.Everything()
|
||||
//listOpts.LabelSelector = labels.Everything()
|
||||
glog.Warningf("querying without field filter")
|
||||
listOpts.FieldSelector = fields.Everything()
|
||||
//listOpts.FieldSelector = fields.Everything()
|
||||
serviceList, err := c.kubeClient.Services("").List(listOpts)
|
||||
if err != nil {
|
||||
return false, fmt.Errorf("error listing services: %v", err)
|
||||
|
|
@ -84,9 +81,9 @@ func (c *ServiceController) runWatcher(stopCh <-chan struct{}) {
|
|||
c.scope.MarkReady()
|
||||
|
||||
glog.Warningf("querying without label filter")
|
||||
listOpts.LabelSelector = labels.Everything()
|
||||
//listOpts.LabelSelector = labels.Everything()
|
||||
glog.Warningf("querying without field filter")
|
||||
listOpts.FieldSelector = fields.Everything()
|
||||
//listOpts.FieldSelector = fields.Everything()
|
||||
listOpts.Watch = true
|
||||
listOpts.ResourceVersion = serviceList.ResourceVersion
|
||||
watcher, err := c.kubeClient.Services("").Watch(listOpts)
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
#!/bin/bash -ex
|
||||
|
||||
# Copyright 2016 The Kubernetes Authors.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -12,8 +14,6 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
#!/bin/bash -ex
|
||||
|
||||
mkdir -p /go
|
||||
export GOPATH=/go
|
||||
|
||||
|
|
|
|||
|
|
@ -19,21 +19,21 @@ package protokube
|
|||
import (
|
||||
"fmt"
|
||||
"github.com/golang/glog"
|
||||
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_3"
|
||||
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5"
|
||||
"k8s.io/kubernetes/pkg/client/unversioned/clientcmd"
|
||||
"sync"
|
||||
)
|
||||
|
||||
type KubernetesContext struct {
|
||||
mutex sync.Mutex
|
||||
client *release_1_3.Clientset
|
||||
client *release_1_5.Clientset
|
||||
}
|
||||
|
||||
func NewKubernetesContext() *KubernetesContext {
|
||||
return &KubernetesContext{}
|
||||
}
|
||||
|
||||
func (c *KubernetesContext) KubernetesClient() (*release_1_3.Clientset, error) {
|
||||
func (c *KubernetesContext) KubernetesClient() (*release_1_5.Clientset, error) {
|
||||
c.mutex.Lock()
|
||||
defer c.mutex.Unlock()
|
||||
|
||||
|
|
@ -54,7 +54,7 @@ func (c *KubernetesContext) KubernetesClient() (*release_1_3.Clientset, error) {
|
|||
}
|
||||
}
|
||||
|
||||
k8sClient, err := release_1_3.NewForConfig(clientConfig)
|
||||
k8sClient, err := release_1_5.NewForConfig(clientConfig)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("cannot build kube client: %v", err)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ import (
|
|||
"github.com/golang/glog"
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/labels"
|
||||
"k8s.io/kubernetes/pkg/api/v1"
|
||||
)
|
||||
|
||||
type nodePatch struct {
|
||||
|
|
@ -46,8 +47,8 @@ func ApplyMasterTaints(kubeContext *KubernetesContext) error {
|
|||
return err
|
||||
}
|
||||
|
||||
options := api.ListOptions{
|
||||
LabelSelector: labels.SelectorFromSet(labels.Set{"kubernetes.io/role": "master"}),
|
||||
options := v1.ListOptions{
|
||||
LabelSelector: labels.SelectorFromSet(labels.Set{"kubernetes.io/role": "master"}).String(),
|
||||
}
|
||||
glog.V(2).Infof("Querying k8s for nodes with selector %q", options.LabelSelector)
|
||||
nodes, err := client.Core().Nodes().List(options)
|
||||
|
|
|
|||
Loading…
Reference in New Issue