Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
 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()
Ejemplo n.º 3
0
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"
Ejemplo n.º 4
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
Ejemplo n.º 5
0
 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())