Merge pull request #1612 from liubin/1610/use-concrete-kata-agent-config-type

runtime: use concrete KataAgentConfig instead of interface type
This commit is contained in:
Fupan Li
2021-04-01 21:26:38 +08:00
committed by GitHub
3 changed files with 11 additions and 18 deletions

View File

@@ -163,10 +163,10 @@ type agent interface {
resumeContainer(ctx context.Context, sandbox *Sandbox, c Container) error resumeContainer(ctx context.Context, sandbox *Sandbox, c Container) error
// configure will update agent settings based on provided arguments // 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 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 will reseed the guest random number generator
reseedRNG(ctx context.Context, data []byte) error reseedRNG(ctx context.Context, data []byte) error

View File

@@ -368,19 +368,12 @@ func (k *kataAgent) capabilities() types.Capabilities {
return caps 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 var err error
if config != nil { if k.vmSocket, err = h.generateSocket(id); err != nil {
switch c := config.(type) { return err
case KataAgentConfig:
if k.vmSocket, err = h.generateSocket(id); err != nil {
return err
}
k.keepConn = c.LongLiveConn
default:
return vcTypes.ErrInvalidConfigType
}
} }
k.keepConn = config.LongLiveConn
return nil return nil
} }
@@ -429,7 +422,7 @@ func cleanupSandboxBindMounts(sandbox *Sandbox) error {
return nil 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) err := k.internalConfigure(h, id, config)
if err != nil { if err != nil {
return err return err
@@ -471,7 +464,7 @@ func (k *kataAgent) configure(ctx context.Context, h hypervisor, id, sharePath s
return h.addDevice(ctx, sharedVolume, fsDev) 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) return k.internalConfigure(h, id, config)
} }

View File

@@ -176,12 +176,12 @@ func (n *mockAgent) resumeContainer(ctx context.Context, sandbox *Sandbox, c Con
return nil return nil
} }
// configHypervisor is the Noop agent hypervisor configuration implementation. It does nothing. // configure is the Noop agent configuration implementation. It does nothing.
func (n *mockAgent) configure(ctx context.Context, h hypervisor, id, sharePath string, config interface{}) error { func (n *mockAgent) configure(ctx context.Context, h hypervisor, id, sharePath string, config KataAgentConfig) error {
return nil 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 return nil
} }