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
// 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

View File

@@ -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)
}

View File

@@ -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
}