mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-21 10:51:29 +00:00
Fix requests scope classification
create (POST) custom resources should be scope:resource
This commit is contained in:
parent
076168b84d
commit
690c912369
@ -577,7 +577,7 @@ func InstrumentHandlerFunc(verb, group, version, resource, subresource, scope, c
|
|||||||
|
|
||||||
// CleanScope returns the scope of the request.
|
// CleanScope returns the scope of the request.
|
||||||
func CleanScope(requestInfo *request.RequestInfo) string {
|
func CleanScope(requestInfo *request.RequestInfo) string {
|
||||||
if requestInfo.Name != "" {
|
if requestInfo.Name != "" || requestInfo.Verb == "create" {
|
||||||
return "resource"
|
return "resource"
|
||||||
}
|
}
|
||||||
if requestInfo.Namespace != "" {
|
if requestInfo.Namespace != "" {
|
||||||
|
@ -177,6 +177,15 @@ func TestCleanScope(t *testing.T) {
|
|||||||
},
|
},
|
||||||
expectedScope: "resource",
|
expectedScope: "resource",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "POST resource scope",
|
||||||
|
requestInfo: &request.RequestInfo{
|
||||||
|
Verb: "create",
|
||||||
|
Namespace: "my-namespace",
|
||||||
|
IsResourceRequest: false,
|
||||||
|
},
|
||||||
|
expectedScope: "resource",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: "namespace scope",
|
name: "namespace scope",
|
||||||
requestInfo: &request.RequestInfo{
|
requestInfo: &request.RequestInfo{
|
||||||
@ -293,6 +302,7 @@ func TestRecordDroppedRequests(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
requestInfo: &request.RequestInfo{
|
requestInfo: &request.RequestInfo{
|
||||||
|
Verb: "list",
|
||||||
APIGroup: "",
|
APIGroup: "",
|
||||||
APIVersion: "v1",
|
APIVersion: "v1",
|
||||||
Resource: "pods",
|
Resource: "pods",
|
||||||
@ -317,6 +327,7 @@ func TestRecordDroppedRequests(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
requestInfo: &request.RequestInfo{
|
requestInfo: &request.RequestInfo{
|
||||||
|
Verb: "create",
|
||||||
APIGroup: "",
|
APIGroup: "",
|
||||||
APIVersion: "v1",
|
APIVersion: "v1",
|
||||||
Resource: "pods",
|
Resource: "pods",
|
||||||
@ -329,7 +340,7 @@ func TestRecordDroppedRequests(t *testing.T) {
|
|||||||
apiserver_dropped_requests_total{request_kind="mutating"} 1
|
apiserver_dropped_requests_total{request_kind="mutating"} 1
|
||||||
# HELP apiserver_request_total [STABLE] Counter of apiserver requests broken out for each verb, dry run value, group, version, resource, scope, component, and HTTP response code.
|
# HELP apiserver_request_total [STABLE] Counter of apiserver requests broken out for each verb, dry run value, group, version, resource, scope, component, and HTTP response code.
|
||||||
# TYPE apiserver_request_total counter
|
# TYPE apiserver_request_total counter
|
||||||
apiserver_request_total{code="429",component="apiserver",dry_run="",group="",resource="pods",scope="cluster",subresource="",verb="POST",version="v1"} 1
|
apiserver_request_total{code="429",component="apiserver",dry_run="",group="",resource="pods",scope="resource",subresource="",verb="POST",version="v1"} 1
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -337,14 +348,16 @@ func TestRecordDroppedRequests(t *testing.T) {
|
|||||||
request: &http.Request{
|
request: &http.Request{
|
||||||
Method: "PATCH",
|
Method: "PATCH",
|
||||||
URL: &url.URL{
|
URL: &url.URL{
|
||||||
RawPath: "/apis/batch/v1/namespaces/foo/pods/status",
|
RawPath: "/apis/batch/v1/namespaces/foo/jobs/bar/status",
|
||||||
RawQuery: "dryRun=All",
|
RawQuery: "dryRun=All",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
requestInfo: &request.RequestInfo{
|
requestInfo: &request.RequestInfo{
|
||||||
|
Verb: "patch",
|
||||||
APIGroup: "batch",
|
APIGroup: "batch",
|
||||||
APIVersion: "v1",
|
APIVersion: "v1",
|
||||||
Resource: "jobs",
|
Resource: "jobs",
|
||||||
|
Name: "bar",
|
||||||
Subresource: "status",
|
Subresource: "status",
|
||||||
IsResourceRequest: true,
|
IsResourceRequest: true,
|
||||||
},
|
},
|
||||||
@ -355,7 +368,7 @@ func TestRecordDroppedRequests(t *testing.T) {
|
|||||||
apiserver_dropped_requests_total{request_kind="mutating"} 1
|
apiserver_dropped_requests_total{request_kind="mutating"} 1
|
||||||
# HELP apiserver_request_total [STABLE] Counter of apiserver requests broken out for each verb, dry run value, group, version, resource, scope, component, and HTTP response code.
|
# HELP apiserver_request_total [STABLE] Counter of apiserver requests broken out for each verb, dry run value, group, version, resource, scope, component, and HTTP response code.
|
||||||
# TYPE apiserver_request_total counter
|
# TYPE apiserver_request_total counter
|
||||||
apiserver_request_total{code="429",component="apiserver",dry_run="All",group="batch",resource="jobs",scope="cluster",subresource="status",verb="PATCH",version="v1"} 1
|
apiserver_request_total{code="429",component="apiserver",dry_run="All",group="batch",resource="jobs",scope="resource",subresource="status",verb="PATCH",version="v1"} 1
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user