1 Star 0 Fork 0

liucxer / ceph-tools

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
job_manager.go 1.37 KB
一键复制 编辑 原始数据 按行查看 历史
liu.changxi@datatom.com 提交于 2021-11-03 11:08 . init
package job_manager
import (
"encoding/json"
"gitee.com/liucxer/ceph-tools/pkg/ceph"
"gitee.com/liucxer/ceph-tools/pkg/ceph_cluster"
"github.com/google/uuid"
"github.com/sirupsen/logrus"
"io/ioutil"
"os"
)
func NewJobManager(configPath string) (*JobManager, error) {
execConfig := JobManager{}
err := execConfig.ReadConfig(configPath)
if err != nil {
return &execConfig, nil
}
execConfig.CephCluster, err = ceph_cluster.NewCluster(execConfig.IpAddr)
if err != nil {
return &execConfig, nil
}
execConfig.CephConf, err = ceph.NewCephConf(execConfig.Master, execConfig.OsdNum)
if err != nil {
return &execConfig, nil
}
resultDir := "output_" + uuid.New().String()
err = os.Mkdir(resultDir, os.ModePerm)
if err != nil {
return &execConfig, err
}
logrus.Debugf("NewExecConfig. execConfig:%+v", execConfig)
return &execConfig, nil
}
type JobManager struct {
*ceph_cluster.CephCluster
*ceph.CephConf
PipeLine PipeLine `json:"pipeLine"`
}
func (execConfig *JobManager) ReadConfig(configFilePath string) error {
bts, err := ioutil.ReadFile(configFilePath)
if err != nil {
logrus.Errorf("ioutil.ReadFile err:%v", err)
return err
}
err = json.Unmarshal(bts, execConfig)
if err != nil {
logrus.Errorf("json.Unmarshal err:%v", err)
return err
}
return err
}
func (execConfig *JobManager) Run() (interface{}, error) {
return execConfig.PipeLine.Run()
}
1
https://gitee.com/liucxer/ceph-tools.git
git@gitee.com:liucxer/ceph-tools.git
liucxer
ceph-tools
ceph-tools
db53517fcc53

搜索帮助