From a6921e7852cecdacad1a10bd88012e20ee0552ed Mon Sep 17 00:00:00 2001 From: Zexi Li Date: Mon, 25 Nov 2019 09:38:00 +0800 Subject: [PATCH] baremetal: fix init baremetals fatal exit --- pkg/baremetal/agent.go | 5 ++++- pkg/baremetal/manager.go | 8 ++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) 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()) {