Merge pull request #88929 from liggitt/expansions

client-go: plumb context to expansions methods
This commit is contained in:
Kubernetes Prow Robot 2020-03-06 20:35:34 -08:00 committed by GitHub
commit b30c9a3aba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
24 changed files with 71 additions and 47 deletions

View File

@ -100,7 +100,7 @@ func (a *sarApprover) handle(csr *capi.CertificateSigningRequest) error {
} }
if approved { if approved {
appendApprovalCondition(csr, r.successMessage) appendApprovalCondition(csr, r.successMessage)
_, err = a.client.CertificatesV1beta1().CertificateSigningRequests().UpdateApproval(csr) _, err = a.client.CertificatesV1beta1().CertificateSigningRequests().UpdateApproval(context.Background(), csr, metav1.UpdateOptions{})
if err != nil { if err != nil {
return fmt.Errorf("error updating approval for csr: %v", err) return fmt.Errorf("error updating approval for csr: %v", err)
} }

View File

@ -17,6 +17,7 @@ limitations under the License.
package certificates package certificates
import ( import (
"context"
"testing" "testing"
"time" "time"
@ -47,7 +48,7 @@ func TestCertificateController(t *testing.T) {
Reason: "test reason", Reason: "test reason",
Message: "test message", Message: "test message",
}) })
_, err := client.CertificatesV1beta1().CertificateSigningRequests().UpdateApproval(csr) _, err := client.CertificatesV1beta1().CertificateSigningRequests().UpdateApproval(context.TODO(), csr, metav1.UpdateOptions{})
if err != nil { if err != nil {
return err return err
} }

View File

@ -292,7 +292,7 @@ func (d *namespacedResourcesDeleter) finalizeNamespace(namespace *v1.Namespace)
for _, value := range finalizerSet.List() { for _, value := range finalizerSet.List() {
namespaceFinalize.Spec.Finalizers = append(namespaceFinalize.Spec.Finalizers, v1.FinalizerName(value)) namespaceFinalize.Spec.Finalizers = append(namespaceFinalize.Spec.Finalizers, v1.FinalizerName(value))
} }
namespace, err := d.nsClient.Finalize(&namespaceFinalize) namespace, err := d.nsClient.Finalize(context.Background(), &namespaceFinalize, metav1.UpdateOptions{})
if err != nil { if err != nil {
// it was removed already, so life is good // it was removed already, so life is good
if errors.IsNotFound(err) { if errors.IsNotFound(err) {

View File

@ -53,7 +53,7 @@ func (b DefaultBinder) Bind(ctx context.Context, state *framework.CycleState, p
ObjectMeta: metav1.ObjectMeta{Namespace: p.Namespace, Name: p.Name, UID: p.UID}, ObjectMeta: metav1.ObjectMeta{Namespace: p.Namespace, Name: p.Name, UID: p.UID},
Target: v1.ObjectReference{Kind: "Node", Name: nodeName}, Target: v1.ObjectReference{Kind: "Node", Name: nodeName},
} }
err := b.handle.ClientSet().CoreV1().Pods(binding.Namespace).Bind(binding) err := b.handle.ClientSet().CoreV1().Pods(binding.Namespace).Bind(context.TODO(), binding, metav1.CreateOptions{})
if err != nil { if err != nil {
return framework.NewStatus(framework.Error, err.Error()) return framework.NewStatus(framework.Error, err.Error())
} }

View File

@ -20,20 +20,23 @@ import (
"context" "context"
certificates "k8s.io/api/certificates/v1beta1" certificates "k8s.io/api/certificates/v1beta1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
scheme "k8s.io/client-go/kubernetes/scheme"
) )
type CertificateSigningRequestExpansion interface { type CertificateSigningRequestExpansion interface {
UpdateApproval(certificateSigningRequest *certificates.CertificateSigningRequest) (result *certificates.CertificateSigningRequest, err error) UpdateApproval(ctx context.Context, certificateSigningRequest *certificates.CertificateSigningRequest, opts metav1.UpdateOptions) (result *certificates.CertificateSigningRequest, err error)
} }
func (c *certificateSigningRequests) UpdateApproval(certificateSigningRequest *certificates.CertificateSigningRequest) (result *certificates.CertificateSigningRequest, err error) { func (c *certificateSigningRequests) UpdateApproval(ctx context.Context, certificateSigningRequest *certificates.CertificateSigningRequest, opts metav1.UpdateOptions) (result *certificates.CertificateSigningRequest, err error) {
result = &certificates.CertificateSigningRequest{} result = &certificates.CertificateSigningRequest{}
err = c.client.Put(). err = c.client.Put().
Resource("certificatesigningrequests"). Resource("certificatesigningrequests").
Name(certificateSigningRequest.Name). Name(certificateSigningRequest.Name).
VersionedParams(&opts, scheme.ParameterCodec).
Body(certificateSigningRequest). Body(certificateSigningRequest).
SubResource("approval"). SubResource("approval").
Do(context.TODO()). Do(ctx).
Into(result) Into(result)
return return
} }

View File

@ -17,11 +17,14 @@ limitations under the License.
package fake package fake
import ( import (
"context"
certificates "k8s.io/api/certificates/v1beta1" certificates "k8s.io/api/certificates/v1beta1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
core "k8s.io/client-go/testing" core "k8s.io/client-go/testing"
) )
func (c *FakeCertificateSigningRequests) UpdateApproval(certificateSigningRequest *certificates.CertificateSigningRequest) (result *certificates.CertificateSigningRequest, err error) { func (c *FakeCertificateSigningRequests) UpdateApproval(ctx context.Context, certificateSigningRequest *certificates.CertificateSigningRequest, opts metav1.UpdateOptions) (result *certificates.CertificateSigningRequest, err error) {
obj, err := c.Fake. obj, err := c.Fake.
Invokes(core.NewRootUpdateSubresourceAction(certificatesigningrequestsResource, "approval", certificateSigningRequest), &certificates.CertificateSigningRequest{}) Invokes(core.NewRootUpdateSubresourceAction(certificatesigningrequestsResource, "approval", certificateSigningRequest), &certificates.CertificateSigningRequest{})
if obj == nil { if obj == nil {

View File

@ -17,11 +17,14 @@ limitations under the License.
package fake package fake
import ( import (
"context"
"k8s.io/api/core/v1" "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
core "k8s.io/client-go/testing" core "k8s.io/client-go/testing"
) )
func (c *FakeNamespaces) Finalize(namespace *v1.Namespace) (*v1.Namespace, error) { func (c *FakeNamespaces) Finalize(ctx context.Context, namespace *v1.Namespace, opts metav1.UpdateOptions) (*v1.Namespace, error) {
action := core.CreateActionImpl{} action := core.CreateActionImpl{}
action.Verb = "create" action.Verb = "create"
action.Resource = namespacesResource action.Resource = namespacesResource

View File

@ -17,13 +17,16 @@ limitations under the License.
package fake package fake
import ( import (
"context"
"k8s.io/api/core/v1" "k8s.io/api/core/v1"
policy "k8s.io/api/policy/v1beta1" policy "k8s.io/api/policy/v1beta1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
restclient "k8s.io/client-go/rest" restclient "k8s.io/client-go/rest"
core "k8s.io/client-go/testing" core "k8s.io/client-go/testing"
) )
func (c *FakePods) Bind(binding *v1.Binding) error { func (c *FakePods) Bind(ctx context.Context, binding *v1.Binding, opts metav1.CreateOptions) error {
action := core.CreateActionImpl{} action := core.CreateActionImpl{}
action.Verb = "create" action.Verb = "create"
action.Namespace = binding.Namespace action.Namespace = binding.Namespace
@ -57,7 +60,7 @@ func (c *FakePods) GetLogs(name string, opts *v1.PodLogOptions) *restclient.Requ
return &restclient.Request{} return &restclient.Request{}
} }
func (c *FakePods) Evict(eviction *policy.Eviction) error { func (c *FakePods) Evict(ctx context.Context, eviction *policy.Eviction) error {
action := core.CreateActionImpl{} action := core.CreateActionImpl{}
action.Verb = "create" action.Verb = "create"
action.Namespace = c.ns action.Namespace = c.ns

View File

@ -20,16 +20,18 @@ import (
"context" "context"
v1 "k8s.io/api/core/v1" v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
scheme "k8s.io/client-go/kubernetes/scheme"
) )
// The NamespaceExpansion interface allows manually adding extra methods to the NamespaceInterface. // The NamespaceExpansion interface allows manually adding extra methods to the NamespaceInterface.
type NamespaceExpansion interface { type NamespaceExpansion interface {
Finalize(item *v1.Namespace) (*v1.Namespace, error) Finalize(ctx context.Context, item *v1.Namespace, opts metav1.UpdateOptions) (*v1.Namespace, error)
} }
// Finalize takes the representation of a namespace to update. Returns the server's representation of the namespace, and an error, if it occurs. // Finalize takes the representation of a namespace to update. Returns the server's representation of the namespace, and an error, if it occurs.
func (c *namespaces) Finalize(namespace *v1.Namespace) (result *v1.Namespace, err error) { func (c *namespaces) Finalize(ctx context.Context, namespace *v1.Namespace, opts metav1.UpdateOptions) (result *v1.Namespace, err error) {
result = &v1.Namespace{} result = &v1.Namespace{}
err = c.client.Put().Resource("namespaces").Name(namespace.Name).SubResource("finalize").Body(namespace).Do(context.TODO()).Into(result) err = c.client.Put().Resource("namespaces").Name(namespace.Name).VersionedParams(&opts, scheme.ParameterCodec).SubResource("finalize").Body(namespace).Do(ctx).Into(result)
return return
} }

View File

@ -21,24 +21,25 @@ import (
v1 "k8s.io/api/core/v1" v1 "k8s.io/api/core/v1"
policy "k8s.io/api/policy/v1beta1" policy "k8s.io/api/policy/v1beta1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/kubernetes/scheme" "k8s.io/client-go/kubernetes/scheme"
restclient "k8s.io/client-go/rest" restclient "k8s.io/client-go/rest"
) )
// The PodExpansion interface allows manually adding extra methods to the PodInterface. // The PodExpansion interface allows manually adding extra methods to the PodInterface.
type PodExpansion interface { type PodExpansion interface {
Bind(binding *v1.Binding) error Bind(ctx context.Context, binding *v1.Binding, opts metav1.CreateOptions) error
Evict(eviction *policy.Eviction) error Evict(ctx context.Context, eviction *policy.Eviction) error
GetLogs(name string, opts *v1.PodLogOptions) *restclient.Request GetLogs(name string, opts *v1.PodLogOptions) *restclient.Request
} }
// Bind applies the provided binding to the named pod in the current namespace (binding.Namespace is ignored). // Bind applies the provided binding to the named pod in the current namespace (binding.Namespace is ignored).
func (c *pods) Bind(binding *v1.Binding) error { func (c *pods) Bind(ctx context.Context, binding *v1.Binding, opts metav1.CreateOptions) error {
return c.client.Post().Namespace(c.ns).Resource("pods").Name(binding.Name).SubResource("binding").Body(binding).Do(context.TODO()).Error() return c.client.Post().Namespace(c.ns).Resource("pods").Name(binding.Name).VersionedParams(&opts, scheme.ParameterCodec).SubResource("binding").Body(binding).Do(ctx).Error()
} }
func (c *pods) Evict(eviction *policy.Eviction) error { func (c *pods) Evict(ctx context.Context, eviction *policy.Eviction) error {
return c.client.Post().Namespace(c.ns).Resource("pods").Name(eviction.Name).SubResource("eviction").Body(eviction).Do(context.TODO()).Error() return c.client.Post().Namespace(c.ns).Resource("pods").Name(eviction.Name).SubResource("eviction").Body(eviction).Do(ctx).Error()
} }
// Get constructs a request for getting the logs for a pod // Get constructs a request for getting the logs for a pod

View File

@ -20,14 +20,16 @@ import (
"context" "context"
"k8s.io/api/extensions/v1beta1" "k8s.io/api/extensions/v1beta1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
scheme "k8s.io/client-go/kubernetes/scheme"
) )
// The DeploymentExpansion interface allows manually adding extra methods to the DeploymentInterface. // The DeploymentExpansion interface allows manually adding extra methods to the DeploymentInterface.
type DeploymentExpansion interface { type DeploymentExpansion interface {
Rollback(*v1beta1.DeploymentRollback) error Rollback(context.Context, *v1beta1.DeploymentRollback, metav1.CreateOptions) error
} }
// Rollback applied the provided DeploymentRollback to the named deployment in the current namespace. // Rollback applied the provided DeploymentRollback to the named deployment in the current namespace.
func (c *deployments) Rollback(deploymentRollback *v1beta1.DeploymentRollback) error { func (c *deployments) Rollback(ctx context.Context, deploymentRollback *v1beta1.DeploymentRollback, opts metav1.CreateOptions) error {
return c.client.Post().Namespace(c.ns).Resource("deployments").Name(deploymentRollback.Name).SubResource("rollback").Body(deploymentRollback).Do(context.TODO()).Error() return c.client.Post().Namespace(c.ns).Resource("deployments").Name(deploymentRollback.Name).VersionedParams(&opts, scheme.ParameterCodec).SubResource("rollback").Body(deploymentRollback).Do(ctx).Error()
} }

View File

@ -17,11 +17,14 @@ limitations under the License.
package fake package fake
import ( import (
"context"
"k8s.io/api/extensions/v1beta1" "k8s.io/api/extensions/v1beta1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
core "k8s.io/client-go/testing" core "k8s.io/client-go/testing"
) )
func (c *FakeDeployments) Rollback(deploymentRollback *v1beta1.DeploymentRollback) error { func (c *FakeDeployments) Rollback(ctx context.Context, deploymentRollback *v1beta1.DeploymentRollback, opts metav1.CreateOptions) error {
action := core.CreateActionImpl{} action := core.CreateActionImpl{}
action.Verb = "create" action.Verb = "create"
action.Resource = deploymentsResource action.Resource = deploymentsResource

View File

@ -24,10 +24,10 @@ import (
// The EvictionExpansion interface allows manually adding extra methods to the ScaleInterface. // The EvictionExpansion interface allows manually adding extra methods to the ScaleInterface.
type EvictionExpansion interface { type EvictionExpansion interface {
Evict(eviction *policy.Eviction) error Evict(ctx context.Context, eviction *policy.Eviction) error
} }
func (c *evictions) Evict(eviction *policy.Eviction) error { func (c *evictions) Evict(ctx context.Context, eviction *policy.Eviction) error {
return c.client.Post(). return c.client.Post().
AbsPath("/api/v1"). AbsPath("/api/v1").
Namespace(eviction.Namespace). Namespace(eviction.Namespace).
@ -35,6 +35,6 @@ func (c *evictions) Evict(eviction *policy.Eviction) error {
Name(eviction.Name). Name(eviction.Name).
SubResource("eviction"). SubResource("eviction").
Body(eviction). Body(eviction).
Do(context.TODO()). Do(ctx).
Error() Error()
} }

View File

@ -17,12 +17,14 @@ limitations under the License.
package fake package fake
import ( import (
"context"
policy "k8s.io/api/policy/v1beta1" policy "k8s.io/api/policy/v1beta1"
"k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/runtime/schema"
core "k8s.io/client-go/testing" core "k8s.io/client-go/testing"
) )
func (c *FakeEvictions) Evict(eviction *policy.Eviction) error { func (c *FakeEvictions) Evict(ctx context.Context, eviction *policy.Eviction) error {
action := core.CreateActionImpl{} action := core.CreateActionImpl{}
action.Verb = "create" action.Verb = "create"
action.Namespace = c.ns action.Namespace = c.ns

View File

@ -17,6 +17,7 @@ limitations under the License.
package certificates package certificates
import ( import (
"context"
"fmt" "fmt"
"io" "io"
@ -234,7 +235,7 @@ func (o *CertificateOptions) modifyCertificateCondition(builder *resource.Builde
csr := info.Object.(*certificatesv1beta1.CertificateSigningRequest) csr := info.Object.(*certificatesv1beta1.CertificateSigningRequest)
csr, hasCondition := modify(csr) csr, hasCondition := modify(csr)
if !hasCondition || force { if !hasCondition || force {
_, err = clientSet.CertificateSigningRequests().UpdateApproval(csr) _, err = clientSet.CertificateSigningRequests().UpdateApproval(context.TODO(), csr, metav1.UpdateOptions{})
if errors.IsConflict(err) && i < 10 { if errors.IsConflict(err) && i < 10 {
if err := info.Get(); err != nil { if err := info.Get(); err != nil {
return err return err

View File

@ -165,7 +165,7 @@ func (d *Helper) EvictPod(pod corev1.Pod, policyGroupVersion string) error {
} }
// Remember to change change the URL manipulation func when Eviction's version change // Remember to change change the URL manipulation func when Eviction's version change
return d.Client.PolicyV1beta1().Evictions(eviction.Namespace).Evict(eviction) return d.Client.PolicyV1beta1().Evictions(eviction.Namespace).Evict(context.TODO(), eviction)
} }
// GetPodsForDeletion receives resource info for a node, and returns those pods as PodDeleteList, // GetPodsForDeletion receives resource info for a node, and returns those pods as PodDeleteList,

View File

@ -246,7 +246,7 @@ var _ = SIGDescribe("DisruptionController", func() {
} }
if c.shouldDeny { if c.shouldDeny {
err = cs.CoreV1().Pods(ns).Evict(e) err = cs.CoreV1().Pods(ns).Evict(context.TODO(), e)
gomega.Expect(err).Should(gomega.MatchError("Cannot evict pod as it would violate the pod's disruption budget.")) gomega.Expect(err).Should(gomega.MatchError("Cannot evict pod as it would violate the pod's disruption budget."))
} else { } else {
// Only wait for running pods in the "allow" case // Only wait for running pods in the "allow" case
@ -257,7 +257,7 @@ var _ = SIGDescribe("DisruptionController", func() {
// Since disruptionAllowed starts out false, if an eviction is ever allowed, // Since disruptionAllowed starts out false, if an eviction is ever allowed,
// that means the controller is working. // that means the controller is working.
err = wait.PollImmediate(framework.Poll, timeout, func() (bool, error) { err = wait.PollImmediate(framework.Poll, timeout, func() (bool, error) {
err = cs.CoreV1().Pods(ns).Evict(e) err = cs.CoreV1().Pods(ns).Evict(context.TODO(), e)
if err != nil { if err != nil {
return false, nil return false, nil
} }
@ -284,7 +284,7 @@ var _ = SIGDescribe("DisruptionController", func() {
Namespace: ns, Namespace: ns,
}, },
} }
err = cs.CoreV1().Pods(ns).Evict(e) err = cs.CoreV1().Pods(ns).Evict(context.TODO(), e)
gomega.Expect(err).Should(gomega.MatchError("Cannot evict pod as it would violate the pod's disruption budget.")) gomega.Expect(err).Should(gomega.MatchError("Cannot evict pod as it would violate the pod's disruption budget."))
ginkgo.By("Updating the pdb to allow a pod to be evicted") ginkgo.By("Updating the pdb to allow a pod to be evicted")
@ -297,7 +297,7 @@ var _ = SIGDescribe("DisruptionController", func() {
ginkgo.By("Trying to evict the same pod we tried earlier which should now be evictable") ginkgo.By("Trying to evict the same pod we tried earlier which should now be evictable")
waitForPodsOrDie(cs, ns, 3) waitForPodsOrDie(cs, ns, 3)
waitForPdbToObserveHealthyPods(cs, ns, 3) waitForPdbToObserveHealthyPods(cs, ns, 3)
err = cs.CoreV1().Pods(ns).Evict(e) err = cs.CoreV1().Pods(ns).Evict(context.TODO(), e)
framework.ExpectNoError(err) // the eviction is now allowed framework.ExpectNoError(err) // the eviction is now allowed
ginkgo.By("Patching the pdb to disallow a pod to be evicted") ginkgo.By("Patching the pdb to disallow a pod to be evicted")
@ -319,7 +319,7 @@ var _ = SIGDescribe("DisruptionController", func() {
Namespace: ns, Namespace: ns,
}, },
} }
err = cs.CoreV1().Pods(ns).Evict(e) err = cs.CoreV1().Pods(ns).Evict(context.TODO(), e)
gomega.Expect(err).Should(gomega.MatchError("Cannot evict pod as it would violate the pod's disruption budget.")) gomega.Expect(err).Should(gomega.MatchError("Cannot evict pod as it would violate the pod's disruption budget."))
ginkgo.By("Deleting the pdb to allow a pod to be evicted") ginkgo.By("Deleting the pdb to allow a pod to be evicted")
@ -327,7 +327,7 @@ var _ = SIGDescribe("DisruptionController", func() {
ginkgo.By("Trying to evict the same pod we tried earlier which should now be evictable") ginkgo.By("Trying to evict the same pod we tried earlier which should now be evictable")
waitForPodsOrDie(cs, ns, 3) waitForPodsOrDie(cs, ns, 3)
err = cs.CoreV1().Pods(ns).Evict(e) err = cs.CoreV1().Pods(ns).Evict(context.TODO(), e)
framework.ExpectNoError(err) // the eviction is now allowed framework.ExpectNoError(err) // the eviction is now allowed
}) })

View File

@ -82,7 +82,7 @@ var _ = SIGDescribe("Certificates API", func() {
Message: "Set from an e2e test", Message: "Set from an e2e test",
}, },
} }
csr, err = csrs.UpdateApproval(csr) csr, err = csrs.UpdateApproval(context.TODO(), csr, metav1.UpdateOptions{})
if err != nil { if err != nil {
csr, _ = csrs.Get(context.TODO(), csrName, metav1.GetOptions{}) csr, _ = csrs.Get(context.TODO(), csrName, metav1.GetOptions{})
framework.Logf("err updating approval: %v", err) framework.Logf("err updating approval: %v", err)

View File

@ -430,7 +430,7 @@ var _ = utils.SIGDescribe("Pod Disks", func() {
} }
ginkgo.By("evicting host0Pod") ginkgo.By("evicting host0Pod")
err = wait.PollImmediate(framework.Poll, podEvictTimeout, func() (bool, error) { err = wait.PollImmediate(framework.Poll, podEvictTimeout, func() (bool, error) {
if err := cs.CoreV1().Pods(ns).Evict(evictTarget); err != nil { if err := cs.CoreV1().Pods(ns).Evict(context.TODO(), evictTarget); err != nil {
framework.Logf("Failed to evict host0Pod, ignoring error: %v", err) framework.Logf("Failed to evict host0Pod, ignoring error: %v", err)
return false, nil return false, nil
} }

View File

@ -295,7 +295,7 @@ func TestNodeAuthorizer(t *testing.T) {
createNode2NormalPodEviction := func(client clientset.Interface) func() error { createNode2NormalPodEviction := func(client clientset.Interface) func() error {
return func() error { return func() error {
zero := int64(0) zero := int64(0)
return client.PolicyV1beta1().Evictions("ns").Evict(&policy.Eviction{ return client.PolicyV1beta1().Evictions("ns").Evict(context.TODO(), &policy.Eviction{
TypeMeta: metav1.TypeMeta{ TypeMeta: metav1.TypeMeta{
APIVersion: "policy/v1beta1", APIVersion: "policy/v1beta1",
Kind: "Eviction", Kind: "Eviction",
@ -311,7 +311,7 @@ func TestNodeAuthorizer(t *testing.T) {
createNode2MirrorPodEviction := func(client clientset.Interface) func() error { createNode2MirrorPodEviction := func(client clientset.Interface) func() error {
return func() error { return func() error {
zero := int64(0) zero := int64(0)
return client.PolicyV1beta1().Evictions("ns").Evict(&policy.Eviction{ return client.PolicyV1beta1().Evictions("ns").Evict(context.TODO(), &policy.Eviction{
TypeMeta: metav1.TypeMeta{ TypeMeta: metav1.TypeMeta{
APIVersion: "policy/v1beta1", APIVersion: "policy/v1beta1",
Kind: "Eviction", Kind: "Eviction",

View File

@ -77,7 +77,7 @@ func TestCSRSignerNameApprovalPlugin(t *testing.T) {
Reason: "AutoApproved", Reason: "AutoApproved",
Message: "Approved during integration test", Message: "Approved during integration test",
}) })
_, err := testuserClient.CertificatesV1beta1().CertificateSigningRequests().UpdateApproval(csr) _, err := testuserClient.CertificatesV1beta1().CertificateSigningRequests().UpdateApproval(context.TODO(), csr, metav1.UpdateOptions{})
if err != nil && test.error != err.Error() { if err != nil && test.error != err.Error() {
t.Errorf("expected error %q but got: %v", test.error, err) t.Errorf("expected error %q but got: %v", test.error, err)
} }

View File

@ -27,7 +27,7 @@ import (
"testing" "testing"
"time" "time"
"k8s.io/api/core/v1" v1 "k8s.io/api/core/v1"
"k8s.io/api/policy/v1beta1" "k8s.io/api/policy/v1beta1"
apierrors "k8s.io/apimachinery/pkg/api/errors" apierrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@ -113,7 +113,7 @@ func TestConcurrentEvictionRequests(t *testing.T) {
eviction := newEviction(ns.Name, podName, deleteOption) eviction := newEviction(ns.Name, podName, deleteOption)
err := wait.PollImmediate(5*time.Second, 60*time.Second, func() (bool, error) { err := wait.PollImmediate(5*time.Second, 60*time.Second, func() (bool, error) {
e := clientSet.PolicyV1beta1().Evictions(ns.Name).Evict(eviction) e := clientSet.PolicyV1beta1().Evictions(ns.Name).Evict(context.TODO(), eviction)
switch { switch {
case apierrors.IsTooManyRequests(e): case apierrors.IsTooManyRequests(e):
return false, nil return false, nil
@ -221,7 +221,7 @@ func TestTerminalPodEviction(t *testing.T) {
oldPdb := pdbList.Items[0] oldPdb := pdbList.Items[0]
eviction := newEviction(ns.Name, pod.Name, deleteOption) eviction := newEviction(ns.Name, pod.Name, deleteOption)
err = wait.PollImmediate(5*time.Second, 60*time.Second, func() (bool, error) { err = wait.PollImmediate(5*time.Second, 60*time.Second, func() (bool, error) {
e := clientSet.PolicyV1beta1().Evictions(ns.Name).Evict(eviction) e := clientSet.PolicyV1beta1().Evictions(ns.Name).Evict(context.TODO(), eviction)
switch { switch {
case apierrors.IsTooManyRequests(e): case apierrors.IsTooManyRequests(e):
return false, nil return false, nil

View File

@ -232,7 +232,7 @@ func (e *Extender) Bind(binding *extenderv1.ExtenderBindingArgs) error {
}, },
} }
return e.Client.CoreV1().Pods(b.Namespace).Bind(b) return e.Client.CoreV1().Pods(b.Namespace).Bind(context.TODO(), b, metav1.CreateOptions{})
} }
func machine1_2_3Predicate(pod *v1.Pod, node *v1.Node) (bool, error) { func machine1_2_3Predicate(pod *v1.Pod, node *v1.Node) (bool, error) {

View File

@ -301,13 +301,13 @@ func (bp *BindPlugin) Bind(ctx context.Context, state *framework.CycleState, p *
bp.pluginInvokeEventChan <- pluginInvokeEvent{pluginName: bp.Name(), val: bp.numBindCalled} bp.pluginInvokeEventChan <- pluginInvokeEvent{pluginName: bp.Name(), val: bp.numBindCalled}
} }
if bp.bindStatus.IsSuccess() { if bp.bindStatus.IsSuccess() {
if err := bp.client.CoreV1().Pods(p.Namespace).Bind(&v1.Binding{ if err := bp.client.CoreV1().Pods(p.Namespace).Bind(context.TODO(), &v1.Binding{
ObjectMeta: metav1.ObjectMeta{Namespace: p.Namespace, Name: p.Name, UID: p.UID, Annotations: map[string]string{bindPluginAnnotation: bp.Name()}}, ObjectMeta: metav1.ObjectMeta{Namespace: p.Namespace, Name: p.Name, UID: p.UID, Annotations: map[string]string{bindPluginAnnotation: bp.Name()}},
Target: v1.ObjectReference{ Target: v1.ObjectReference{
Kind: "Node", Kind: "Node",
Name: nodeName, Name: nodeName,
}, },
}); err != nil { }, metav1.CreateOptions{}); err != nil {
return framework.NewStatus(framework.Error, fmt.Sprintf("bind failed: %v", err)) return framework.NewStatus(framework.Error, fmt.Sprintf("bind failed: %v", err))
} }
} }