Jump to: navigation, search

DomainQuotaDriver

Revision as of 14:56, 29 November 2013 by Raildo (talk | contribs) (Desing)

Introduction

Nova BP Domain Quota Driver will enable O~S projects to enforce domain quotas in Nova, for this a new driver capable to enforce domain quota is necessary. This BP addresses the need of a new quota driver capable to enforce domain quotas in Nova.

Quotas in Nova

Currently, OpenStack services make usage of quotas to limit the project resources. For example, the “Instances” quota represents the number of instances that can be created in a project. The table below summarizes the existing project quotas. From now on there will be the same options as Quotas in the context of domain.

quotas type default values description
instances reservable 10 number of instances allowed per project
cores reservable 20 number of instance cores allowed per project
ram reservable 50*1024 megabytes of instance ram allowed per project
floating_ips reservable 10 number of floating ips allowed per project
fixed_ips reservable -1 number of fixed ips allowed per project
metadata_items absolute 128 number of metadata items allowed per instance
injected_files absolute 5 number of injected files allowed
injected_files_content_bytes absolute 10*1024 number of bytes allowed per injected file
nova.injected_file_path_bytes absolute 255 number of bytes allowed per injected file path
nova.security_groups reservable 10 number of security groups per project
nova.security_groups_rules countable 20 number of security rules per security group
nova.key_pairs countable 100 number of key pairs per user

User Stories

The idea for the insertion of this new driver is that it runs parallel to the project driver. Therefore, you can enable and disable the driver in the Nova configuration file. The other features are similar to the domain project driver.

Following is the list of the USs in Domain Quota Driver:

  • As a system administrator, I want to choose which quota driver to use
  • As a system administrator, I want absolute quotas to be enforced
  • As a system administrator, I want countable quotas to be enforced
  • As a system administrator, I want reservable quotas to be reserved
  • As a system administrator, I want reservable quotas to be commited
  • As a system administrator, I want reservable quotas to be rolled back
  • As a system administrator, I want reservable quotas to expire
  • As a user, I want to free quotas when resources are deleted.


Desing

How to design the new driver is to use the new quota engine to perform the operations as well as project driver currently does.