kubekey/pkg/core/modules/task_module.go
24sama c2fb7fd5c5 Experiment: rename module and pipeline cache
Signed-off-by: 24sama <leo@kubesphere.io>
2021-11-01 18:15:05 +08:00

33 lines
632 B
Go

package modules
import (
"github.com/kubesphere/kubekey/pkg/core/connector"
"github.com/pkg/errors"
)
type BaseTaskModule struct {
BaseModule
Tasks []*Task
}
func (b *BaseTaskModule) Init() {
if b.Name == "" {
b.Name = DefaultTaskModuleName
}
}
func (b *BaseTaskModule) Is() string {
return TaskModuleType
}
func (b *BaseTaskModule) Run() error {
for i := range b.Tasks {
task := b.Tasks[i]
task.Init(b.Name, b.Runtime.(connector.Runtime), b.ModuleCache, b.PipelineCache)
if res := task.Execute(); res.IsFailed() {
return errors.Wrapf(res.CombineErr(), "Module[%s] exec failed", b.Name)
}
}
return nil
}