diff --git a/nova/conf/cells.py b/nova/conf/cells.py index 001f4a38d1..531a8ada00 100644 --- a/nova/conf/cells.py +++ b/nova/conf/cells.py @@ -24,10 +24,29 @@ deployment. """) cells_opts = [ + cfg.StrOpt('topic', + default='cells', + deprecated_for_removal=True, + deprecated_since='15.0.0', + deprecated_reason=""" +Configurable RPC topics provide little value and can result in a wide variety +of errors. They should not be used. +""", + help=""" +Topic. + +This is the message queue topic that cells nodes listen on. It is +used when the cells service is started up to configure the queue, +and whenever an RPC call to the scheduler is made. + +Possible values: + +* cells: This is the recommended and the default value. +"""), cfg.BoolOpt('enable', - default=False, - help=""" -Enable cell functionality + default=False, + help=""" +Enable cell functionality. When this functionality is enabled, it lets you to scale an OpenStack Compute cloud in a more distributed fashion without having to use @@ -44,32 +63,11 @@ Related options: * name: A unique cell name must be given when this functionality is enabled. * cell_type: Cell type should be defined for all cells. - -"""), - cfg.StrOpt('topic', - default='cells', - deprecated_for_removal=True, - deprecated_since='15.0.0', - deprecated_reason=""" -Configurable RPC topics provide little value and can result in a wide variety -of errors. They should not be used. -""", - help=""" -Topic - -This is the message queue topic that cells nodes listen on. It is -used when the cells service is started up to configure the queue, -and whenever an RPC call to the scheduler is made. - -Possible values: - -* cells: This is the recommended and the default value. - """), cfg.StrOpt('name', - default='nova', - help=""" -Name of the current cell + default='nova', + help=""" +Name of the current cell. This value must be unique for each cell. Name of a cell is used as its id, leaving this option unset or setting the same name for @@ -79,12 +77,11 @@ Related options: * enabled: This option is meaningful only when cells service is enabled - """), cfg.ListOpt('capabilities', - default=['hypervisor=xenserver;kvm', 'os=linux;windows'], - help=""" -Cell capabilities + default=['hypervisor=xenserver;kvm', 'os=linux;windows'], + help=""" +Cell capabilities. List of arbitrary key=value pairs defining capabilities of the current cell to be sent to the parent cells. These capabilities @@ -94,13 +91,12 @@ Possible values: * key=value pairs list for example; ``hypervisor=xenserver;kvm,os=linux;windows`` - """), cfg.IntOpt('call_timeout', - min=0, - default=60, - help=""" -Call timeout + default=60, + min=0, + help=""" +Call timeout. Cell messaging module waits for response(s) to be put into the eventlet queue. This option defines the seconds waited for @@ -108,29 +104,36 @@ response from a call to a cell. Possible values: -* Time in seconds. - +* An integer, corresponding to the interval time in seconds. """), + # TODO(sfinucan): Add min parameter cfg.FloatOpt('reserve_percent', - default=10.0, - help=""" + default=10.0, + help=""" Reserve percentage Percentage of cell capacity to hold in reserve, so the minimum amount of free resource is considered to be; - min_free = total * (reserve_percent / 100.0) + + min_free = total * (reserve_percent / 100.0) + This option affects both memory and disk utilization. + The primary purpose of this reserve is to ensure some space is available for users who want to resize their instance to be larger. Note that currently once the capacity expands into this reserve space this option is ignored. +Possible values: + +* An integer or float, corresponding to the percentage of cell capacity to + be held in reserve. """), cfg.StrOpt('cell_type', - default='compute', - choices=('api', 'compute'), - help=""" -Type of cell + default='compute', + choices=('api', 'compute'), + help=""" +Type of cell. When cells feature is enabled the hosts in the OpenStack Compute cloud are partitioned into groups. Cells are configured as a tree. @@ -144,10 +147,11 @@ Related options: * quota_driver: Disable quota checking for the child cells. (nova.quota.NoopQuotaDriver) """), - cfg.IntOpt("mute_child_interval", - default=300, - help=""" -Mute child interval + # TODO(sfinucan): Add min parameter + cfg.IntOpt('mute_child_interval', + default=300, + help=""" +Mute child interval. Number of seconds after which a lack of capability and capacity update the child cell is to be treated as a mute cell. Then the @@ -155,25 +159,25 @@ child cell will be weighed as recommend highly that it be skipped. Possible values: -* Time in seconds. - +* An integer, corresponding to the interval time in seconds. """), + # TODO(sfinucan): Add min parameter cfg.IntOpt('bandwidth_update_interval', - default=600, - help=""" -Bandwidth update interval + default=600, + help=""" +Bandwidth update interval. Seconds between bandwidth usage cache updates for cells. Possible values: -* Time in seconds. - +* An integer, corresponding to the interval time in seconds. """), + # TODO(sfinucan): Add min parameter cfg.IntOpt('instance_update_sync_database_limit', - default=100, - help=""" -Instance update sync database limit + default=100, + help=""" +Instance update sync database limit. Number of instances to pull from the database at one time for a sync. If there are more instances to update the results will @@ -181,16 +185,16 @@ be paged through. Possible values: -* Number of instances. - +* An integer, corresponding to a number of instances. """), ] mute_weigher_opts = [ - cfg.FloatOpt('mute_weight_multiplier', - default=-10000.0, - help=""" -Mute weight multiplier + # TODO(sfinucan): Add max parameter + cfg.FloatOpt('mute_weight_multiplier', + default=-10000.0, + help=""" +Mute weight multiplier. Multiplier used to weigh mute children. Mute children cells are recommended to be skipped so their weight is multiplied by this @@ -199,15 +203,15 @@ negative value. Possible values: * Negative numeric number - """), ] ram_weigher_opts = [ - cfg.FloatOpt('ram_weight_multiplier', - default=10.0, - help=""" -Ram weight multiplier + # TODO(sfinucan): Add min parameter + cfg.FloatOpt('ram_weight_multiplier', + default=10.0, + help=""" +Ram weight multiplier. Multiplier used for weighing ram. Negative numbers indicate that Compute should stack VMs on one host instead of spreading out new @@ -216,14 +220,14 @@ VMs to more hosts in the cell. Possible values: * Numeric multiplier - """), ] weigher_opts = [ + # TODO(sfinucan): Add min parameter cfg.FloatOpt('offset_weight_multiplier', - default=1.0, - help=""" + default=1.0, + help=""" Offset weight multiplier Multiplier used to weigh offset weigher. Cells with higher @@ -235,28 +239,27 @@ cells based on the setting. Possible values: * Numeric multiplier - """), ] cell_manager_opts = [ - cfg.StrOpt('driver', - default='nova.cells.rpc_driver.CellsRPCDriver', - deprecated_for_removal=True, - deprecated_since="14.0.0", - deprecated_reason='The only available driver ' - 'is the RPC driver.', - help="""Cells communication driver + cfg.StrOpt('driver', + default='nova.cells.rpc_driver.CellsRPCDriver', + deprecated_for_removal=True, + deprecated_since="14.0.0", + deprecated_reason='The only available driver ' + 'is the RPC driver.', + help="""Cells communication driver Driver for cell<->cell communication via RPC. This is used to setup the RPC consumers as well as to send a message to another cell. 'nova.cells.rpc_driver.CellsRPCDriver' starts up 2 separate servers for handling inter-cell communication via RPC. - """), - cfg.IntOpt("instance_updated_at_threshold", - default=3600, - help=""" + # TODO(sfinucan): Add min parameter + cfg.IntOpt('instance_updated_at_threshold', + default=3600, + help=""" Instance updated at threshold Number of seconds after an instance was updated or deleted to @@ -273,11 +276,11 @@ Related options: * This value is used with the ``instance_update_num_instances`` value in a periodic task run. - """), - cfg.IntOpt("instance_update_num_instances", - default=1, - help=""" + # TODO(sfinucan): Add min parameter + cfg.IntOpt("instance_update_num_instances", + default=1, + help=""" Instance update num instances On every run of the periodic task, nova cells manager will attempt to @@ -294,14 +297,14 @@ Related options: * This value is used with the ``instance_updated_at_threshold`` value in a periodic task run. - """) ] cell_messaging_opts = [ + # TODO(sfinucan): Add min parameter cfg.IntOpt('max_hop_count', - default=10, - help=""" + default=10, + help=""" Maximum hop count When processing a targeted message, if the local cell is not the @@ -312,25 +315,23 @@ defines the maximum hop counts until reaching the target. Possible values: * Positive integer value - """), cfg.StrOpt('scheduler', - default='nova.cells.scheduler.CellsScheduler', - help=""" -Cells scheduler + default='nova.cells.scheduler.CellsScheduler', + help=""" +Cells scheduler. The class of the driver used by the cells scheduler. This should be the full Python path to the class to be used. If nothing is specified in this option, the CellsScheduler is used. - """) ] cell_rpc_driver_opts = [ - cfg.StrOpt('rpc_driver_queue_base', - default='cells.intercell', - help=""" -RPC driver queue base + cfg.StrOpt('rpc_driver_queue_base', + default='cells.intercell', + help=""" +RPC driver queue base. When sending a message to another cell by JSON-ifying the message and making an RPC cast to 'process_message', a base queue is used. @@ -340,15 +341,14 @@ between cells. Various topics by message type will be appended to this. Possible values: * The base queue name to be used when communicating between cells. - """) ] cell_scheduler_opts = [ - cfg.ListOpt('scheduler_filter_classes', - default=['nova.cells.filters.all_filters'], - help=""" -Scheduler filter classes + cfg.ListOpt('scheduler_filter_classes', + default=['nova.cells.filters.all_filters'], + help=""" +Scheduler filter classes. Filter classes the cells scheduler should use. An entry of "nova.cells.filters.all_filters" maps to all cells filters @@ -376,10 +376,10 @@ As an admin user, you can also add a filter that directs builds to a particular cell. """), - cfg.ListOpt('scheduler_weight_classes', - default=['nova.cells.weights.all_weighers'], - help=""" -Scheduler weight classes + cfg.ListOpt('scheduler_weight_classes', + default=['nova.cells.weights.all_weighers'], + help=""" +Scheduler weight classes. Weigher classes the cells scheduler should use. An entry of "nova.cells.weights.all_weighers" maps to all cell weighers @@ -407,12 +407,12 @@ it is unlikely to be picked but it could be picked if other cells have a lower weight, like if they're full. And when the weight_offset is set to a very high value (for example, '999999999999999'), it is likely to be picked if another cell do not have a higher weight. - """), - cfg.IntOpt('scheduler_retries', - default=10, - help=""" -Scheduler retries + # TODO(sfinucan): Add min parameter + cfg.IntOpt('scheduler_retries', + default=10, + help=""" +Scheduler retries. How many retries when no cells are available. Specifies how many times the scheduler tries to launch a new instance when no cells @@ -426,12 +426,12 @@ Related options: * This value is used with the ``scheduler_retry_delay`` value while retrying to find a suitable cell. - """), - cfg.IntOpt('scheduler_retry_delay', - default=2, - help=""" -Scheduler retry delay + # TODO(sfinucan): Add min parameter + cfg.IntOpt('scheduler_retry_delay', + default=2, + help=""" +Scheduler retry delay. Specifies the delay (in seconds) between scheduling retries when no cell can be found to place the new instance on. When the instance @@ -447,15 +447,15 @@ Related options: * This value is used with the ``scheduler_retries`` value while retrying to find a suitable cell. - """) ] cell_state_manager_opts = [ - cfg.IntOpt('db_check_interval', - default=60, - help=""" -DB check interval + # TODO(sfinucan): Add min parameter + cfg.IntOpt('db_check_interval', + default=60, + help=""" +DB check interval. Cell state manager updates cell status for all cells from the DB only after this particular interval time is passed. Otherwise cached @@ -467,9 +467,9 @@ Possible values: * Interval time, in seconds. """), - cfg.StrOpt('cells_config', - help=""" -Optional cells configuration + cfg.StrOpt('cells_config', + help=""" +Optional cells configuration. Configuration file from which to read cells configuration. If given, overrides reading cells from the database.