Merge "Improve help text for quota options"
This commit is contained in:
commit
caeb8ecb85
@ -26,70 +26,218 @@ from oslo_config import cfg
|
|||||||
|
|
||||||
quota_opts = [
|
quota_opts = [
|
||||||
cfg.IntOpt('quota_instances',
|
cfg.IntOpt('quota_instances',
|
||||||
|
min=-1,
|
||||||
default=10,
|
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',
|
cfg.IntOpt('quota_cores',
|
||||||
|
min=-1,
|
||||||
default=20,
|
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',
|
cfg.IntOpt('quota_ram',
|
||||||
|
min=-1,
|
||||||
default=50 * 1024,
|
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',
|
cfg.IntOpt('quota_floating_ips',
|
||||||
|
min=0,
|
||||||
default=10,
|
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',
|
cfg.IntOpt('quota_fixed_ips',
|
||||||
|
min=-1,
|
||||||
default=-1,
|
default=-1,
|
||||||
help='Number of fixed IPs allowed per project (this should be '
|
help="""
|
||||||
'at least the number of instances allowed)'),
|
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',
|
cfg.IntOpt('quota_metadata_items',
|
||||||
|
min=-1,
|
||||||
default=128,
|
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',
|
cfg.IntOpt('quota_injected_files',
|
||||||
|
min=0,
|
||||||
default=5,
|
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',
|
cfg.IntOpt('quota_injected_file_content_bytes',
|
||||||
|
min=0,
|
||||||
default=10 * 1024,
|
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',
|
cfg.IntOpt('quota_injected_file_path_length',
|
||||||
default=255,
|
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',
|
cfg.IntOpt('quota_security_groups',
|
||||||
|
min=0,
|
||||||
default=10,
|
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',
|
cfg.IntOpt('quota_security_group_rules',
|
||||||
|
min=0,
|
||||||
default=20,
|
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',
|
cfg.IntOpt('quota_key_pairs',
|
||||||
|
min=0,
|
||||||
default=100,
|
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',
|
cfg.IntOpt('quota_server_groups',
|
||||||
|
min=-1,
|
||||||
default=10,
|
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',
|
cfg.IntOpt('quota_server_group_members',
|
||||||
|
min=-1,
|
||||||
default=10,
|
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',
|
cfg.IntOpt('reservation_expire',
|
||||||
default=86400,
|
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',
|
cfg.IntOpt('until_refresh',
|
||||||
|
min=0,
|
||||||
default=0,
|
default=0,
|
||||||
help='Count of reservations until usage is refreshed. This '
|
help="""
|
||||||
'defaults to 0(off) to avoid additional load but it is '
|
The count of reservations until usage is refreshed. This defaults to 0 (off) to
|
||||||
'useful to turn on to help keep quota usage up to date '
|
avoid additional load but it is useful to turn on to help keep quota usage
|
||||||
'and reduce the impact of out of sync usage issues.'),
|
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',
|
cfg.IntOpt('max_age',
|
||||||
|
min=0,
|
||||||
default=0,
|
default=0,
|
||||||
help='Number of seconds between subsequent usage refreshes. '
|
help="""
|
||||||
'This defaults to 0(off) to avoid additional load but it '
|
The number of seconds between subsequent usage refreshes. This defaults to 0
|
||||||
'is useful to turn on to help keep quota usage up to date '
|
(off) to avoid additional load but it is useful to turn on to help keep quota
|
||||||
'and reduce the impact of out of sync usage issues. '
|
usage up-to-date and reduce the impact of out of sync usage issues. Note that
|
||||||
'Note that quotas are not updated on a periodic task, '
|
quotas are not updated on a periodic task, they will update on a new
|
||||||
'they will update on a new reservation if max_age has '
|
reservation if max_age has passed since the last reservation.
|
||||||
'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',
|
cfg.StrOpt('quota_driver',
|
||||||
default='nova.quota.DbQuotaDriver',
|
default='nova.quota.DbQuotaDriver',
|
||||||
deprecated_for_removal=True,
|
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)
|
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():
|
def list_opts():
|
||||||
return {'DEFAULT': quota_opts}
|
return {'DEFAULT': quota_opts}
|
||||||
|
Loading…
Reference in New Issue
Block a user