diff --git a/src/runtime/virtcontainers/agent.go b/src/runtime/virtcontainers/agent.go index 87e061204d..1f0b8577a3 100644 --- a/src/runtime/virtcontainers/agent.go +++ b/src/runtime/virtcontainers/agent.go @@ -163,10 +163,10 @@ type agent interface { resumeContainer(ctx context.Context, sandbox *Sandbox, c Container) error // configure will update agent settings based on provided arguments - configure(ctx context.Context, h hypervisor, id, sharePath string, config interface{}) error + configure(ctx context.Context, h hypervisor, id, sharePath string, config KataAgentConfig) error // configureFromGrpc will update agent settings based on provided arguments which from Grpc - configureFromGrpc(h hypervisor, id string, config interface{}) error + configureFromGrpc(h hypervisor, id string, config KataAgentConfig) error // reseedRNG will reseed the guest random number generator reseedRNG(ctx context.Context, data []byte) error diff --git a/src/runtime/virtcontainers/kata_agent.go b/src/runtime/virtcontainers/kata_agent.go index 33001a0350..44fb46b768 100644 --- a/src/runtime/virtcontainers/kata_agent.go +++ b/src/runtime/virtcontainers/kata_agent.go @@ -368,19 +368,12 @@ func (k *kataAgent) capabilities() types.Capabilities { return caps } -func (k *kataAgent) internalConfigure(h hypervisor, id string, config interface{}) error { +func (k *kataAgent) internalConfigure(h hypervisor, id string, config KataAgentConfig) error { var err error - if config != nil { - switch c := config.(type) { - case KataAgentConfig: - if k.vmSocket, err = h.generateSocket(id); err != nil { - return err - } - k.keepConn = c.LongLiveConn - default: - return vcTypes.ErrInvalidConfigType - } + if k.vmSocket, err = h.generateSocket(id); err != nil { + return err } + k.keepConn = config.LongLiveConn return nil } @@ -429,7 +422,7 @@ func cleanupSandboxBindMounts(sandbox *Sandbox) error { return nil } -func (k *kataAgent) configure(ctx context.Context, h hypervisor, id, sharePath string, config interface{}) error { +func (k *kataAgent) configure(ctx context.Context, h hypervisor, id, sharePath string, config KataAgentConfig) error { err := k.internalConfigure(h, id, config) if err != nil { return err @@ -471,7 +464,7 @@ func (k *kataAgent) configure(ctx context.Context, h hypervisor, id, sharePath s return h.addDevice(ctx, sharedVolume, fsDev) } -func (k *kataAgent) configureFromGrpc(h hypervisor, id string, config interface{}) error { +func (k *kataAgent) configureFromGrpc(h hypervisor, id string, config KataAgentConfig) error { return k.internalConfigure(h, id, config) } diff --git a/src/runtime/virtcontainers/mock_agent.go b/src/runtime/virtcontainers/mock_agent.go index 6807ac72a5..c1aa920386 100644 --- a/src/runtime/virtcontainers/mock_agent.go +++ b/src/runtime/virtcontainers/mock_agent.go @@ -176,12 +176,12 @@ func (n *mockAgent) resumeContainer(ctx context.Context, sandbox *Sandbox, c Con return nil } -// configHypervisor is the Noop agent hypervisor configuration implementation. It does nothing. -func (n *mockAgent) configure(ctx context.Context, h hypervisor, id, sharePath string, config interface{}) error { +// configure is the Noop agent configuration implementation. It does nothing. +func (n *mockAgent) configure(ctx context.Context, h hypervisor, id, sharePath string, config KataAgentConfig) error { return nil } -func (n *mockAgent) configureFromGrpc(h hypervisor, id string, config interface{}) error { +func (n *mockAgent) configureFromGrpc(h hypervisor, id string, config KataAgentConfig) error { return nil }