mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-20 18:31:15 +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.
|
||||
func CleanScope(requestInfo *request.RequestInfo) string {
|
||||
if requestInfo.Name != "" {
|
||||
if requestInfo.Name != "" || requestInfo.Verb == "create" {
|
||||
return "resource"
|
||||
}
|
||||
if requestInfo.Namespace != "" {
|
||||
|
@ -177,6 +177,15 @@ func TestCleanScope(t *testing.T) {
|
||||
},
|
||||
expectedScope: "resource",
|
||||
},
|
||||
{
|
||||
name: "POST resource scope",
|
||||
requestInfo: &request.RequestInfo{
|
||||
Verb: "create",
|
||||
Namespace: "my-namespace",
|
||||
IsResourceRequest: false,
|
||||
},
|
||||
expectedScope: "resource",
|
||||
},
|
||||
{
|
||||
name: "namespace scope",
|
||||
requestInfo: &request.RequestInfo{
|
||||
@ -293,6 +302,7 @@ func TestRecordDroppedRequests(t *testing.T) {
|
||||
},
|
||||
},
|
||||
requestInfo: &request.RequestInfo{
|
||||
Verb: "list",
|
||||
APIGroup: "",
|
||||
APIVersion: "v1",
|
||||
Resource: "pods",
|
||||
@ -317,6 +327,7 @@ func TestRecordDroppedRequests(t *testing.T) {
|
||||
},
|
||||
},
|
||||
requestInfo: &request.RequestInfo{
|
||||
Verb: "create",
|
||||
APIGroup: "",
|
||||
APIVersion: "v1",
|
||||
Resource: "pods",
|
||||
@ -329,7 +340,7 @@ func TestRecordDroppedRequests(t *testing.T) {
|
||||
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.
|
||||
# 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{
|
||||
Method: "PATCH",
|
||||
URL: &url.URL{
|
||||
RawPath: "/apis/batch/v1/namespaces/foo/pods/status",
|
||||
RawPath: "/apis/batch/v1/namespaces/foo/jobs/bar/status",
|
||||
RawQuery: "dryRun=All",
|
||||
},
|
||||
},
|
||||
requestInfo: &request.RequestInfo{
|
||||
Verb: "patch",
|
||||
APIGroup: "batch",
|
||||
APIVersion: "v1",
|
||||
Resource: "jobs",
|
||||
Name: "bar",
|
||||
Subresource: "status",
|
||||
IsResourceRequest: true,
|
||||
},
|
||||
@ -355,7 +368,7 @@ func TestRecordDroppedRequests(t *testing.T) {
|
||||
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.
|
||||
# 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