From d33866923958b3529a812f4eef7dea4a6591a423 Mon Sep 17 00:00:00 2001 From: Mark Washenberger Date: Wed, 2 Mar 2011 17:36:21 -0500 Subject: add support for quotas on file injection --- nova/quota.py | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) (limited to 'nova/quota.py') diff --git a/nova/quota.py b/nova/quota.py index 6b52a97fa..14b388794 100644 --- a/nova/quota.py +++ b/nova/quota.py @@ -37,15 +37,22 @@ flags.DEFINE_integer('quota_floating_ips', 10, 'number of floating ips allowed per project') flags.DEFINE_integer('quota_metadata_items', 128, 'number of metadata items allowed per instance') +flags.DEFINE_integer('quota_file_injection_max_files', 5, + 'number of files allowed during file injection') +flags.DEFINE_integer('quota_file_injection_max_file_bytes', 10 * 1024, + 'number of bytes allowed per file during file injection') def get_quota(context, project_id): - rval = {'instances': FLAGS.quota_instances, - 'cores': FLAGS.quota_cores, - 'volumes': FLAGS.quota_volumes, - 'gigabytes': FLAGS.quota_gigabytes, - 'floating_ips': FLAGS.quota_floating_ips, - 'metadata_items': FLAGS.quota_metadata_items} + rval = { + 'instances': FLAGS.quota_instances, + 'cores': FLAGS.quota_cores, + 'volumes': FLAGS.quota_volumes, + 'gigabytes': FLAGS.quota_gigabytes, + 'floating_ips': FLAGS.quota_floating_ips, + 'metadata_items': FLAGS.quota_metadata_items, + } + try: quota = db.quota_get(context, project_id) for key in rval.keys(): @@ -106,6 +113,16 @@ def allowed_metadata_items(context, num_metadata_items): return min(num_metadata_items, num_allowed_metadata_items) +def allowed_file_injection_files(context): + """Return the number of files allowed per file injection""" + return FLAGS.quota_file_injection_max_files + + +def allowed_file_injection_file_bytes(context): + """Return the number of bytes allowed per file during injection""" + return FLAGS.quota_file_injection_max_file_bytes + + class QuotaError(exception.ApiError): """Quota Exceeeded""" pass -- cgit From e14f524eb92ae07704a2ec7dac0f97c60940a6ab Mon Sep 17 00:00:00 2001 From: Mark Washenberger Date: Thu, 3 Mar 2011 17:49:41 -0500 Subject: enforce personality quotas --- nova/quota.py | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) (limited to 'nova/quota.py') diff --git a/nova/quota.py b/nova/quota.py index 14b388794..4b777624c 100644 --- a/nova/quota.py +++ b/nova/quota.py @@ -37,10 +37,12 @@ flags.DEFINE_integer('quota_floating_ips', 10, 'number of floating ips allowed per project') flags.DEFINE_integer('quota_metadata_items', 128, 'number of metadata items allowed per instance') -flags.DEFINE_integer('quota_file_injection_max_files', 5, - 'number of files allowed during file injection') -flags.DEFINE_integer('quota_file_injection_max_file_bytes', 10 * 1024, - 'number of bytes allowed per file during file injection') +flags.DEFINE_integer('quota_personality_max_files', 5, + 'number of personality files allowed') +flags.DEFINE_integer('quota_personality_max_content_bytes', 10 * 1024, + 'number of bytes allowed per personality file') +flags.DEFINE_integer('quota_personality_max_path_bytes', 255, + 'number of bytes allowed per personality file path') def get_quota(context, project_id): @@ -113,14 +115,19 @@ def allowed_metadata_items(context, num_metadata_items): return min(num_metadata_items, num_allowed_metadata_items) -def allowed_file_injection_files(context): - """Return the number of files allowed per file injection""" - return FLAGS.quota_file_injection_max_files +def allowed_personality_files(context): + """Return the number of personality files allowed""" + return FLAGS.quota_personality_max_files -def allowed_file_injection_file_bytes(context): - """Return the number of bytes allowed per file during injection""" - return FLAGS.quota_file_injection_max_file_bytes +def allowed_personality_content_bytes(context): + """Return the number of bytes allowed per personality content""" + return FLAGS.quota_personality_max_content_bytes + + +def allowed_personality_path_bytes(context): + """Return the number of bytes allowed in a personality file path""" + return FLAGS.quota_personality_max_path_bytes class QuotaError(exception.ApiError): -- cgit From 7af17cbef6f3e1c5b052133e40e0edbd8ca9ffb3 Mon Sep 17 00:00:00 2001 From: Mark Washenberger Date: Sun, 6 Mar 2011 10:41:24 -0500 Subject: select cleanups --- nova/quota.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'nova/quota.py') diff --git a/nova/quota.py b/nova/quota.py index 4b777624c..1d79f9ef2 100644 --- a/nova/quota.py +++ b/nova/quota.py @@ -46,14 +46,12 @@ flags.DEFINE_integer('quota_personality_max_path_bytes', 255, def get_quota(context, project_id): - rval = { - 'instances': FLAGS.quota_instances, - 'cores': FLAGS.quota_cores, - 'volumes': FLAGS.quota_volumes, - 'gigabytes': FLAGS.quota_gigabytes, - 'floating_ips': FLAGS.quota_floating_ips, - 'metadata_items': FLAGS.quota_metadata_items, - } + rval = {'instances': FLAGS.quota_instances, + 'cores': FLAGS.quota_cores, + 'volumes': FLAGS.quota_volumes, + 'gigabytes': FLAGS.quota_gigabytes, + 'floating_ips': FLAGS.quota_floating_ips, + 'metadata_items': FLAGS.quota_metadata_items} try: quota = db.quota_get(context, project_id) -- cgit From aa4b8a557505108341d603659a5456d10d5f9632 Mon Sep 17 00:00:00 2001 From: Mark Washenberger Date: Sun, 6 Mar 2011 12:06:39 -0500 Subject: avoid possible string/int comparison problems --- nova/quota.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'nova/quota.py') diff --git a/nova/quota.py b/nova/quota.py index 1d79f9ef2..fdef42bc5 100644 --- a/nova/quota.py +++ b/nova/quota.py @@ -115,17 +115,17 @@ def allowed_metadata_items(context, num_metadata_items): def allowed_personality_files(context): """Return the number of personality files allowed""" - return FLAGS.quota_personality_max_files + return int(FLAGS.quota_personality_max_files) def allowed_personality_content_bytes(context): """Return the number of bytes allowed per personality content""" - return FLAGS.quota_personality_max_content_bytes + return int(FLAGS.quota_personality_max_content_bytes) def allowed_personality_path_bytes(context): """Return the number of bytes allowed in a personality file path""" - return FLAGS.quota_personality_max_path_bytes + return int(FLAGS.quota_personality_max_path_bytes) class QuotaError(exception.ApiError): -- cgit From c967679fa8144af57d79d89666ee29a0241d38a9 Mon Sep 17 00:00:00 2001 From: Mark Washenberger Date: Thu, 10 Mar 2011 17:36:41 -0500 Subject: switch to a more consistent usage of onset_files variable names --- nova/quota.py | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) (limited to 'nova/quota.py') diff --git a/nova/quota.py b/nova/quota.py index fdef42bc5..e0fb97542 100644 --- a/nova/quota.py +++ b/nova/quota.py @@ -37,12 +37,12 @@ flags.DEFINE_integer('quota_floating_ips', 10, 'number of floating ips allowed per project') flags.DEFINE_integer('quota_metadata_items', 128, 'number of metadata items allowed per instance') -flags.DEFINE_integer('quota_personality_max_files', 5, - 'number of personality files allowed') -flags.DEFINE_integer('quota_personality_max_content_bytes', 10 * 1024, - 'number of bytes allowed per personality file') -flags.DEFINE_integer('quota_personality_max_path_bytes', 255, - 'number of bytes allowed per personality file path') +flags.DEFINE_integer('quota_max_onset_files', 5, + 'number of onset files allowed') +flags.DEFINE_integer('quota_max_onset_file_content_bytes', 10 * 1024, + 'number of bytes allowed per onset file') +flags.DEFINE_integer('quota_max_onset_file_path_bytes', 255, + 'number of bytes allowed per onset file path') def get_quota(context, project_id): @@ -113,19 +113,19 @@ def allowed_metadata_items(context, num_metadata_items): return min(num_metadata_items, num_allowed_metadata_items) -def allowed_personality_files(context): - """Return the number of personality files allowed""" - return int(FLAGS.quota_personality_max_files) +def allowed_onset_files(context): + """Return the number of onset files allowed""" + return int(FLAGS.quota_max_onset_files) -def allowed_personality_content_bytes(context): - """Return the number of bytes allowed per personality content""" - return int(FLAGS.quota_personality_max_content_bytes) +def allowed_onset_file_content_bytes(context): + """Return the number of bytes allowed per onset file content""" + return int(FLAGS.quota_max_onset_file_content_bytes) -def allowed_personality_path_bytes(context): - """Return the number of bytes allowed in a personality file path""" - return int(FLAGS.quota_personality_max_path_bytes) +def allowed_onset_file_path_bytes(context): + """Return the number of bytes allowed in an onset file path""" + return int(FLAGS.quota_max_onset_file_path_bytes) class QuotaError(exception.ApiError): -- cgit From e9ef6e04786a40d20f8022bec5d23d2e4503ce3a Mon Sep 17 00:00:00 2001 From: Mark Washenberger Date: Tue, 15 Mar 2011 17:56:00 -0400 Subject: s/onset_files/injected_files/g --- nova/quota.py | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) (limited to 'nova/quota.py') diff --git a/nova/quota.py b/nova/quota.py index e0fb97542..2b24c0b5b 100644 --- a/nova/quota.py +++ b/nova/quota.py @@ -37,12 +37,12 @@ flags.DEFINE_integer('quota_floating_ips', 10, 'number of floating ips allowed per project') flags.DEFINE_integer('quota_metadata_items', 128, 'number of metadata items allowed per instance') -flags.DEFINE_integer('quota_max_onset_files', 5, - 'number of onset files allowed') -flags.DEFINE_integer('quota_max_onset_file_content_bytes', 10 * 1024, - 'number of bytes allowed per onset file') -flags.DEFINE_integer('quota_max_onset_file_path_bytes', 255, - 'number of bytes allowed per onset file path') +flags.DEFINE_integer('quota_max_injected_files', 5, + 'number of injected files allowed') +flags.DEFINE_integer('quota_max_injected_file_content_bytes', 10 * 1024, + 'number of bytes allowed per injected file') +flags.DEFINE_integer('quota_max_injected_file_path_bytes', 255, + 'number of bytes allowed per injected file path') def get_quota(context, project_id): @@ -113,19 +113,19 @@ def allowed_metadata_items(context, num_metadata_items): return min(num_metadata_items, num_allowed_metadata_items) -def allowed_onset_files(context): - """Return the number of onset files allowed""" - return int(FLAGS.quota_max_onset_files) +def allowed_injected_files(context): + """Return the number of injected files allowed""" + return FLAGS.quota_max_injected_files -def allowed_onset_file_content_bytes(context): - """Return the number of bytes allowed per onset file content""" - return int(FLAGS.quota_max_onset_file_content_bytes) +def allowed_injected_file_content_bytes(context): + """Return the number of bytes allowed per injected file content""" + return FLAGS.quota_max_injected_file_content_bytes -def allowed_onset_file_path_bytes(context): - """Return the number of bytes allowed in an onset file path""" - return int(FLAGS.quota_max_onset_file_path_bytes) +def allowed_injected_file_path_bytes(context): + """Return the number of bytes allowed in an injected file path""" + return FLAGS.quota_max_injected_file_path_bytes class QuotaError(exception.ApiError): -- cgit