diff --git a/pkg/compute/guestdrivers/openstack.go b/pkg/compute/guestdrivers/openstack.go index c2a9cb534d..9a295fd0da 100644 --- a/pkg/compute/guestdrivers/openstack.go +++ b/pkg/compute/guestdrivers/openstack.go @@ -48,13 +48,21 @@ func init() { models.RegisterGuestDriver(&driver) } -func (self *SOpenStackGuestDriver) DoScheduleCPUFilter() bool { return true } +func (self *SOpenStackGuestDriver) DoScheduleCPUFilter() bool { + return options.Options.SchedulerOptions.OpenStackSchedulerCPUFilter +} -func (self *SOpenStackGuestDriver) DoScheduleMemoryFilter() bool { return true } +func (self *SOpenStackGuestDriver) DoScheduleMemoryFilter() bool { + return options.Options.SchedulerOptions.OpenStackSchedulerMemoryFilter +} -func (self *SOpenStackGuestDriver) DoScheduleSKUFilter() bool { return false } +func (self *SOpenStackGuestDriver) DoScheduleSKUFilter() bool { + return options.Options.SchedulerOptions.OpenStackSchedulerSKUFilter +} -func (self *SOpenStackGuestDriver) DoScheduleStorageFilter() bool { return true } +func (self *SOpenStackGuestDriver) DoScheduleStorageFilter() bool { + return options.Options.SchedulerOptions.OpenStackSchedulerStorageFilter +} func (self *SOpenStackGuestDriver) GetHypervisor() string { return api.HYPERVISOR_OPENSTACK diff --git a/pkg/compute/options/options.go b/pkg/compute/options/options.go index d3fe5df910..6b6b5f835f 100644 --- a/pkg/compute/options/options.go +++ b/pkg/compute/options/options.go @@ -176,6 +176,15 @@ type ComputeOptions struct { ProhibitRefreshingCloudImage bool `help:"Prohibit refreshing cloud image"` esxi.EsxiOptions + + SchedulerOptions +} + +type SchedulerOptions struct { + OpenStackSchedulerCPUFilter bool `help:"Scheduler OpenStack usable host by cpu" default:"true"` + OpenStackSchedulerMemoryFilter bool `help:"Scheduler OpenStack usable host by memory" default:"true"` + OpenStackSchedulerStorageFilter bool `help:"Scheduler OpenStack usable host by storage" default:"true"` + OpenStackSchedulerSKUFilter bool `help:"Scheduler OpenStack usable host by sku" default:"false"` } type SCapabilityOptions struct {