Skip to content

Commit c6df867

Browse files
Merge pull request kubernetes#13701 from soltysh/request_timeout
Automatic merge from submit-queue (batch tested with PRs 18503, 18399, 13701, 18513, 18515). UPSTREAM: 51042: Allow passing request-timeout from NewRequest all the way down This was split from openshift/origin#13458. @smarterclayton let's continue the discussion here. Origin-commit: 0fd7db928c80fe528c51848eebb85b9544beb72f
2 parents 51a8b24 + 7cbf37b commit c6df867

File tree

7 files changed

+15
-14
lines changed

7 files changed

+15
-14
lines changed

pkg/kubectl/cmd/create_clusterrolebinding_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -140,5 +140,5 @@ func (c *ClusterRoleBindingRESTClient) Post() *restclient.Request {
140140
serializers.StreamingSerializer = info.StreamSerializer.Serializer
141141
serializers.Framer = info.StreamSerializer.Framer
142142
}
143-
return restclient.NewRequest(c, "POST", &url.URL{Host: "localhost"}, c.VersionedAPIPath, config, serializers, nil, nil)
143+
return restclient.NewRequest(c, "POST", &url.URL{Host: "localhost"}, c.VersionedAPIPath, config, serializers, nil, nil, 0)
144144
}

pkg/kubectl/cmd/create_rolebinding_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,5 +138,5 @@ func (c *RoleBindingRESTClient) Post() *restclient.Request {
138138
serializers.StreamingSerializer = info.StreamSerializer.Serializer
139139
serializers.Framer = info.StreamSerializer.Framer
140140
}
141-
return restclient.NewRequest(c, "POST", &url.URL{Host: "localhost"}, c.VersionedAPIPath, config, serializers, nil, nil)
141+
return restclient.NewRequest(c, "POST", &url.URL{Host: "localhost"}, c.VersionedAPIPath, config, serializers, nil, nil, 0)
142142
}

staging/src/k8s.io/client-go/rest/client.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -222,9 +222,9 @@ func (c *RESTClient) Verb(verb string) *Request {
222222
backoff := c.createBackoffMgr()
223223

224224
if c.Client == nil {
225-
return NewRequest(nil, verb, c.base, c.versionedAPIPath, c.contentConfig, c.serializers, backoff, c.Throttle)
225+
return NewRequest(nil, verb, c.base, c.versionedAPIPath, c.contentConfig, c.serializers, backoff, c.Throttle, 0)
226226
}
227-
return NewRequest(c.Client, verb, c.base, c.versionedAPIPath, c.contentConfig, c.serializers, backoff, c.Throttle)
227+
return NewRequest(c.Client, verb, c.base, c.versionedAPIPath, c.contentConfig, c.serializers, backoff, c.Throttle, c.Client.Timeout)
228228
}
229229

230230
// Post begins a POST request. Short for c.Verb("POST").

staging/src/k8s.io/client-go/rest/fake/fake.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ func (c *RESTClient) request(verb string) *restclient.Request {
107107
serializers.StreamingSerializer = info.StreamSerializer.Serializer
108108
serializers.Framer = info.StreamSerializer.Framer
109109
}
110-
return restclient.NewRequest(c, verb, &url.URL{Host: "localhost"}, c.VersionedAPIPath, config, serializers, nil, nil)
110+
return restclient.NewRequest(c, verb, &url.URL{Host: "localhost"}, c.VersionedAPIPath, config, serializers, nil, nil, 0)
111111
}
112112

