diff --git a/internal/core/basis.go b/internal/core/basis.go index 1dea0e8c3..58e303b40 100644 --- a/internal/core/basis.go +++ b/internal/core/basis.go @@ -257,13 +257,12 @@ func (b *Basis) Host() (host core.Host, err error) { return nil, fmt.Errorf("failed to detect host plugin for current platform") } - if bg, ok := result.(component.Host); ok { - err := bg.Seed(b.statebag) - if err != nil { + if s, ok := result.(core.Seeder); ok { + if err = s.Seed(b.statebag); err != nil { return nil, err } } else { - return nil, fmt.Errorf("host plugin does not support argument seeding") + return nil, fmt.Errorf("host plugin does not support seeder interface") } b.logger.Info("host detection complete", diff --git a/internal/core/machine.go b/internal/core/machine.go index 0f39c526e..cafd96799 100644 --- a/internal/core/machine.go +++ b/internal/core/machine.go @@ -100,6 +100,14 @@ func (m *Machine) Guest() (g core.Guest, err error) { return nil, fmt.Errorf("failed to detect guest plugin for current platform") } + if s, ok := result.(core.Seeder); ok { + if err = s.Seed(m); err != nil { + return nil, err + } + } else { + return nil, fmt.Errorf("guest plugin does not support seeder interface") + } + m.logger.Info("guest detection complete", "name", result_name)