Skip to content
This repository was archived by the owner on Apr 25, 2023. It is now read-only.

Commit dd7ec09

Browse files
authored
Merge pull request #1244 from mesosphere/kubernetes-1.18.5
Kubernetes 1.18.5 dependency upgrade (plus other upgrades)
2 parents bf67d02 + 8055ba6 commit dd7ec09

File tree

267 files changed

+4614
-25387
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

267 files changed

+4614
-25387
lines changed

.travis.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ language: go
33
# The version used here should match the BUILD_IMAGE variable in the
44
# Makefile.
55
go:
6-
- "1.13.7"
6+
- "1.14.4"
77

88
# Enable building in Travis using forked repos.
99
go_import_path: sigs.k8s.io/kubefed

Makefile

+3-5
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ endif
4343
BUILDMNT = /go/src/$(GOTARGET)
4444
# The version here should match the version of go configured in
4545
# .travis.yml
46-
BUILD_IMAGE ?= golang:1.13.7
46+
BUILD_IMAGE ?= golang:1.14.4
4747

4848
HYPERFED_TARGET = bin/hyperfed
4949
CONTROLLER_TARGET = bin/controller-manager
@@ -56,14 +56,15 @@ LDFLAG_OPTIONS = -ldflags "-X sigs.k8s.io/kubefed/pkg/version.version=$(GIT_VERS
5656
-X sigs.k8s.io/kubefed/pkg/version.gitTreeState=$(GIT_TREESTATE) \
5757
-X sigs.k8s.io/kubefed/pkg/version.buildDate=$(BUILDDATE)"
5858

59+
export GOPATH ?= $(shell go env GOPATH)
5960
GO_BUILDCMD = CGO_ENABLED=0 go build $(VERBOSE_FLAG) $(LDFLAG_OPTIONS)
6061

6162
TESTARGS ?= $(VERBOSE_FLAG) -timeout 60s
6263
TEST_PKGS ?= $(GOTARGET)/cmd/... $(GOTARGET)/pkg/...
6364
TEST_CMD = go test $(TESTARGS)
6465
TEST = $(TEST_CMD) $(TEST_PKGS)
6566

66-
DOCKER_BUILD ?= $(DOCKER) run --rm -v $(DIR):$(BUILDMNT) -w $(BUILDMNT) $(BUILD_IMAGE) /bin/sh -c
67+
DOCKER_BUILD ?= $(DOCKER) run -it --rm -v $(DIR):$(BUILDMNT) -w $(BUILDMNT) $(BUILD_IMAGE) /bin/sh -c
6768

6869
# TODO (irfanurrehman): can add local compile, and auto-generate targets also if needed
6970
.PHONY: all container push clean hyperfed controller kubefedctl test local-test vet fmt build bindir generate webhook e2e
@@ -128,9 +129,6 @@ e2e: $(E2E_BINARY_TARGET)
128129

129130
# Generate code
130131
generate-code: controller-gen
131-
ifndef GOPATH
132-
$(error GOPATH not defined, please define GOPATH. Run "go help gopath" to learn more about GOPATH)
133-
endif
134132
controller-gen object:headerFile=./hack/boilerplate.go.txt paths="./..."
135133

136134
generate: generate-code kubefedctl

go.mod

+12-12
Original file line numberDiff line numberDiff line change
@@ -6,24 +6,24 @@ require (
66
github.com/evanphx/json-patch v4.5.0+incompatible
77
github.com/ghodss/yaml v1.0.0
88
github.com/json-iterator/go v1.1.9
9-
github.com/onsi/ginkgo v1.12.0
10-
github.com/onsi/gomega v1.9.0
9+
github.com/onsi/ginkgo v1.13.0
10+
github.com/onsi/gomega v1.10.1
1111
github.com/openshift/generic-admission-server v1.14.0
1212
github.com/pborman/uuid v1.2.0
1313
github.com/pkg/errors v0.9.1
1414
github.com/prometheus/client_golang v1.0.0
1515
github.com/spf13/cobra v0.0.5
1616
github.com/spf13/pflag v1.0.5
1717
github.com/stretchr/testify v1.4.0
18-
k8s.io/api v0.17.3
19-
k8s.io/apiextensions-apiserver v0.17.3
20-
k8s.io/apimachinery v0.17.3
21-
k8s.io/apiserver v0.17.3
22-
k8s.io/client-go v0.17.3
23-
k8s.io/component-base v0.17.3
18+
k8s.io/api v0.18.5
19+
k8s.io/apiextensions-apiserver v0.18.5
20+
k8s.io/apimachinery v0.18.5
21+
k8s.io/apiserver v0.18.5
22+
k8s.io/client-go v0.18.5
23+
k8s.io/component-base v0.18.5
2424
k8s.io/klog v1.0.0
25-
k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a
26-
k8s.io/kubectl v0.17.3
27-
sigs.k8s.io/controller-runtime v0.5.0
28-
sigs.k8s.io/yaml v1.1.0
25+
k8s.io/kube-openapi v0.0.0-20200410145947-61e04a5be9a6
26+
k8s.io/kubectl v0.18.5
27+
sigs.k8s.io/controller-runtime v0.6.0
28+
sigs.k8s.io/yaml v1.2.0
2929
)

