class BalancerScheduler(object): def __init__(self): self.dev_manager = BalancerDeviceManager() self.algorithm = SchedulingAlgorithm() def _get_default_device(self, resource): # no management since it's unknown at the moment device = { "name": uuidutils.generate_uuid(), "type": HAPROXY, "version": HAPROXY_VERSION, "management": "", "tenant_id": resource["tenant_id"], "subnet_id": resource["subnet_id"], "status": constants.PENDING_CREATE, } return device def _create_default(self, context, resource): dev_info = self._get_default_device(resource) return self.dev_manager.create_device(context, dev_info) def add_resource_association(self, context, resource): LOG.debug(_("Going to schedule resource %s"), resource) devices = self.dev_manager.get_device_list(context) try: device = self.algorithm(resource, devices) except NoValidDevice, e: LOG.info(_("No valid device was found, " "creating haproxy vm device")) # create device object in DB device = self._create_default(context, resource) self.dev_manager.add_association(context, device, resource) return device
def __init__(self): self.dev_manager = BalancerDeviceManager() self.algorithm = SchedulingAlgorithm()