From c78e6325daa81789478321c0ff3d4b07830ced09 Mon Sep 17 00:00:00 2001 From: yaroslavborbat Date: Sun, 19 Jan 2025 01:00:31 +0300 Subject: [PATCH] fix Signed-off-by: yaroslavborbat --- api/client/kubeclient/client.go | 5 +++-- api/client/kubeclient/vm.go | 18 ++++++------------ 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/api/client/kubeclient/client.go b/api/client/kubeclient/client.go index 2a8ed7f57f..5e9d8e603f 100644 --- a/api/client/kubeclient/client.go +++ b/api/client/kubeclient/client.go @@ -35,8 +35,9 @@ import ( ) var ( - Scheme = runtime.NewScheme() - Codecs = serializer.NewCodecFactory(Scheme) + Scheme = runtime.NewScheme() + Codecs = serializer.NewCodecFactory(Scheme) + ParameterCodec = runtime.NewParameterCodec(Scheme) ) func init() { diff --git a/api/client/kubeclient/vm.go b/api/client/kubeclient/vm.go index ed75d79401..b1b81eda92 100644 --- a/api/client/kubeclient/vm.go +++ b/api/client/kubeclient/vm.go @@ -30,6 +30,7 @@ import ( "time" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/client-go/rest" virtv1 "kubevirt.io/api/core/v1" @@ -152,26 +153,19 @@ func (v vm) Migrate(ctx context.Context, name string, opts v1alpha2.VirtualMachi func (v vm) AddVolume(ctx context.Context, name string, opts v1alpha2.VirtualMachineAddVolume) error { path := fmt.Sprintf(subresourceURLTpl, v.namespace, v.resource, name, "addvolume") - - return v.restClient. - Put(). - AbsPath(path). - Param("name", opts.Name). - Param("volumeKind", opts.VolumeKind). - Param("pvcName", opts.PVCName). - Param("image", opts.Image). - Param("isCdrom", strconv.FormatBool(opts.IsCdrom)). - Do(ctx). - Error() + return v.doRequest(ctx, path, &opts) } func (v vm) RemoveVolume(ctx context.Context, name string, opts v1alpha2.VirtualMachineRemoveVolume) error { path := fmt.Sprintf(subresourceURLTpl, v.namespace, v.resource, name, "removevolume") + return v.doRequest(ctx, path, &opts) +} +func (v vm) doRequest(ctx context.Context, path string, obj runtime.Object) error { return v.restClient. Put(). AbsPath(path). - Param("name", opts.Name). + VersionedParams(obj, ParameterCodec). Do(ctx). Error() }