diff --git a/pkg/baremetal/agent.go b/pkg/baremetal/agent.go index 214886f8ed..4e839c51d6 100644 --- a/pkg/baremetal/agent.go +++ b/pkg/baremetal/agent.go @@ -128,10 +128,13 @@ func (agent *SBaremetalAgent) StartService() error { return fmt.Errorf("New baremetal manager error: %v", err) } - err = manager.loadConfigs() + files, err := manager.loadConfigs() if err != nil { return fmt.Errorf("Baremetal manager load config error: %v", err) } + if err := manager.initBaremetals(files); err != nil { + log.Warningf("init baremetals by files err: %v", err) + } agent.Manager = manager diff --git a/pkg/baremetal/manager.go b/pkg/baremetal/manager.go index 075705650d..a5d5dba550 100644 --- a/pkg/baremetal/manager.go +++ b/pkg/baremetal/manager.go @@ -103,12 +103,16 @@ func (m *SBaremetalManager) GetZoneName() string { return m.Agent.Zone.Name } -func (m *SBaremetalManager) loadConfigs() error { +func (m *SBaremetalManager) loadConfigs() ([]os.FileInfo, error) { m.killAllIPMITool() files, err := ioutil.ReadDir(m.configPath) if err != nil { - return err + return nil, err } + return files, nil +} + +func (m *SBaremetalManager) initBaremetals(files []os.FileInfo) error { bmIds := make([]string, 0) for _, file := range files { if file.IsDir() && regutils.MatchUUID(file.Name()) {