Beispiel #1
0
 def create_loadbalancer(self, context, loadbalancer):
     loadbalancer = loadbalancer.get('loadbalancer')
     loadbalancer['admin_state_up'] = True
     provider_name = self._get_provider_name(loadbalancer)
     lb_db = self.db.create_loadbalancer(context, loadbalancer)
     self.service_type_manager.add_resource_association(
         context,
         constants.LOADBALANCERV2,
         provider_name, lb_db.id)
     driver = self.drivers[provider_name]
     self._call_driver_operation(
         context, driver.load_balancer.create, lb_db)
     return self.db.get_loadbalancer(context, lb_db.id).to_dict()
Beispiel #2
0
 def update_loadbalancer(self, context, id, loadbalancer):
     loadbalancer = loadbalancer.get('loadbalancer')
     old_lb = self.db.get_loadbalancer(context, id)
     self.db.test_and_set_status(context, models.LoadBalancer, id,
                                 constants.PENDING_UPDATE)
     try:
         updated_lb = self.db.update_loadbalancer(
             context, id, loadbalancer)
     except Exception as exc:
         self.db.update_status(context, models.LoadBalancer, id,
                               old_lb.status)
         LOG.exception(exc)
         raise exc
     driver = self._get_driver_for_provider(old_lb.provider.provider_name)
     self._call_driver_operation(context,
                                 driver.load_balancer.update,
                                 updated_lb, old_db_entity=old_lb)
     return self.db.get_loadbalancer(context, updated_lb.id).to_dict()