go.sum

+128-71
Large diffs are not rendered by default.

pkg/controller/kubefedcluster/clusterclient.go

+4-3
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ limitations under the License.
1717
package kubefedcluster
1818

1919
import (
20+
"context"
2021
"strings"
2122
"time"
2223

@@ -70,7 +71,7 @@ func NewClusterClientSet(c *fedv1b1.KubeFedCluster, client generic.Client, fedNa
7071
if err != nil {
7172
return nil, err
7273
}
73-
clusterConfig.Timeout = timeout
74+
clusterConfig.Timeout = timeout //nolint:staticcheck
7475
var clusterClientSet = ClusterClient{clusterName: c.Name}
7576
if clusterConfig != nil {
7677
clusterClientSet.kubeClient = kubeclientset.NewForConfigOrDie((restclient.AddUserAgent(clusterConfig, UserAgentName)))
@@ -125,7 +126,7 @@ func (self *ClusterClient) GetClusterHealthStatus() (*fedv1b1.KubeFedClusterStat
125126
LastProbeTime: currentTime,
126127
LastTransitionTime: &currentTime,
127128
}
128-
body, err := self.kubeClient.DiscoveryClient.RESTClient().Get().AbsPath("/healthz").Do().Raw()
129+
body, err := self.kubeClient.DiscoveryClient.RESTClient().Get().AbsPath("/healthz").Do(context.Background()).Raw()
129130
if err != nil {
130131
runtime.HandleError(errors.Wrapf(err, "Failed to do cluster health check for cluster %q", self.clusterName))
131132
clusterStatus.Conditions = append(clusterStatus.Conditions, newClusterOfflineCondition)
@@ -145,7 +146,7 @@ func (self *ClusterClient) GetClusterHealthStatus() (*fedv1b1.KubeFedClusterStat
145146

146147
// GetClusterZones gets the kubernetes cluster zones and region by inspecting labels on nodes in the cluster.
147148
func (self *ClusterClient) GetClusterZones() ([]string, string, error) {
148-
nodes, err := self.kubeClient.CoreV1().Nodes().List(metav1.ListOptions{})
149+
nodes, err := self.kubeClient.CoreV1().Nodes().List(context.Background(), metav1.ListOptions{})
149150
if err != nil {
150151
klog.Errorf("Failed to list nodes while getting zone names: %v", err)
151152
return nil, "", err

pkg/controller/kubefedcluster/controller.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ package kubefedcluster
1818

1919
import (
2020
"context"
21-
"fmt"
2221
"sync"
2322
"time"
2423

@@ -111,7 +110,7 @@ func newClusterController(config *util.ControllerConfig, clusterHealthCheckConfi
111110
kubeClient := kubeclient.NewForConfigOrDie(kubeConfig)
112111
broadcaster := record.NewBroadcaster()
113112
broadcaster.StartRecordingToSink(&typedcorev1.EventSinkImpl{Interface: kubeClient.CoreV1().Events("")})
114-
recorder := broadcaster.NewRecorder(genscheme.Scheme, corev1.EventSource{Component: fmt.Sprintf("kubefedcluster-controller")})
113+
recorder := broadcaster.NewRecorder(genscheme.Scheme, corev1.EventSource{Component: "kubefedcluster-controller"})
115114
cc.eventRecorder = recorder
116115

117116
var err error

pkg/controller/kubefedcluster/controller_integration_test.go

+14-1
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,17 @@ var _ = BeforeSuite(func(done Done) {
7979
Expect(err).NotTo(HaveOccurred())
8080
Expect(k8sClient).ToNot(BeNil())
8181

82+
_, err = clientset.CoreV1().Namespaces().Create(
83+
context.Background(),
84+
&corev1.Namespace{
85+
ObjectMeta: metav1.ObjectMeta{
86+
Name: util.DefaultKubeFedSystemNamespace,
87+
},
88+
},
89+
metav1.CreateOptions{},
90+
)
91+
Expect(err).ToNot(HaveOccurred())
92+
8293
config = &util.ClusterHealthCheckConfig{
8394
Period: 10 * time.Second,
8495
FailureThreshold: 3,
@@ -121,7 +132,9 @@ var _ = Describe("TestKubefedClusterController", func() {
121132
},
122133
}
123134

124-
_, err := clientset.CoreV1().Secrets(util.DefaultKubeFedSystemNamespace).Create(kubefedClusterSecret)
135+
_, err := clientset.CoreV1().Secrets(util.DefaultKubeFedSystemNamespace).Create(
136+
context.Background(), kubefedClusterSecret, metav1.CreateOptions{},
137+
)
125138
Expect(err).ToNot(HaveOccurred())
126139

127140
kc := &fedv1b1.KubeFedCluster{

pkg/controller/schedulingpreference/controller.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ func StartSchedulingPreferenceController(config *util.ControllerConfig, scheduli
7878
if config.MinimizeLatency {
7979
controller.minimizeLatency()
8080
}
81-
klog.Infof(fmt.Sprintf("Starting replicaschedulingpreferences controller"))
81+
klog.Infof("Starting replicaschedulingpreferences controller")
8282
controller.Run(stopChannel)
8383
return controller.scheduler, nil
8484
}
@@ -95,7 +95,7 @@ func newSchedulingPreferenceController(config *util.ControllerConfig, scheduling
9595

9696
broadcaster := record.NewBroadcaster()
9797
broadcaster.StartRecordingToSink(&typedcorev1.EventSinkImpl{Interface: kubeClient.CoreV1().Events("")})
98-
recorder := broadcaster.NewRecorder(scheme.Scheme, corev1.EventSource{Component: fmt.Sprintf("replicaschedulingpreference-controller")})
98+
recorder := broadcaster.NewRecorder(scheme.Scheme, corev1.EventSource{Component: "replicaschedulingpreference-controller"})
9999

100100
s := &SchedulingPreferenceController{
101101
clusterAvailableDelay: config.ClusterAvailableDelay,

pkg/controller/status/controller.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ limitations under the License.
1717
package status
1818

1919
import (
20+
"context"
2021
"fmt"
2122
"reflect"
2223
"sort"
@@ -302,7 +303,7 @@ func (s *KubeFedStatusController) reconcile(qualifiedName util.QualifiedName) ut
302303
}
303304

304305
if existingStatus == nil {
305-
_, err = s.statusClient.Resources(qualifiedName.Namespace).Create(status, metav1.CreateOptions{})
306+
_, err = s.statusClient.Resources(qualifiedName.Namespace).Create(context.Background(), status, metav1.CreateOptions{})
306307
if err != nil {
307308
runtime.HandleError(errors.Wrapf(err, "Failed to create status object for federated type %s %q", statusKind, key))
308309
return util.StatusNeedsRecheck
@@ -312,7 +313,7 @@ func (s *KubeFedStatusController) reconcile(qualifiedName util.QualifiedName) ut
312313
status.Object["clusterStatus"] = make([]util.ResourceClusterStatus, 0)
313314
}
314315
existingStatus.Object["clusterStatus"] = status.Object["clusterStatus"]
315-
_, err = s.statusClient.Resources(qualifiedName.Namespace).Update(existingStatus, metav1.UpdateOptions{})
316+
_, err = s.statusClient.Resources(qualifiedName.Namespace).Update(context.Background(), existingStatus, metav1.UpdateOptions{})
316317
if err != nil {
317318
runtime.HandleError(errors.Wrapf(err, "Failed to update status object for federated type %s %q", statusKind, key))
318319
return util.StatusNeedsRecheck

pkg/controller/sync/version/manager.go

+1-4
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,7 @@ func (m *VersionManager) Sync(stopChan <-chan struct{}) {
8888
if !ok {
8989
return
9090
}
91-
ok = m.load(versionList, stopChan)
92-
if !ok {
93-
return
94-
}
91+
m.load(versionList, stopChan)
9592
}
9693

9794
// HasSynced indicates whether the manager's in-memory state has been

pkg/controller/util/genericinformer.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ limitations under the License.
1717
package util
1818

1919
import (
20+
"context"
2021
"time"
2122

2223
"github.com/pkg/errors"
@@ -68,14 +69,14 @@ func NewGenericInformerWithEventHandler(config *rest.Config, namespace string, o
6869
ListFunc: func(opts metav1.ListOptions) (pkgruntime.Object, error) {
6970
res := listObj.DeepCopyObject()
7071
isNamespaceScoped := namespace != "" && mapping.Scope.Name() != meta.RESTScopeNameRoot
71-
err := client.Get().NamespaceIfScoped(namespace, isNamespaceScoped).Resource(mapping.Resource.Resource).VersionedParams(&opts, scheme.ParameterCodec).Do().Into(res)
72+
err := client.Get().NamespaceIfScoped(namespace, isNamespaceScoped).Resource(mapping.Resource.Resource).VersionedParams(&opts, scheme.ParameterCodec).Do(context.Background()).Into(res)
7273
return res, err
7374
},
7475
WatchFunc: func(opts metav1.ListOptions) (watch.Interface, error) {
7576
// Watch needs to be set to true separately
7677
opts.Watch = true
7778
isNamespaceScoped := namespace != "" && mapping.Scope.Name() != meta.RESTScopeNameRoot
78-
return client.Get().NamespaceIfScoped(namespace, isNamespaceScoped).Resource(mapping.Resource.Resource).VersionedParams(&opts, scheme.ParameterCodec).Watch()
79+
return client.Get().NamespaceIfScoped(namespace, isNamespaceScoped).Resource(mapping.Resource.Resource).VersionedParams(&opts, scheme.ParameterCodec).Watch(context.Background())
7980
},
8081
},
8182
obj,

pkg/controller/util/resourceinformer.go

+4-2
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ limitations under the License.
1717
package util
1818

1919
import (
20+
"context"
21+
2022
"github.com/pkg/errors"
2123

2224
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -52,11 +54,11 @@ func newResourceInformer(client ResourceClient, namespace string, apiResource *m
5254
&cache.ListWatch{
5355
ListFunc: func(options metav1.ListOptions) (pkgruntime.Object, error) {
5456
options.LabelSelector = labelSelector
55-
return client.Resources(namespace).List(options)
57+
return client.Resources(namespace).List(context.Background(), options)
5658
},
5759
WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) {
5860
options.LabelSelector = labelSelector
59-
return client.Resources(namespace).Watch(options)
61+
return client.Resources(namespace).Watch(context.Background(), options)
6062
},
6163
},
6264
obj, // use an unstructured type with apiVersion / kind populated for informer logging purposes

pkg/kubefedctl/disable.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -351,7 +351,7 @@ func customResourcesExist(config *rest.Config, resource *metav1.APIResource) (bo
351351
}
352352

353353
options := metav1.ListOptions{}
354-
objList, err := client.Resources("").List(options)
354+
objList, err := client.Resources("").List(context.Background(), options)
355355
if apierrors.IsNotFound(err) {
356356
return false, nil
357357
} else if err != nil {
@@ -366,7 +366,7 @@ func deleteFederatedCRD(config *rest.Config, crdName string, write func(string))
366366
return errors.Wrap(err, "Error creating crd client")
367367
}
368368

369-
err = client.CustomResourceDefinitions().Delete(crdName, nil)
369+
err = client.CustomResourceDefinitions().Delete(context.Background(), crdName, metav1.DeleteOptions{})
370370
if apierrors.IsNotFound(err) {
371371
write(fmt.Sprintf("customresourcedefinition %q does not exist\n", crdName))
372372
} else if err != nil {

pkg/kubefedctl/enable/enable.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ func CreateResources(cmdOut io.Writer, config *rest.Config, resources *typeResou
233233
if err != nil {
234234
return errors.Wrap(err, "Failed to create host clientset")
235235
}
236-
_, err = hostClientset.CoreV1().Namespaces().Get(namespace, metav1.GetOptions{})
236+
_, err = hostClientset.CoreV1().Namespaces().Get(context.Background(), namespace, metav1.GetOptions{})
237237
if apierrors.IsNotFound(err) {
238238
return errors.Wrapf(err, "KubeFed system namespace %q does not exist", namespace)
239239
} else if err != nil {
@@ -268,10 +268,10 @@ func CreateResources(cmdOut io.Writer, config *rest.Config, resources *typeResou
268268
return errors.Wrap(err, "Failed to create crd clientset")
269269
}
270270

271-
existingCRD, err := crdClient.CustomResourceDefinitions().Get(resources.CRD.Name, metav1.GetOptions{})
271+
existingCRD, err := crdClient.CustomResourceDefinitions().Get(context.Background(), resources.CRD.Name, metav1.GetOptions{})
272272
if apierrors.IsNotFound(err) {
273273
if !dryRun {
274-
_, err = crdClient.CustomResourceDefinitions().Create(resources.CRD)
274+
_, err = crdClient.CustomResourceDefinitions().Create(context.Background(), resources.CRD, metav1.CreateOptions{})
275275
if err != nil {
276276
return errors.Wrapf(err, "Error creating CRD %q", resources.CRD.Name)
277277
}
@@ -315,7 +315,7 @@ func CreateResources(cmdOut io.Writer, config *rest.Config, resources *typeResou
315315

316316
existingCRD.Spec = resources.CRD.Spec
317317
if !dryRun {
318-
_, err = crdClient.CustomResourceDefinitions().Update(existingCRD)
318+
_, err = crdClient.CustomResourceDefinitions().Update(context.Background(), existingCRD, metav1.UpdateOptions{})
319319
if err != nil {
320320
return errors.Wrapf(err, "Error updating CRD %q", resources.CRD.Name)
321321
}

pkg/kubefedctl/enable/schema.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ limitations under the License.
1717
package enable
1818

1919
import (
20+
"context"
2021
"fmt"
2122

2223
"github.com/pkg/errors"
@@ -63,7 +64,7 @@ func newCRDSchemaAccessor(config *rest.Config, apiResource metav1.APIResource) (
6364
return nil, errors.Wrap(err, "Failed to create crd clientset")
6465
}
6566
crdName := fmt.Sprintf("%s.%s", apiResource.Name, apiResource.Group)
66-
crd, err := crdClient.CustomResourceDefinitions().Get(crdName, metav1.GetOptions{})
67+
crd, err := crdClient.CustomResourceDefinitions().Get(context.Background(), crdName, metav1.GetOptions{})
6768
if apierrors.IsNotFound(err) {
6869
return nil, nil
6970
}

pkg/kubefedctl/federate/federate.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -348,7 +348,7 @@ func getTargetResource(hostConfig *rest.Config, typeConfig typeconfig.Interface,
348348
}
349349

350350
kind := targetAPIResource.Kind
351-
resource, err := targetClient.Resources(qualifiedName.Namespace).Get(qualifiedName.Name, metav1.GetOptions{})
351+
resource, err := targetClient.Resources(qualifiedName.Namespace).Get(context.Background(), qualifiedName.Name, metav1.GetOptions{})
352352
if err != nil {
353353
return nil, errors.Wrapf(err, "Error retrieving target %s %q", kind, qualifiedName)
354354
}
@@ -486,7 +486,7 @@ func CreateFederatedResource(hostConfig *rest.Config, typeConfig typeconfig.Inte
486486
// It might take a little while for the federated type to appear if the
487487
// same is being enabled while or immediately before federating the resource.
488488
err = wait.PollImmediate(createResourceRetryInterval, createResourceRetryTimeout, func() (bool, error) {
489-
_, err := fedClient.Resources(federatedResource.GetNamespace()).Create(federatedResource, metav1.CreateOptions{})
489+
_, err := fedClient.Resources(federatedResource.GetNamespace()).Create(context.Background(), federatedResource, metav1.CreateOptions{})
490490
if apierrors.IsNotFound(err) {
491491
return false, nil
492492
}

pkg/kubefedctl/federate/util.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package federate
1818

1919
import (
2020
"bufio"
21+
"context"
2122
"io"
2223
"os"
2324

@@ -191,7 +192,7 @@ func getResourcesInNamespace(config *rest.Config, namespace string, skipAPIResou
191192
return nil, errors.Wrapf(err, "Error creating client for %s", apiResource.Kind)
192193
}
193194

194-
resourceList, err := client.Resources(namespace).List(metav1.ListOptions{})
195+
resourceList, err := client.Resources(namespace).List(context.Background(), metav1.ListOptions{})
195196
if apierrors.IsNotFound(err) || resourceList == nil {
196197
continue
197198
}

0 commit comments

Comments
 (0)