mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 11:50:44 +00:00
cleanup req.Context() and ResponseWrapper
This commit is contained in:
parent
d55d6175f8
commit
968adfa993
@ -17,6 +17,7 @@ limitations under the License.
|
|||||||
package podautoscaler
|
package podautoscaler
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
@ -55,11 +56,11 @@ import (
|
|||||||
_ "k8s.io/kubernetes/pkg/apis/core/install"
|
_ "k8s.io/kubernetes/pkg/apis/core/install"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (w fakeResponseWrapper) DoRaw() ([]byte, error) {
|
func (w fakeResponseWrapper) DoRaw(context.Context) ([]byte, error) {
|
||||||
return w.raw, nil
|
return w.raw, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w fakeResponseWrapper) Stream() (io.ReadCloser, error) {
|
func (w fakeResponseWrapper) Stream(context.Context) (io.ReadCloser, error) {
|
||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,6 +17,7 @@ limitations under the License.
|
|||||||
package metrics
|
package metrics
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
"strings"
|
||||||
@ -27,7 +28,7 @@ import (
|
|||||||
metricsapi "k8s.io/metrics/pkg/apis/metrics/v1alpha1"
|
metricsapi "k8s.io/metrics/pkg/apis/metrics/v1alpha1"
|
||||||
|
|
||||||
autoscaling "k8s.io/api/autoscaling/v2beta2"
|
autoscaling "k8s.io/api/autoscaling/v2beta2"
|
||||||
"k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/labels"
|
"k8s.io/apimachinery/pkg/labels"
|
||||||
clientset "k8s.io/client-go/kubernetes"
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
@ -68,7 +69,7 @@ func (h *HeapsterMetricsClient) GetResourceMetric(resource v1.ResourceName, name
|
|||||||
|
|
||||||
resultRaw, err := h.services.
|
resultRaw, err := h.services.
|
||||||
ProxyGet(h.heapsterScheme, h.heapsterService, h.heapsterPort, metricPath, params).
|
ProxyGet(h.heapsterScheme, h.heapsterService, h.heapsterPort, metricPath, params).
|
||||||
DoRaw()
|
DoRaw(context.TODO())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, time.Time{}, fmt.Errorf("failed to get pod resource metrics: %v", err)
|
return nil, time.Time{}, fmt.Errorf("failed to get pod resource metrics: %v", err)
|
||||||
}
|
}
|
||||||
@ -139,7 +140,7 @@ func (h *HeapsterMetricsClient) GetRawMetric(metricName string, namespace string
|
|||||||
|
|
||||||
resultRaw, err := h.services.
|
resultRaw, err := h.services.
|
||||||
ProxyGet(h.heapsterScheme, h.heapsterService, h.heapsterPort, metricPath, map[string]string{"start": startTime.Format(time.RFC3339)}).
|
ProxyGet(h.heapsterScheme, h.heapsterService, h.heapsterPort, metricPath, map[string]string{"start": startTime.Format(time.RFC3339)}).
|
||||||
DoRaw()
|
DoRaw(context.TODO())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, time.Time{}, fmt.Errorf("failed to get pod metrics: %v", err)
|
return nil, time.Time{}, fmt.Errorf("failed to get pod metrics: %v", err)
|
||||||
}
|
}
|
||||||
|
@ -17,13 +17,14 @@ limitations under the License.
|
|||||||
package metrics
|
package metrics
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
"k8s.io/apimachinery/pkg/api/resource"
|
"k8s.io/apimachinery/pkg/api/resource"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/labels"
|
"k8s.io/apimachinery/pkg/labels"
|
||||||
@ -40,11 +41,11 @@ import (
|
|||||||
|
|
||||||
var fixedTimestamp = time.Date(2015, time.November, 10, 12, 30, 0, 0, time.UTC)
|
var fixedTimestamp = time.Date(2015, time.November, 10, 12, 30, 0, 0, time.UTC)
|
||||||
|
|
||||||
func (w fakeResponseWrapper) DoRaw() ([]byte, error) {
|
func (w fakeResponseWrapper) DoRaw(context.Context) ([]byte, error) {
|
||||||
return w.raw, nil
|
return w.raw, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w fakeResponseWrapper) Stream() (io.ReadCloser, error) {
|
func (w fakeResponseWrapper) Stream(context.Context) (io.ReadCloser, error) {
|
||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -174,7 +174,7 @@ func (a *Plugin) admitPod(ctx context.Context, pod *api.Pod, attributes admissio
|
|||||||
review.Status = entry.(v1alpha1.ImageReviewStatus)
|
review.Status = entry.(v1alpha1.ImageReviewStatus)
|
||||||
} else {
|
} else {
|
||||||
result := a.webhook.WithExponentialBackoff(ctx, func() rest.Result {
|
result := a.webhook.WithExponentialBackoff(ctx, func() rest.Result {
|
||||||
return a.webhook.RestClient.Post().Context(ctx).Body(review).Do(context.TODO())
|
return a.webhook.RestClient.Post().Body(review).Do(ctx)
|
||||||
})
|
})
|
||||||
|
|
||||||
if err := result.Error(); err != nil {
|
if err := result.Error(); err != nil {
|
||||||
|
@ -271,7 +271,7 @@ func (c *webhookConverter) Convert(in runtime.Object, toGV schema.GroupVersion)
|
|||||||
|
|
||||||
// TODO: Figure out if adding one second timeout make sense here.
|
// TODO: Figure out if adding one second timeout make sense here.
|
||||||
ctx := context.TODO()
|
ctx := context.TODO()
|
||||||
r := c.restClient.Post().Context(ctx).Body(request).Do(context.TODO())
|
r := c.restClient.Post().Body(request).Do(ctx)
|
||||||
if err := r.Into(response); err != nil {
|
if err := r.Into(response); err != nil {
|
||||||
// TODO: Return a webhook specific error to be able to convert it to meta.Status
|
// TODO: Return a webhook specific error to be able to convert it to meta.Status
|
||||||
return nil, fmt.Errorf("conversion webhook for %v failed: %v", in.GetObjectKind().GroupVersionKind(), err)
|
return nil, fmt.Errorf("conversion webhook for %v failed: %v", in.GetObjectKind().GroupVersionKind(), err)
|
||||||
|
@ -236,7 +236,7 @@ func (a *mutatingDispatcher) callAttrMutatingHook(ctx context.Context, h *admiss
|
|||||||
defer cancel()
|
defer cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
r := client.Post().Context(ctx).Body(request)
|
r := client.Post().Body(request)
|
||||||
|
|
||||||
// if the context has a deadline, set it as a parameter to inform the backend
|
// if the context has a deadline, set it as a parameter to inform the backend
|
||||||
if deadline, hasDeadline := ctx.Deadline(); hasDeadline {
|
if deadline, hasDeadline := ctx.Deadline(); hasDeadline {
|
||||||
@ -251,7 +251,7 @@ func (a *mutatingDispatcher) callAttrMutatingHook(ctx context.Context, h *admiss
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := r.Do(context.TODO()).Into(response); err != nil {
|
if err := r.Do(ctx).Into(response); err != nil {
|
||||||
return false, &webhookutil.ErrCallingWebhook{WebhookName: h.Name, Reason: err}
|
return false, &webhookutil.ErrCallingWebhook{WebhookName: h.Name, Reason: err}
|
||||||
}
|
}
|
||||||
trace.Step("Request completed")
|
trace.Step("Request completed")
|
||||||
|
@ -196,7 +196,7 @@ func (d *validatingDispatcher) callHook(ctx context.Context, h *v1.ValidatingWeb
|
|||||||
defer cancel()
|
defer cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
r := client.Post().Context(ctx).Body(request)
|
r := client.Post().Body(request)
|
||||||
|
|
||||||
// if the context has a deadline, set it as a parameter to inform the backend
|
// if the context has a deadline, set it as a parameter to inform the backend
|
||||||
if deadline, hasDeadline := ctx.Deadline(); hasDeadline {
|
if deadline, hasDeadline := ctx.Deadline(); hasDeadline {
|
||||||
@ -211,7 +211,7 @@ func (d *validatingDispatcher) callHook(ctx context.Context, h *v1.ValidatingWeb
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := r.Do(context.TODO()).Into(response); err != nil {
|
if err := r.Do(ctx).Into(response); err != nil {
|
||||||
return &webhookutil.ErrCallingWebhook{WebhookName: h.Name, Reason: err}
|
return &webhookutil.ErrCallingWebhook{WebhookName: h.Name, Reason: err}
|
||||||
}
|
}
|
||||||
trace.Step("Request completed")
|
trace.Step("Request completed")
|
||||||
|
@ -198,7 +198,7 @@ type tokenReviewV1Client struct {
|
|||||||
|
|
||||||
func (t *tokenReviewV1Client) CreateContext(ctx context.Context, review *authenticationv1.TokenReview) (*authenticationv1.TokenReview, error) {
|
func (t *tokenReviewV1Client) CreateContext(ctx context.Context, review *authenticationv1.TokenReview) (*authenticationv1.TokenReview, error) {
|
||||||
result := &authenticationv1.TokenReview{}
|
result := &authenticationv1.TokenReview{}
|
||||||
err := t.w.RestClient.Post().Context(ctx).Body(review).Do(context.TODO()).Into(result)
|
err := t.w.RestClient.Post().Body(review).Do(ctx).Into(result)
|
||||||
return result, err
|
return result, err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -209,7 +209,7 @@ type tokenReviewV1beta1Client struct {
|
|||||||
func (t *tokenReviewV1beta1Client) CreateContext(ctx context.Context, review *authenticationv1.TokenReview) (*authenticationv1.TokenReview, error) {
|
func (t *tokenReviewV1beta1Client) CreateContext(ctx context.Context, review *authenticationv1.TokenReview) (*authenticationv1.TokenReview, error) {
|
||||||
v1beta1Review := &authenticationv1beta1.TokenReview{Spec: v1SpecToV1beta1Spec(&review.Spec)}
|
v1beta1Review := &authenticationv1beta1.TokenReview{Spec: v1SpecToV1beta1Spec(&review.Spec)}
|
||||||
v1beta1Result := &authenticationv1beta1.TokenReview{}
|
v1beta1Result := &authenticationv1beta1.TokenReview{}
|
||||||
err := t.w.RestClient.Post().Context(ctx).Body(v1beta1Review).Do(context.TODO()).Into(v1beta1Result)
|
err := t.w.RestClient.Post().Body(v1beta1Review).Do(ctx).Into(v1beta1Result)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -289,7 +289,7 @@ type subjectAccessReviewV1Client struct {
|
|||||||
|
|
||||||
func (t *subjectAccessReviewV1Client) CreateContext(ctx context.Context, subjectAccessReview *authorizationv1.SubjectAccessReview) (*authorizationv1.SubjectAccessReview, error) {
|
func (t *subjectAccessReviewV1Client) CreateContext(ctx context.Context, subjectAccessReview *authorizationv1.SubjectAccessReview) (*authorizationv1.SubjectAccessReview, error) {
|
||||||
result := &authorizationv1.SubjectAccessReview{}
|
result := &authorizationv1.SubjectAccessReview{}
|
||||||
err := t.w.RestClient.Post().Context(ctx).Body(subjectAccessReview).Do(context.TODO()).Into(result)
|
err := t.w.RestClient.Post().Body(subjectAccessReview).Do(ctx).Into(result)
|
||||||
return result, err
|
return result, err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -300,7 +300,7 @@ type subjectAccessReviewV1beta1Client struct {
|
|||||||
func (t *subjectAccessReviewV1beta1Client) CreateContext(ctx context.Context, subjectAccessReview *authorizationv1.SubjectAccessReview) (*authorizationv1.SubjectAccessReview, error) {
|
func (t *subjectAccessReviewV1beta1Client) CreateContext(ctx context.Context, subjectAccessReview *authorizationv1.SubjectAccessReview) (*authorizationv1.SubjectAccessReview, error) {
|
||||||
v1beta1Review := &authorizationv1beta1.SubjectAccessReview{Spec: v1SpecToV1beta1Spec(&subjectAccessReview.Spec)}
|
v1beta1Review := &authorizationv1beta1.SubjectAccessReview{Spec: v1SpecToV1beta1Spec(&subjectAccessReview.Spec)}
|
||||||
v1beta1Result := &authorizationv1beta1.SubjectAccessReview{}
|
v1beta1Result := &authorizationv1beta1.SubjectAccessReview{}
|
||||||
err := t.w.RestClient.Post().Context(ctx).Body(v1beta1Review).Do(context.TODO()).Into(v1beta1Result)
|
err := t.w.RestClient.Post().Body(v1beta1Review).Do(ctx).Into(v1beta1Result)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
subjectAccessReview.Status = v1beta1StatusToV1Status(&v1beta1Result.Status)
|
subjectAccessReview.Status = v1beta1StatusToV1Status(&v1beta1Result.Status)
|
||||||
}
|
}
|
||||||
|
@ -34,10 +34,9 @@ func (c *tokenReviews) Create(tokenReview *authenticationapi.TokenReview) (resul
|
|||||||
func (c *tokenReviews) CreateContext(ctx context.Context, tokenReview *authenticationapi.TokenReview) (result *authenticationapi.TokenReview, err error) {
|
func (c *tokenReviews) CreateContext(ctx context.Context, tokenReview *authenticationapi.TokenReview) (result *authenticationapi.TokenReview, err error) {
|
||||||
result = &authenticationapi.TokenReview{}
|
result = &authenticationapi.TokenReview{}
|
||||||
err = c.client.Post().
|
err = c.client.Post().
|
||||||
Context(ctx).
|
|
||||||
Resource("tokenreviews").
|
Resource("tokenreviews").
|
||||||
Body(tokenReview).
|
Body(tokenReview).
|
||||||
Do(context.TODO()).
|
Do(ctx).
|
||||||
Into(result)
|
Into(result)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -34,10 +34,9 @@ func (c *tokenReviews) Create(tokenReview *authenticationapi.TokenReview) (resul
|
|||||||
func (c *tokenReviews) CreateContext(ctx context.Context, tokenReview *authenticationapi.TokenReview) (result *authenticationapi.TokenReview, err error) {
|
func (c *tokenReviews) CreateContext(ctx context.Context, tokenReview *authenticationapi.TokenReview) (result *authenticationapi.TokenReview, err error) {
|
||||||
result = &authenticationapi.TokenReview{}
|
result = &authenticationapi.TokenReview{}
|
||||||
err = c.client.Post().
|
err = c.client.Post().
|
||||||
Context(ctx).
|
|
||||||
Resource("tokenreviews").
|
Resource("tokenreviews").
|
||||||
Body(tokenReview).
|
Body(tokenReview).
|
||||||
Do(context.TODO()).
|
Do(ctx).
|
||||||
Into(result)
|
Into(result)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -34,11 +34,10 @@ func (c *localSubjectAccessReviews) Create(sar *authorizationapi.LocalSubjectAcc
|
|||||||
func (c *localSubjectAccessReviews) CreateContext(ctx context.Context, sar *authorizationapi.LocalSubjectAccessReview) (result *authorizationapi.LocalSubjectAccessReview, err error) {
|
func (c *localSubjectAccessReviews) CreateContext(ctx context.Context, sar *authorizationapi.LocalSubjectAccessReview) (result *authorizationapi.LocalSubjectAccessReview, err error) {
|
||||||
result = &authorizationapi.LocalSubjectAccessReview{}
|
result = &authorizationapi.LocalSubjectAccessReview{}
|
||||||
err = c.client.Post().
|
err = c.client.Post().
|
||||||
Context(ctx).
|
|
||||||
Namespace(c.ns).
|
Namespace(c.ns).
|
||||||
Resource("localsubjectaccessreviews").
|
Resource("localsubjectaccessreviews").
|
||||||
Body(sar).
|
Body(sar).
|
||||||
Do(context.TODO()).
|
Do(ctx).
|
||||||
Into(result)
|
Into(result)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -34,10 +34,9 @@ func (c *selfSubjectAccessReviews) Create(sar *authorizationapi.SelfSubjectAcces
|
|||||||
func (c *selfSubjectAccessReviews) CreateContext(ctx context.Context, sar *authorizationapi.SelfSubjectAccessReview) (result *authorizationapi.SelfSubjectAccessReview, err error) {
|
func (c *selfSubjectAccessReviews) CreateContext(ctx context.Context, sar *authorizationapi.SelfSubjectAccessReview) (result *authorizationapi.SelfSubjectAccessReview, err error) {
|
||||||
result = &authorizationapi.SelfSubjectAccessReview{}
|
result = &authorizationapi.SelfSubjectAccessReview{}
|
||||||
err = c.client.Post().
|
err = c.client.Post().
|
||||||
Context(ctx).
|
|
||||||
Resource("selfsubjectaccessreviews").
|
Resource("selfsubjectaccessreviews").
|
||||||
Body(sar).
|
Body(sar).
|
||||||
Do(context.TODO()).
|
Do(ctx).
|
||||||
Into(result)
|
Into(result)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -34,10 +34,9 @@ func (c *selfSubjectRulesReviews) Create(srr *authorizationapi.SelfSubjectRulesR
|
|||||||
func (c *selfSubjectRulesReviews) CreateContext(ctx context.Context, srr *authorizationapi.SelfSubjectRulesReview) (result *authorizationapi.SelfSubjectRulesReview, err error) {
|
func (c *selfSubjectRulesReviews) CreateContext(ctx context.Context, srr *authorizationapi.SelfSubjectRulesReview) (result *authorizationapi.SelfSubjectRulesReview, err error) {
|
||||||
result = &authorizationapi.SelfSubjectRulesReview{}
|
result = &authorizationapi.SelfSubjectRulesReview{}
|
||||||
err = c.client.Post().
|
err = c.client.Post().
|
||||||
Context(ctx).
|
|
||||||
Resource("selfsubjectrulesreviews").
|
Resource("selfsubjectrulesreviews").
|
||||||
Body(srr).
|
Body(srr).
|
||||||
Do(context.TODO()).
|
Do(ctx).
|
||||||
Into(result)
|
Into(result)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -35,10 +35,9 @@ func (c *subjectAccessReviews) Create(sar *authorizationapi.SubjectAccessReview)
|
|||||||
func (c *subjectAccessReviews) CreateContext(ctx context.Context, sar *authorizationapi.SubjectAccessReview) (result *authorizationapi.SubjectAccessReview, err error) {
|
func (c *subjectAccessReviews) CreateContext(ctx context.Context, sar *authorizationapi.SubjectAccessReview) (result *authorizationapi.SubjectAccessReview, err error) {
|
||||||
result = &authorizationapi.SubjectAccessReview{}
|
result = &authorizationapi.SubjectAccessReview{}
|
||||||
err = c.client.Post().
|
err = c.client.Post().
|
||||||
Context(ctx).
|
|
||||||
Resource("subjectaccessreviews").
|
Resource("subjectaccessreviews").
|
||||||
Body(sar).
|
Body(sar).
|
||||||
Do(context.TODO()).
|
Do(ctx).
|
||||||
Into(result)
|
Into(result)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -34,11 +34,10 @@ func (c *localSubjectAccessReviews) Create(sar *authorizationapi.LocalSubjectAcc
|
|||||||
func (c *localSubjectAccessReviews) CreateContext(ctx context.Context, sar *authorizationapi.LocalSubjectAccessReview) (result *authorizationapi.LocalSubjectAccessReview, err error) {
|
func (c *localSubjectAccessReviews) CreateContext(ctx context.Context, sar *authorizationapi.LocalSubjectAccessReview) (result *authorizationapi.LocalSubjectAccessReview, err error) {
|
||||||
result = &authorizationapi.LocalSubjectAccessReview{}
|
result = &authorizationapi.LocalSubjectAccessReview{}
|
||||||
err = c.client.Post().
|
err = c.client.Post().
|
||||||
Context(ctx).
|
|
||||||
Namespace(c.ns).
|
Namespace(c.ns).
|
||||||
Resource("localsubjectaccessreviews").
|
Resource("localsubjectaccessreviews").
|
||||||
Body(sar).
|
Body(sar).
|
||||||
Do(context.TODO()).
|
Do(ctx).
|
||||||
Into(result)
|
Into(result)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -34,10 +34,9 @@ func (c *selfSubjectAccessReviews) Create(sar *authorizationapi.SelfSubjectAcces
|
|||||||
func (c *selfSubjectAccessReviews) CreateContext(ctx context.Context, sar *authorizationapi.SelfSubjectAccessReview) (result *authorizationapi.SelfSubjectAccessReview, err error) {
|
func (c *selfSubjectAccessReviews) CreateContext(ctx context.Context, sar *authorizationapi.SelfSubjectAccessReview) (result *authorizationapi.SelfSubjectAccessReview, err error) {
|
||||||
result = &authorizationapi.SelfSubjectAccessReview{}
|
result = &authorizationapi.SelfSubjectAccessReview{}
|
||||||
err = c.client.Post().
|
err = c.client.Post().
|
||||||
Context(ctx).
|
|
||||||
Resource("selfsubjectaccessreviews").
|
Resource("selfsubjectaccessreviews").
|
||||||
Body(sar).
|
Body(sar).
|
||||||
Do(context.TODO()).
|
Do(ctx).
|
||||||
Into(result)
|
Into(result)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -34,10 +34,9 @@ func (c *selfSubjectRulesReviews) Create(srr *authorizationapi.SelfSubjectRulesR
|
|||||||
func (c *selfSubjectRulesReviews) CreateContext(ctx context.Context, srr *authorizationapi.SelfSubjectRulesReview) (result *authorizationapi.SelfSubjectRulesReview, err error) {
|
func (c *selfSubjectRulesReviews) CreateContext(ctx context.Context, srr *authorizationapi.SelfSubjectRulesReview) (result *authorizationapi.SelfSubjectRulesReview, err error) {
|
||||||
result = &authorizationapi.SelfSubjectRulesReview{}
|
result = &authorizationapi.SelfSubjectRulesReview{}
|
||||||
err = c.client.Post().
|
err = c.client.Post().
|
||||||
Context(ctx).
|
|
||||||
Resource("selfsubjectrulesreviews").
|
Resource("selfsubjectrulesreviews").
|
||||||
Body(srr).
|
Body(srr).
|
||||||
Do(context.TODO()).
|
Do(ctx).
|
||||||
Into(result)
|
Into(result)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -35,10 +35,9 @@ func (c *subjectAccessReviews) Create(sar *authorizationapi.SubjectAccessReview)
|
|||||||
func (c *subjectAccessReviews) CreateContext(ctx context.Context, sar *authorizationapi.SubjectAccessReview) (result *authorizationapi.SubjectAccessReview, err error) {
|
func (c *subjectAccessReviews) CreateContext(ctx context.Context, sar *authorizationapi.SubjectAccessReview) (result *authorizationapi.SubjectAccessReview, err error) {
|
||||||
result = &authorizationapi.SubjectAccessReview{}
|
result = &authorizationapi.SubjectAccessReview{}
|
||||||
err = c.client.Post().
|
err = c.client.Post().
|
||||||
Context(ctx).
|
|
||||||
Resource("subjectaccessreviews").
|
Resource("subjectaccessreviews").
|
||||||
Body(sar).
|
Body(sar).
|
||||||
Do(context.TODO()).
|
Do(ctx).
|
||||||
Into(result)
|
Into(result)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,7 @@ limitations under the License.
|
|||||||
package rest
|
package rest
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/http/httptest"
|
"net/http/httptest"
|
||||||
"net/url"
|
"net/url"
|
||||||
@ -79,7 +80,7 @@ func TestDoRequestSuccess(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
body, err := c.Get().Prefix("test").Do().Raw()
|
body, err := c.Get().Prefix("test").Do(context.Background()).Raw()
|
||||||
|
|
||||||
testParam := TestParam{actualError: err, expectingError: false, expCreated: true,
|
testParam := TestParam{actualError: err, expectingError: false, expCreated: true,
|
||||||
expStatus: status, testBody: true, testBodyErrorIsNotNil: false}
|
expStatus: status, testBody: true, testBodyErrorIsNotNil: false}
|
||||||
@ -107,7 +108,7 @@ func TestDoRequestFailed(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
err = c.Get().Do().Error()
|
err = c.Get().Do(context.Background()).Error()
|
||||||
if err == nil {
|
if err == nil {
|
||||||
t.Errorf("unexpected non-error")
|
t.Errorf("unexpected non-error")
|
||||||
}
|
}
|
||||||
@ -146,7 +147,7 @@ func TestDoRawRequestFailed(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
body, err := c.Get().Do().Raw()
|
body, err := c.Get().Do(context.Background()).Raw()
|
||||||
|
|
||||||
if err == nil || body == nil {
|
if err == nil || body == nil {
|
||||||
t.Errorf("unexpected non-error: %#v", body)
|
t.Errorf("unexpected non-error: %#v", body)
|
||||||
@ -170,7 +171,7 @@ func TestDoRequestCreated(t *testing.T) {
|
|||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
created := false
|
created := false
|
||||||
body, err := c.Get().Prefix("test").Do().WasCreated(&created).Raw()
|
body, err := c.Get().Prefix("test").Do(context.Background()).WasCreated(&created).Raw()
|
||||||
|
|
||||||
testParam := TestParam{actualError: err, expectingError: false, expCreated: true,
|
testParam := TestParam{actualError: err, expectingError: false, expCreated: true,
|
||||||
expStatus: status, testBody: false}
|
expStatus: status, testBody: false}
|
||||||
@ -185,7 +186,7 @@ func TestDoRequestNotCreated(t *testing.T) {
|
|||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
created := false
|
created := false
|
||||||
body, err := c.Get().Prefix("test").Do().WasCreated(&created).Raw()
|
body, err := c.Get().Prefix("test").Do(context.Background()).WasCreated(&created).Raw()
|
||||||
testParam := TestParam{actualError: err, expectingError: false, expCreated: false,
|
testParam := TestParam{actualError: err, expectingError: false, expCreated: false,
|
||||||
expStatus: expectedStatus, testBody: false}
|
expStatus: expectedStatus, testBody: false}
|
||||||
validate(testParam, t, body, fakeHandler)
|
validate(testParam, t, body, fakeHandler)
|
||||||
@ -200,7 +201,7 @@ func TestDoRequestAcceptedNoContentReturned(t *testing.T) {
|
|||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
created := false
|
created := false
|
||||||
body, err := c.Get().Prefix("test").Do().WasCreated(&created).Raw()
|
body, err := c.Get().Prefix("test").Do(context.Background()).WasCreated(&created).Raw()
|
||||||
testParam := TestParam{actualError: err, expectingError: false, expCreated: false,
|
testParam := TestParam{actualError: err, expectingError: false, expCreated: false,
|
||||||
testBody: false}
|
testBody: false}
|
||||||
validate(testParam, t, body, fakeHandler)
|
validate(testParam, t, body, fakeHandler)
|
||||||
@ -214,7 +215,7 @@ func TestBadRequest(t *testing.T) {
|
|||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
created := false
|
created := false
|
||||||
body, err := c.Get().Prefix("test").Do().WasCreated(&created).Raw()
|
body, err := c.Get().Prefix("test").Do(context.Background()).WasCreated(&created).Raw()
|
||||||
testParam := TestParam{actualError: err, expectingError: true, expCreated: false,
|
testParam := TestParam{actualError: err, expectingError: true, expCreated: false,
|
||||||
testBody: true}
|
testBody: true}
|
||||||
validate(testParam, t, body, fakeHandler)
|
validate(testParam, t, body, fakeHandler)
|
||||||
|
@ -94,9 +94,9 @@ func TestRequestSetsHeaders(t *testing.T) {
|
|||||||
r.c.Client = server
|
r.c.Client = server
|
||||||
|
|
||||||
// Check if all "issue" methods are setting headers.
|
// Check if all "issue" methods are setting headers.
|
||||||
_ = r.Do()
|
_ = r.Do(context.Background())
|
||||||
_, _ = r.Watch()
|
_, _ = r.Watch(context.Background())
|
||||||
_, _ = r.Stream()
|
_, _ = r.Stream(context.Background())
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestRequestWithErrorWontChange(t *testing.T) {
|
func TestRequestWithErrorWontChange(t *testing.T) {
|
||||||
@ -1059,7 +1059,7 @@ func TestRequestWatch(t *testing.T) {
|
|||||||
for _, testCase := range testCases {
|
for _, testCase := range testCases {
|
||||||
t.Run("", func(t *testing.T) {
|
t.Run("", func(t *testing.T) {
|
||||||
testCase.Request.backoff = &NoBackoff{}
|
testCase.Request.backoff = &NoBackoff{}
|
||||||
watch, err := testCase.Request.Watch()
|
watch, err := testCase.Request.Watch(context.Background())
|
||||||
hasErr := err != nil
|
hasErr := err != nil
|
||||||
if hasErr != testCase.Err {
|
if hasErr != testCase.Err {
|
||||||
t.Fatalf("expected %t, got %t: %v", testCase.Err, hasErr, err)
|
t.Fatalf("expected %t, got %t: %v", testCase.Err, hasErr, err)
|
||||||
@ -1162,7 +1162,7 @@ func TestRequestStream(t *testing.T) {
|
|||||||
}
|
}
|
||||||
for i, testCase := range testCases {
|
for i, testCase := range testCases {
|
||||||
testCase.Request.backoff = &NoBackoff{}
|
testCase.Request.backoff = &NoBackoff{}
|
||||||
body, err := testCase.Request.Stream()
|
body, err := testCase.Request.Stream(context.Background())
|
||||||
hasErr := err != nil
|
hasErr := err != nil
|
||||||
if hasErr != testCase.Err {
|
if hasErr != testCase.Err {
|
||||||
t.Errorf("%d: expected %t, got %t: %v", i, testCase.Err, hasErr, err)
|
t.Errorf("%d: expected %t, got %t: %v", i, testCase.Err, hasErr, err)
|
||||||
@ -1240,7 +1240,7 @@ func TestRequestDo(t *testing.T) {
|
|||||||
}
|
}
|
||||||
for i, testCase := range testCases {
|
for i, testCase := range testCases {
|
||||||
testCase.Request.backoff = &NoBackoff{}
|
testCase.Request.backoff = &NoBackoff{}
|
||||||
body, err := testCase.Request.Do().Raw()
|
body, err := testCase.Request.Do(context.Background()).Raw()
|
||||||
hasErr := err != nil
|
hasErr := err != nil
|
||||||
if hasErr != testCase.Err {
|
if hasErr != testCase.Err {
|
||||||
t.Errorf("%d: expected %t, got %t: %v", i, testCase.Err, hasErr, err)
|
t.Errorf("%d: expected %t, got %t: %v", i, testCase.Err, hasErr, err)
|
||||||
@ -1272,7 +1272,7 @@ func TestDoRequestNewWay(t *testing.T) {
|
|||||||
Suffix("baz").
|
Suffix("baz").
|
||||||
Timeout(time.Second).
|
Timeout(time.Second).
|
||||||
Body([]byte(reqBody)).
|
Body([]byte(reqBody)).
|
||||||
Do().Get()
|
Do(context.Background()).Get()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("Unexpected error: %v %#v", err, err)
|
t.Errorf("Unexpected error: %v %#v", err, err)
|
||||||
return
|
return
|
||||||
@ -1323,7 +1323,7 @@ func TestBackoffLifecycle(t *testing.T) {
|
|||||||
t.Errorf("Backoff is %v instead of %v", thisBackoff, sec)
|
t.Errorf("Backoff is %v instead of %v", thisBackoff, sec)
|
||||||
}
|
}
|
||||||
now := clock.Now()
|
now := clock.Now()
|
||||||
request.DoRaw()
|
request.DoRaw(context.Background())
|
||||||
elapsed := clock.Since(now)
|
elapsed := clock.Since(now)
|
||||||
if clock.Since(now) != thisBackoff {
|
if clock.Since(now) != thisBackoff {
|
||||||
t.Errorf("CalculatedBackoff not honored by clock: Expected time of %v, but got %v ", thisBackoff, elapsed)
|
t.Errorf("CalculatedBackoff not honored by clock: Expected time of %v, but got %v ", thisBackoff, elapsed)
|
||||||
@ -1372,7 +1372,7 @@ func TestCheckRetryClosesBody(t *testing.T) {
|
|||||||
Suffix("baz").
|
Suffix("baz").
|
||||||
Timeout(time.Second).
|
Timeout(time.Second).
|
||||||
Body([]byte(strings.Repeat("abcd", 1000))).
|
Body([]byte(strings.Repeat("abcd", 1000))).
|
||||||
DoRaw()
|
DoRaw(context.Background())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Unexpected error: %v %#v", err, err)
|
t.Fatalf("Unexpected error: %v %#v", err, err)
|
||||||
}
|
}
|
||||||
@ -1405,7 +1405,7 @@ func TestConnectionResetByPeerIsRetried(t *testing.T) {
|
|||||||
backoff: backoff,
|
backoff: backoff,
|
||||||
}
|
}
|
||||||
// We expect two retries of "connection reset by peer" and the success.
|
// We expect two retries of "connection reset by peer" and the success.
|
||||||
_, err := req.Do().Raw()
|
_, err := req.Do(context.Background()).Raw()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("Unexpected error: %v", err)
|
t.Errorf("Unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
@ -1445,7 +1445,7 @@ func TestCheckRetryHandles429And5xx(t *testing.T) {
|
|||||||
Suffix("baz").
|
Suffix("baz").
|
||||||
Timeout(time.Second).
|
Timeout(time.Second).
|
||||||
Body([]byte(strings.Repeat("abcd", 1000))).
|
Body([]byte(strings.Repeat("abcd", 1000))).
|
||||||
DoRaw()
|
DoRaw(context.Background())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Unexpected error: %v %#v", err, err)
|
t.Fatalf("Unexpected error: %v %#v", err, err)
|
||||||
}
|
}
|
||||||
@ -1481,7 +1481,7 @@ func BenchmarkCheckRetryClosesBody(b *testing.B) {
|
|||||||
|
|
||||||
b.ResetTimer()
|
b.ResetTimer()
|
||||||
for i := 0; i < b.N; i++ {
|
for i := 0; i < b.N; i++ {
|
||||||
if _, err := requests[i].DoRaw(); err != nil {
|
if _, err := requests[i].DoRaw(context.Background()); err != nil {
|
||||||
b.Fatalf("Unexpected error (%d/%d): %v", i, b.N, err)
|
b.Fatalf("Unexpected error (%d/%d): %v", i, b.N, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1510,7 +1510,7 @@ func TestDoRequestNewWayReader(t *testing.T) {
|
|||||||
Prefix("foo").
|
Prefix("foo").
|
||||||
Timeout(time.Second).
|
Timeout(time.Second).
|
||||||
Body(bytes.NewBuffer(reqBodyExpected)).
|
Body(bytes.NewBuffer(reqBodyExpected)).
|
||||||
Do().Get()
|
Do(context.Background()).Get()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("Unexpected error: %v %#v", err, err)
|
t.Errorf("Unexpected error: %v %#v", err, err)
|
||||||
return
|
return
|
||||||
@ -1549,7 +1549,7 @@ func TestDoRequestNewWayObj(t *testing.T) {
|
|||||||
Resource("foo").
|
Resource("foo").
|
||||||
Timeout(time.Second).
|
Timeout(time.Second).
|
||||||
Body(reqObj).
|
Body(reqObj).
|
||||||
Do().Get()
|
Do(context.Background()).Get()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("Unexpected error: %v %#v", err, err)
|
t.Errorf("Unexpected error: %v %#v", err, err)
|
||||||
return
|
return
|
||||||
@ -1603,7 +1603,7 @@ func TestDoRequestNewWayFile(t *testing.T) {
|
|||||||
Prefix("foo/bar", "baz").
|
Prefix("foo/bar", "baz").
|
||||||
Timeout(time.Second).
|
Timeout(time.Second).
|
||||||
Body(file.Name()).
|
Body(file.Name()).
|
||||||
Do().WasCreated(&wasCreated).Get()
|
Do(context.Background()).WasCreated(&wasCreated).Get()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("Unexpected error: %v %#v", err, err)
|
t.Errorf("Unexpected error: %v %#v", err, err)
|
||||||
return
|
return
|
||||||
@ -1648,7 +1648,7 @@ func TestWasCreated(t *testing.T) {
|
|||||||
Prefix("foo/bar", "baz").
|
Prefix("foo/bar", "baz").
|
||||||
Timeout(time.Second).
|
Timeout(time.Second).
|
||||||
Body(reqBodyExpected).
|
Body(reqBodyExpected).
|
||||||
Do().WasCreated(&wasCreated).Get()
|
Do(context.Background()).WasCreated(&wasCreated).Get()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("Unexpected error: %v %#v", err, err)
|
t.Errorf("Unexpected error: %v %#v", err, err)
|
||||||
return
|
return
|
||||||
@ -1831,7 +1831,7 @@ func TestWatch(t *testing.T) {
|
|||||||
defer testServer.Close()
|
defer testServer.Close()
|
||||||
|
|
||||||
s := testRESTClient(t, testServer)
|
s := testRESTClient(t, testServer)
|
||||||
watching, err := s.Get().Prefix("path/to/watch/thing").Watch()
|
watching, err := s.Get().Prefix("path/to/watch/thing").Watch(context.Background())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Unexpected error: %v", err)
|
t.Fatalf("Unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
@ -1891,7 +1891,7 @@ func TestWatchNonDefaultContentType(t *testing.T) {
|
|||||||
contentConfig := defaultContentConfig()
|
contentConfig := defaultContentConfig()
|
||||||
contentConfig.ContentType = "application/vnd.kubernetes.protobuf"
|
contentConfig.ContentType = "application/vnd.kubernetes.protobuf"
|
||||||
s := testRESTClientWithConfig(t, testServer, contentConfig)
|
s := testRESTClientWithConfig(t, testServer, contentConfig)
|
||||||
watching, err := s.Get().Prefix("path/to/watch/thing").Watch()
|
watching, err := s.Get().Prefix("path/to/watch/thing").Watch(context.Background())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Unexpected error")
|
t.Fatalf("Unexpected error")
|
||||||
}
|
}
|
||||||
@ -1948,7 +1948,7 @@ func TestWatchUnknownContentType(t *testing.T) {
|
|||||||
defer testServer.Close()
|
defer testServer.Close()
|
||||||
|
|
||||||
s := testRESTClient(t, testServer)
|
s := testRESTClient(t, testServer)
|
||||||
_, err := s.Get().Prefix("path/to/watch/thing").Watch()
|
_, err := s.Get().Prefix("path/to/watch/thing").Watch(context.Background())
|
||||||
if err == nil {
|
if err == nil {
|
||||||
t.Fatalf("Expected to fail due to lack of known stream serialization for content type")
|
t.Fatalf("Expected to fail due to lack of known stream serialization for content type")
|
||||||
}
|
}
|
||||||
@ -1970,7 +1970,7 @@ func TestStream(t *testing.T) {
|
|||||||
defer testServer.Close()
|
defer testServer.Close()
|
||||||
|
|
||||||
s := testRESTClient(t, testServer)
|
s := testRESTClient(t, testServer)
|
||||||
readCloser, err := s.Get().Prefix("path/to/stream/thing").Stream()
|
readCloser, err := s.Get().Prefix("path/to/stream/thing").Stream(context.Background())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
@ -2028,9 +2028,8 @@ func TestDoContext(t *testing.T) {
|
|||||||
|
|
||||||
c := testRESTClient(t, testServer)
|
c := testRESTClient(t, testServer)
|
||||||
_, err := c.Verb("GET").
|
_, err := c.Verb("GET").
|
||||||
Context(ctx).
|
|
||||||
Prefix("foo").
|
Prefix("foo").
|
||||||
DoRaw()
|
DoRaw(ctx)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
t.Fatal("Expected context cancellation error")
|
t.Fatal("Expected context cancellation error")
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,7 @@ limitations under the License.
|
|||||||
package clusterinfo
|
package clusterinfo
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"os"
|
"os"
|
||||||
@ -263,7 +264,7 @@ func (o *ClusterInfoDumpOptions) Run() error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, request := range requests {
|
for _, request := range requests {
|
||||||
data, err := request.DoRaw()
|
data, err := request.DoRaw(context.TODO())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
// Print error and return.
|
// Print error and return.
|
||||||
writer.Write([]byte(fmt.Sprintf("Request log error: %s\n", err.Error())))
|
writer.Write([]byte(fmt.Sprintf("Request log error: %s\n", err.Error())))
|
||||||
|
@ -18,6 +18,7 @@ package logs
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"bufio"
|
"bufio"
|
||||||
|
"context"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
@ -404,7 +405,7 @@ func (o LogsOptions) addPrefixIfNeeded(ref corev1.ObjectReference, writer io.Wri
|
|||||||
// Because the function is defined to read from request until io.EOF, it does
|
// Because the function is defined to read from request until io.EOF, it does
|
||||||
// not treat an io.EOF as an error to be reported.
|
// not treat an io.EOF as an error to be reported.
|
||||||
func DefaultConsumeRequest(request rest.ResponseWrapper, out io.Writer) error {
|
func DefaultConsumeRequest(request rest.ResponseWrapper, out io.Writer) error {
|
||||||
readCloser, err := request.Stream()
|
readCloser, err := request.Stream(context.TODO())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -18,6 +18,7 @@ package logs
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
|
"context"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
@ -667,12 +668,12 @@ type responseWrapperMock struct {
|
|||||||
err error
|
err error
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *responseWrapperMock) DoRaw() ([]byte, error) {
|
func (r *responseWrapperMock) DoRaw(context.Context) ([]byte, error) {
|
||||||
data, _ := ioutil.ReadAll(r.data)
|
data, _ := ioutil.ReadAll(r.data)
|
||||||
return data, r.err
|
return data, r.err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *responseWrapperMock) Stream() (io.ReadCloser, error) {
|
func (r *responseWrapperMock) Stream(context.Context) (io.ReadCloser, error) {
|
||||||
return ioutil.NopCloser(r.data), r.err
|
return ioutil.NopCloser(r.data), r.err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -687,7 +688,7 @@ type logTestMock struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (l *logTestMock) mockConsumeRequest(request restclient.ResponseWrapper, out io.Writer) error {
|
func (l *logTestMock) mockConsumeRequest(request restclient.ResponseWrapper, out io.Writer) error {
|
||||||
readCloser, err := request.Stream()
|
readCloser, err := request.Stream(context.Background())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,7 @@ limitations under the License.
|
|||||||
package metricsutil
|
package metricsutil
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
@ -166,5 +167,5 @@ func (cli *HeapsterMetricsClient) GetPodMetrics(namespace string, podName string
|
|||||||
func GetHeapsterMetrics(cli *HeapsterMetricsClient, path string, params map[string]string) ([]byte, error) {
|
func GetHeapsterMetrics(cli *HeapsterMetricsClient, path string, params map[string]string) ([]byte, error) {
|
||||||
return cli.SVCClient.Services(cli.HeapsterNamespace).
|
return cli.SVCClient.Services(cli.HeapsterNamespace).
|
||||||
ProxyGet(cli.HeapsterScheme, cli.HeapsterService, cli.HeapsterPort, path, params).
|
ProxyGet(cli.HeapsterScheme, cli.HeapsterService, cli.HeapsterPort, path, params).
|
||||||
DoRaw()
|
DoRaw(context.TODO())
|
||||||
}
|
}
|
||||||
|
@ -247,14 +247,13 @@ func (rc *ResourceConsumer) sendConsumeCPURequest(millicores int) {
|
|||||||
proxyRequest, err := e2eservice.GetServicesProxyRequest(rc.clientSet, rc.clientSet.CoreV1().RESTClient().Post())
|
proxyRequest, err := e2eservice.GetServicesProxyRequest(rc.clientSet, rc.clientSet.CoreV1().RESTClient().Post())
|
||||||
framework.ExpectNoError(err)
|
framework.ExpectNoError(err)
|
||||||
req := proxyRequest.Namespace(rc.nsName).
|
req := proxyRequest.Namespace(rc.nsName).
|
||||||
Context(ctx).
|
|
||||||
Name(rc.controllerName).
|
Name(rc.controllerName).
|
||||||
Suffix("ConsumeCPU").
|
Suffix("ConsumeCPU").
|
||||||
Param("millicores", strconv.Itoa(millicores)).
|
Param("millicores", strconv.Itoa(millicores)).
|
||||||
Param("durationSec", strconv.Itoa(rc.consumptionTimeInSeconds)).
|
Param("durationSec", strconv.Itoa(rc.consumptionTimeInSeconds)).
|
||||||
Param("requestSizeMillicores", strconv.Itoa(rc.requestSizeInMillicores))
|
Param("requestSizeMillicores", strconv.Itoa(rc.requestSizeInMillicores))
|
||||||
framework.Logf("ConsumeCPU URL: %v", *req.URL())
|
framework.Logf("ConsumeCPU URL: %v", *req.URL())
|
||||||
_, err = req.DoRaw(context.TODO())
|
_, err = req.DoRaw(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
framework.Logf("ConsumeCPU failure: %v", err)
|
framework.Logf("ConsumeCPU failure: %v", err)
|
||||||
return false, nil
|
return false, nil
|
||||||
@ -274,14 +273,13 @@ func (rc *ResourceConsumer) sendConsumeMemRequest(megabytes int) {
|
|||||||
proxyRequest, err := e2eservice.GetServicesProxyRequest(rc.clientSet, rc.clientSet.CoreV1().RESTClient().Post())
|
proxyRequest, err := e2eservice.GetServicesProxyRequest(rc.clientSet, rc.clientSet.CoreV1().RESTClient().Post())
|
||||||
framework.ExpectNoError(err)
|
framework.ExpectNoError(err)
|
||||||
req := proxyRequest.Namespace(rc.nsName).
|
req := proxyRequest.Namespace(rc.nsName).
|
||||||
Context(ctx).
|
|
||||||
Name(rc.controllerName).
|
Name(rc.controllerName).
|
||||||
Suffix("ConsumeMem").
|
Suffix("ConsumeMem").
|
||||||
Param("megabytes", strconv.Itoa(megabytes)).
|
Param("megabytes", strconv.Itoa(megabytes)).
|
||||||
Param("durationSec", strconv.Itoa(rc.consumptionTimeInSeconds)).
|
Param("durationSec", strconv.Itoa(rc.consumptionTimeInSeconds)).
|
||||||
Param("requestSizeMegabytes", strconv.Itoa(rc.requestSizeInMegabytes))
|
Param("requestSizeMegabytes", strconv.Itoa(rc.requestSizeInMegabytes))
|
||||||
framework.Logf("ConsumeMem URL: %v", *req.URL())
|
framework.Logf("ConsumeMem URL: %v", *req.URL())
|
||||||
_, err = req.DoRaw(context.TODO())
|
_, err = req.DoRaw(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
framework.Logf("ConsumeMem failure: %v", err)
|
framework.Logf("ConsumeMem failure: %v", err)
|
||||||
return false, nil
|
return false, nil
|
||||||
@ -301,7 +299,6 @@ func (rc *ResourceConsumer) sendConsumeCustomMetric(delta int) {
|
|||||||
proxyRequest, err := e2eservice.GetServicesProxyRequest(rc.clientSet, rc.clientSet.CoreV1().RESTClient().Post())
|
proxyRequest, err := e2eservice.GetServicesProxyRequest(rc.clientSet, rc.clientSet.CoreV1().RESTClient().Post())
|
||||||
framework.ExpectNoError(err)
|
framework.ExpectNoError(err)
|
||||||
req := proxyRequest.Namespace(rc.nsName).
|
req := proxyRequest.Namespace(rc.nsName).
|
||||||
Context(ctx).
|
|
||||||
Name(rc.controllerName).
|
Name(rc.controllerName).
|
||||||
Suffix("BumpMetric").
|
Suffix("BumpMetric").
|
||||||
Param("metric", customMetricName).
|
Param("metric", customMetricName).
|
||||||
@ -309,7 +306,7 @@ func (rc *ResourceConsumer) sendConsumeCustomMetric(delta int) {
|
|||||||
Param("durationSec", strconv.Itoa(rc.consumptionTimeInSeconds)).
|
Param("durationSec", strconv.Itoa(rc.consumptionTimeInSeconds)).
|
||||||
Param("requestSizeMetrics", strconv.Itoa(rc.requestSizeCustomMetric))
|
Param("requestSizeMetrics", strconv.Itoa(rc.requestSizeCustomMetric))
|
||||||
framework.Logf("ConsumeCustomMetric URL: %v", *req.URL())
|
framework.Logf("ConsumeCustomMetric URL: %v", *req.URL())
|
||||||
_, err = req.DoRaw(context.TODO())
|
_, err = req.DoRaw(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
framework.Logf("ConsumeCustomMetric failure: %v", err)
|
framework.Logf("ConsumeCustomMetric failure: %v", err)
|
||||||
return false, nil
|
return false, nil
|
||||||
|
@ -220,12 +220,11 @@ func GetStatsSummary(c clientset.Interface, nodeName string) (*kubeletstatsv1alp
|
|||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
||||||
data, err := c.CoreV1().RESTClient().Get().
|
data, err := c.CoreV1().RESTClient().Get().
|
||||||
Context(ctx).
|
|
||||||
Resource("nodes").
|
Resource("nodes").
|
||||||
SubResource("proxy").
|
SubResource("proxy").
|
||||||
Name(fmt.Sprintf("%v:%v", nodeName, ports.KubeletPort)).
|
Name(fmt.Sprintf("%v:%v", nodeName, ports.KubeletPort)).
|
||||||
Suffix("stats/summary").
|
Suffix("stats/summary").
|
||||||
Do(context.TODO()).Raw()
|
Do(ctx).Raw()
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@ -98,12 +98,11 @@ func (r ProxyResponseChecker) CheckAllResponses() (done bool, err error) {
|
|||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
||||||
body, err := r.c.CoreV1().RESTClient().Get().
|
body, err := r.c.CoreV1().RESTClient().Get().
|
||||||
Context(ctx).
|
|
||||||
Namespace(r.ns).
|
Namespace(r.ns).
|
||||||
Resource("pods").
|
Resource("pods").
|
||||||
SubResource("proxy").
|
SubResource("proxy").
|
||||||
Name(string(pod.Name)).
|
Name(string(pod.Name)).
|
||||||
Do(context.TODO()).
|
Do(ctx).
|
||||||
Raw()
|
Raw()
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -47,8 +47,7 @@ import (
|
|||||||
// rpc error: code = Unknown desc = Error: No such container: 41a...
|
// rpc error: code = Unknown desc = Error: No such container: 41a...
|
||||||
// when the pod gets deleted while streaming.
|
// when the pod gets deleted while streaming.
|
||||||
func LogsForPod(ctx context.Context, cs clientset.Interface, ns, pod string, opts *v1.PodLogOptions) (io.ReadCloser, error) {
|
func LogsForPod(ctx context.Context, cs clientset.Interface, ns, pod string, opts *v1.PodLogOptions) (io.ReadCloser, error) {
|
||||||
req := cs.CoreV1().Pods(ns).GetLogs(pod, opts)
|
return cs.CoreV1().Pods(ns).GetLogs(pod, opts).Stream(ctx)
|
||||||
return req.Context(ctx).Stream(context.TODO())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// LogOutput determines where output from CopyAllLogs goes.
|
// LogOutput determines where output from CopyAllLogs goes.
|
||||||
|
@ -294,12 +294,11 @@ func getStatsSummary(c clientset.Interface, nodeName string) (*kubeletstatsv1alp
|
|||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
||||||
data, err := c.CoreV1().RESTClient().Get().
|
data, err := c.CoreV1().RESTClient().Get().
|
||||||
Context(ctx).
|
|
||||||
Resource("nodes").
|
Resource("nodes").
|
||||||
SubResource("proxy").
|
SubResource("proxy").
|
||||||
Name(fmt.Sprintf("%v:%v", nodeName, ports.KubeletPort)).
|
Name(fmt.Sprintf("%v:%v", nodeName, ports.KubeletPort)).
|
||||||
Suffix("stats/summary").
|
Suffix("stats/summary").
|
||||||
Do(context.TODO()).Raw()
|
Do(ctx).Raw()
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@ -94,9 +94,8 @@ func ClusterLevelLoggingWithKibana(f *framework.Framework) {
|
|||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
||||||
_, err = req.Namespace(metav1.NamespaceSystem).
|
_, err = req.Namespace(metav1.NamespaceSystem).
|
||||||
Context(ctx).
|
|
||||||
Name("kibana-logging").
|
Name("kibana-logging").
|
||||||
DoRaw(context.TODO())
|
DoRaw(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
framework.Logf("Proxy call to kibana-logging failed: %v", err)
|
framework.Logf("Proxy call to kibana-logging failed: %v", err)
|
||||||
return false, nil
|
return false, nil
|
||||||
|
@ -2368,13 +2368,12 @@ func makeRequestToGuestbook(c clientset.Interface, cmd, value string, ns string)
|
|||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
||||||
result, err := proxyRequest.Namespace(ns).
|
result, err := proxyRequest.Namespace(ns).
|
||||||
Context(ctx).
|
|
||||||
Name("frontend").
|
Name("frontend").
|
||||||
Suffix("/guestbook").
|
Suffix("/guestbook").
|
||||||
Param("cmd", cmd).
|
Param("cmd", cmd).
|
||||||
Param("key", "messages").
|
Param("key", "messages").
|
||||||
Param("value", value).
|
Param("value", value).
|
||||||
Do(context.TODO()).
|
Do(ctx).
|
||||||
Raw()
|
Raw()
|
||||||
return string(result), err
|
return string(result), err
|
||||||
}
|
}
|
||||||
|
@ -528,13 +528,12 @@ func assertFilesContain(fileNames []string, fileDir string, pod *v1.Pod, client
|
|||||||
|
|
||||||
for _, fileName := range fileNames {
|
for _, fileName := range fileNames {
|
||||||
contents, err := client.CoreV1().RESTClient().Get().
|
contents, err := client.CoreV1().RESTClient().Get().
|
||||||
Context(ctx).
|
|
||||||
Namespace(pod.Namespace).
|
Namespace(pod.Namespace).
|
||||||
Resource("pods").
|
Resource("pods").
|
||||||
SubResource("proxy").
|
SubResource("proxy").
|
||||||
Name(pod.Name).
|
Name(pod.Name).
|
||||||
Suffix(fileDir, fileName).
|
Suffix(fileDir, fileName).
|
||||||
Do(context.TODO()).Raw()
|
Do(ctx).Raw()
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if ctx.Err() != nil {
|
if ctx.Err() != nil {
|
||||||
|
@ -193,9 +193,8 @@ func waitForServiceResponding(c clientset.Interface, ns, name string) error {
|
|||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
||||||
body, err := proxyRequest.Namespace(ns).
|
body, err := proxyRequest.Namespace(ns).
|
||||||
Context(ctx).
|
|
||||||
Name(name).
|
Name(name).
|
||||||
Do(context.TODO()).
|
Do(ctx).
|
||||||
Raw()
|
Raw()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if ctx.Err() != nil {
|
if ctx.Err() != nil {
|
||||||
|
@ -135,13 +135,12 @@ func testPreStop(c clientset.Interface, ns string) {
|
|||||||
|
|
||||||
var body []byte
|
var body []byte
|
||||||
body, err = c.CoreV1().RESTClient().Get().
|
body, err = c.CoreV1().RESTClient().Get().
|
||||||
Context(ctx).
|
|
||||||
Namespace(ns).
|
Namespace(ns).
|
||||||
Resource("pods").
|
Resource("pods").
|
||||||
SubResource("proxy").
|
SubResource("proxy").
|
||||||
Name(podDescr.Name).
|
Name(podDescr.Name).
|
||||||
Suffix("read").
|
Suffix("read").
|
||||||
DoRaw(context.TODO())
|
DoRaw(ctx)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if ctx.Err() != nil {
|
if ctx.Err() != nil {
|
||||||
|
@ -72,10 +72,9 @@ var _ = SIGDescribe("Kubernetes Dashboard [Feature:Dashboard]", func() {
|
|||||||
|
|
||||||
// Query against the proxy URL for the kubernetes-dashboard service.
|
// Query against the proxy URL for the kubernetes-dashboard service.
|
||||||
err := proxyRequest.Namespace(uiNamespace).
|
err := proxyRequest.Namespace(uiNamespace).
|
||||||
Context(ctx).
|
|
||||||
Name(utilnet.JoinSchemeNamePort("https", uiServiceName, "")).
|
Name(utilnet.JoinSchemeNamePort("https", uiServiceName, "")).
|
||||||
Timeout(framework.SingleCallTimeout).
|
Timeout(framework.SingleCallTimeout).
|
||||||
Do(context.TODO()).
|
Do(ctx).
|
||||||
StatusCode(&status).
|
StatusCode(&status).
|
||||||
Error()
|
Error()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user