k8s libs: upgrade to v0.20.5
parent
f29366a596
commit
368703ca35
71
go.mod
71
go.mod
|
@ -5,14 +5,12 @@ go 1.16
|
|||
require (
|
||||
cloud.google.com/go/storage v1.13.0
|
||||
contrib.go.opencensus.io/exporter/stackdriver v0.12.1
|
||||
github.com/Azure/azure-sdk-for-go v42.3.0+incompatible
|
||||
github.com/Azure/azure-sdk-for-go v43.0.0+incompatible
|
||||
github.com/Delta456/box-cli-maker/v2 v2.2.1
|
||||
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v0.16.0
|
||||
github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5 // indirect
|
||||
github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 // indirect
|
||||
github.com/Parallels/docker-machine-parallels/v2 v2.0.1
|
||||
github.com/VividCortex/godaemon v0.0.0-20201030160542-15e3f4925a21
|
||||
github.com/blang/semver v3.5.0+incompatible
|
||||
github.com/blang/semver v3.5.1+incompatible
|
||||
github.com/briandowns/spinner v1.11.1
|
||||
github.com/c4milo/gotoolkit v0.0.0-20170318115440-bcc06269efa9 // indirect
|
||||
github.com/cenkalti/backoff v2.2.1+incompatible
|
||||
|
@ -23,12 +21,11 @@ require (
|
|||
github.com/cloudfoundry/jibber_jabber v0.0.0-20151120183258-bcc4c8345a21 // indirect
|
||||
github.com/containerd/continuity v0.0.0-20201208142359-180525291bb7 // indirect
|
||||
github.com/docker/cli v0.0.0-20200303162255-7d407207c304 // indirect
|
||||
github.com/docker/docker v17.12.0-ce-rc1.0.20181225093023-5ddb1d410a8b+incompatible
|
||||
github.com/docker/docker v17.12.0-ce-rc1.0.20200916142827-bd33bbf0497b+incompatible
|
||||
github.com/docker/go-units v0.4.0
|
||||
github.com/docker/machine v0.16.2
|
||||
github.com/elazarl/goproxy v0.0.0-20190421051319-9d40249d3c2f
|
||||
github.com/elazarl/goproxy/ext v0.0.0-20190421051319-9d40249d3c2f // indirect
|
||||
github.com/evanphx/json-patch v4.5.0+incompatible // indirect
|
||||
github.com/golang-collections/collections v0.0.0-20130729185459-604e922904d3
|
||||
github.com/google/go-cmp v0.5.5
|
||||
github.com/google/go-containerregistry v0.4.1
|
||||
|
@ -36,7 +33,6 @@ require (
|
|||
github.com/google/go-github/v32 v32.1.0
|
||||
github.com/google/slowjam v0.0.0-20200530021616-df27e642fe7b
|
||||
github.com/google/uuid v1.2.0
|
||||
github.com/googleapis/gnostic v0.3.0 // indirect
|
||||
github.com/hashicorp/go-getter v1.5.2
|
||||
github.com/hashicorp/go-retryablehttp v0.6.8
|
||||
github.com/hectane/go-acl v0.0.0-20190604041725-da78bae5fc95 // indirect
|
||||
|
@ -93,15 +89,14 @@ require (
|
|||
google.golang.org/api v0.40.0
|
||||
gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22 // indirect
|
||||
gopkg.in/yaml.v2 v2.4.0
|
||||
gotest.tools/v3 v3.0.2 // indirect
|
||||
k8s.io/api v0.18.8
|
||||
k8s.io/apimachinery v0.18.8
|
||||
gotest.tools/v3 v3.0.3 // indirect
|
||||
k8s.io/api v0.20.5
|
||||
k8s.io/apimachinery v0.20.5
|
||||
k8s.io/client-go v0.20.5
|
||||
k8s.io/klog/v2 v2.8.0
|
||||
k8s.io/kubectl v0.0.0
|
||||
k8s.io/kubernetes v1.18.5
|
||||
sigs.k8s.io/sig-storage-lib-external-provisioner v4.0.0+incompatible // indirect
|
||||
sigs.k8s.io/sig-storage-lib-external-provisioner/v5 v5.0.0
|
||||
k8s.io/kubernetes v1.20.5
|
||||
sigs.k8s.io/sig-storage-lib-external-provisioner/v6 v6.3.0
|
||||
)
|
||||
|
||||
replace (
|
||||
|
@ -110,28 +105,30 @@ replace (
|
|||
github.com/docker/machine => github.com/machine-drivers/machine v0.7.1-0.20210306082426-fcb2ad5bcb17
|
||||
github.com/google/go-containerregistry => github.com/afbjorklund/go-containerregistry v0.4.1-0.20210321165649-761f6f9626b1
|
||||
github.com/samalba/dockerclient => github.com/sayboras/dockerclient v1.0.0
|
||||
k8s.io/api => k8s.io/api v0.17.3
|
||||
k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.17.3
|
||||
k8s.io/apimachinery => k8s.io/apimachinery v0.17.3
|
||||
k8s.io/apiserver => k8s.io/apiserver v0.17.3
|
||||
k8s.io/cli-runtime => k8s.io/cli-runtime v0.17.3
|
||||
k8s.io/client-go => k8s.io/client-go v0.17.3
|
||||
k8s.io/cloud-provider => k8s.io/cloud-provider v0.17.3
|
||||
k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.17.3
|
||||
k8s.io/code-generator => k8s.io/code-generator v0.17.3
|
||||
k8s.io/component-base => k8s.io/component-base v0.17.3
|
||||
k8s.io/cri-api => k8s.io/cri-api v0.17.3
|
||||
k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.17.3
|
||||
k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.17.3
|
||||
k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.17.3
|
||||
k8s.io/kube-proxy => k8s.io/kube-proxy v0.17.3
|
||||
k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.17.3
|
||||
k8s.io/kubectl => k8s.io/kubectl v0.17.3
|
||||
k8s.io/kubelet => k8s.io/kubelet v0.17.3
|
||||
k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.17.3
|
||||
k8s.io/metrics => k8s.io/metrics v0.17.3
|
||||
k8s.io/node-api => k8s.io/node-api v0.17.3
|
||||
k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.17.3
|
||||
k8s.io/sample-cli-plugin => k8s.io/sample-cli-plugin v0.17.3
|
||||
k8s.io/sample-controller => k8s.io/sample-controller v0.17.3
|
||||
k8s.io/api => k8s.io/api v0.20.5
|
||||
k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.20.5
|
||||
k8s.io/apimachinery => k8s.io/apimachinery v0.20.5
|
||||
k8s.io/apiserver => k8s.io/apiserver v0.20.5
|
||||
k8s.io/cli-runtime => k8s.io/cli-runtime v0.20.5
|
||||
k8s.io/client-go => k8s.io/client-go v0.20.5
|
||||
k8s.io/cloud-provider => k8s.io/cloud-provider v0.20.5
|
||||
k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.20.5
|
||||
k8s.io/code-generator => k8s.io/code-generator v0.20.5
|
||||
k8s.io/component-base => k8s.io/component-base v0.20.5
|
||||
k8s.io/component-helpers => k8s.io/component-helpers v0.20.5
|
||||
k8s.io/controller-manager => k8s.io/controller-manager v0.20.5
|
||||
k8s.io/cri-api => k8s.io/cri-api v0.20.5
|
||||
k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.20.5
|
||||
k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.20.5
|
||||
k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.20.5
|
||||
k8s.io/kube-proxy => k8s.io/kube-proxy v0.20.5
|
||||
k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.20.5
|
||||
k8s.io/kubectl => k8s.io/kubectl v0.20.5
|
||||
k8s.io/kubelet => k8s.io/kubelet v0.20.5
|
||||
k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.20.5
|
||||
k8s.io/metrics => k8s.io/metrics v0.20.5
|
||||
k8s.io/mount-utils => k8s.io/mount-utils v0.20.5
|
||||
k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.20.5
|
||||
k8s.io/sample-cli-plugin => k8s.io/sample-cli-plugin v0.20.5
|
||||
k8s.io/sample-controller => k8s.io/sample-controller v0.20.5
|
||||
)
|
||||
|
|
|
@ -76,7 +76,7 @@ func WaitForPods(c kubernetes.Interface, ns string, selector string, timeOut ...
|
|||
lastKnownPodNumber := -1
|
||||
f := func() (bool, error) {
|
||||
listOpts := meta.ListOptions{LabelSelector: selector}
|
||||
pods, err := c.CoreV1().Pods(ns).List(listOpts)
|
||||
pods, err := c.CoreV1().Pods(ns).List(context.Background(), listOpts)
|
||||
if err != nil {
|
||||
klog.Infof("temporary error: getting Pods with label selector %q : [%v]\n", selector, err)
|
||||
return false, nil
|
||||
|
@ -115,14 +115,14 @@ func WaitForRCToStabilize(c kubernetes.Interface, ns, name string, timeout time.
|
|||
"metadata.name": name,
|
||||
"metadata.namespace": ns,
|
||||
}.AsSelector().String()}
|
||||
w, err := c.CoreV1().ReplicationControllers(ns).Watch(options)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
ctx, cancel := watchtools.ContextWithOptionalTimeout(context.Background(), timeout)
|
||||
defer cancel()
|
||||
|
||||
w, err := c.CoreV1().ReplicationControllers(ns).Watch(ctx, options)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
_, err = watchtools.UntilWithoutRetry(ctx, w, func(event watch.Event) (bool, error) {
|
||||
if event.Type == watch.Deleted {
|
||||
return false, apierr.NewNotFound(schema.GroupResource{Resource: "replicationcontrollers"}, "")
|
||||
|
@ -149,14 +149,14 @@ func WaitForDeploymentToStabilize(c kubernetes.Interface, ns, name string, timeo
|
|||
"metadata.name": name,
|
||||
"metadata.namespace": ns,
|
||||
}.AsSelector().String()}
|
||||
w, err := c.AppsV1().Deployments(ns).Watch(options)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
ctx, cancel := watchtools.ContextWithOptionalTimeout(context.Background(), timeout)
|
||||
defer cancel()
|
||||
|
||||
w, err := c.AppsV1().Deployments(ns).Watch(ctx, options)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
_, err = watchtools.UntilWithoutRetry(ctx, w, func(event watch.Event) (bool, error) {
|
||||
if event.Type == watch.Deleted {
|
||||
return false, apierr.NewNotFound(schema.GroupResource{Resource: "deployments"}, "")
|
||||
|
@ -179,7 +179,7 @@ func WaitForDeploymentToStabilize(c kubernetes.Interface, ns, name string, timeo
|
|||
// WaitForService waits until the service appears (exist == true), or disappears (exist == false)
|
||||
func WaitForService(c kubernetes.Interface, namespace, name string, exist bool, interval, timeout time.Duration) error {
|
||||
err := wait.PollImmediate(interval, timeout, func() (bool, error) {
|
||||
_, err := c.CoreV1().Services(namespace).Get(name, meta.GetOptions{})
|
||||
_, err := c.CoreV1().Services(namespace).Get(context.Background(), name, meta.GetOptions{})
|
||||
switch {
|
||||
case err == nil:
|
||||
klog.Infof("Service %s in namespace %s found.", name, namespace)
|
||||
|
@ -213,24 +213,24 @@ func KubectlBinaryPath(version string) string {
|
|||
}
|
||||
|
||||
// ScaleDeployment sets the number of replicas of deployment in namespace and context
|
||||
func ScaleDeployment(context, namespace, deploymentName string, replicas int) error {
|
||||
client, err := Client(context)
|
||||
func ScaleDeployment(kcontext, namespace, deploymentName string, replicas int) error {
|
||||
client, err := Client(kcontext)
|
||||
if err != nil {
|
||||
return fmt.Errorf("client: %v", err)
|
||||
}
|
||||
|
||||
scale, err := client.AppsV1().Deployments(namespace).GetScale(deploymentName, meta.GetOptions{})
|
||||
scale, err := client.AppsV1().Deployments(namespace).GetScale(context.Background(), deploymentName, meta.GetOptions{})
|
||||
if err != nil {
|
||||
return fmt.Errorf("deployment scale: %v", err)
|
||||
}
|
||||
if scale.Spec.Replicas != int32(replicas) {
|
||||
scale.Spec.Replicas = int32(replicas)
|
||||
_, err = client.AppsV1().Deployments(namespace).UpdateScale(deploymentName, scale)
|
||||
_, err = client.AppsV1().Deployments(namespace).UpdateScale(context.Background(), deploymentName, scale, meta.UpdateOptions{})
|
||||
if err != nil {
|
||||
return fmt.Errorf("deployment rescale: %v", err)
|
||||
}
|
||||
}
|
||||
klog.Infof("deployment %q in namespace %q and context %q rescaled to %d", deploymentName, namespace, context, replicas)
|
||||
klog.Infof("deployment %q in namespace %q and context %q rescaled to %d", deploymentName, namespace, kcontext, replicas)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -18,6 +18,7 @@ limitations under the License.
|
|||
package kverify
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
|
@ -34,7 +35,7 @@ func WaitForDefaultSA(cs *kubernetes.Clientset, timeout time.Duration) error {
|
|||
start := time.Now()
|
||||
saReady := func() (bool, error) {
|
||||
// equivalent to manual check of 'kubectl --context profile get serviceaccount default'
|
||||
sas, err := cs.CoreV1().ServiceAccounts("default").List(meta.ListOptions{})
|
||||
sas, err := cs.CoreV1().ServiceAccounts("default").List(context.Background(), meta.ListOptions{})
|
||||
if err != nil {
|
||||
klog.Infof("temporary error waiting for default SA: %v", err)
|
||||
return false, nil
|
||||
|
|
|
@ -18,6 +18,7 @@ limitations under the License.
|
|||
package kverify
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
|
@ -108,7 +109,7 @@ func NodePressure(cs *kubernetes.Clientset) error {
|
|||
var err error
|
||||
|
||||
listNodes := func() error {
|
||||
ns, err = cs.CoreV1().Nodes().List(meta.ListOptions{})
|
||||
ns, err = cs.CoreV1().Nodes().List(context.Background(), meta.ListOptions{})
|
||||
return err
|
||||
}
|
||||
|
||||
|
|
|
@ -18,6 +18,7 @@ limitations under the License.
|
|||
package kverify
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
|
@ -68,7 +69,7 @@ func WaitNodeCondition(cs *kubernetes.Clientset, name string, condition core.Nod
|
|||
|
||||
// nodeConditionStatus returns if node is in specified condition and verbose reason.
|
||||
func nodeConditionStatus(cs *kubernetes.Clientset, name string, condition core.NodeConditionType) (status core.ConditionStatus, reason string) {
|
||||
node, err := cs.CoreV1().Nodes().Get(name, meta.GetOptions{})
|
||||
node, err := cs.CoreV1().Nodes().Get(context.Background(), name, meta.GetOptions{})
|
||||
if err != nil {
|
||||
return core.ConditionUnknown, fmt.Sprintf("error getting node %q: %v", name, err)
|
||||
}
|
||||
|
|
|
@ -18,6 +18,7 @@ limitations under the License.
|
|||
package kverify
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
|
@ -37,7 +38,7 @@ func WaitExtra(cs *kubernetes.Clientset, labels []string, timeout time.Duration)
|
|||
klog.Infof("duration metric: took %s for extra waiting for all system-critical and pods with labels %v to be %q ...", time.Since(start), labels, core.PodReady)
|
||||
}()
|
||||
|
||||
pods, err := cs.CoreV1().Pods(meta.NamespaceSystem).List(meta.ListOptions{})
|
||||
pods, err := cs.CoreV1().Pods(meta.NamespaceSystem).List(context.Background(), meta.ListOptions{})
|
||||
if err != nil {
|
||||
return fmt.Errorf("error listing pods in %q namespace: %w", meta.NamespaceSystem, err)
|
||||
}
|
||||
|
@ -111,7 +112,7 @@ func waitPodCondition(cs *kubernetes.Clientset, name, namespace string, conditio
|
|||
|
||||
// podConditionStatus returns if pod is in specified condition and verbose reason.
|
||||
func podConditionStatus(cs *kubernetes.Clientset, name, namespace string, condition core.PodConditionType) (status core.ConditionStatus, reason string) {
|
||||
pod, err := cs.CoreV1().Pods(namespace).Get(name, meta.GetOptions{})
|
||||
pod, err := cs.CoreV1().Pods(namespace).Get(context.Background(), name, meta.GetOptions{})
|
||||
if err != nil {
|
||||
return core.ConditionUnknown, fmt.Sprintf("error getting pod %q in %q namespace: %v", name, namespace, err)
|
||||
}
|
||||
|
|
|
@ -18,6 +18,7 @@ limitations under the License.
|
|||
package kverify
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"strings"
|
||||
"time"
|
||||
|
@ -48,7 +49,7 @@ func WaitForSystemPods(r cruntime.Manager, bs bootstrapper.Bootstrapper, cfg con
|
|||
}
|
||||
|
||||
// Wait for any system pod, as waiting for apiserver may block until etcd
|
||||
pods, err := client.CoreV1().Pods("kube-system").List(meta.ListOptions{})
|
||||
pods, err := client.CoreV1().Pods("kube-system").List(context.Background(), meta.ListOptions{})
|
||||
if err != nil {
|
||||
klog.Warningf("pod list returned error: %v", err)
|
||||
return err
|
||||
|
@ -77,7 +78,7 @@ func WaitForSystemPods(r cruntime.Manager, bs bootstrapper.Bootstrapper, cfg con
|
|||
func ExpectAppsRunning(cs *kubernetes.Clientset, expected []string) error {
|
||||
found := map[string]bool{}
|
||||
|
||||
pods, err := cs.CoreV1().Pods("kube-system").List(meta.ListOptions{})
|
||||
pods, err := cs.CoreV1().Pods("kube-system").List(context.Background(), meta.ListOptions{})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
@ -689,7 +689,7 @@ func (k *Bootstrapper) restartControlPlane(cfg config.ClusterConfig) error {
|
|||
klog.Info("waiting for restarted kubelet to initialise ...")
|
||||
start := time.Now()
|
||||
wait := func() error {
|
||||
pods, err := client.CoreV1().Pods(meta.NamespaceSystem).List(meta.ListOptions{LabelSelector: "tier=control-plane"})
|
||||
pods, err := client.CoreV1().Pods(meta.NamespaceSystem).List(context.Background(), meta.ListOptions{LabelSelector: "tier=control-plane"})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
@ -17,12 +17,14 @@ limitations under the License.
|
|||
package node
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"os/exec"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/spf13/viper"
|
||||
|
||||
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/klog/v2"
|
||||
"k8s.io/minikube/pkg/kapi"
|
||||
"k8s.io/minikube/pkg/minikube/config"
|
||||
|
@ -119,7 +121,7 @@ func drainNode(cc config.ClusterConfig, name string) (*config.Node, error) {
|
|||
return n, err
|
||||
}
|
||||
|
||||
err = client.CoreV1().Nodes().Delete(m, nil)
|
||||
err = client.CoreV1().Nodes().Delete(context.Background(), m, v1.DeleteOptions{})
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
|
|
|
@ -18,6 +18,7 @@ package service
|
|||
|
||||
import (
|
||||
"bytes"
|
||||
"context"
|
||||
"fmt"
|
||||
"io"
|
||||
"net/url"
|
||||
|
@ -106,7 +107,7 @@ func GetServiceURLs(api libmachine.API, cname string, namespace string, t *templ
|
|||
|
||||
serviceInterface := client.Services(namespace)
|
||||
|
||||
svcs, err := serviceInterface.List(meta.ListOptions{})
|
||||
svcs, err := serviceInterface.List(context.Background(), meta.ListOptions{})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -148,12 +149,12 @@ func printURLsForService(c typed_core.CoreV1Interface, ip, service, namespace st
|
|||
return SvcURL{}, errors.New("Error, attempted to generate service url with nil --format template")
|
||||
}
|
||||
|
||||
svc, err := c.Services(namespace).Get(service, meta.GetOptions{})
|
||||
svc, err := c.Services(namespace).Get(context.Background(), service, meta.GetOptions{})
|
||||
if err != nil {
|
||||
return SvcURL{}, errors.Wrapf(err, "service '%s' could not be found running", service)
|
||||
}
|
||||
|
||||
endpoints, err := c.Endpoints(namespace).Get(service, meta.GetOptions{})
|
||||
endpoints, err := c.Endpoints(namespace).Get(context.Background(), service, meta.GetOptions{})
|
||||
m := make(map[int32]string)
|
||||
if err == nil && endpoints != nil && len(endpoints.Subsets) > 0 {
|
||||
for _, ept := range endpoints.Subsets {
|
||||
|
@ -201,7 +202,7 @@ func CheckService(cname string, namespace string, service string) error {
|
|||
return errors.Wrap(err, "Error getting Kubernetes client")
|
||||
}
|
||||
|
||||
svc, err := client.Services(namespace).Get(service, meta.GetOptions{})
|
||||
svc, err := client.Services(namespace).Get(context.Background(), service, meta.GetOptions{})
|
||||
if err != nil {
|
||||
return &retry.RetriableError{
|
||||
Err: errors.Wrapf(err, "Error getting service %s", service),
|
||||
|
@ -309,7 +310,7 @@ func GetServiceListByLabel(cname string, namespace string, key string, value str
|
|||
|
||||
func getServiceListFromServicesByLabel(services typed_core.ServiceInterface, key string, value string) (*core.ServiceList, error) {
|
||||
selector := labels.SelectorFromSet(labels.Set(map[string]string{key: value}))
|
||||
serviceList, err := services.List(meta.ListOptions{LabelSelector: selector.String()})
|
||||
serviceList, err := services.List(context.Background(), meta.ListOptions{LabelSelector: selector.String()})
|
||||
if err != nil {
|
||||
return &core.ServiceList{}, &retry.RetriableError{Err: err}
|
||||
}
|
||||
|
@ -325,7 +326,7 @@ func CreateSecret(cname string, namespace, name string, dataValues map[string]st
|
|||
}
|
||||
|
||||
secrets := client.Secrets(namespace)
|
||||
secret, err := secrets.Get(name, meta.GetOptions{})
|
||||
secret, err := secrets.Get(context.Background(), name, meta.GetOptions{})
|
||||
if err != nil {
|
||||
klog.Infof("Failed to retrieve existing secret: %v", err)
|
||||
}
|
||||
|
@ -354,7 +355,7 @@ func CreateSecret(cname string, namespace, name string, dataValues map[string]st
|
|||
Type: core.SecretTypeOpaque,
|
||||
}
|
||||
|
||||
_, err = secrets.Create(secretObj)
|
||||
_, err = secrets.Create(context.Background(), secretObj, meta.CreateOptions{})
|
||||
if err != nil {
|
||||
return &retry.RetriableError{Err: err}
|
||||
}
|
||||
|
@ -370,7 +371,7 @@ func DeleteSecret(cname string, namespace, name string) error {
|
|||
}
|
||||
|
||||
secrets := client.Secrets(namespace)
|
||||
err = secrets.Delete(name, &meta.DeleteOptions{})
|
||||
err = secrets.Delete(context.Background(), name, meta.DeleteOptions{})
|
||||
if err != nil {
|
||||
return &retry.RetriableError{Err: err}
|
||||
}
|
||||
|
|
|
@ -18,6 +18,7 @@ package service
|
|||
|
||||
import (
|
||||
"bytes"
|
||||
"context"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
|
@ -217,7 +218,7 @@ var endpointMap = map[string]*core.Endpoints{
|
|||
},
|
||||
}
|
||||
|
||||
func (e MockEndpointsInterface) Get(name string, _ meta.GetOptions) (*core.Endpoints, error) {
|
||||
func (e MockEndpointsInterface) Get(ctx context.Context, name string, _ meta.GetOptions) (*core.Endpoints, error) {
|
||||
endpoint, ok := endpointMap[name]
|
||||
if !ok {
|
||||
return nil, errors.New("Endpoint not found")
|
||||
|
@ -235,7 +236,7 @@ type MockSecretInterface struct {
|
|||
SecretsList *core.SecretList
|
||||
}
|
||||
|
||||
func (s MockServiceInterface) List(opts meta.ListOptions) (*core.ServiceList, error) {
|
||||
func (s MockServiceInterface) List(ctx context.Context, opts meta.ListOptions) (*core.ServiceList, error) {
|
||||
serviceList := &core.ServiceList{
|
||||
Items: []core.Service{},
|
||||
}
|
||||
|
@ -254,7 +255,7 @@ func (s MockServiceInterface) List(opts meta.ListOptions) (*core.ServiceList, er
|
|||
return s.ServiceList, nil
|
||||
}
|
||||
|
||||
func (s MockServiceInterface) Get(name string, _ meta.GetOptions) (*core.Service, error) {
|
||||
func (s MockServiceInterface) Get(ctx context.Context, name string, _ meta.GetOptions) (*core.Service, error) {
|
||||
for _, svc := range s.ServiceList.Items {
|
||||
if svc.ObjectMeta.Name == name {
|
||||
return &svc, nil
|
||||
|
|
|
@ -17,6 +17,7 @@ limitations under the License.
|
|||
package storageclass
|
||||
|
||||
import (
|
||||
"context"
|
||||
"strconv"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
|
@ -29,7 +30,7 @@ import (
|
|||
func annotateDefaultStorageClass(storage storagev1.StorageV1Interface, class *v1.StorageClass, enable bool) error {
|
||||
isDefault := strconv.FormatBool(enable)
|
||||
metav1.SetMetaDataAnnotation(&class.ObjectMeta, "storageclass.kubernetes.io/is-default-class", isDefault)
|
||||
_, err := storage.StorageClasses().Update(class)
|
||||
_, err := storage.StorageClasses().Update(context.Background(), class, metav1.UpdateOptions{})
|
||||
|
||||
return err
|
||||
}
|
||||
|
@ -37,7 +38,7 @@ func annotateDefaultStorageClass(storage storagev1.StorageV1Interface, class *v1
|
|||
// DisableDefaultStorageClass disables the default storage class provisioner
|
||||
// The addon-manager and kubectl apply cannot delete storageclasses
|
||||
func DisableDefaultStorageClass(storage storagev1.StorageV1Interface, class string) error {
|
||||
sc, err := storage.StorageClasses().Get(class, metav1.GetOptions{})
|
||||
sc, err := storage.StorageClasses().Get(context.Background(), class, metav1.GetOptions{})
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "Error getting storage class %s", class)
|
||||
}
|
||||
|
@ -52,7 +53,7 @@ func DisableDefaultStorageClass(storage storagev1.StorageV1Interface, class stri
|
|||
// SetDefaultStorageClass makes sure only the class with @name is marked as
|
||||
// default.
|
||||
func SetDefaultStorageClass(storage storagev1.StorageV1Interface, name string) error {
|
||||
scList, err := storage.StorageClasses().List(metav1.ListOptions{})
|
||||
scList, err := storage.StorageClasses().List(context.Background(), metav1.ListOptions{})
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "Error listing StorageClasses")
|
||||
}
|
||||
|
|
|
@ -17,6 +17,7 @@ limitations under the License.
|
|||
package storageclass
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
|
@ -74,7 +75,7 @@ func (mockStorageV1InterfaceWithBadItem) StorageClasses() storagev1.StorageClass
|
|||
return mockStorageClassInterfaceWithBadItem{}
|
||||
}
|
||||
|
||||
func (mockStorageClassInterfaceOk) Get(name string, options metav1.GetOptions) (*v1.StorageClass, error) {
|
||||
func (mockStorageClassInterfaceOk) Get(ctx context.Context, name string, options metav1.GetOptions) (*v1.StorageClass, error) {
|
||||
if strings.HasPrefix(name, "bad-class") {
|
||||
return nil, fmt.Errorf("mocked error. No such class")
|
||||
}
|
||||
|
@ -82,31 +83,31 @@ func (mockStorageClassInterfaceOk) Get(name string, options metav1.GetOptions) (
|
|||
return &sc, nil
|
||||
}
|
||||
|
||||
func (m mockStorageClassInterfaceOk) List(opts metav1.ListOptions) (*v1.StorageClassList, error) {
|
||||
func (m mockStorageClassInterfaceOk) List(ctx context.Context, opts metav1.ListOptions) (*v1.StorageClassList, error) {
|
||||
scl := v1.StorageClassList{}
|
||||
sc := v1.StorageClass{Provisioner: "standard"}
|
||||
scl.Items = append(scl.Items, sc)
|
||||
return &scl, nil
|
||||
}
|
||||
|
||||
func (m mockStorageClassInterfaceWithBadItem) List(opts metav1.ListOptions) (*v1.StorageClassList, error) {
|
||||
func (m mockStorageClassInterfaceWithBadItem) List(ctx context.Context, opts metav1.ListOptions) (*v1.StorageClassList, error) {
|
||||
scl := v1.StorageClassList{}
|
||||
sc := v1.StorageClass{Provisioner: "bad", ObjectMeta: metav1.ObjectMeta{Name: "standard"}}
|
||||
scl.Items = append(scl.Items, sc)
|
||||
return &scl, nil
|
||||
}
|
||||
func (mockStorageClassInterfaceListErr) List(opts metav1.ListOptions) (*v1.StorageClassList, error) {
|
||||
func (mockStorageClassInterfaceListErr) List(ctx context.Context, opts metav1.ListOptions) (*v1.StorageClassList, error) {
|
||||
return nil, fmt.Errorf("mocked list error")
|
||||
}
|
||||
|
||||
func (mockStorageClassInterfaceOk) Update(sc *v1.StorageClass) (*v1.StorageClass, error) {
|
||||
func (mockStorageClassInterfaceOk) Update(ctx context.Context, sc *v1.StorageClass, opts metav1.UpdateOptions) (*v1.StorageClass, error) {
|
||||
if strings.HasPrefix(sc.Provisioner, "bad") {
|
||||
return nil, fmt.Errorf("bad provisioner")
|
||||
}
|
||||
return &v1.StorageClass{}, nil
|
||||
}
|
||||
|
||||
func (mockStorageClassInterfaceWithBadItem) Update(sc *v1.StorageClass) (*v1.StorageClass, error) {
|
||||
func (mockStorageClassInterfaceWithBadItem) Update(ctx context.Context, sc *v1.StorageClass, opts metav1.UpdateOptions) (*v1.StorageClass, error) {
|
||||
if strings.HasPrefix(sc.Provisioner, "bad") {
|
||||
return nil, fmt.Errorf("bad provisioner")
|
||||
}
|
||||
|
|
|
@ -17,6 +17,7 @@ limitations under the License.
|
|||
package kic
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
|
@ -46,7 +47,7 @@ func NewServiceTunnel(sshPort, sshKey string, v1Core typed_core.CoreV1Interface)
|
|||
|
||||
// Start ...
|
||||
func (t *ServiceTunnel) Start(svcName, namespace string) ([]string, error) {
|
||||
svc, err := t.v1Core.Services(namespace).Get(svcName, metav1.GetOptions{})
|
||||
svc, err := t.v1Core.Services(namespace).Get(context.Background(), svcName, metav1.GetOptions{})
|
||||
if err != nil {
|
||||
return nil, errors.Wrapf(err, "Service %s was not found in %q namespace. You may select another namespace by using 'minikube service %s -n <namespace>", svcName, namespace, svcName)
|
||||
}
|
||||
|
|
|
@ -67,7 +67,7 @@ func (t *SSHTunnel) Start() error {
|
|||
default:
|
||||
}
|
||||
|
||||
services, err := t.v1Core.Services("").List(metav1.ListOptions{})
|
||||
services, err := t.v1Core.Services("").List(context.Background(), metav1.ListOptions{})
|
||||
if err != nil {
|
||||
klog.Errorf("error listing services: %v", err)
|
||||
}
|
||||
|
|
|
@ -17,6 +17,7 @@ limitations under the License.
|
|||
package tunnel
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
core "k8s.io/api/core/v1"
|
||||
|
@ -63,7 +64,7 @@ func (l *LoadBalancerEmulator) Cleanup() ([]string, error) {
|
|||
|
||||
func (l *LoadBalancerEmulator) applyOnLBServices(action func(restClient rest.Interface, svc core.Service) ([]byte, error)) ([]string, error) {
|
||||
services := l.coreV1Client.Services("")
|
||||
serviceList, err := services.List(meta.ListOptions{})
|
||||
serviceList, err := services.List(context.Background(), meta.ListOptions{})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -172,5 +173,5 @@ func (c *defaultPatchConverter) convert(restClient rest.Interface, patch *Patch)
|
|||
type defaultRequestSender struct{}
|
||||
|
||||
func (r *defaultRequestSender) send(request *rest.Request) ([]byte, error) {
|
||||
return request.Do().Raw()
|
||||
return request.Do(context.Background()).Raw()
|
||||
}
|
||||
|
|
|
@ -17,6 +17,7 @@ limitations under the License.
|
|||
package tunnel
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
|
||||
"reflect"
|
||||
|
@ -50,7 +51,7 @@ type stubServices struct {
|
|||
servicesList *core.ServiceList
|
||||
}
|
||||
|
||||
func (s *stubServices) List(opts meta.ListOptions) (*core.ServiceList, error) {
|
||||
func (s *stubServices) List(ctx context.Context, opts meta.ListOptions) (*core.ServiceList, error) {
|
||||
return s.servicesList, nil
|
||||
}
|
||||
|
||||
|
|
|
@ -17,20 +17,21 @@ limitations under the License.
|
|||
package storage
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"os"
|
||||
"path"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
|
||||
core "k8s.io/api/core/v1"
|
||||
meta "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/types"
|
||||
"k8s.io/apimachinery/pkg/util/uuid"
|
||||
"k8s.io/apimachinery/pkg/util/wait"
|
||||
"k8s.io/client-go/kubernetes"
|
||||
"k8s.io/client-go/rest"
|
||||
"k8s.io/klog/v2"
|
||||
"sigs.k8s.io/sig-storage-lib-external-provisioner/v5/controller"
|
||||
"sigs.k8s.io/sig-storage-lib-external-provisioner/v6/controller"
|
||||
)
|
||||
|
||||
const provisionerName = "k8s.io/minikube-hostpath"
|
||||
|
@ -55,16 +56,16 @@ func NewHostPathProvisioner(pvDir string) controller.Provisioner {
|
|||
var _ controller.Provisioner = &hostPathProvisioner{}
|
||||
|
||||
// Provision creates a storage asset and returns a PV object representing it.
|
||||
func (p *hostPathProvisioner) Provision(options controller.ProvisionOptions) (*core.PersistentVolume, error) {
|
||||
func (p *hostPathProvisioner) Provision(ctx context.Context, options controller.ProvisionOptions) (*core.PersistentVolume, controller.ProvisioningState, error) {
|
||||
path := path.Join(p.pvDir, options.PVC.Namespace, options.PVC.Name)
|
||||
klog.Infof("Provisioning volume %v to %s", options, path)
|
||||
if err := os.MkdirAll(path, 0777); err != nil {
|
||||
return nil, err
|
||||
return nil, controller.ProvisioningFinished, err
|
||||
}
|
||||
|
||||
// Explicitly chmod created dir, so we know mode is set to 0777 regardless of umask
|
||||
if err := os.Chmod(path, 0777); err != nil {
|
||||
return nil, err
|
||||
return nil, controller.ProvisioningFinished, err
|
||||
}
|
||||
|
||||
pv := &core.PersistentVolume{
|
||||
|
@ -88,12 +89,12 @@ func (p *hostPathProvisioner) Provision(options controller.ProvisionOptions) (*c
|
|||
},
|
||||
}
|
||||
|
||||
return pv, nil
|
||||
return pv, controller.ProvisioningFinished, nil
|
||||
}
|
||||
|
||||
// Delete removes the storage asset that was created by Provision represented
|
||||
// by the given PV.
|
||||
func (p *hostPathProvisioner) Delete(volume *core.PersistentVolume) error {
|
||||
func (p *hostPathProvisioner) Delete(ctx context.Context, volume *core.PersistentVolume) error {
|
||||
klog.Infof("Deleting volume %v", volume)
|
||||
ann, ok := volume.Annotations["hostPathProvisionerIdentity"]
|
||||
if !ok {
|
||||
|
@ -138,6 +139,6 @@ func StartStorageProvisioner(pvDir string) error {
|
|||
pc := controller.NewProvisionController(clientset, provisionerName, hostPathProvisioner, serverVersion.GitVersion)
|
||||
|
||||
klog.Info("Storage provisioner initialized, now starting service!")
|
||||
pc.Run(wait.NeverStop)
|
||||
pc.Run(context.Background())
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -315,7 +315,7 @@ func PodWait(ctx context.Context, t *testing.T, profile string, ns string, selec
|
|||
start := time.Now()
|
||||
t.Logf("(dbg) %s: waiting %s for pods matching %q in namespace %q ...", t.Name(), timeout, selector, ns)
|
||||
f := func() (bool, error) {
|
||||
pods, err := client.CoreV1().Pods(ns).List(listOpts)
|
||||
pods, err := client.CoreV1().Pods(ns).List(ctx, listOpts)
|
||||
if err != nil {
|
||||
t.Logf("%s: WARNING: pod list for %q %q returned: %v", t.Name(), ns, selector, err)
|
||||
// Don't return the error upwards so that this is retried, in case the apiserver is rescheduled
|
||||
|
|
Loading…
Reference in New Issue