feat: enable cri remote client to call with grpc calloptions
Signed-off-by: haoyun <yun.hao@daocloud.io>
This commit is contained in:
@@ -77,13 +77,13 @@ func NewImageService(endpoint string, connectionTimeout time.Duration) (internal
|
||||
}
|
||||
|
||||
// ListImages lists available images.
|
||||
func (r *ImageService) ListImages(filter *runtimeapi.ImageFilter) ([]*runtimeapi.Image, error) {
|
||||
func (r *ImageService) ListImages(filter *runtimeapi.ImageFilter, opts ...grpc.CallOption) ([]*runtimeapi.Image, error) {
|
||||
ctx, cancel := getContextWithTimeout(r.timeout)
|
||||
defer cancel()
|
||||
|
||||
resp, err := r.imageClient.ListImages(ctx, &runtimeapi.ListImagesRequest{
|
||||
Filter: filter,
|
||||
})
|
||||
}, opts...)
|
||||
if err != nil {
|
||||
klog.Errorf("ListImages with filter %+v from image service failed: %v", filter, err)
|
||||
return nil, err
|
||||
@@ -93,13 +93,13 @@ func (r *ImageService) ListImages(filter *runtimeapi.ImageFilter) ([]*runtimeapi
|
||||
}
|
||||
|
||||
// ImageStatus returns the status of the image.
|
||||
func (r *ImageService) ImageStatus(image *runtimeapi.ImageSpec) (*runtimeapi.Image, error) {
|
||||
func (r *ImageService) ImageStatus(image *runtimeapi.ImageSpec, opts ...grpc.CallOption) (*runtimeapi.Image, error) {
|
||||
ctx, cancel := getContextWithTimeout(r.timeout)
|
||||
defer cancel()
|
||||
|
||||
resp, err := r.imageClient.ImageStatus(ctx, &runtimeapi.ImageStatusRequest{
|
||||
Image: image,
|
||||
})
|
||||
}, opts...)
|
||||
if err != nil {
|
||||
klog.Errorf("ImageStatus %q from image service failed: %v", image.Image, err)
|
||||
return nil, err
|
||||
@@ -117,7 +117,7 @@ func (r *ImageService) ImageStatus(image *runtimeapi.ImageSpec) (*runtimeapi.Ima
|
||||
}
|
||||
|
||||
// PullImage pulls an image with authentication config.
|
||||
func (r *ImageService) PullImage(image *runtimeapi.ImageSpec, auth *runtimeapi.AuthConfig, podSandboxConfig *runtimeapi.PodSandboxConfig) (string, error) {
|
||||
func (r *ImageService) PullImage(image *runtimeapi.ImageSpec, auth *runtimeapi.AuthConfig, podSandboxConfig *runtimeapi.PodSandboxConfig, opts ...grpc.CallOption) (string, error) {
|
||||
ctx, cancel := getContextWithCancel()
|
||||
defer cancel()
|
||||
|
||||
@@ -125,7 +125,7 @@ func (r *ImageService) PullImage(image *runtimeapi.ImageSpec, auth *runtimeapi.A
|
||||
Image: image,
|
||||
Auth: auth,
|
||||
SandboxConfig: podSandboxConfig,
|
||||
})
|
||||
}, opts...)
|
||||
if err != nil {
|
||||
klog.Errorf("PullImage %q from image service failed: %v", image.Image, err)
|
||||
return "", err
|
||||
@@ -141,13 +141,13 @@ func (r *ImageService) PullImage(image *runtimeapi.ImageSpec, auth *runtimeapi.A
|
||||
}
|
||||
|
||||
// RemoveImage removes the image.
|
||||
func (r *ImageService) RemoveImage(image *runtimeapi.ImageSpec) error {
|
||||
func (r *ImageService) RemoveImage(image *runtimeapi.ImageSpec, opts ...grpc.CallOption) error {
|
||||
ctx, cancel := getContextWithTimeout(r.timeout)
|
||||
defer cancel()
|
||||
|
||||
_, err := r.imageClient.RemoveImage(ctx, &runtimeapi.RemoveImageRequest{
|
||||
Image: image,
|
||||
})
|
||||
}, opts...)
|
||||
if err != nil {
|
||||
klog.Errorf("RemoveImage %q from image service failed: %v", image.Image, err)
|
||||
return err
|
||||
@@ -157,13 +157,13 @@ func (r *ImageService) RemoveImage(image *runtimeapi.ImageSpec) error {
|
||||
}
|
||||
|
||||
// ImageFsInfo returns information of the filesystem that is used to store images.
|
||||
func (r *ImageService) ImageFsInfo() ([]*runtimeapi.FilesystemUsage, error) {
|
||||
func (r *ImageService) ImageFsInfo(opts ...grpc.CallOption) ([]*runtimeapi.FilesystemUsage, error) {
|
||||
// Do not set timeout, because `ImageFsInfo` takes time.
|
||||
// TODO(random-liu): Should we assume runtime should cache the result, and set timeout here?
|
||||
ctx, cancel := getContextWithCancel()
|
||||
defer cancel()
|
||||
|
||||
resp, err := r.imageClient.ImageFsInfo(ctx, &runtimeapi.ImageFsInfoRequest{})
|
||||
resp, err := r.imageClient.ImageFsInfo(ctx, &runtimeapi.ImageFsInfoRequest{}, opts...)
|
||||
if err != nil {
|
||||
klog.Errorf("ImageFsInfo from image service failed: %v", err)
|
||||
return nil, err
|
||||
|
||||
Reference in New Issue
Block a user