def allowed_security_groups(context, requested_security_groups): """Check quota and return min(requested, allowed) security groups.""" project_id = context.project_id context = context.elevated() used_sec_groups = db.security_group_count_by_project(context, project_id) quota = get_project_quotas(context, project_id) allowed_sec_groups = _get_request_allotment(requested_security_groups, used_sec_groups, quota["security_groups"]) return min(requested_security_groups, allowed_sec_groups)
def allowed_security_groups(context, requested_security_groups): """Check quota and return min(requested, allowed) security groups.""" project_id = context.project_id context = context.elevated() used_sec_groups = db.security_group_count_by_project(context, project_id) quota = get_project_quotas(context, project_id) allowed_sec_groups = _get_request_allotment(requested_security_groups, used_sec_groups, quota['security_groups']) return min(requested_security_groups, allowed_sec_groups)
def get_actual_usage(cntxt, tenant): instance_info = db.instance_data_get_for_project(cxt, tenant) # calculate actual usage actual_instance_count = instance_info[0] actual_core_count = instance_info[1] actual_ram_count = instance_info[2] # actual_fixed_ips should be the same as actual_instance_count since there is no # reason in our environment for someone to use two fixed IPs per instance # db.fixed_ip_count_by_project(cxt,tenant) actual_fixed_ips = actual_instance_count actual_secgroup_count = db.security_group_count_by_project(cxt, tenant) return OrderedDict(( ("actual_instance_count", actual_instance_count), ("actual_core_count", actual_core_count), ("actual_ram_count", actual_ram_count), ("actual_fixed_ips", actual_fixed_ips), ("actual_secgroup_count", actual_secgroup_count) ))
def _sync_security_groups(context, project_id, session): return dict(security_groups=db.security_group_count_by_project( context, project_id, session=session))
def _sync_security_groups(context, project_id, session): return dict(security_groups=db.security_group_count_by_project( context, project_id, session=session))