Merge "Improve help text for quota options"

This commit is contained in:
Jenkins 2016-07-26 15:26:26 +00:00 committed by Gerrit Code Review
commit caeb8ecb85

View File

@ -26,70 +26,218 @@ from oslo_config import cfg
quota_opts = [
cfg.IntOpt('quota_instances',
min=-1,
default=10,
help='Number of instances allowed per project'),
help="""
The number of instances allowed per project.
Possible Values
* 10 (default) or any positive integer.
* -1 : treated as unlimited.
"""),
cfg.IntOpt('quota_cores',
min=-1,
default=20,
help='Number of instance cores allowed per project'),
help="""
The number of instance cores or VCPUs allowed per project.
Possible values:
* 20 (default) or any positive integer.
* -1 : treated as unlimited.
"""),
cfg.IntOpt('quota_ram',
min=-1,
default=50 * 1024,
help='Megabytes of instance RAM allowed per project'),
help="""
The number of megabytes of instance RAM allowed per project.
Possible values:
* 51200 (default) or any positive integer.
* -1 : treated as unlimited.
"""),
cfg.IntOpt('quota_floating_ips',
min=0,
default=10,
help='Number of floating IPs allowed per project'),
help="""
The number of floating IPs allowed per project. Floating IPs are not allocated
to instances by default. Users need to select them from the pool configured by
the OpenStack administrator to attach to their instances.
Possible values:
* 10 (default) or any positive integer.
"""),
cfg.IntOpt('quota_fixed_ips',
min=-1,
default=-1,
help='Number of fixed IPs allowed per project (this should be '
'at least the number of instances allowed)'),
help="""
The number of fixed IPs allowed per project (this should be at least the number
of instances allowed). Unlike floating IPs, fixed IPs are allocated dynamically
by the network component when instances boot up.
Possible values:
* -1 (default) : treated as unlimited.
* Any positive integer.
"""),
cfg.IntOpt('quota_metadata_items',
min=-1,
default=128,
help='Number of metadata items allowed per instance'),
help="""
The number of metadata items allowed per instance. User can associate metadata
while instance creation in the form of key-value pairs.
Possible values:
* 128 (default) or any positive integer.
* -1 : treated as unlimited.
"""),
cfg.IntOpt('quota_injected_files',
min=0,
default=5,
help='Number of injected files allowed'),
help="""
The number of injected files allowed. It allow users to customize the
personality of an instance by injecting data into it upon boot. Only text
file injection is permitted. Binary or zip files won't work. During file
injection, any existing files that match specified files are renamed to include
.bak extension appended with a timestamp.
Possible values:
* 5 (default) or any positive integer.
"""),
cfg.IntOpt('quota_injected_file_content_bytes',
min=0,
default=10 * 1024,
help='Number of bytes allowed per injected file'),
help="""
The number of bytes allowed per injected file.
Possible values:
* 10240 (default) or any positive integer representing number of bytes.
"""),
cfg.IntOpt('quota_injected_file_path_length',
default=255,
help='Length of injected file path'),
help="""
The maximum allowed injected file path length.
Possible values:
* 255 (default) or any positive integer.
"""),
cfg.IntOpt('quota_security_groups',
min=0,
default=10,
help='Number of security groups per project'),
help="""
The number of security groups per project.
Possible values:
* 10 (default) or any positive integer.
"""),
cfg.IntOpt('quota_security_group_rules',
min=0,
default=20,
help='Number of security rules per security group'),
help="""
The number of security rules per security group. The associated rules in each
security group control the traffic to instances in the group.
Possible values:
* 20 (default) or any positive integer.
"""),
cfg.IntOpt('quota_key_pairs',
min=0,
default=100,
help='Number of key pairs per user'),
help="""
The maximum number of key pairs allowed per user. Users can create at least one
key pair for each project and use the key pair for multiple instances that
belong to that project.
Possible values:
* 100 (default) or any positive integer.
"""),
cfg.IntOpt('quota_server_groups',
min=-1,
default=10,
help='Number of server groups per project'),
help="""
Add quota values to constrain the number of server groups per project. Server
group used to control the affinity and anti-affinity scheduling policy for a
group of servers or instances. Reducing the quota will not affect any existing
group, but new servers will not be allowed into groups that have become over
quota.
Possible values:
* 10 (default) or any positive integer.
* -1 : treated as unlimited.
"""),
cfg.IntOpt('quota_server_group_members',
min=-1,
default=10,
help='Number of servers per server group'),
help="""
Add quota values to constrain the number of servers per server group.
Possible values:
* 10 (default) or any positive integer.
* -1 : treated as unlimited.
"""),
cfg.IntOpt('reservation_expire',
default=86400,
help='Number of seconds until a reservation expires'),
help="""
The number of seconds until a reservation expires. It represents the time
period for invalidating quota reservations.
Possible values:
* 86400 (default) or any positive integer representing number of seconds.
"""),
cfg.IntOpt('until_refresh',
min=0,
default=0,
help='Count of reservations until usage is refreshed. This '
'defaults to 0(off) to avoid additional load but it is '
'useful to turn on to help keep quota usage up to date '
'and reduce the impact of out of sync usage issues.'),
help="""
The count of reservations until usage is refreshed. This defaults to 0 (off) to
avoid additional load but it is useful to turn on to help keep quota usage
up-to-date and reduce the impact of out of sync usage issues.
Possible values:
* 0 (default) or any positive integer.
"""),
cfg.IntOpt('max_age',
min=0,
default=0,
help='Number of seconds between subsequent usage refreshes. '
'This defaults to 0(off) to avoid additional load but it '
'is useful to turn on to help keep quota usage up to date '
'and reduce the impact of out of sync usage issues. '
'Note that quotas are not updated on a periodic task, '
'they will update on a new reservation if max_age has '
'passed since the last reservation'),
help="""
The number of seconds between subsequent usage refreshes. This defaults to 0
(off) to avoid additional load but it is useful to turn on to help keep quota
usage up-to-date and reduce the impact of out of sync usage issues. Note that
quotas are not updated on a periodic task, they will update on a new
reservation if max_age has passed since the last reservation.
Possible values:
* 0 (default) or any positive integer representing number of seconds.
"""),
# TODO(pumaranikar): Add a new config to select between the db_driver and
# the no_op driver using stevedoor.
cfg.StrOpt('quota_driver',
default='nova.quota.DbQuotaDriver',
deprecated_for_removal=True,
help='DEPRECATED: Default driver to use for quota checks'),
help="""
Provides abstraction for quota checks. Users can configure a specific
driver to use for quota checks.
Possible values:
* nova.quota.DbQuotaDriver (default) or any string representing fully
qualified class name.
"""),
]
@ -97,5 +245,7 @@ def register_opts(conf):
conf.register_opts(quota_opts)
# TODO(pumaranikar): We can consider moving these options to quota group
# and renaming them all to drop the quota bit.
def list_opts():
return {'DEFAULT': quota_opts}