Skip to content

Commit

Permalink
pkg/cri: add recently added CRI methods.
Browse files Browse the repository at this point in the history
Add recently introduced PodSandboxStats and ListPodSandboxStats
CRI gRPC handlers.
  • Loading branch information
klihub committed Feb 2, 2022
1 parent ec90607 commit a7a9044
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 0 deletions.
14 changes: 14 additions & 0 deletions pkg/cri/relay/runtime-service.go
Expand Up @@ -16,6 +16,7 @@ package relay

import (
"context"

api "k8s.io/cri-api/pkg/apis/runtime/v1alpha2"

"github.com/intel/cri-resource-manager/pkg/dump"
Expand Down Expand Up @@ -156,6 +157,19 @@ func (r *relay) ListContainerStats(ctx context.Context,
return r.client.ListContainerStats(ctx, req)
}

func (r *relay) PodSandboxStats(ctx context.Context,
req *api.PodSandboxStatsRequest) (*api.PodSandboxStatsResponse, error) {
r.dump("PodSandboxStats", req)
return r.client.PodSandboxStats(ctx, req)
}

func (r *relay) ListPodSandboxStats(ctx context.Context,
req *api.ListPodSandboxStatsRequest) (*api.ListPodSandboxStatsResponse,
error) {
r.dump("ListPodSandboxStats", req)
return r.client.ListPodSandboxStats(ctx, req)
}

func (r *relay) UpdateRuntimeConfig(ctx context.Context,
req *api.UpdateRuntimeConfigRequest) (*api.UpdateRuntimeConfigResponse, error) {
r.dump("UpdateRuntimeConfig", req)
Expand Down
28 changes: 28 additions & 0 deletions pkg/cri/server/services.go
Expand Up @@ -54,6 +54,8 @@ const (
portForward = "PortForward"
containerStats = "ContainerStats"
listContainerStats = "ListContainerStats"
podSandboxStats = "PodSandboxStats"
listPodSandboxStats = "ListPodSandboxStats"
updateRuntimeConfig = "UpdateRuntimeConfig"
status = "Status"
)
Expand Down Expand Up @@ -426,6 +428,32 @@ func (s *server) ListContainerStats(ctx context.Context,
return rsp.(*api.ListContainerStatsResponse), err
}

func (s *server) PodSandboxStats(ctx context.Context, req *api.PodSandboxStatsRequest) (*api.PodSandboxStatsResponse, error) {
rsp, err := s.interceptRequest(ctx, runtimeService, podSandboxStats, req,
func(ctx context.Context, req interface{}) (interface{}, error) {
return (*s.runtime).PodSandboxStats(ctx, req.(*api.PodSandboxStatsRequest))
})

if err != nil {
return nil, err
}

return rsp.(*api.PodSandboxStatsResponse), err
}

func (s *server) ListPodSandboxStats(ctx context.Context, req *api.ListPodSandboxStatsRequest) (*api.ListPodSandboxStatsResponse, error) {
rsp, err := s.interceptRequest(ctx, runtimeService, listPodSandboxStats, req,
func(ctx context.Context, req interface{}) (interface{}, error) {
return (*s.runtime).ListPodSandboxStats(ctx, req.(*api.ListPodSandboxStatsRequest))
})

if err != nil {
return nil, err
}

return rsp.(*api.ListPodSandboxStatsResponse), err
}

func (s *server) UpdateRuntimeConfig(ctx context.Context,
req *api.UpdateRuntimeConfigRequest) (*api.UpdateRuntimeConfigResponse, error) {
rsp, err := s.interceptRequest(ctx, runtimeService, updateRuntimeConfig, req,
Expand Down
10 changes: 10 additions & 0 deletions test/functional/fake_cri_server_test.go
Expand Up @@ -228,6 +228,16 @@ func (s *fakeCriServer) ListContainerStats(ctx context.Context, req *api.ListCon
return response.(*api.ListContainerStatsResponse), err
}

func (s *fakeCriServer) PodSandboxStats(ctx context.Context, req *api.PodSandboxStatsRequest) (*api.PodSandboxStatsResponse, error) {
response, err := s.callHandler(ctx, req, nil)
return response.(*api.PodSandboxStatsResponse), err
}

func (s *fakeCriServer) ListPodSandboxStats(ctx context.Context, req *api.ListPodSandboxStatsRequest) (*api.ListPodSandboxStatsResponse, error) {
response, err := s.callHandler(ctx, req, nil)
return response.(*api.ListPodSandboxStatsResponse), err
}

func (s *fakeCriServer) UpdateRuntimeConfig(ctx context.Context, req *api.UpdateRuntimeConfigRequest) (*api.UpdateRuntimeConfigResponse, error) {
response, err := s.callHandler(ctx, req, nil)
return response.(*api.UpdateRuntimeConfigResponse), err
Expand Down

0 comments on commit a7a9044

Please sign in to comment.