Files
cloudpods/pkg/baremetal/utils/raid/interface.go
T
2019-01-23 21:06:58 +08:00

29 lines
907 B
Go

package raid
import (
"yunion.io/x/onecloud/pkg/compute/baremetal"
)
type IRaidDriver interface {
ParsePhyDevs() error
GetName() string
GetAdapters() []IRaidAdapter
PreBuildRaid(confs []*baremetal.BaremetalDiskConfig, adapterIdx int) error
CleanRaid() error
}
type IRaidAdapter interface {
GetIndex() int
PreBuildRaid(confs []*baremetal.BaremetalDiskConfig) error
GetLogicVolumes() ([]int, error)
RemoveLogicVolumes() error
GetDevices() []*baremetal.BaremetalStorage
BuildRaid0(devs []*baremetal.BaremetalStorage, conf *baremetal.BaremetalDiskConfig) error
BuildRaid1(devs []*baremetal.BaremetalStorage, conf *baremetal.BaremetalDiskConfig) error
BuildRaid5(devs []*baremetal.BaremetalStorage, conf *baremetal.BaremetalDiskConfig) error
BuildRaid10(devs []*baremetal.BaremetalStorage, conf *baremetal.BaremetalDiskConfig) error
BuildNoneRaid(devs []*baremetal.BaremetalStorage) error
}