113113
func (c *RESTClient) Do(req *http.Request) (*http.Response, error) {

staging/src/k8s.io/client-go/rest/request.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ type Request struct {
112112
}
113113

114114
// NewRequest creates a new request helper object for accessing runtime.Objects on a server.
115-
func NewRequest(client HTTPClient, verb string, baseURL *url.URL, versionedAPIPath string, content ContentConfig, serializers Serializers, backoff BackoffManager, throttle flowcontrol.RateLimiter) *Request {
115+
func NewRequest(client HTTPClient, verb string, baseURL *url.URL, versionedAPIPath string, content ContentConfig, serializers Serializers, backoff BackoffManager, throttle flowcontrol.RateLimiter, timeout time.Duration) *Request {
116116
if backoff == nil {
117117
glog.V(2).Infof("Not implementing request backoff strategy.")
118118
backoff = &NoBackoff{}
@@ -131,6 +131,7 @@ func NewRequest(client HTTPClient, verb string, baseURL *url.URL, versionedAPIPa
131131
serializers: serializers,
132132
backoffMgr: backoff,
133133
throttle: throttle,
134+
timeout: timeout,
134135
}
135136
switch {
136137
case len(content.AcceptContentTypes) > 0:

staging/src/k8s.io/client-go/rest/request_test.go

+7-7
Original file line numberDiff line numberDiff line change
@@ -57,11 +57,11 @@ import (
5757
)
5858

5959
func TestNewRequestSetsAccept(t *testing.T) {
60-
r := NewRequest(nil, "get", &url.URL{Path: "/path/"}, "", ContentConfig{}, Serializers{}, nil, nil)
60+
r := NewRequest(nil, "get", &url.URL{Path: "/path/"}, "", ContentConfig{}, Serializers{}, nil, nil, 0)
6161
if r.headers.Get("Accept") != "" {
6262
t.Errorf("unexpected headers: %#v", r.headers)
6363
}
64-
r = NewRequest(nil, "get", &url.URL{Path: "/path/"}, "", ContentConfig{ContentType: "application/other"}, Serializers{}, nil, nil)
64+
r = NewRequest(nil, "get", &url.URL{Path: "/path/"}, "", ContentConfig{ContentType: "application/other"}, Serializers{}, nil, nil, 0)
6565
if r.headers.Get("Accept") != "application/other, */*" {
6666
t.Errorf("unexpected headers: %#v", r.headers)
6767
}
@@ -86,7 +86,7 @@ func TestRequestSetsHeaders(t *testing.T) {
8686
config := defaultContentConfig()
8787
config.ContentType = "application/other"
8888
serializers := defaultSerializers(t)
89-
r := NewRequest(server, "get", &url.URL{Path: "/path"}, "", config, serializers, nil, nil)
89+
r := NewRequest(server, "get", &url.URL{Path: "/path"}, "", config, serializers, nil, nil, 0)
9090

9191
// Check if all "issue" methods are setting headers.
9292
_ = r.Do()
@@ -341,7 +341,7 @@ func TestResultIntoWithNoBodyReturnsErr(t *testing.T) {
341341

342342
func TestURLTemplate(t *testing.T) {
343343
uri, _ := url.Parse("http://localhost")
344-
r := NewRequest(nil, "POST", uri, "", ContentConfig{GroupVersion: &schema.GroupVersion{Group: "test"}}, Serializers{}, nil, nil)
344+
r := NewRequest(nil, "POST", uri, "", ContentConfig{GroupVersion: &schema.GroupVersion{Group: "test"}}, Serializers{}, nil, nil, 0)
345345
r.Prefix("pre1").Resource("r1").Namespace("ns").Name("nm").Param("p0", "v0")
346346
full := r.URL()
347347
if full.String() != "http://localhost/pre1/namespaces/ns/r1/nm?p0=v0" {
@@ -403,7 +403,7 @@ func TestTransformResponse(t *testing.T) {
403403
{Response: &http.Response{StatusCode: 200, Body: ioutil.NopCloser(bytes.NewReader(invalid))}, Data: invalid},
404404
}
405405
for i, test := range testCases {
406-
r := NewRequest(nil, "", uri, "", defaultContentConfig(), defaultSerializers(t), nil, nil)
406+
r := NewRequest(nil, "", uri, "", defaultContentConfig(), defaultSerializers(t), nil, nil, 0)
407407
if test.Response.Body == nil {
408408
test.Response.Body = ioutil.NopCloser(bytes.NewReader([]byte{}))
409409
}
@@ -554,7 +554,7 @@ func TestTransformResponseNegotiate(t *testing.T) {
554554
serializers.RenegotiatedDecoder = negotiator.invoke
555555
contentConfig := defaultContentConfig()
556556
contentConfig.ContentType = test.ContentType
557-
r := NewRequest(nil, "", uri, "", contentConfig, serializers, nil, nil)
557+
r := NewRequest(nil, "", uri, "", contentConfig, serializers, nil, nil, 0)
558558
if test.Response.Body == nil {
559559
test.Response.Body = ioutil.NopCloser(bytes.NewReader([]byte{}))
560560
}
@@ -1480,7 +1480,7 @@ func TestAbsPath(t *testing.T) {
14801480
{"/p1/api/p2", "/api/r1", "/api/", "/p1/api/p2/api/"},
14811481
} {
14821482
u, _ := url.Parse("http://localhost:123" + tc.configPrefix)
1483-
r := NewRequest(nil, "POST", u, "", ContentConfig{GroupVersion: &schema.GroupVersion{Group: "test"}}, Serializers{}, nil, nil).Prefix(tc.resourcePrefix).AbsPath(tc.absPath)
1483+
r := NewRequest(nil, "POST", u, "", ContentConfig{GroupVersion: &schema.GroupVersion{Group: "test"}}, Serializers{}, nil, nil, 0).Prefix(tc.resourcePrefix).AbsPath(tc.absPath)
14841484
if r.pathPrefix != tc.wantsAbsPath {
14851485
t.Errorf("test case %d failed, unexpected path: %q, expected %q", i, r.pathPrefix, tc.wantsAbsPath)
14861486
}

test/integration/etcd/etcd_storage_path_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -934,7 +934,7 @@ func (c *allClient) verb(verb string, gvk schema.GroupVersionKind) (*restclient.
934934
if err != nil {
935935
return nil, err
936936
}
937-
return restclient.NewRequest(c.client, verb, baseURL, versionedAPIPath, contentConfig, *serializers, c.backoff, c.config.RateLimiter), nil
937+
return restclient.NewRequest(c.client, verb, baseURL, versionedAPIPath, contentConfig, *serializers, c.backoff, c.config.RateLimiter, 0), nil
938938
}
939939

940940
func (c *allClient) create(stub, ns string, mapping *meta.RESTMapping, all *[]cleanupData) error {

0 commit comments

Comments
 (0)