def _graph_create(self, lock_session, listener_dict, l7policies=None, pool_name_ids=None): load_balancer_id = listener_dict['load_balancer_id'] listener_dict = db_prepare.create_listener( listener_dict, load_balancer_id) l7policies = listener_dict.pop('l7policies', l7policies) if listener_dict.get('default_pool_id'): self._validate_pool(lock_session, load_balancer_id, listener_dict['default_pool_id'], listener_dict['protocol']) db_listener = self._validate_create_listener( lock_session, listener_dict) # Now create l7policies new_l7ps = [] for l7p in l7policies: l7p['project_id'] = db_listener.project_id l7p['load_balancer_id'] = load_balancer_id l7p['listener_id'] = db_listener.id redirect_pool = l7p.pop('redirect_pool', None) if redirect_pool: pool_name = redirect_pool['name'] pool_id = pool_name_ids.get(pool_name) if not pool_id: raise exceptions.SingleCreateDetailsMissing( type='Pool', name=pool_name) l7p['redirect_pool_id'] = pool_id new_l7ps.append(l7policy.L7PolicyController()._graph_create( lock_session, l7p)) db_listener.l7policies = new_l7ps return db_listener
def __init__(self): super(BaseV2Controller, self).__init__() self.loadbalancers = load_balancer.LoadBalancersController() self.listeners = listener.ListenersController() self.pools = pool.PoolsController() self.l7policies = l7policy.L7PolicyController() self.healthmonitors = health_monitor.HealthMonitorController() self.quotas = quotas.QuotasController()
class BaseV2Controller(base.BaseController): loadbalancers = load_balancer.LoadBalancersController() listeners = listener.ListenersController() pools = pool.PoolsController() l7policies = l7policy.L7PolicyController() @wsme_pecan.wsexpose(wtypes.text) def get(self): return "v2.0"
def _graph_create(self, session, lock_session, listener_dict, l7policies=None, pool_name_ids=None): load_balancer_id = listener_dict['load_balancer_id'] listener_dict = db_prepare.create_listener(listener_dict, load_balancer_id) l7policies = listener_dict.pop('l7policies', l7policies) if listener_dict.get('default_pool_id'): self._validate_pool(lock_session, load_balancer_id, listener_dict['default_pool_id'], listener_dict['protocol']) db_listener = self._validate_create_listener(lock_session, listener_dict) # Check cluster quotas for l7policies. if l7policies and self.repositories.check_clusterquota_met( lock_session, data_models.L7Policy, base_res_id=db_listener.id, count=len(l7policies)): raise exceptions.ClusterQuotaException( resource=data_models.L7Policy._name()) # Check quotas for l7policies. if l7policies and self.repositories.check_quota_met( session, lock_session, data_models.L7Policy, db_listener.project_id, count=len(l7policies)): raise exceptions.ClusterQuotaException( resource=data_models.L7Policy._name()) # Now create l7policies new_l7ps = [] for l7p in l7policies: l7p['project_id'] = db_listener.project_id l7p['load_balancer_id'] = load_balancer_id l7p['listener_id'] = db_listener.id redirect_pool = l7p.pop('redirect_pool', None) if redirect_pool: pool_name = redirect_pool['name'] pool_id = pool_name_ids.get(pool_name) if not pool_id: raise exceptions.SingleCreateDetailsMissing(type='Pool', name=pool_name) l7p['redirect_pool_id'] = pool_id new_l7ps.append(l7policy.L7PolicyController()._graph_create( session, lock_session, l7p)) db_listener.l7policies = new_l7ps return db_listener
def __init__(self): super().__init__() self.loadbalancers = load_balancer.LoadBalancersController() self.listeners = listener.ListenersController() self.pools = pool.PoolsController() self.l7policies = l7policy.L7PolicyController() self.healthmonitors = health_monitor.HealthMonitorController() self.quotas = quotas.QuotasController() self.providers = provider.ProviderController() self.flavors = flavors.FlavorsController() self.flavorprofiles = flavor_profiles.FlavorProfileController() self.availabilityzones = ( availability_zones.AvailabilityZonesController()) self.availabilityzoneprofiles = ( availability_zone_profiles.AvailabilityZoneProfileController())