diff options
-rw-r--r-- | etc/nova/nova.conf.sample | 2449 | ||||
-rw-r--r-- | tools/conf/create_conf.py | 159 | ||||
-rw-r--r-- | tools/conf/extract_opts.py | 161 | ||||
-rwxr-xr-x | tools/conf/generate_sample.sh | 2 |
4 files changed, 1717 insertions, 1054 deletions
diff --git a/etc/nova/nova.conf.sample b/etc/nova/nova.conf.sample index 80496646e..3ac5ad6a7 100644 --- a/etc/nova/nova.conf.sample +++ b/etc/nova/nova.conf.sample @@ -4,1116 +4,1777 @@ [DEFAULT] -######### defined in nova.flags ######### +######## defined in nova.crypto ######## + +# ca_file="cacert.pem" +#### (StrOpt) Filename of root CA + +# key_file="private/cakey.pem" +#### (StrOpt) Filename of private key + +# crl_file="crl.pem" +#### (StrOpt) Filename of root Certificate Revocation List + +# keys_path="$state_path/keys" +#### (StrOpt) Where we keep our keys + +# ca_path="$state_path/CA" +#### (StrOpt) Where we keep our root CA + +# use_project_ca=false +#### (BoolOpt) Should we use a CA for each project? + +# user_cert_subject="/C=US/ST=California/O=OpenStack/OU=NovaDev/CN=%.16s-%.16s-%s" +#### (StrOpt) Subject for certificate for users, %s for project, user, +#### timestamp + +# project_cert_subject="/C=US/ST=California/O=OpenStack/OU=NovaDev/CN=project-ca-%.16s-%s" +#### (StrOpt) Subject for certificate for projects, %s for project, +#### timestamp + + +######## defined in nova.flags ######## + +# connection_type=<None> +#### (StrOpt) Virtualization api connection type : libvirt, xenapi, or +#### fake + +# sql_connection="sqlite:///$state_path/$sqlite_db" +#### (StrOpt) The SQLAlchemy connection string used to connect to the +#### database + +# sql_connection_debug=0 +#### (IntOpt) Verbosity of SQL debugging information. 0=None, +#### 100=Everything -###### (BoolOpt) Allow destination machine to match source for resize. Useful when testing in single-host environments. -# allow_resize_to_same_host=false -###### (StrOpt) File name for the paste.deploy config for nova-api # api_paste_config="api-paste.ini" -###### (BoolOpt) whether to rate limit the api -# api_rate_limit=true -###### (StrOpt) The strategy to use for auth. Supports noauth, keystone, and deprecated. -# auth_strategy="noauth" -###### (IntOpt) Seconds for auth tokens to linger -# auth_token_ttl=3600 -###### (StrOpt) AWS Access ID +#### (StrOpt) File name for the paste.deploy config for nova-api + +# pybasedir="/usr/lib/python/site-packages" +#### (StrOpt) Directory where the nova python module is installed + +# bindir="$pybasedir/bin" +#### (StrOpt) Directory where nova binaries are installed + +# state_path="$pybasedir" +#### (StrOpt) Top-level directory for maintaining nova's state + +# lock_path="$pybasedir" +#### (StrOpt) Directory to use for lock files + +# fake_network=false +#### (BoolOpt) If passed, use fake network devices and addresses + +# my_ip="10.210.228.15" +#### (StrOpt) ip address of this host + +# region_list="" +#### (ListOpt) list of region=fqdn pairs separated by commas + # aws_access_key_id="admin" -###### (StrOpt) AWS Access Key +#### (StrOpt) AWS Access ID + # aws_secret_access_key="admin" -###### (IntOpt) interval to pull bandwidth usage info -# bandwith_poll_interval=600 -###### (StrOpt) Directory where nova binaries are installed -# bindir="$pybasedir/bin" -###### (BoolOpt) Cache glance images locally -# cache_images=true -###### (StrOpt) full class name for the Manager for cert -# cert_manager="nova.cert.manager.CertManager" -###### (StrOpt) the topic cert nodes listen on +#### (StrOpt) AWS Access Key + +# glance_host="$my_ip" +#### (StrOpt) default glance hostname or ip + +# glance_port=9292 +#### (IntOpt) default glance port + +# glance_api_servers="$glance_host:$glance_port" +#### (ListOpt) A list of the glance api servers available to nova +#### ([hostname|ip]:port) + +# glance_num_retries=0 +#### (IntOpt) Number retries when downloading an image from glance + +# s3_port=3333 +#### (IntOpt) port used when accessing the s3 api + +# s3_host="$my_ip" +#### (StrOpt) hostname or ip for openstack to use when accessing the s3 +#### api + +# s3_dmz="$my_ip" +#### (StrOpt) hostname or ip for the instances to use when accessing the +#### s3 api + # cert_topic="cert" -###### (StrOpt) The full class name of the compute API class to use -# compute_api_class="nova.compute.api.API" -###### (StrOpt) full class name for the Manager for compute -# compute_manager="nova.compute.manager.ComputeManager" -###### (StrOpt) the topic compute nodes listen on +#### (StrOpt) the topic cert nodes listen on + # compute_topic="compute" -###### (MultiStrOpt) Path to a config file to use. Multiple config files can be specified, with values in later files taking precedence. The default files used are: [] -###### (StrOpt) Virtualization api connection type : libvirt, xenapi, or fake -# connection_type=<None> -###### (StrOpt) full class name for the Manager for console proxy -# console_manager="nova.console.manager.ConsoleProxyManager" -###### (StrOpt) the topic console proxy nodes listen on +#### (StrOpt) the topic compute nodes listen on + # console_topic="console" -###### (StrOpt) the main RabbitMQ exchange to connect to -# control_exchange="nova" -###### (BoolOpt) Print debugging output -# debug=false -###### (StrOpt) Name of network to use to set access ips for instances -# default_access_ip_network_name=<None> -###### (StrOpt) The default format an ephemeral_volume will be formatted with on creation. -# default_ephemeral_format=<None> -###### (StrOpt) default image to use, testing only -# default_image="ami-11111" -###### (StrOpt) default instance type to use, testing only -# default_instance_type="m1.small" -###### (StrOpt) the default project to use for openstack -# default_project="openstack" -###### (StrOpt) availability zone to use when user doesn't specify one -# default_schedule_zone=<None> -###### (StrOpt) the internal ip of the ec2 api server -# ec2_dmz_host="$my_ip" -###### (StrOpt) the ip of the ec2 api server +#### (StrOpt) the topic console proxy nodes listen on + +# scheduler_topic="scheduler" +#### (StrOpt) the topic scheduler nodes listen on + +# volume_topic="volume" +#### (StrOpt) the topic volume nodes listen on + +# network_topic="network" +#### (StrOpt) the topic network nodes listen on + +# api_rate_limit=true +#### (BoolOpt) whether to rate limit the api + +# enabled_apis="ec2,osapi_compute,osapi_volume,metadata" +#### (ListOpt) a list of APIs to enable by default + # ec2_host="$my_ip" -###### (StrOpt) the path prefix used to call the ec2 api server -# ec2_path="/services/Cloud" -###### (IntOpt) the port of the ec2 api server +#### (StrOpt) the ip of the ec2 api server + +# ec2_dmz_host="$my_ip" +#### (StrOpt) the internal ip of the ec2 api server + # ec2_port=8773 -###### (StrOpt) the protocol to use when connecting to the ec2 api server (http, https) +#### (IntOpt) the port of the ec2 api server + # ec2_scheme="http" -###### (BoolOpt) Allows use of instance password during server creation -# enable_instance_password=true -###### (ListOpt) a list of APIs to enable by default -# enabled_apis="ec2,osapi_compute,osapi_volume,metadata" -###### (BoolOpt) If passed, use fake network devices and addresses -# fake_network=false -###### (BoolOpt) If passed, use a fake RabbitMQ provider -# fake_rabbit=false -###### (StrOpt) Firewall driver (defaults to iptables) -# firewall_driver="nova.virt.firewall.IptablesFirewallDriver" -###### (StrOpt) full class name for the DNS Manager for floating IPs -# floating_ip_dns_manager="nova.network.dns_driver.DNSDriver" -###### (ListOpt) A list of the glance api servers available to nova ([hostname|ip]:port) -# glance_api_servers="$glance_host:$glance_port" -###### (StrOpt) default glance hostname or ip -# glance_host="$my_ip" -###### (IntOpt) Number retries when downloading an image from glance -# glance_num_retries=0 -###### (IntOpt) default glance port -# glance_port=9292 -###### (StrOpt) Name of this node. This can be an opaque identifier. It is not necessarily a hostname, FQDN, or IP address. -# host="nova" -###### (StrOpt) The service to use for retrieving and searching images. -# image_service="nova.image.glance.GlanceImageService" -###### (StrOpt) full class name for the DNS Zone for instance IPs -# instance_dns_domain="" -###### (StrOpt) full class name for the DNS Manager for instance IPs -# instance_dns_manager="nova.network.dns_driver.DNSDriver" -###### (StrOpt) time period to generate instance usages for. Time period must be hour, day, month or year -# instance_usage_audit_period="month" -###### (ListOpt) Host reserved for specific images -# isolated_hosts="" -###### (ListOpt) Images to run on isolated host -# isolated_images="" -###### (StrOpt) Directory to use for lock files -# lock_path="$pybasedir" -###### (StrOpt) If this option is specified, the logging configuration file specified is used and overrides any other logging options specified. Please see the Python logging module documentation for details on logging configuration files. -# log-config=<None> -###### (StrOpt) Format string for %(asctime)s in log records. Default: %default -# log-date-format="%Y-%m-%d %H:%M:%S" -###### (StrOpt) (Optional) The directory to keep log files in (will be prepended to --logfile) -# log-dir=<None> -###### (StrOpt) (Optional) Name of log file to output to. If not set, logging will go to stdout. -# log-file=<None> -###### (StrOpt) A logging.Formatter log message format string which may use any of the available logging.LogRecord attributes. Default: %default -# log-format="%(asctime)s %(levelname)8s [%(name)s] %(message)s" -###### (StrOpt) Log output to a per-service log file in named directory -# logdir=<None> -###### (StrOpt) Log output to a named file -# logfile=<None> -###### (StrOpt) Default file mode used when creating log files -# logfile_mode="0644" -###### (ListOpt) Memcached servers or None for in process cache. -# memcached_servers=<None> -###### (StrOpt) the ip for the metadata api server -# metadata_host="$my_ip" -###### (IntOpt) the port for the metadata api port -# metadata_port=8775 -###### (BoolOpt) Whether to log monkey patching -# monkey_patch=false -###### (ListOpt) List of modules/decorators to monkey patch -# monkey_patch_modules="nova.api.ec2.cloud:nova.notifier.api.notify_decorator,nova.compute.api:nova.notifier.api.notify_decorator" -###### (StrOpt) ip address of this host -# my_ip="10.0.0.1" -###### (StrOpt) The full class name of the network API class to use -# network_api_class="nova.network.api.API" -###### (StrOpt) Driver to use for network creation -# network_driver="nova.network.linux_net" -###### (StrOpt) full class name for the Manager for network -# network_manager="nova.network.manager.VlanManager" -###### (StrOpt) the topic network nodes listen on -# network_topic="network" -###### (StrOpt) availability zone of this node -# node_availability_zone="nova" -###### (StrOpt) Default driver for sending notifications -# notification_driver="nova.notifier.no_op_notifier" -###### (StrOpt) kernel image that indicates not to use a kernel, but to use a raw disk image instead -# null_kernel="nokernel" -###### (ListOpt) Specify list of extensions to load when using osapi_compute_extension option with nova.api.openstack.compute.contrib.select_extensions +#### (StrOpt) the protocol to use when connecting to the ec2 api server +#### (http, https) + +# ec2_path="/services/Cloud" +#### (StrOpt) the path prefix used to call the ec2 api server + # osapi_compute_ext_list="" -###### (MultiStrOpt) osapi compute extension to load +#### (ListOpt) Specify list of extensions to load when using +#### osapi_compute_extension option with +#### nova.api.openstack.compute.contrib.select_extensions + # osapi_compute_extension="nova.api.openstack.compute.contrib.standard_extensions" -###### (StrOpt) Base URL that will be presented to users in links to the OpenStack Compute API +#### (MultiStrOpt) osapi compute extension to load + +# osapi_volume_ext_list="" +#### (ListOpt) Specify list of extensions to load when using +#### osapi_volume_extension option with +#### nova.api.openstack.volume.contrib.select_extensions + +# osapi_volume_extension="nova.api.openstack.volume.contrib.standard_extensions" +#### (MultiStrOpt) osapi volume extension to load + +# osapi_scheme="http" +#### (StrOpt) the protocol to use when connecting to the openstack api +#### server (http, https) + +# osapi_path="/v1.1/" +#### (StrOpt) the path prefix used to call the openstack api server + # osapi_compute_link_prefix=<None> -###### (StrOpt) Base URL that will be presented to users in links to glance resources +#### (StrOpt) Base URL that will be presented to users in links to the +#### OpenStack Compute API + # osapi_glance_link_prefix=<None> -###### (IntOpt) the maximum number of items returned in a single response from a collection resource +#### (StrOpt) Base URL that will be presented to users in links to glance +#### resources + # osapi_max_limit=1000 -###### (StrOpt) the path prefix used to call the openstack api server -# osapi_path="/v1.1/" -###### (StrOpt) the protocol to use when connecting to the openstack api server (http, https) -# osapi_scheme="http" -###### (ListOpt) Specify list of extensions to load when using osapi_volume_extension option with nova.api.openstack.volume.contrib.select_extensions -# osapi_volume_ext_list="" -###### (MultiStrOpt) osapi volume extension to load -# osapi_volume_extension="nova.api.openstack.volume.contrib.standard_extensions" -###### (IntOpt) Length of generated instance admin passwords -# password_length=12 -###### (StrOpt) Directory where the nova python module is installed -# pybasedir="/usr/lib/python/site-packages" -###### (BoolOpt) use durable queues in RabbitMQ -# rabbit_durable_queues=false -###### (StrOpt) the RabbitMQ host -# rabbit_host="localhost" -###### (IntOpt) maximum retries with trying to connect to RabbitMQ (the default of 0 implies an infinite retry count) -# rabbit_max_retries=0 -###### (StrOpt) the RabbitMQ password -# rabbit_password="guest" -###### (IntOpt) the RabbitMQ port -# rabbit_port=5672 -###### (IntOpt) how long to backoff for between retries when connecting to RabbitMQ -# rabbit_retry_backoff=2 -###### (IntOpt) how frequently to retry connecting with RabbitMQ -# rabbit_retry_interval=1 -###### (BoolOpt) connect over SSL for RabbitMQ -# rabbit_use_ssl=false -###### (StrOpt) the RabbitMQ userid -# rabbit_userid="guest" -###### (StrOpt) the RabbitMQ virtual host -# rabbit_virtual_host="/" -###### (IntOpt) Interval in seconds for reclaiming deleted instances -# reclaim_instance_interval=0 -###### (ListOpt) list of region=fqdn pairs separated by commas -# region_list="" -###### (BoolOpt) Whether to start guests that were running before the host rebooted -# resume_guests_state_on_host_boot=false -###### (StrOpt) Command prefix to use for running commands as root -# root_helper="sudo" -###### (StrOpt) hostname or ip for the instances to use when accessing the s3 api -# s3_dmz="$my_ip" -###### (StrOpt) hostname or ip for openstack to use when accessing the s3 api -# s3_host="$my_ip" -###### (IntOpt) port used when accessing the s3 api -# s3_port=3333 -###### (StrOpt) full class name for the Manager for scheduler -# scheduler_manager="nova.scheduler.manager.SchedulerManager" -###### (StrOpt) the topic scheduler nodes listen on -# scheduler_topic="scheduler" -###### (StrOpt) The full class name of the security group handler class -# security_group_handler="nova.network.quantum.sg.NullSecurityGroupHandler" -###### (IntOpt) maximum time since last check-in for up service -# service_down_time=60 -###### (StrOpt) The SQLAlchemy connection string used to connect to the database -# sql_connection="sqlite:///$state_path/$sqlite_db" -###### (IntOpt) timeout before idle sql connections are reaped +#### (IntOpt) the maximum number of items returned in a single response +#### from a collection resource + +# metadata_host="$my_ip" +#### (StrOpt) the ip for the metadata api server + +# metadata_port=8775 +#### (IntOpt) the port for the metadata api port + +# default_project="openstack" +#### (StrOpt) the default project to use for openstack + +# default_image="ami-11111" +#### (StrOpt) default image to use, testing only + +# default_instance_type="m1.small" +#### (StrOpt) default instance type to use, testing only + +# null_kernel="nokernel" +#### (StrOpt) kernel image that indicates not to use a kernel, but to use +#### a raw disk image instead + +# vpn_image_id="0" +#### (StrOpt) image id used when starting up a cloudpipe vpn server + +# vpn_key_suffix="-vpn" +#### (StrOpt) Suffix to add to project name for vpn key and secgroups + +# auth_token_ttl=3600 +#### (IntOpt) Seconds for auth tokens to linger + +# logfile_mode="0644" +#### (StrOpt) Default file mode used when creating log files + +# sqlite_db="nova.sqlite" +#### (StrOpt) the filename to use with sqlite + +# sqlite_synchronous=true +#### (BoolOpt) If passed, use synchronous mode for sqlite + # sql_idle_timeout=3600 -###### (IntOpt) maximum db connection retries during startup. (setting -1 implies an infinite retry count) +#### (IntOpt) timeout before idle sql connections are reaped + # sql_max_retries=10 -###### (IntOpt) interval between retries of opening a sql connection +#### (IntOpt) maximum db connection retries during startup. (setting -1 +#### implies an infinite retry count) + # sql_retry_interval=10 -###### (StrOpt) the filename to use with sqlite -# sqlite_db="nova.sqlite" -###### (BoolOpt) If passed, use synchronous mode for sqlite -# sqlite_synchronous=true -###### (BoolOpt) Whether to restart guests when the host reboots +#### (IntOpt) interval between retries of opening a sql connection + +# compute_manager="nova.compute.manager.ComputeManager" +#### (StrOpt) full class name for the Manager for compute + +# console_manager="nova.console.manager.ConsoleProxyManager" +#### (StrOpt) full class name for the Manager for console proxy + +# cert_manager="nova.cert.manager.CertManager" +#### (StrOpt) full class name for the Manager for cert + +# instance_dns_manager="nova.network.dns_driver.DNSDriver" +#### (StrOpt) full class name for the DNS Manager for instance IPs + +# instance_dns_domain="" +#### (StrOpt) full class name for the DNS Zone for instance IPs + +# floating_ip_dns_manager="nova.network.dns_driver.DNSDriver" +#### (StrOpt) full class name for the DNS Manager for floating IPs + +# network_manager="nova.network.manager.VlanManager" +#### (StrOpt) full class name for the Manager for network + +# volume_manager="nova.volume.manager.VolumeManager" +#### (StrOpt) full class name for the Manager for volume + +# scheduler_manager="nova.scheduler.manager.SchedulerManager" +#### (StrOpt) full class name for the Manager for scheduler + +# firewall_driver="nova.virt.firewall.IptablesFirewallDriver" +#### (StrOpt) Firewall driver (defaults to iptables) + +# image_service="nova.image.glance.GlanceImageService" +#### (StrOpt) The service to use for retrieving and searching images. + +# host="lx15" +#### (StrOpt) Name of this node. This can be an opaque identifier. It is +#### not necessarily a hostname, FQDN, or IP address. + +# node_availability_zone="nova" +#### (StrOpt) availability zone of this node + +# notification_driver="nova.notifier.no_op_notifier" +#### (StrOpt) Default driver for sending notifications + +# memcached_servers=<None> +#### (ListOpt) Memcached servers or None for in process cache. + +# instance_usage_audit_period="month" +#### (StrOpt) time period to generate instance usages for. Time period +#### must be hour, day, month or year + +# bandwith_poll_interval=600 +#### (IntOpt) interval to pull bandwidth usage info + # start_guests_on_host_boot=false -###### (StrOpt) Top-level directory for maintaining nova's state -# state_path="$pybasedir" -###### (StrOpt) Stub network related code -# stub_network="False" -###### (StrOpt) syslog facility to receive log lines -# syslog-log-facility="LOG_USER" -###### (BoolOpt) Whether to use cow images -# use_cow_images=true -###### (BoolOpt) use ipv6 +#### (BoolOpt) Whether to restart guests when the host reboots + +# resume_guests_state_on_host_boot=false +#### (BoolOpt) Whether to start guests that were running before the host +#### rebooted + +# default_ephemeral_format=<None> +#### (StrOpt) The default format an ephemeral_volume will be formatted +#### with on creation. + +# root_helper="sudo" +#### (StrOpt) Command prefix to use for running commands as root + +# network_driver="nova.network.linux_net" +#### (StrOpt) Driver to use for network creation + # use_ipv6=false -###### (BoolOpt) Log output to standard error -# use_stderr=true -###### (BoolOpt) Use syslog for logging. -# use-syslog=false -###### (BoolOpt) Print more verbose output -# verbose=false -###### (StrOpt) The full class name of the volume API class to use -# volume_api_class="nova.volume.api.API" -###### (StrOpt) full class name for the Manager for volume -# volume_manager="nova.volume.manager.VolumeManager" -###### (StrOpt) the topic volume nodes listen on -# volume_topic="volume" -###### (StrOpt) image id used when starting up a cloudpipe vpn server -# vpn_image_id="0" -###### (StrOpt) Suffix to add to project name for vpn key and secgroups -# vpn_key_suffix="-vpn" -###### (IntOpt) Number of seconds zombie instances are cleaned up. +#### (BoolOpt) use ipv6 + +# enable_instance_password=true +#### (BoolOpt) Allows use of instance password during server creation + +# password_length=12 +#### (IntOpt) Length of generated instance admin passwords + +# monkey_patch=false +#### (BoolOpt) Whether to log monkey patching + +# monkey_patch_modules="nova.api.ec2.cloud:nova.notifier.api.notify_decorator,nova.compute.api:nova.notifier.api.notify_decorator" +#### (ListOpt) List of modules/decorators to monkey patch + +# allow_resize_to_same_host=false +#### (BoolOpt) Allow destination machine to match source for resize. Useful +#### when testing in single-host environments. + +# stub_network=false +#### (BoolOpt) Stub network related code + +# reclaim_instance_interval=0 +#### (IntOpt) Interval in seconds for reclaiming deleted instances + # zombie_instance_updated_at_window=172800 +#### (IntOpt) Number of seconds zombie instances are cleaned up. -######### defined in nova.log ######### +# service_down_time=60 +#### (IntOpt) maximum time since last check-in for up service + +# default_schedule_zone=<None> +#### (StrOpt) availability zone to use when user doesn't specify one + +# isolated_images="" +#### (ListOpt) Images to run on isolated host + +# isolated_hosts="" +#### (ListOpt) Host reserved for specific images + +# cache_images=true +#### (BoolOpt) Cache glance images locally + +# use_cow_images=true +#### (BoolOpt) Whether to use cow images + +# compute_api_class="nova.compute.api.API" +#### (StrOpt) The full class name of the compute API class to use + +# network_api_class="nova.network.api.API" +#### (StrOpt) The full class name of the network API class to use + +# volume_api_class="nova.volume.api.API" +#### (StrOpt) The full class name of the volume API class to use + +# security_group_handler="nova.network.quantum.sg.NullSecurityGroupHandler" +#### (StrOpt) The full class name of the security group handler class + +# default_access_ip_network_name=<None> +#### (StrOpt) Name of network to use to set access ips for instances + +# auth_strategy="noauth" +#### (StrOpt) The strategy to use for auth. Supports noauth, keystone, and +#### deprecated. + +# logdir=<None> +#### (StrOpt) Log output to a per-service log file in named directory + +# logfile=<None> +#### (StrOpt) Log output to a named file + +# use_stderr=true +#### (BoolOpt) Log output to standard error + + +######## defined in nova.log ######## -###### (ListOpt) list of logger=LEVEL pairs -# default_log_levels="amqplib=WARN,sqlalchemy=WARN,boto=WARN,suds=INFO,eventlet.wsgi.server=WARN" -###### (StrOpt) If an instance is passed with the log message, format it like this -# instance_format="[instance: %(uuid)s] " -###### (StrOpt) format string to use for log messages with context # logging_context_format_string="%(asctime)s %(levelname)s %(name)s [%(request_id)s %(user_id)s %(project_id)s] %(instance)s%(message)s" -###### (StrOpt) data to append to log format when level is DEBUG -# logging_debug_format_suffix="from (pid=%(process)d) %(funcName)s %(pathname)s:%(lineno)d" -###### (StrOpt) format string to use for log messages without context +#### (StrOpt) format string to use for log messages with context + # logging_default_format_string="%(asctime)s %(levelname)s %(name)s [-] %(instance)s%(message)s" -###### (StrOpt) prefix each line of exception output with this format -# logging_exception_prefix="(%(name)s): TRACE: " -###### (BoolOpt) publish error events +#### (StrOpt) format string to use for log messages without context + +# logging_debug_format_suffix="from (pid=%(process)d) %(funcName)s %(pathname)s:%(lineno)d" +#### (StrOpt) data to append to log format when level is DEBUG + +# logging_exception_prefix="%(asctime)s TRACE %(name)s %(instance)s" +#### (StrOpt) prefix each line of exception output with this format + +# default_log_levels="amqplib=WARN,sqlalchemy=WARN,boto=WARN,suds=INFO,keystone=INFO,eventlet.wsgi.server=WARN" +#### (ListOpt) list of logger=LEVEL pairs + # publish_errors=false +#### (BoolOpt) publish error events -######### defined in nova.utils ######### +# instance_format="[instance: %(uuid)s] " +#### (StrOpt) If an instance is passed with the log message, format it +#### like this -###### (BoolOpt) Whether to disable inter-process locks -# disable_process_locking=false +# instance_uuid_format="[instance: %(uuid)s] " +#### (StrOpt) If an instance UUID is passed with the log message, format +#### it like this -######### defined in nova.service ######### -###### (StrOpt) The backend to use for db -# db_backend="sqlalchemy" -###### (StrOpt) IP address for EC2 API to listen -# ec2_listen="0.0.0.0" -###### (IntOpt) port for ec2 api to listen -# ec2_listen_port=8773 -###### (BoolOpt) Services to be added to the available pool on create -# enable_new_services=true -###### (StrOpt) Template string to be used to generate instance names -# instance_name_template="instance-%08x" -###### (StrOpt) IP address for metadata api to listen -# metadata_listen="0.0.0.0" -###### (IntOpt) port for metadata api to listen -# metadata_listen_port=8775 -###### (StrOpt) OpenStack metadata service manager -# metadata_manager="nova.api.manager.MetadataManager" -###### (StrOpt) IP address for OpenStack API to listen -# osapi_compute_listen="0.0.0.0" -###### (IntOpt) list port for osapi compute -# osapi_compute_listen_port=8774 -###### (StrOpt) IP address for OpenStack Volume API to listen -# osapi_volume_listen="0.0.0.0" -###### (IntOpt) port for os volume api to listen -# osapi_volume_listen_port=8776 -###### (IntOpt) seconds between running periodic tasks -# periodic_interval=60 -###### (IntOpt) seconds between nodes reporting state to datastore -# report_interval=10 -###### (StrOpt) The messaging module to use, defaults to kombu. -# rpc_backend="nova.rpc.impl_kombu" -###### (StrOpt) Template string to be used to generate snapshot names -# snapshot_name_template="snapshot-%08x" -###### (StrOpt) Template string to be used to generate instance names -# volume_name_template="volume-%s" +######## defined in nova.notifications ######## -######### defined in nova.crypto ######### +# notify_on_state_change=<None> +#### (StrOpt) If set, send compute.instance.update notifications on +#### instance state changes. Valid values are None for no +#### notifications, "vm_state" for notifications on VM state +#### changes, or "vm_and_task_state" for notifications on VM and +#### task state changes. -###### (StrOpt) Filename of root CA -# ca_file="cacert.pem" -###### (StrOpt) Where we keep our root CA -# ca_path="$state_path/CA" -###### (StrOpt) Filename of root Certificate Revocation List -# crl_file="crl.pem" -###### (StrOpt) Filename of private key -# key_file="private/cakey.pem" -###### (StrOpt) Where we keep our keys -# keys_path="$state_path/keys" -###### (StrOpt) Subject for certificate for projects, %s for project, timestamp -# project_cert_subject="/C=US/ST=California/O=OpenStack/OU=NovaDev/CN=project-ca-%.16s-%s" -###### (BoolOpt) Should we use a CA for each project? -# use_project_ca=false -###### (StrOpt) Subject for certificate for users, %s for project, user, timestamp -# user_cert_subject="/C=US/ST=California/O=OpenStack/OU=NovaDev/CN=%.16s-%.16s-%s" -######### defined in nova.policy ######### +######## defined in nova.policy ######## -###### (StrOpt) Rule checked when requested rule is not found -# policy_default_rule="default" -###### (StrOpt) JSON file representing policy # policy_file="policy.json" +#### (StrOpt) JSON file representing policy + +# policy_default_rule="default" +#### (StrOpt) Rule checked when requested rule is not found -######### defined in nova.quota ######### -###### (IntOpt) number of instance cores allowed per project +######## defined in nova.quota ######## + +# quota_instances=10 +#### (IntOpt) number of instances allowed per project + # quota_cores=20 -###### (IntOpt) number of floating ips allowed per project -# quota_floating_ips=10 -###### (IntOpt) number of volume gigabytes allowed per project +#### (IntOpt) number of instance cores allowed per project + +# quota_ram=51200 +#### (IntOpt) megabytes of instance ram allowed per project + +# quota_volumes=10 +#### (IntOpt) number of volumes allowed per project + # quota_gigabytes=1000 -###### (IntOpt) number of instances allowed per project -# quota_instances=10 -###### (IntOpt) number of bytes allowed per injected file +#### (IntOpt) number of volume gigabytes allowed per project + +# quota_floating_ips=10 +#### (IntOpt) number of floating ips allowed per project + +# quota_metadata_items=128 +#### (IntOpt) number of metadata items allowed per instance + +# quota_injected_files=5 +#### (IntOpt) number of injected files allowed + # quota_injected_file_content_bytes=10240 -###### (IntOpt) number of bytes allowed per injected file path +#### (IntOpt) number of bytes allowed per injected file + # quota_injected_file_path_bytes=255 -###### (IntOpt) number of injected files allowed -# quota_injected_files=5 -###### (IntOpt) number of metadata items allowed per instance -# quota_metadata_items=128 -###### (IntOpt) megabytes of instance ram allowed per project -# quota_ram=51200 -###### (IntOpt) number of volumes allowed per project -# quota_volumes=10 +#### (IntOpt) number of bytes allowed per injected file path -######### defined in nova.test ######### +# quota_security_groups=10 +#### (IntOpt) number of security groups per project + +# quota_security_group_rules=20 +#### (IntOpt) number of security rules per security group + +# quota_key_pairs=100 +#### (IntOpt) number of key pairs per user + +# reservation_expire=86400 +#### (IntOpt) number of seconds until a reservation expires + +# until_refresh=0 +#### (IntOpt) count of reservations until usage is refreshed + +# max_age=0 +#### (IntOpt) number of seconds between subsequent usage refreshes + +# quota_driver="nova.quota.DbQuotaDriver" +#### (StrOpt) default driver to use for quota checks + + +######## defined in nova.service ######## + +# report_interval=10 +#### (IntOpt) seconds between nodes reporting state to datastore + +# periodic_interval=60 +#### (IntOpt) seconds between running periodic tasks + +# periodic_fuzzy_delay=60 +#### (IntOpt) range of seconds to randomly delay when starting the +#### periodic task scheduler to reduce stampeding. (Disable by +#### setting to 0) + +# ec2_listen="0.0.0.0" +#### (StrOpt) IP address for EC2 API to listen + +# ec2_listen_port=8773 +#### (IntOpt) port for ec2 api to listen + +# osapi_compute_listen="0.0.0.0" +#### (StrOpt) IP address for OpenStack API to listen + +# osapi_compute_listen_port=8774 +#### (IntOpt) list port for osapi compute + +# metadata_manager="nova.api.manager.MetadataManager" +#### (StrOpt) OpenStack metadata service manager + +# metadata_listen="0.0.0.0" +#### (StrOpt) IP address for metadata api to listen + +# metadata_listen_port=8775 +#### (IntOpt) port for metadata api to listen + +# osapi_volume_listen="0.0.0.0" +#### (StrOpt) IP address for OpenStack Volume API to listen + +# osapi_volume_listen_port=8776 +#### (IntOpt) port for os volume api to listen + + +######## defined in nova.test ######## -###### (StrOpt) the topic console auth proxy nodes listen on -# consoleauth_topic="consoleauth" -###### (StrOpt) driver to use for database access -# db_driver="nova.db" -###### (BoolOpt) should we use everything for testing -# fake_tests=true -###### (StrOpt) Timeout after NN seconds when looking for a host. -# find_host_timeout="30" -###### (IntOpt) Size of RPC connection pool -# rpc_conn_pool_size=30 -###### (IntOpt) Seconds to wait for a response from call or multicall -# rpc_response_timeout=60 -###### (IntOpt) Size of RPC thread pool -# rpc_thread_pool_size=1024 -###### (StrOpt) File name of clean sqlite db # sqlite_clean_db="clean.sqlite" -###### (StrOpt) availability zone of this service -# storage_availability_zone="nova" -###### (BoolOpt) if True, will not discover local volumes -# use_local_volumes=true -###### (StrOpt) Driver to use for volume creation -# volume_driver="nova.volume.driver.ISCSIDriver" -###### (BoolOpt) if True will force update capabilities on each check -# volume_force_update_capabilities=false +#### (StrOpt) File name of clean sqlite db -######### defined in nova.auth.ldapdriver ######### +# fake_tests=true +#### (BoolOpt) should we use everything for testing + + +######## defined in nova.api.auth ######## + +# use_forwarded_for=false +#### (BoolOpt) Treat X-Forwarded-For as the canonical remote address. Only +#### enable this if you have a sanitizing proxy. + + +######## defined in nova.api.ec2 ######## + +# lockout_attempts=5 +#### (IntOpt) Number of failed auths before lockout. + +# lockout_minutes=15 +#### (IntOpt) Number of minutes to lockout if triggered. + +# lockout_window=15 +#### (IntOpt) Number of minutes for lockout window. + +# keystone_ec2_url="http://localhost:5000/v2.0/ec2tokens" +#### (StrOpt) URL to get token from ec2 request. + +# ec2_private_dns_show_ip=false +#### (BoolOpt) Return the IP address as private dns hostname in describe +#### instances + + +######## defined in nova.api.openstack.compute ######## + +# allow_instance_snapshots=true +#### (BoolOpt) Permit instance snapshot operations. + + +######## defined in nova.api.sizelimit ######## + +# osapi_max_request_body_size=114688 +#### (IntOpt) the maximum body size per each osapi request(bytes) + + +######## defined in nova.auth.ldapdriver ######## -###### (StrOpt) cn for Cloud Admins -# ldap_cloudadmin="cn=cloudadmins,ou=Groups,dc=example,dc=com" -###### (StrOpt) cn for Developers -# ldap_developer="cn=developers,ou=Groups,dc=example,dc=com" -###### (StrOpt) cn for ItSec -# ldap_itsec="cn=itsec,ou=Groups,dc=example,dc=com" -###### (StrOpt) cn for NetAdmins -# ldap_netadmin="cn=netadmins,ou=Groups,dc=example,dc=com" -###### (StrOpt) LDAP password -# ldap_password="changeme" -###### (StrOpt) OU for Projects -# ldap_project_subtree="ou=Groups,dc=example,dc=com" -###### (IntOpt) Current version of the LDAP schema # ldap_schema_version=2 -###### (StrOpt) cn for Sysadmins -# ldap_sysadmin="cn=sysadmins,ou=Groups,dc=example,dc=com" -###### (StrOpt) Point this at your ldap server +#### (IntOpt) Current version of the LDAP schema + # ldap_url="ldap://localhost" -###### (StrOpt) DN of admin user +#### (StrOpt) Point this at your ldap server + +# ldap_password="changeme" +#### (StrOpt) LDAP password + # ldap_user_dn="cn=Manager,dc=example,dc=com" -###### (StrOpt) Attribute to use as id +#### (StrOpt) DN of admin user + # ldap_user_id_attribute="uid" -###### (BoolOpt) Modify user attributes instead of creating/deleting -# ldap_user_modify_only=false -###### (StrOpt) Attribute to use as name +#### (StrOpt) Attribute to use as id + # ldap_user_name_attribute="cn" -###### (StrOpt) OU for Users -# ldap_user_subtree="ou=Users,dc=example,dc=com" -###### (StrOpt) OID for Users +#### (StrOpt) Attribute to use as name + # ldap_user_unit="Users" -###### (StrOpt) OU for Roles +#### (StrOpt) OID for Users + +# ldap_user_subtree="ou=Users,dc=example,dc=com" +#### (StrOpt) OU for Users + +# ldap_user_modify_only=false +#### (BoolOpt) Modify user attributes instead of creating/deleting + +# ldap_project_subtree="ou=Groups,dc=example,dc=com" +#### (StrOpt) OU for Projects + # role_project_subtree="ou=Groups,dc=example,dc=com" +#### (StrOpt) OU for Roles + +# ldap_cloudadmin="cn=cloudadmins,ou=Groups,dc=example,dc=com" +#### (StrOpt) cn for Cloud Admins + +# ldap_itsec="cn=itsec,ou=Groups,dc=example,dc=com" +#### (StrOpt) cn for ItSec -######### defined in nova.auth.manager ######### +# ldap_sysadmin="cn=sysadmins,ou=Groups,dc=example,dc=com" +#### (StrOpt) cn for Sysadmins + +# ldap_netadmin="cn=netadmins,ou=Groups,dc=example,dc=com" +#### (StrOpt) cn for NetAdmins + +# ldap_developer="cn=developers,ou=Groups,dc=example,dc=com" +#### (StrOpt) cn for Developers + + +######## defined in nova.auth.manager ######## -###### (ListOpt) Allowed roles for project # allowed_roles="cloudadmin,itsec,sysadmin,netadmin,developer" -###### (StrOpt) Driver that auth manager uses -# auth_driver="nova.auth.dbdriver.DbDriver" -###### (StrOpt) Filename of certificate in credentials zip -# credential_cert_file="cert.pem" -###### (StrOpt) Filename of private key in credentials zip -# credential_key_file="pk.pem" -###### (StrOpt) Filename of rc in credentials zip %s will be replaced by name of the region (nova by default) -# credential_rc_file="%src" -###### (StrOpt) Filename of certificate in credentials zip -# credential_vpn_file="nova-vpn.conf" -###### (StrOpt) Template for creating users rc file -# credentials_template="$pybasedir/nova/auth/novarc.template" -###### (ListOpt) Roles that apply to all projects -# global_roles="cloudadmin,itsec" -###### (ListOpt) Roles that ignore authorization checking completely +#### (ListOpt) Allowed roles for project + # superuser_roles="cloudadmin" -###### (StrOpt) Template for creating users vpn file +#### (ListOpt) Roles that ignore authorization checking completely + +# global_roles="cloudadmin,itsec" +#### (ListOpt) Roles that apply to all projects + +# credentials_template="$pybasedir/nova/auth/novarc.template" +#### (StrOpt) Template for creating users rc file + # vpn_client_template="$pybasedir/nova/cloudpipe/client.ovpn.template" +#### (StrOpt) Template for creating users vpn file -######### defined in nova.api.auth ######### +# credential_vpn_file="nova-vpn.conf" +#### (StrOpt) Filename of certificate in credentials zip -###### (BoolOpt) Treat X-Forwarded-For as the canonical remote address. Only enable this if you have a sanitizing proxy. -# use_forwarded_for=false +# credential_key_file="pk.pem" +#### (StrOpt) Filename of private key in credentials zip -######### defined in nova.api.ec2 ######### +# credential_cert_file="cert.pem" +#### (StrOpt) Filename of certificate in credentials zip -###### (BoolOpt) Return the IP address as private dns hostname in describe instances -# ec2_private_dns_show_ip=false -###### (StrOpt) URL to get token from ec2 request. -# keystone_ec2_url="http://localhost:5000/v2.0/ec2tokens" -###### (IntOpt) Number of failed auths before lockout. -# lockout_attempts=5 -###### (IntOpt) Number of minutes to lockout if triggered. -# lockout_minutes=15 -###### (IntOpt) Number of minutes for lockout window. -# lockout_window=15 +# credential_rc_file="%src" +#### (StrOpt) Filename of rc in credentials zip %s will be replaced by +#### name of the region (nova by default) -######### defined in nova.api.openstack.compute ######### +# auth_driver="nova.auth.dbdriver.DbDriver" +#### (StrOpt) Driver that auth manager uses -###### (BoolOpt) Permit instance snapshot operations. -# allow_instance_snapshots=true -######### defined in nova.vnc ######### +######## defined in nova.cloudpipe.pipelib ######## -###### (StrOpt) location of vnc console proxy, in the form "http://127.0.0.1:6080/vnc_auto.html" -# novncproxy_base_url="http://127.0.0.1:6080/vnc_auto.html" -###### (BoolOpt) enable vnc related features -# vnc_enabled=true -###### (StrOpt) keymap for vnc -# vnc_keymap="en-us" -###### (StrOpt) Ip address on which instance vncserversshould listen -# vncserver_listen="127.0.0.1" -###### (StrOpt) the address to which proxy clients (like nova-xvpvncproxy) should connect -# vncserver_proxyclient_address="127.0.0.1" -###### (StrOpt) location of nova xvp vnc console proxy, in the form "http://127.0.0.1:6081/console" -# xvpvncproxy_base_url="http://127.0.0.1:6081/console" +# vpn_instance_type="m1.tiny" +#### (StrOpt) Instance type for vpn instances -######### defined in nova.vnc.xvp_proxy ######### +# boot_script_template="$pybasedir/nova/cloudpipe/bootscript.template" +#### (StrOpt) Template for cloudpipe instance boot script -###### (StrOpt) Address that the XCP VNC proxy should bind to -# xvpvncproxy_host="0.0.0.0" -###### (IntOpt) Port that the XCP VNC proxy should bind to -# xvpvncproxy_port=6081 +# dmz_net="10.0.0.0" +#### (StrOpt) Network to push into openvpn config + +# dmz_mask="255.255.255.0" +#### (StrOpt) Netmask to push into openvpn config + + +######## defined in nova.common.eventlet_backdoor ######## + +# backdoor_port=<None> +#### (IntOpt) port for eventlet backdoor to listen + + +######## defined in nova.compute.manager ######## + +# instances_path="$state_path/instances" +#### (StrOpt) where instances are stored on disk + +# base_dir_name="_base" +#### (StrOpt) Where cached images are stored under $instances_path.This is +#### NOT the full path - just a folder name.For per-compute-host +#### cached images, set to _base_$my_ip + +# compute_driver="nova.virt.connection.get_connection" +#### (StrOpt) Driver to use for controlling virtualization + +# console_host="lx15" +#### (StrOpt) Console proxy host to use to connect to instances on this +#### host. + +# live_migration_retry_count=30 +#### (IntOpt) Number of 1 second retries needed in live_migration + +# reboot_timeout=0 +#### (IntOpt) Automatically hard reboot an instance if it has been stuck +#### in a rebooting state longer than N seconds. Set to 0 to +#### disable. + +# instance_build_timeout=0 +#### (IntOpt) Amount of time in seconds an instance can be in BUILD before +#### going into ERROR status.Set to 0 to disable. + +# rescue_timeout=0 +#### (IntOpt) Automatically unrescue an instance after N seconds. Set to 0 +#### to disable. + +# resize_confirm_window=0 +#### (IntOpt) Automatically confirm resizes after N seconds. Set to 0 to +#### disable. + +# host_state_interval=120 +#### (IntOpt) Interval in seconds for querying the host status + +# running_deleted_instance_timeout=0 +#### (IntOpt) Number of seconds after being deleted when a running +#### instance should be considered eligible for cleanup. + +# running_deleted_instance_poll_interval=30 +#### (IntOpt) Number of periodic scheduler ticks to wait between runs of +#### the cleanup task. + +# running_deleted_instance_action="log" +#### (StrOpt) Action to take if a running deleted instance is +#### detected.Valid options are 'noop', 'log' and 'reap'. Set to +#### 'noop' to disable. + +# image_cache_manager_interval=40 +#### (IntOpt) Number of periodic scheduler ticks to wait between runs of +#### the image cache manager. -######### defined in nova.ipv6.api ######### +# heal_instance_info_cache_interval=60 +#### (IntOpt) Number of seconds between instance info_cache self healing +#### updates + +# additional_compute_capabilities="" +#### (ListOpt) a list of additional capabilities for this compute host to +#### advertise. Valid entries are name=value pairs this +#### functionality will be replaced when HostAggregates become +#### more funtional for general grouping in Folsom. (see: +#### http://etherpad.openstack.org/FolsomNovaHostAggregates-v2) + + +######## defined in nova.console.manager ######## + +# console_driver="nova.console.xvp.XVPConsoleProxy" +#### (StrOpt) Driver to use for the console proxy + +# stub_compute=false +#### (BoolOpt) Stub calls to compute worker for tests + +# console_public_hostname="lx15" +#### (StrOpt) Publicly visible name for this console host + + +######## defined in nova.console.vmrc ######## + +# console_vmrc_port=443 +#### (IntOpt) port for VMware VMRC connections + +# console_vmrc_error_retries=10 +#### (IntOpt) number of retries for retrieving VMRC information + + +######## defined in nova.console.xvp ######## + +# console_xvp_conf_template="$pybasedir/nova/console/xvp.conf.template" +#### (StrOpt) XVP conf template + +# console_xvp_conf="/etc/xvp.conf" +#### (StrOpt) generated XVP conf file + +# console_xvp_pid="/var/run/xvp.pid" +#### (StrOpt) XVP master process pid file + +# console_xvp_log="/var/log/xvp.log" +#### (StrOpt) XVP log file + +# console_xvp_multiplex_port=5900 +#### (IntOpt) port for XVP to multiplex VNC connections on + + +######## defined in nova.consoleauth ######## + +# consoleauth_topic="consoleauth" +#### (StrOpt) the topic console auth proxy nodes listen on + + +######## defined in nova.consoleauth.manager ######## + +# console_token_ttl=600 +#### (IntOpt) How many seconds before deleting tokens + +# consoleauth_manager="nova.consoleauth.manager.ConsoleAuthManager" +#### (StrOpt) Manager for console auth + + +######## defined in nova.db.api ######## + +# db_backend="sqlalchemy" +#### (StrOpt) The backend to use for db + +# enable_new_services=true +#### (BoolOpt) Services to be added to the available pool on create + +# instance_name_template="instance-%08x" +#### (StrOpt) Template string to be used to generate instance names + +# volume_name_template="volume-%s" +#### (StrOpt) Template string to be used to generate instance names + +# snapshot_name_template="snapshot-%s" +#### (StrOpt) Template string to be used to generate snapshot names + + +######## defined in nova.db.base ######## + +# db_driver="nova.db" +#### (StrOpt) driver to use for database access + + +######## defined in nova.image.s3 ######## + +# image_decryption_dir="/tmp" +#### (StrOpt) parent dir for tempdir used for image decryption + +# s3_access_key="notchecked" +#### (StrOpt) access key to use for s3 server for images + +# s3_secret_key="notchecked" +#### (StrOpt) secret key to use for s3 server for images + +# s3_use_ssl=false +#### (BoolOpt) whether to use ssl when talking to s3 + +# s3_affix_tenant=false +#### (BoolOpt) whether to affix the tenant id to the access key when +#### downloading from s3 + + +######## defined in nova.ipv6.api ######## -###### (StrOpt) Backend to use for IPv6 generation # ipv6_backend="rfc2462" +#### (StrOpt) Backend to use for IPv6 generation -######### defined in nova.network.linux_net ######### -###### (IntOpt) Lifetime of a DHCP lease in seconds -# dhcp_lease_time=120 -###### (StrOpt) location of nova-dhcpbridge -# dhcpbridge="$bindir/nova-dhcpbridge" -###### (StrOpt) location of flagfile for dhcpbridge -# dhcpbridge_flagfile="/etc/nova/nova-dhcpbridge.conf" -###### (StrOpt) dmz range that should be accepted -# dmz_cidr="10.128.0.0/24" -###### (StrOpt) if set, uses specific dns server for dnsmasq -# dns_server=<None> -###### (StrOpt) Override the default dnsmasq settings with this file -# dnsmasq_config_file="" -###### (StrOpt) Base DN for DNS entries in ldap -# ldap_dns_base_dn="ou=hosts,dc=example,dc=org" -###### (StrOpt) password for ldap DNS +######## defined in nova.network.ldapdns ######## + +# ldap_dns_url="ldap://ldap.example.com:389" +#### (StrOpt) URL for ldap server which will store dns entries + +# ldap_dns_user="uid=admin,ou=people,dc=example,dc=org" +#### (StrOpt) user for ldap DNS + # ldap_dns_password="password" -###### (MultiStrOpt) DNS Servers for ldap dns driver -# ldap_dns_servers="dns.example.org" -###### (StrOpt) Expiry interval (in seconds) for ldap dns driver Statement of Authority -# ldap_dns_soa_expiry="86400" -###### (StrOpt) Hostmaster for ldap dns driver Statement of Authority +#### (StrOpt) password for ldap DNS + # ldap_dns_soa_hostmaster="hostmaster@example.org" -###### (StrOpt) Minimum interval (in seconds) for ldap dns driver Statement of Authority -# ldap_dns_soa_minimum="7200" -###### (StrOpt) Refresh interval (in seconds) for ldap dns driver Statement of Authority +#### (StrOpt) Hostmaster for ldap dns driver Statement of Authority + +# ldap_dns_servers="dns.example.org" +#### (MultiStrOpt) DNS Servers for ldap dns driver + +# ldap_dns_base_dn="ou=hosts,dc=example,dc=org" +#### (StrOpt) Base DN for DNS entries in ldap + # ldap_dns_soa_refresh="1800" -###### (StrOpt) Retry interval (in seconds) for ldap dns driver Statement of Authority +#### (StrOpt) Refresh interval (in seconds) for ldap dns driver Statement +#### of Authority + # ldap_dns_soa_retry="3600" -###### (StrOpt) URL for ldap server which will store dns entries -# ldap_dns_url="ldap://ldap.example.com:389" -###### (StrOpt) user for ldap DNS -# ldap_dns_user="uid=admin,ou=people,dc=example,dc=org" -###### (StrOpt) Driver used to create ethernet devices. -# linuxnet_interface_driver="nova.network.linux_net.LinuxBridgeInterfaceDriver" -###### (StrOpt) Name of Open vSwitch bridge used with linuxnet -# linuxnet_ovs_integration_bridge="br-int" -###### (StrOpt) MTU setting for vlan -# network_device_mtu=<None> -###### (StrOpt) Location to keep network config files +#### (StrOpt) Retry interval (in seconds) for ldap dns driver Statement of +#### Authority + +# ldap_dns_soa_expiry="86400" +#### (StrOpt) Expiry interval (in seconds) for ldap dns driver Statement +#### of Authority + +# ldap_dns_soa_minimum="7200" +#### (StrOpt) Minimum interval (in seconds) for ldap dns driver Statement +#### of Authority + + +######## defined in nova.network.linux_net ######## + +# dhcpbridge_flagfile="/etc/nova/nova-dhcpbridge.conf" +#### (StrOpt) location of flagfile for dhcpbridge + # networks_path="$state_path/networks" -###### (StrOpt) Interface for public IP addresses +#### (StrOpt) Location to keep network config files + # public_interface="eth0" -###### (StrOpt) Public IP of network host +#### (StrOpt) Interface for public IP addresses + +# network_device_mtu=<None> +#### (StrOpt) MTU setting for vlan + +# dhcpbridge="$bindir/nova-dhcpbridge" +#### (StrOpt) location of nova-dhcpbridge + # routing_source_ip="$my_ip" -###### (BoolOpt) send gratuitous ARPs for HA setup +#### (StrOpt) Public IP of network host + +# dhcp_lease_time=120 +#### (IntOpt) Lifetime of a DHCP lease in seconds + +# dns_server=<None> +#### (StrOpt) if set, uses specific dns server for dnsmasq + +# dmz_cidr="" +#### (ListOpt) A list of dmz range that should be accepted + +# dnsmasq_config_file="" +#### (StrOpt) Override the default dnsmasq settings with this file + +# linuxnet_interface_driver="nova.network.linux_net.LinuxBridgeInterfaceDriver" +#### (StrOpt) Driver used to create ethernet devices. + +# linuxnet_ovs_integration_bridge="br-int" +#### (StrOpt) Name of Open vSwitch bridge used with linuxnet + # send_arp_for_ha=false -###### (BoolOpt) Use single default gateway. Only first nic of vm will get default gateway from dhcp server +#### (BoolOpt) send gratuitous ARPs for HA setup + # use_single_default_gateway=false +#### (BoolOpt) Use single default gateway. Only first nic of vm will get +#### default gateway from dhcp server -######### defined in nova.network.manager ######### -###### (BoolOpt) Autoassigning floating ip to VM -# auto_assign_floating_ip=false -###### (IntOpt) Number of addresses reserved for vpn clients -# cnt_vpn_clients=0 -###### (IntOpt) Number of attempts to create unique mac address -# create_unique_mac_address_attempts=5 -###### (StrOpt) Default pool for floating ips -# default_floating_pool="nova" -###### (StrOpt) domain to use for building the hostnames -# dhcp_domain="novalocal" -###### (BoolOpt) If True, skip using the queue and make local calls -# fake_call=false -###### (IntOpt) Seconds after which a deallocated ip is disassociated -# fixed_ip_disassociate_timeout=600 -###### (StrOpt) Fixed IP address block -# fixed_range="10.0.0.0/8" -###### (StrOpt) Fixed IPv6 address block -# fixed_range_v6="fd00::/48" -###### (BoolOpt) Whether to attempt to inject network setup into guest -# flat_injected=false -###### (StrOpt) FlatDhcp will bridge into this interface if set -# flat_interface=<None> -###### (StrOpt) Bridge for simple network instances +######## defined in nova.network.manager ######## + # flat_network_bridge=<None> -###### (StrOpt) Dns for simple network +#### (StrOpt) Bridge for simple network instances + # flat_network_dns="8.8.4.4" -###### (StrOpt) Floating IP address block +#### (StrOpt) Dns for simple network + +# flat_injected=false +#### (BoolOpt) Whether to attempt to inject network setup into guest + +# flat_interface=<None> +#### (StrOpt) FlatDhcp will bridge into this interface if set + +# vlan_start=100 +#### (IntOpt) First VLAN for private networks + +# vlan_interface=<None> +#### (StrOpt) vlans will bridge into this interface if set + +# num_networks=1 +#### (IntOpt) Number of networks to support + +# vpn_ip="$my_ip" +#### (StrOpt) Public IP for the cloudpipe VPN servers + +# vpn_start=1000 +#### (IntOpt) First Vpn port for private networks + +# multi_host=false +#### (BoolOpt) Default value for multi_host in networks + +# network_size=256 +#### (IntOpt) Number of addresses in each private subnet + # floating_range="4.4.4.0/24" -###### (BoolOpt) If True, send a dhcp release on instance termination -# force_dhcp_release=false -###### (StrOpt) Default IPv4 gateway +#### (StrOpt) Floating IP address block + +# default_floating_pool="nova" +#### (StrOpt) Default pool for floating ips + +# fixed_range="10.0.0.0/8" +#### (StrOpt) Fixed IP address block + +# fixed_range_v6="fd00::/48" +#### (StrOpt) Fixed IPv6 address block + # gateway=<None> -###### (StrOpt) Default IPv6 gateway +#### (StrOpt) Default IPv4 gateway + # gateway_v6=<None> -###### (StrOpt) Indicates underlying L3 management library +#### (StrOpt) Default IPv6 gateway + +# cnt_vpn_clients=0 +#### (IntOpt) Number of addresses reserved for vpn clients + +# fixed_ip_disassociate_timeout=600 +#### (IntOpt) Seconds after which a deallocated ip is disassociated + +# create_unique_mac_address_attempts=5 +#### (IntOpt) Number of attempts to create unique mac address + +# auto_assign_floating_ip=false +#### (BoolOpt) Autoassigning floating ip to VM + +# network_host="lx15" +#### (StrOpt) Network host to use for ip allocation in flat modes + +# fake_call=false +#### (BoolOpt) If True, skip using the queue and make local calls + +# force_dhcp_release=false +#### (BoolOpt) If True, send a dhcp release on instance termination + +# dhcp_domain="novalocal" +#### (StrOpt) domain to use for building the hostnames + # l3_lib="nova.network.l3.LinuxNetL3" -###### (BoolOpt) Default value for multi_host in networks -# multi_host=false -###### (StrOpt) Network host to use for ip allocation in flat modes -# network_host="nova" -###### (IntOpt) Number of addresses in each private subnet -# network_size=256 -###### (IntOpt) Number of networks to support -# num_networks=1 -###### (StrOpt) vlans will bridge into this interface if set -# vlan_interface=<None> -###### (IntOpt) First VLAN for private networks -# vlan_start=100 -###### (StrOpt) Public IP for the cloudpipe VPN servers -# vpn_ip="$my_ip" -###### (IntOpt) First Vpn port for private networks -# vpn_start=1000 +#### (StrOpt) Indicates underlying L3 management library + -######### defined in nova.network.quantum.manager ######### +######## defined in nova.network.quantum.manager ######## + +# quantum_ipam_lib="nova.network.quantum.nova_ipam_lib" +#### (StrOpt) Indicates underlying IP address management library + +# use_melange_mac_generation=false +#### (BoolOpt) Use Melange for assignment of MAC addresses + +# quantum_use_dhcp=false +#### (BoolOpt) Whether or not to enable DHCP for networks + +# quantum_use_port_security=false +#### (BoolOpt) Whether or not to enable port security + +# quantum_port_security_include_link_local=false +#### (BoolOpt) Add the link local address to the port security list + + +######## defined in nova.network.quantum.melange_connection ######## -###### (StrOpt) HOST for connecting to melange # melange_host="127.0.0.1" -###### (IntOpt) Number retries when contacting melange -# melange_num_retries=0 -###### (IntOpt) PORT for connecting to melange +#### (StrOpt) HOST for connecting to melange + # melange_port=9898 -###### (StrOpt) HOST for connecting to quantum +#### (IntOpt) PORT for connecting to melange + +# melange_num_retries=0 +#### (IntOpt) Number retries when contacting melange + + +######## defined in nova.network.quantum.quantum_connection ######## + # quantum_connection_host="127.0.0.1" -###### (StrOpt) PORT for connecting to quantum +#### (StrOpt) HOST for connecting to quantum + # quantum_connection_port=9696 -###### (StrOpt) Default tenant id when creating quantum networks +#### (IntOpt) PORT for connecting to quantum + # quantum_default_tenant_id="default" -###### (StrOpt) Indicates underlying IP address management library -# quantum_ipam_lib="nova.network.quantum.nova_ipam_lib" -###### (BoolOpt) Add the link local address to the port security list -# quantum_port_security_include_link_local=false -###### (BoolOpt) Whether or not to enable DHCP for networks -# quantum_use_dhcp=false -###### (BoolOpt) Whether or not to enable port security -# quantum_use_port_security=false -###### (BoolOpt) Use Melange for assignment of MAC addresses -# use_melange_mac_generation=false +#### (StrOpt) Default tenant id when creating quantum networks -######### defined in nova.compute.manager ######### +# quantum_request_timeout=20 +#### (IntOpt) Maximum amount of time to wait for quantum request + + +######## defined in nova.notifier.api ######## -###### (StrOpt) Driver to use for controlling virtualization -# compute_driver="nova.virt.connection.get_connection" -###### (StrOpt) Console proxy host to use to connect to instances on this host. -# console_host="nova" -###### (StrOpt) Default notification level for outgoing notifications # default_notification_level="INFO" -###### (StrOpt) Default publisher_id for outgoing notifications +#### (StrOpt) Default notification level for outgoing notifications + # default_publisher_id="$host" -###### (IntOpt) Number of seconds between instance info_cache self healing updates -# heal_instance_info_cache_interval=60 -###### (IntOpt) Interval in seconds for querying the host status -# host_state_interval=120 -###### (IntOpt) Number of periodic scheduler ticks to wait between runs of the image cache manager. -# image_cache_manager_interval=3600 -###### (StrOpt) where instances are stored on disk -# instances_path="$state_path/instances" -###### (IntOpt) Number of 1 second retries needed in live_migration -# live_migration_retry_count=30 -###### (IntOpt) Automatically hard reboot an instance if it has been stuck in a rebooting state longer than N seconds. Set to 0 to disable. -# reboot_timeout=0 -###### (IntOpt) Automatically unrescue an instance after N seconds. Set to 0 to disable. -# rescue_timeout=0 -###### (IntOpt) Automatically confirm resizes after N seconds. Set to 0 to disable. -# resize_confirm_window=0 -###### (StrOpt) Action to take if a running deleted instance is detected.Valid options are 'noop', 'log' and 'reap'. Set to 'noop' to disable. -# running_deleted_instance_action="log" -###### (IntOpt) Number of periodic scheduler ticks to wait between runs of the cleanup task. -# running_deleted_instance_poll_interval=30 -###### (IntOpt) Number of seconds after being deleted when a running instance should be considered eligible for cleanup. -# running_deleted_instance_timeout=0 +#### (StrOpt) Default publisher_id for outgoing notifications + + +######## defined in nova.notifier.list_notifier ######## + +# list_notifier_drivers="nova.notifier.no_op_notifier" +#### (MultiStrOpt) List of drivers to send notifications + + +######## defined in nova.notifier.rabbit_notifier ######## + +# notification_topics="notifications" +#### (ListOpt) AMQP topic used for Nova notifications + + +######## defined in nova.objectstore.s3server ######## + +# buckets_path="$state_path/buckets" +#### (StrOpt) path to s3 buckets + +# s3_listen="0.0.0.0" +#### (StrOpt) IP address for S3 API to listen + +# s3_listen_port=3333 +#### (IntOpt) port for s3 api to listen + + +######## defined in nova.rpc ######## + +# rpc_backend="nova.rpc.impl_kombu" +#### (StrOpt) The messaging module to use, defaults to kombu. + +# rpc_thread_pool_size=64 +#### (IntOpt) Size of RPC thread pool + +# rpc_conn_pool_size=30 +#### (IntOpt) Size of RPC connection pool + +# rpc_response_timeout=60 +#### (IntOpt) Seconds to wait for a response from call or multicall + +# allowed_rpc_exception_modules="nova.exception" +#### (ListOpt) Modules of exceptions that are permitted to be recreatedupon +#### receiving exception data from an rpc call. + +# control_exchange="nova" +#### (StrOpt) AMQP exchange to connect to if using RabbitMQ or Qpid + +# fake_rabbit=false +#### (BoolOpt) If passed, use a fake RabbitMQ provider + + +######## defined in nova.rpc.impl_kombu ######## + +# kombu_ssl_version="" +#### (StrOpt) SSL version to use (valid only if SSL enabled) + +# kombu_ssl_keyfile="" +#### (StrOpt) SSL key file (valid only if SSL enabled) + +# kombu_ssl_certfile="" +#### (StrOpt) SSL cert file (valid only if SSL enabled) + +# kombu_ssl_ca_certs="" +#### (StrOpt) SSL certification authority file (valid only if SSL enabled) + +# rabbit_host="localhost" +#### (StrOpt) the RabbitMQ host + +# rabbit_port=5672 +#### (IntOpt) the RabbitMQ port + +# rabbit_use_ssl=false +#### (BoolOpt) connect over SSL for RabbitMQ + +# rabbit_userid="guest" +#### (StrOpt) the RabbitMQ userid + +# rabbit_password="guest" +#### (StrOpt) the RabbitMQ password + +# rabbit_virtual_host="/" +#### (StrOpt) the RabbitMQ virtual host + +# rabbit_retry_interval=1 +#### (IntOpt) how frequently to retry connecting with RabbitMQ + +# rabbit_retry_backoff=2 +#### (IntOpt) how long to backoff for between retries when connecting to +#### RabbitMQ + +# rabbit_max_retries=0 +#### (IntOpt) maximum retries with trying to connect to RabbitMQ (the +#### default of 0 implies an infinite retry count) + +# rabbit_durable_queues=false +#### (BoolOpt) use durable queues in RabbitMQ + + +######## defined in nova.rpc.impl_qpid ######## + +# qpid_hostname="localhost" +#### (StrOpt) Qpid broker hostname + +# qpid_port="5672" +#### (StrOpt) Qpid broker port + +# qpid_username="" +#### (StrOpt) Username for qpid connection + +# qpid_password="" +#### (StrOpt) Password for qpid connection + +# qpid_sasl_mechanisms="" +#### (StrOpt) Space separated list of SASL mechanisms to use for auth + +# qpid_reconnect=true +#### (BoolOpt) Automatically reconnect + +# qpid_reconnect_timeout=0 +#### (IntOpt) Reconnection timeout in seconds + +# qpid_reconnect_limit=0 +#### (IntOpt) Max reconnections before giving up + +# qpid_reconnect_interval_min=0 +#### (IntOpt) Minimum seconds between reconnection attempts + +# qpid_reconnect_interval_max=0 +#### (IntOpt) Maximum seconds between reconnection attempts + +# qpid_reconnect_interval=0 +#### (IntOpt) Equivalent to setting max and min to the same value + +# qpid_heartbeat=5 +#### (IntOpt) Seconds between connection keepalive heartbeats + +# qpid_protocol="tcp" +#### (StrOpt) Transport to use, either 'tcp' or 'ssl' + +# qpid_tcp_nodelay=true +#### (BoolOpt) Disable Nagle algorithm + + +######## defined in nova.scheduler.driver ######## + +# scheduler_host_manager="nova.scheduler.host_manager.HostManager" +#### (StrOpt) The scheduler host manager class to use + + +######## defined in nova.scheduler.filters.core_filter ######## + +# cpu_allocation_ratio=16.0 +#### (FloatOpt) Virtual CPU to Physical CPU allocation ratio + + +######## defined in nova.scheduler.filters.ram_filter ######## + +# ram_allocation_ratio=1.5 +#### (FloatOpt) virtual ram to physical ram allocation ratio + + +######## defined in nova.scheduler.host_manager ######## + +# reserved_host_disk_mb=0 +#### (IntOpt) Amount of disk in MB to reserve for host/dom0 + +# reserved_host_memory_mb=512 +#### (IntOpt) Amount of memory in MB to reserve for host/dom0 + +# scheduler_available_filters="nova.scheduler.filters.standard_filters" +#### (MultiStrOpt) Filter classes available to the scheduler which may be +#### specified more than once. An entry of +#### "nova.scheduler.filters.standard_filters" maps to all +#### filters included with nova. + +# scheduler_default_filters="AvailabilityZoneFilter,RamFilter,ComputeFilter" +#### (ListOpt) Which filter class names to use for filtering hosts when not +#### specified in the request. + + +######## defined in nova.scheduler.least_cost ######## + +# least_cost_functions="nova.scheduler.least_cost.compute_fill_first_cost_fn" +#### (ListOpt) Which cost functions the LeastCostScheduler should use + +# noop_cost_fn_weight=1.0 +#### (FloatOpt) How much weight to give the noop cost function + +# compute_fill_first_cost_fn_weight=-1.0 +#### (FloatOpt) How much weight to give the fill-first cost function. A +#### negative value will reverse behavior: e.g. spread-first + + +######## defined in nova.scheduler.manager ######## + +# scheduler_driver="nova.scheduler.multi.MultiScheduler" +#### (StrOpt) Default driver to use for the scheduler + + +######## defined in nova.scheduler.multi ######## + +# compute_scheduler_driver="nova.scheduler.filter_scheduler.FilterScheduler" +#### (StrOpt) Driver to use for scheduling compute calls + +# volume_scheduler_driver="nova.scheduler.chance.ChanceScheduler" +#### (StrOpt) Driver to use for scheduling volume calls + + +######## defined in nova.scheduler.scheduler_options ######## + +# scheduler_json_config_location="" +#### (StrOpt) Absolute path to scheduler configuration JSON file. + + +######## defined in nova.scheduler.simple ######## + +# max_cores=16 +#### (IntOpt) maximum number of instance cores to allow per host + +# max_gigabytes=10000 +#### (IntOpt) maximum number of volume gigabytes to allow per host + +# max_networks=1000 +#### (IntOpt) maximum number of networks to allow per host + +# skip_isolated_core_check=true +#### (BoolOpt) Allow overcommitting vcpus on isolated hosts -######### defined in nova.virt.baremetal.nodes ######### -###### (StrOpt) Bare-metal driver runs on +######## defined in nova.virt.baremetal.nodes ######## + # baremetal_driver="tilera" -###### (StrOpt) Tilera command line program for Bare-metal driver -# tile_monitor="/usr/local/TileraMDE/bin/tile-monitor" +#### (StrOpt) Bare-metal driver runs on + -######### defined in nova.virt.baremetal.proxy ######### +######## defined in nova.virt.baremetal.proxy ######## -###### (BoolOpt) Whether to allow in project network traffic -# baremetal_allow_project_net_traffic=true -###### (StrOpt) Template file for injected network -# baremetal_injected_network_template="$pybasedir/nova/virt/interfaces.template" -###### (StrOpt) baremetal domain type # baremetal_type="baremetal" -###### (StrOpt) Override the default baremetal URI -# baremetal_uri="" -###### (BoolOpt) Force backing images to raw format -# force_raw_images=true -###### (ListOpt) Order of methods used to mount disk images -# img_handlers="loop,nbd,guestfs" -###### (StrOpt) Template file for injected network +#### (StrOpt) baremetal domain type + + +######## defined in nova.virt.baremetal.tilera ######## + +# tile_monitor="/usr/local/TileraMDE/bin/tile-monitor" +#### (StrOpt) Tilera command line program for Bare-metal driver + + +######## defined in nova.virt.disk.api ######## + # injected_network_template="$pybasedir/nova/virt/interfaces.template" -###### (IntOpt) maximum number of possible nbd devices -# max_nbd_devices=16 -###### (IntOpt) time to wait for a NBD device coming up -# timeout_nbd=10 -###### (MultiStrOpt) mkfs commands for ephemeral device. The format is <os_type>=<mkfs command> +#### (StrOpt) Template file for injected network + +# img_handlers="loop,nbd,guestfs" +#### (ListOpt) Order of methods used to mount disk images + # virt_mkfs="default=mkfs.ext3 -L %(fs_label)s -F %(target)s" # virt_mkfs="linux=mkfs.ext3 -L %(fs_label)s -F %(target)s" # virt_mkfs="windows=mkfs.ntfs --force --fast --label %(fs_label)s %(target)s" +#### (MultiStrOpt) mkfs commands for ephemeral device. The format is +#### <os_type>=<mkfs command> -######### defined in nova.virt.firewall ######### -###### (BoolOpt) Whether to allow network traffic from same network +######## defined in nova.virt.disk.nbd ######## + +# timeout_nbd=10 +#### (IntOpt) time to wait for a NBD device coming up + +# max_nbd_devices=16 +#### (IntOpt) maximum number of possible nbd devices + + +######## defined in nova.virt.firewall ######## + # allow_same_net_traffic=true +#### (BoolOpt) Whether to allow network traffic from same network -######### defined in nova.virt.libvirt.connection ######### -###### (StrOpt) Define block migration behavior. -# block_migration_flag="VIR_MIGRATE_UNDEFINE_SOURCE, VIR_MIGRATE_PEER2PEER, VIR_MIGRATE_NON_SHARED_INC" -###### (BoolOpt) Write a checksum for files in _base to disk -# checksum_base_images=false -###### (StrOpt) CpuInfo XML Template (Used only live migration now) -# cpuinfo_xml_template="$pybasedir/nova/virt/cpuinfo.xml.template" -###### (StrOpt) Override the default disk prefix for the devices attached to a server, which is dependent on libvirt_type. (valid options are: sd, xvd, uvd, vd) -# libvirt_disk_prefix=<None> -###### (BoolOpt) Inject the admin password at boot time, without an agent. -# libvirt_inject_password=false -###### (BoolOpt) Use a separated OS thread pool to realize non-blocking libvirt calls -# libvirt_nonblocking=false -###### (StrOpt) Libvirt domain type (valid options are: kvm, lxc, qemu, uml, xen) +######## defined in nova.virt.images ######## + +# force_raw_images=true +#### (BoolOpt) Force backing images to raw format + + +######## defined in nova.virt.libvirt.connection ######## + +# rescue_image_id=<None> +#### (StrOpt) Rescue ami image + +# rescue_kernel_id=<None> +#### (StrOpt) Rescue aki image + +# rescue_ramdisk_id=<None> +#### (StrOpt) Rescue ari image + # libvirt_type="kvm" -###### (StrOpt) Override the default libvirt URI (which is dependent on libvirt_type) +#### (StrOpt) Libvirt domain type (valid options are: kvm, lxc, qemu, uml, +#### xen) + # libvirt_uri="" -###### (BoolOpt) Use virtio for bridge interfaces -# libvirt_use_virtio_for_bridges=false -###### (StrOpt) The libvirt VIF driver to configure the VIFs. +#### (StrOpt) Override the default libvirt URI (which is dependent on +#### libvirt_type) + +# libvirt_inject_password=false +#### (BoolOpt) Inject the admin password at boot time, without an agent. + +# libvirt_inject_key=true +#### (BoolOpt) Inject the ssh public key at boot time + +# libvirt_inject_partition=1 +#### (IntOpt) The partition to inject to : -1 => inspect (libguestfs +#### only), 0 => not partitioned, >0 => partition number + +# use_usb_tablet=true +#### (BoolOpt) Sync virtual and real mouse cursors in Windows VMs + +# live_migration_uri="qemu+tcp://%s/system" +#### (StrOpt) Define protocol used by live_migration feature + +# live_migration_flag="VIR_MIGRATE_UNDEFINE_SOURCE, VIR_MIGRATE_PEER2PEER" +#### (StrOpt) Define live migration behavior. + +# block_migration_flag="VIR_MIGRATE_UNDEFINE_SOURCE, VIR_MIGRATE_PEER2PEER, VIR_MIGRATE_NON_SHARED_INC" +#### (StrOpt) Define block migration behavior. + +# live_migration_bandwidth=0 +#### (IntOpt) Define live migration behavior + +# snapshot_image_format=<None> +#### (StrOpt) Snapshot image format (valid options are : raw, qcow2, vmdk, +#### vdi). Defaults to same as source image + # libvirt_vif_driver="nova.virt.libvirt.vif.LibvirtBridgeDriver" -###### (StrOpt) Type of VIF to create. -# libvirt_vif_type="bridge" -###### (ListOpt) Libvirt handlers for remote volumes. +#### (StrOpt) The libvirt VIF driver to configure the VIFs. + # libvirt_volume_drivers="iscsi=nova.virt.libvirt.volume.LibvirtISCSIVolumeDriver,local=nova.virt.libvirt.volume.LibvirtVolumeDriver,fake=nova.virt.libvirt.volume.LibvirtFakeVolumeDriver,rbd=nova.virt.libvirt.volume.LibvirtNetVolumeDriver,sheepdog=nova.virt.libvirt.volume.LibvirtNetVolumeDriver" -###### (IntOpt) Number of seconds to wait for instance to shut down after soft reboot request is made. We fall back to hard reboot if instance does not shutdown within this window. +#### (ListOpt) Libvirt handlers for remote volumes. + +# libvirt_disk_prefix=<None> +#### (StrOpt) Override the default disk prefix for the devices attached to +#### a server, which is dependent on libvirt_type. (valid options +#### are: sd, xvd, uvd, vd) + # libvirt_wait_soft_reboot_seconds=120 -###### (StrOpt) Libvirt XML Template -# libvirt_xml_template="$pybasedir/nova/virt/libvirt.xml.template" -###### (IntOpt) Define live migration behavior -# live_migration_bandwidth=0 -###### (StrOpt) Define live migration behavior. -# live_migration_flag="VIR_MIGRATE_UNDEFINE_SOURCE, VIR_MIGRATE_PEER2PEER" -###### (StrOpt) Define protocol used by live_migration feature -# live_migration_uri="qemu+tcp://%s/system" -###### (BoolOpt) Should unused base images be removed? +#### (IntOpt) Number of seconds to wait for instance to shut down after +#### soft reboot request is made. We fall back to hard reboot if +#### instance does not shutdown within this window. + +# libvirt_nonblocking=false +#### (BoolOpt) Use a separated OS thread pool to realize non-blocking +#### libvirt calls + +# force_config_drive=<None> +#### (StrOpt) Set to force injection to take place on a config drive (if +#### set, valid options are: always) + + +######## defined in nova.virt.libvirt.imagecache ######## + # remove_unused_base_images=false -###### (IntOpt) Unused unresized base images younger than this will not be removed -# remove_unused_original_minimum_age_seconds=86400 -###### (IntOpt) Unused resized base images younger than this will not be removed +#### (BoolOpt) Should unused base images be removed? + # remove_unused_resized_minimum_age_seconds=3600 -###### (StrOpt) Rescue ami image -# rescue_image_id=<None> -###### (StrOpt) Rescue aki image -# rescue_kernel_id=<None> -###### (StrOpt) Rescue ari image -# rescue_ramdisk_id=<None> -###### (StrOpt) Snapshot image format (valid options are : raw, qcow2, vmdk, vdi). Defaults to same as source image -# snapshot_image_format=<None> -###### (BoolOpt) Sync virtual and real mouse cursors in Windows VMs -# use_usb_tablet=true +#### (IntOpt) Unused resized base images younger than this will not be +#### removed + +# remove_unused_original_minimum_age_seconds=86400 +#### (IntOpt) Unused unresized base images younger than this will not be +#### removed + +# checksum_base_images=false +#### (BoolOpt) Write a checksum for files in _base to disk + -######### defined in nova.virt.libvirt.vif ######### +######## defined in nova.virt.libvirt.utils ######## + +# image_info_filename_pattern="$instances_path/$base_dir_name/%(image)s.info" +#### (StrOpt) Allows image information files to be stored in non-standard +#### locations + + +######## defined in nova.virt.libvirt.vif ######## -###### (StrOpt) Name of Integration Bridge used by Open vSwitch # libvirt_ovs_bridge="br-int" +#### (StrOpt) Name of Integration Bridge used by Open vSwitch + +# libvirt_use_virtio_for_bridges=false +#### (BoolOpt) Use virtio for bridge interfaces -######### defined in nova.virt.vmwareapi.vim ######### -###### (StrOpt) VIM Service WSDL Location e.g http://<server>/vimService.wsdl. Due to a bug in vSphere ESX 4.1 default wsdl. Refer readme-vmware to setup +######## defined in nova.virt.vmwareapi.vim ######## + # vmwareapi_wsdl_loc=<None> +#### (StrOpt) VIM Service WSDL Location e.g +#### http://<server>/vimService.wsdl. Due to a bug in vSphere ESX +#### 4.1 default wsdl. Refer readme-vmware to setup + -######### defined in nova.virt.vmwareapi.vmops ######### +######## defined in nova.virt.vmwareapi.vmops ######## -###### (StrOpt) The VMWare VIF driver to configure the VIFs. # vmware_vif_driver="nova.virt.vmwareapi.vif.VMWareVlanBridgeDriver" +#### (StrOpt) The VMWare VIF driver to configure the VIFs. -######### defined in nova.virt.vmwareapi_conn ######### -###### (FloatOpt) The number of times we retry on failures, e.g., socket error, etc. Used only if connection_type is vmwareapi -# vmwareapi_api_retry_count=10 -###### (StrOpt) URL for connection to VMWare ESX host.Required if connection_type is vmwareapi. +######## defined in nova.virt.vmwareapi_conn ######## + # vmwareapi_host_ip=<None> -###### (StrOpt) Password for connection to VMWare ESX host. Used only if connection_type is vmwareapi. -# vmwareapi_host_password=<None> -###### (StrOpt) Username for connection to VMWare ESX host. Used only if connection_type is vmwareapi. +#### (StrOpt) URL for connection to VMWare ESX host.Required if +#### connection_type is vmwareapi. + # vmwareapi_host_username=<None> -###### (FloatOpt) The interval used for polling of remote tasks. Used only if connection_type is vmwareapi +#### (StrOpt) Username for connection to VMWare ESX host. Used only if +#### connection_type is vmwareapi. + +# vmwareapi_host_password=<None> +#### (StrOpt) Password for connection to VMWare ESX host. Used only if +#### connection_type is vmwareapi. + # vmwareapi_task_poll_interval=5.0 -###### (StrOpt) Physical ethernet adapter name for vlan networking +#### (FloatOpt) The interval used for polling of remote tasks. Used only if +#### connection_type is vmwareapi + +# vmwareapi_api_retry_count=10 +#### (IntOpt) The number of times we retry on failures, e.g., socket +#### error, etc. Used only if connection_type is vmwareapi + # vmwareapi_vlan_interface="vmnic0" +#### (StrOpt) Physical ethernet adapter name for vlan networking -######### defined in nova.virt.xenapi.pool ######### -###### (IntOpt) time to wait for a block device to be created -# block_device_creation_timeout=10 -###### (StrOpt) Default OS type -# default_os_type="linux" -###### (IntOpt) maximum size in bytes of kernel or ramdisk images -# max_kernel_ramdisk_size=16777216 -###### (StrOpt) Filter for finding the SR to be used to install guest instances on. The default value is the Local Storage in default XenServer/XCP installations. To select an SR with a different matching criteria, you could set it to other-config:my_favorite_sr=true. On the other hand, to fall back on the Default SR, as displayed by XenCenter, set this flag to: default-sr:true -# sr_matching_filter="other-config:i18n-key=local-storage" -###### (BoolOpt) To use for hosts with different CPUs -# use_join_force=true -###### (BoolOpt) Whether to use sparse_copy for copying data on a resize down (False will use standard dd). This speeds up resizes down considerably since large runs of zeros won't have to be rsynced -# xenapi_sparse_copy=true +######## defined in nova.virt.xenapi.connection ######## -######### defined in nova.virt.xenapi.vif ######### +# xenapi_connection_url=<None> +#### (StrOpt) URL for connection to XenServer/Xen Cloud Platform. Required +#### if connection_type=xenapi. -###### (StrOpt) Name of Integration Bridge used by Open vSwitch -# xenapi_ovs_integration_bridge="xapi1" +# xenapi_connection_username="root" +#### (StrOpt) Username for connection to XenServer/Xen Cloud Platform. +#### Used only if connection_type=xenapi. + +# xenapi_connection_password=<None> +#### (StrOpt) Password for connection to XenServer/Xen Cloud Platform. +#### Used only if connection_type=xenapi. -######### defined in nova.virt.xenapi.vmops ######### +# xenapi_connection_concurrent=5 +#### (IntOpt) Maximum number of concurrent XenAPI connections. Used only +#### if connection_type=xenapi. -###### (IntOpt) number of seconds to wait for agent to be fully operational -# agent_version_timeout=300 -###### (BoolOpt) Whether to generate swap (False means fetching it from OVA) -# xenapi_generate_swap=false -###### (IntOpt) number of seconds to wait for instance to go to running state -# xenapi_running_timeout=60 -###### (StrOpt) The XenAPI VIF driver using XenServer Network APIs. -# xenapi_vif_driver="nova.virt.xenapi.vif.XenAPIBridgeDriver" +# xenapi_vhd_coalesce_poll_interval=5.0 +#### (FloatOpt) The interval used for polling of coalescing vhds. Used only +#### if connection_type=xenapi. -######### defined in nova.virt.xenapi_conn ######### +# xenapi_check_host=true +#### (BoolOpt) Ensure compute service is running on host XenAPI connects +#### to. + +# xenapi_vhd_coalesce_max_attempts=5 +#### (IntOpt) Max number of times to poll for VHD to coalesce. Used only +#### if connection_type=xenapi. -###### (StrOpt) IQN Prefix -# iqn_prefix="iqn.2010-10.org.openstack" -###### (StrOpt) iSCSI Target Host -# target_host=<None> -###### (StrOpt) iSCSI Target Port, 3260 Default -# target_port="3260" -###### (StrOpt) Specifies the path in which the xenapi guest agent should be located. If the agent is present, network configuration is not injected into the image. Used if connection_type=xenapi and flat_injected=True # xenapi_agent_path="usr/sbin/xe-update-networking" -###### (IntOpt) Maximum number of concurrent XenAPI connections. Used only if connection_type=xenapi. -# xenapi_connection_concurrent=5 -###### (StrOpt) Password for connection to XenServer/Xen Cloud Platform. Used only if connection_type=xenapi. -# xenapi_connection_password=<None> -###### (StrOpt) URL for connection to XenServer/Xen Cloud Platform. Required if connection_type=xenapi. -# xenapi_connection_url=<None> -###### (StrOpt) Username for connection to XenServer/Xen Cloud Platform. Used only if connection_type=xenapi. -# xenapi_connection_username="root" -###### (IntOpt) Timeout in seconds for XenAPI login. -# xenapi_login_timeout=10 -###### (BoolOpt) Used to enable the remapping of VBD dev (Works around an issue in Ubuntu Maverick) -# xenapi_remap_vbd_dev=false -###### (StrOpt) Specify prefix to remap VBD dev to (ex. /dev/xvdb -> /dev/sdb) -# xenapi_remap_vbd_dev_prefix="sd" -###### (StrOpt) Base path to the storage repository +#### (StrOpt) Specifies the path in which the xenapi guest agent should be +#### located. If the agent is present, network configuration is +#### not injected into the image. Used if connection_type=xenapi +#### and flat_injected=True + # xenapi_sr_base_path="/var/run/sr-mount" -###### (IntOpt) Max number of times to poll for VHD to coalesce. Used only if connection_type=xenapi. -# xenapi_vhd_coalesce_max_attempts=5 -###### (FloatOpt) The interval used for polling of coalescing vhds. Used only if connection_type=xenapi. -# xenapi_vhd_coalesce_poll_interval=5.0 +#### (StrOpt) Base path to the storage repository -######### defined in nova.console.manager ######### +# target_host=<None> +#### (StrOpt) iSCSI Target Host -###### (StrOpt) Driver to use for the console proxy -# console_driver="nova.console.xvp.XVPConsoleProxy" -###### (StrOpt) Publicly visible name for this console host -# console_public_hostname="nova" -###### (BoolOpt) Stub calls to compute worker for tests -# stub_compute=false +# target_port="3260" +#### (StrOpt) iSCSI Target Port, 3260 Default -######### defined in nova.console.vmrc ######### +# iqn_prefix="iqn.2010-10.org.openstack" +#### (StrOpt) IQN Prefix -###### (IntOpt) number of retries for retrieving VMRC information -# console_vmrc_error_retries=10 -###### (IntOpt) port for VMware VMRC connections -# console_vmrc_port=443 +# xenapi_remap_vbd_dev=false +#### (BoolOpt) Used to enable the remapping of VBD dev (Works around an +#### issue in Ubuntu Maverick) -######### defined in nova.console.xvp ######### +# xenapi_remap_vbd_dev_prefix="sd" +#### (StrOpt) Specify prefix to remap VBD dev to (ex. /dev/xvdb -> +#### /dev/sdb) -###### (StrOpt) generated XVP conf file -# console_xvp_conf="/etc/xvp.conf" -###### (StrOpt) XVP conf template -# console_xvp_conf_template="$pybasedir/nova/console/xvp.conf.template" -###### (StrOpt) XVP log file -# console_xvp_log="/var/log/xvp.log" -###### (IntOpt) port for XVP to multiplex VNC connections on -# console_xvp_multiplex_port=5900 -###### (StrOpt) XVP master process pid file -# console_xvp_pid="/var/run/xvp.pid" +# xenapi_login_timeout=10 +#### (IntOpt) Timeout in seconds for XenAPI login. -######### defined in nova.consoleauth.manager ######### -###### (IntOpt) How many seconds before deleting tokens -# console_token_ttl=600 -###### (StrOpt) Manager for console auth -# consoleauth_manager="nova.consoleauth.manager.ConsoleAuthManager" +######## defined in nova.virt.xenapi.pool ######## -######### defined in nova.image.s3 ######### +# use_join_force=true +#### (BoolOpt) To use for hosts with different CPUs -###### (StrOpt) parent dir for tempdir used for image decryption -# image_decryption_dir="/tmp" -###### (StrOpt) access key to use for s3 server for images -# s3_access_key="notchecked" -###### (BoolOpt) whether to affix the tenant id to the access key when downloading from s3 -# s3_affix_tenant=false -###### (StrOpt) secret key to use for s3 server for images -# s3_secret_key="notchecked" -###### (BoolOpt) whether to use ssl when talking to s3 -# s3_use_ssl=false -######### defined in nova.cloudpipe.pipelib ######### +######## defined in nova.virt.xenapi.vif ######## -###### (StrOpt) Template for cloudpipe instance boot script -# boot_script_template="$pybasedir/nova/cloudpipe/bootscript.template" -###### (StrOpt) Netmask to push into openvpn config -# dmz_mask="255.255.255.0" -###### (StrOpt) Network to push into openvpn config -# dmz_net="10.0.0.0" -###### (StrOpt) Instance type for vpn instances -# vpn_instance_type="m1.tiny" +# xenapi_ovs_integration_bridge="xapi1" +#### (StrOpt) Name of Integration Bridge used by Open vSwitch -######### defined in nova.notifier.list_notifier ######### -###### (MultiStrOpt) List of drivers to send notifications -# list_notifier_drivers="nova.notifier.no_op_notifier" +######## defined in nova.virt.xenapi.vm_utils ######## -######### defined in nova.notifier.rabbit_notifier ######### +# default_os_type="linux" +#### (StrOpt) Default OS type -###### (ListOpt) AMQP topic used for Nova notifications -# notification_topics="notifications" +# block_device_creation_timeout=10 +#### (IntOpt) Time to wait for a block device to be created -######### defined in nova.objectstore.s3server ######### +# max_kernel_ramdisk_size=16777216 +#### (IntOpt) Maximum size in bytes of kernel or ramdisk images -###### (StrOpt) path to s3 buckets -# buckets_path="$state_path/buckets" -###### (StrOpt) IP address for S3 API to listen -# s3_listen="0.0.0.0" -###### (IntOpt) port for s3 api to listen -# s3_listen_port=3333 +# sr_matching_filter="other-config:i18n-key=local-storage" +#### (StrOpt) Filter for finding the SR to be used to install guest +#### instances on. The default value is the Local Storage in +#### default XenServer/XCP installations. To select an SR with a +#### different matching criteria, you could set it to other- +#### config:my_favorite_sr=true. On the other hand, to fall back +#### on the Default SR, as displayed by XenCenter, set this flag +#### to: default-sr:true -######### defined in nova.rpc.common ######### +# xenapi_sparse_copy=true +#### (BoolOpt) Whether to use sparse_copy for copying data on a resize down +#### (False will use standard dd). This speeds up resizes down +#### considerably since large runs of zeros won't have to be +#### rsynced -###### (ListOpt) Modules of exceptions that are permitted to be recreated -# allowed_rpc_exception_modules="nova.exception" +# xenapi_num_vbd_unplug_retries=10 +#### (IntOpt) Maximum number of retries to unplug VBD -######### defined in nova.rpc.impl_kombu ######### -###### (StrOpt) SSL certification authority file (valid only if SSL enabled) -# kombu_ssl_ca_certs="" -###### (StrOpt) SSL cert file (valid only if SSL enabled) -# kombu_ssl_certfile="" -###### (StrOpt) SSL key file (valid only if SSL enabled) -# kombu_ssl_keyfile="" -###### (StrOpt) SSL version to use (valid only if SSL enabled) -# kombu_ssl_version="" +######## defined in nova.virt.xenapi.vmops ######## -######### defined in nova.rpc.impl_qpid ######### +# agent_version_timeout=300 +#### (IntOpt) number of seconds to wait for agent to be fully operational -###### (IntOpt) Seconds between connection keepalive heartbeats -# qpid_heartbeat=5 -###### (StrOpt) Qpid broker hostname -# qpid_hostname="localhost" -###### (StrOpt) Password for qpid connection -# qpid_password="" -###### (StrOpt) Qpid broker port -# qpid_port="5672" -###### (StrOpt) Transport to use, either 'tcp' or 'ssl' -# qpid_protocol="tcp" -###### (BoolOpt) Automatically reconnect -# qpid_reconnect=true -###### (IntOpt) Equivalent to setting max and min to the same value -# qpid_reconnect_interval=0 -###### (IntOpt) Maximum seconds between reconnection attempts -# qpid_reconnect_interval_max=0 -###### (IntOpt) Minimum seconds between reconnection attempts -# qpid_reconnect_interval_min=0 -###### (IntOpt) Max reconnections before giving up -# qpid_reconnect_limit=0 -###### (IntOpt) Reconnection timeout in seconds -# qpid_reconnect_timeout=0 -###### (StrOpt) Space separated list of SASL mechanisms to use for auth -# qpid_sasl_mechanisms="" -###### (BoolOpt) Disable Nagle algorithm -# qpid_tcp_nodelay=true -###### (StrOpt) Username for qpid connection -# qpid_username="" +# xenapi_running_timeout=60 +#### (IntOpt) number of seconds to wait for instance to go to running +#### state -######### defined in nova.scheduler.driver ######### +# xenapi_vif_driver="nova.virt.xenapi.vif.XenAPIBridgeDriver" +#### (StrOpt) The XenAPI VIF driver using XenServer Network APIs. -###### (StrOpt) The scheduler host manager class to use -# scheduler_host_manager="nova.scheduler.host_manager.HostManager" +# xenapi_generate_swap=false +#### (BoolOpt) Whether to generate swap (False means fetching it from OVA) -######### defined in nova.scheduler.filters.core_filter ######### -###### (FloatOpt) Virtual CPU to Physical CPU allocation ratio -# cpu_allocation_ratio=16.0 +######## defined in nova.vnc ######## -######### defined in nova.scheduler.filters.ram_filter ######### +# novncproxy_base_url="http://127.0.0.1:6080/vnc_auto.html" +#### (StrOpt) location of vnc console proxy, in the form +#### "http://127.0.0.1:6080/vnc_auto.html" -###### (FloatOpt) virtual ram to physical ram allocation ratio -# ram_allocation_ratio=1.5 +# xvpvncproxy_base_url="http://127.0.0.1:6081/console" +#### (StrOpt) location of nova xvp vnc console proxy, in the form +#### "http://127.0.0.1:6081/console" -######### defined in nova.scheduler.host_manager ######### +# vncserver_listen="127.0.0.1" +#### (StrOpt) Ip address on which instance vncserversshould listen -###### (IntOpt) Amount of disk in MB to reserve for host/dom0 -# reserved_host_disk_mb=0 -###### (IntOpt) Amount of memory in MB to reserve for host/dom0 -# reserved_host_memory_mb=512 -###### (MultiStrOpt) Filter classes available to the scheduler which may be specified more than once. An entry of "nova.scheduler.filters.standard_filters" maps to all filters included with nova. -# scheduler_available_filters="nova.scheduler.filters.standard_filters" -###### (ListOpt) Which filter class names to use for filtering hosts when not specified in the request. -# scheduler_default_filters="AvailabilityZoneFilter,RamFilter,ComputeFilter" +# vncserver_proxyclient_address="127.0.0.1" +#### (StrOpt) the address to which proxy clients (like nova-xvpvncproxy) +#### should connect -######### defined in nova.scheduler.least_cost ######### +# vnc_enabled=true +#### (BoolOpt) enable vnc related features -###### (FloatOpt) How much weight to give the fill-first cost function. A negative value will reverse behavior: e.g. spread-first -# compute_fill_first_cost_fn_weight=-1.0 -###### (ListOpt) Which cost functions the LeastCostScheduler should use -# least_cost_functions="nova.scheduler.least_cost.compute_fill_first_cost_fn" -###### (FloatOpt) How much weight to give the noop cost function -# noop_cost_fn_weight=1.0 +# vnc_keymap="en-us" +#### (StrOpt) keymap for vnc -######### defined in nova.scheduler.manager ######### -###### (StrOpt) Default driver to use for the scheduler -# scheduler_driver="nova.scheduler.multi.MultiScheduler" +######## defined in nova.vnc.xvp_proxy ######## -######### defined in nova.scheduler.multi ######### +# xvpvncproxy_port=6081 +#### (IntOpt) Port that the XCP VNC proxy should bind to -###### (StrOpt) Driver to use for scheduling compute calls -# compute_scheduler_driver="nova.scheduler.filter_scheduler.FilterScheduler" -###### (StrOpt) Driver to use for scheduling volume calls -# volume_scheduler_driver="nova.scheduler.chance.ChanceScheduler" +# xvpvncproxy_host="0.0.0.0" +#### (StrOpt) Address that the XCP VNC proxy should bind to -######### defined in nova.scheduler.scheduler_options ######### -###### (StrOpt) Absolute path to scheduler configuration JSON file. -# scheduler_json_config_location="" +######## defined in nova.volume.driver ######## -######### defined in nova.scheduler.simple ######### +# volume_group="nova-volumes" +#### (StrOpt) Name for the VG that will contain exported volumes -###### (IntOpt) maximum number of instance cores to allow per host -# max_cores=16 -###### (IntOpt) maximum number of volume gigabytes to allow per host -# max_gigabytes=10000 -###### (IntOpt) maximum number of networks to allow per host -# max_networks=1000 -###### (BoolOpt) Allow overcommitting vcpus on isolated hosts -# skip_isolated_core_check=true +# num_shell_tries=3 +#### (IntOpt) number of times to attempt to run flakey shell commands -######### defined in nova.volume.driver ######### +# num_iscsi_scan_tries=3 +#### (IntOpt) number of times to rescan iSCSI target to find volume -###### (StrOpt) iscsi target user-land tool to use -# iscsi_helper="ietadm" -###### (StrOpt) use this ip for iscsi -# iscsi_ip_address="$my_ip" -###### (IntOpt) Number of iscsi target ids per host # iscsi_num_targets=100 -###### (IntOpt) The port that the iSCSI daemon is listening on -# iscsi_port=3260 -###### (StrOpt) prefix for iscsi volumes +#### (IntOpt) Number of iscsi target ids per host + # iscsi_target_prefix="iqn.2010-10.org.openstack:" -###### (StrOpt) number of times to rescan iSCSI target to find volume -# num_iscsi_scan_tries="3" -###### (StrOpt) number of times to attempt to run flakey shell commands -# num_shell_tries="3" -###### (StrOpt) the rbd pool in which volumes are stored +#### (StrOpt) prefix for iscsi volumes + +# iscsi_ip_address="$my_ip" +#### (StrOpt) use this ip for iscsi + +# iscsi_port=3260 +#### (IntOpt) The port that the iSCSI daemon is listening on + # rbd_pool="rbd" -###### (StrOpt) Name for the VG that will contain exported volumes -# volume_group="nova-volumes" +#### (StrOpt) the RADOS pool in which rbd volumes are stored + +# rbd_user=<None> +#### (StrOpt) the RADOS client name for accessing rbd volumes -######### defined in nova.volume.netapp ######### +# rbd_secret_uuid=<None> +#### (StrOpt) the libvirt uuid of the secret for the rbd_uservolumes + + +######## defined in nova.volume.iscsi ######## + +# iscsi_helper="ietadm" +#### (StrOpt) iscsi target user-land tool to use + + +######## defined in nova.volume.manager ######## + +# storage_availability_zone="nova" +#### (StrOpt) availability zone of this service + +# volume_driver="nova.volume.driver.ISCSIDriver" +#### (StrOpt) Driver to use for volume creation + +# use_local_volumes=true +#### (BoolOpt) if True, will not discover local volumes + +# volume_force_update_capabilities=false +#### (BoolOpt) if True will force update capabilities on each check + + +######## defined in nova.volume.netapp ######## + +# netapp_wsdl_url=<None> +#### (StrOpt) URL of the WSDL file for the DFM server -###### (StrOpt) User name for the DFM server # netapp_login=<None> -###### (StrOpt) Password for the DFM server +#### (StrOpt) User name for the DFM server + # netapp_password=<None> -###### (StrOpt) Hostname for the DFM server +#### (StrOpt) Password for the DFM server + # netapp_server_hostname=<None> -###### (IntOpt) Port number for the DFM server +#### (StrOpt) Hostname for the DFM server + # netapp_server_port=8088 -###### (StrOpt) Storage service to use for provisioning +#### (IntOpt) Port number for the DFM server + # netapp_storage_service=<None> -###### (StrOpt) Vfiler to use for provisioning +#### (StrOpt) Storage service to use for provisioning + # netapp_vfiler=<None> -###### (StrOpt) URL of the WSDL file for the DFM server -# netapp_wsdl_url=<None> +#### (StrOpt) Vfiler to use for provisioning -######### defined in nova.volume.nexenta.volume ######### -###### (StrOpt) block size for volumes (blank=default,8KB) -# nexenta_blocksize="" -###### (StrOpt) IP address of Nexenta SA +######## defined in nova.volume.nexenta.volume ######## + # nexenta_host="" -###### (IntOpt) Nexenta target portal port -# nexenta_iscsi_target_portal_port=3260 -###### (StrOpt) Password to connect to Nexenta SA -# nexenta_password="nexenta" -###### (IntOpt) HTTP port to connect to Nexenta REST API server +#### (StrOpt) IP address of Nexenta SA + # nexenta_rest_port=2000 -###### (StrOpt) Use http or https for REST connection (default auto) +#### (IntOpt) HTTP port to connect to Nexenta REST API server + # nexenta_rest_protocol="auto" -###### (BoolOpt) flag to create sparse volumes -# nexenta_sparse=false -###### (StrOpt) prefix for iSCSI target groups on SA -# nexenta_target_group_prefix="nova/" -###### (StrOpt) IQN prefix for iSCSI targets -# nexenta_target_prefix="iqn.1986-03.com.sun:02:nova-" -###### (StrOpt) User name to connect to Nexenta SA +#### (StrOpt) Use http or https for REST connection (default auto) + # nexenta_user="admin" -###### (StrOpt) pool on SA that will hold all volumes +#### (StrOpt) User name to connect to Nexenta SA + +# nexenta_password="nexenta" +#### (StrOpt) Password to connect to Nexenta SA + +# nexenta_iscsi_target_portal_port=3260 +#### (IntOpt) Nexenta target portal port + # nexenta_volume="nova" +#### (StrOpt) pool on SA that will hold all volumes -######### defined in nova.volume.san ######### +# nexenta_target_prefix="iqn.1986-03.com.sun:02:nova-" +#### (StrOpt) IQN prefix for iSCSI targets + +# nexenta_target_group_prefix="nova/" +#### (StrOpt) prefix for iSCSI target groups on SA + +# nexenta_blocksize="" +#### (StrOpt) block size for volumes (blank=default,8KB) + +# nexenta_sparse=false +#### (BoolOpt) flag to create sparse volumes + + +######## defined in nova.volume.san ######## + +# san_thin_provision=true +#### (BoolOpt) Use thin provisioning for SAN volumes? -###### (StrOpt) Cluster name to use for creating volumes -# san_clustername="" -###### (StrOpt) IP address of SAN controller # san_ip="" -###### (BoolOpt) Execute commands locally instead of over SSH; use if the volume service is running on the SAN device -# san_is_local=false -###### (StrOpt) Username for SAN controller +#### (StrOpt) IP address of SAN controller + # san_login="admin" -###### (StrOpt) Password for SAN controller +#### (StrOpt) Username for SAN controller + # san_password="" -###### (StrOpt) Filename of private key to use for SSH authentication +#### (StrOpt) Password for SAN controller + # san_private_key="" -###### (IntOpt) SSH port to use with SAN +#### (StrOpt) Filename of private key to use for SSH authentication + +# san_clustername="" +#### (StrOpt) Cluster name to use for creating volumes + # san_ssh_port=22 -###### (BoolOpt) Use thin provisioning for SAN volumes? -# san_thin_provision=true -###### (StrOpt) The ZFS path under which to create zvols for volumes. +#### (IntOpt) SSH port to use with SAN + +# san_is_local=false +#### (BoolOpt) Execute commands locally instead of over SSH; use if the +#### volume service is running on the SAN device + # san_zfs_volume_base="rpool/" +#### (StrOpt) The ZFS path under which to create zvols for volumes. + -# Total option count: 467 +# Total option count: 477 diff --git a/tools/conf/create_conf.py b/tools/conf/create_conf.py deleted file mode 100644 index bc551a22e..000000000 --- a/tools/conf/create_conf.py +++ /dev/null @@ -1,159 +0,0 @@ -# vim: tabstop=4 shiftwidth=4 softtabstop=4 - -# Copyright 2012 SINA Corporation -# All Rights Reserved. -# Author: Zhongyue Luo <lzyeval@gmail.com> -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -"""Generates a nova.conf file.""" - -import os -import re -import sys - - -_PY_EXT = ".py" -_FLAGS = "FLAGS" - -_STROPT = "StrOpt" -_BOOLOPT = "BoolOpt" -_INTOPT = "IntOpt" -_FLOATOPT = "FloatOpt" -_LISTOPT = "ListOpt" -_MULTISTROPT = "MultiStrOpt" - -_OPTION_CACHE = list() -_OPTION_REGEX = re.compile(r"(%s)" % "|".join([_STROPT, _BOOLOPT, _INTOPT, - _FLOATOPT, _LISTOPT, - _MULTISTROPT])) - -_BASEDIR = os.path.abspath(os.path.dirname(__file__) + "../../") - - -def main(srcfiles): - - def mod_prefer(mod_str): - prefer = ["flags.py", "log.py", "utils.py", "service.py"] - return prefer.index(mod_str) if mod_str in prefer else ord(mod_str[0]) - - def pkg_prefer(pkg_str): - prefer = ["auth", "api", "vnc", "ipv6", "network", "compute", "virt", - "console", "consoleauth", "image"] - return prefer.index(pkg_str) if pkg_str in prefer else ord(pkg_str[0]) - - print '#' * 20 + '\n# nova.conf sample #\n' + '#' * 20 - # NOTE(lzyeval): sort top level modules and packages - # to process modules first - print - print '[DEFAULT]' - print - mods_by_pkg = dict() - for filepath in srcfiles: - pkg_name = filepath.split(os.sep)[3] - mod_str = '.'.join(['.'.join(filepath.split(os.sep)[2:-1]), - os.path.basename(filepath).split('.')[0]]) - mods = mods_by_pkg.get(pkg_name, list()) - if not mods: - mods_by_pkg[pkg_name] = mods - mods.append(mod_str) - # NOTE(lzyeval): place top level modules before packages - pkg_names = filter(lambda x: x.endswith(_PY_EXT), mods_by_pkg.keys()) - pkg_names.sort(key=lambda x: mod_prefer(x)) - ext_names = filter(lambda x: x not in pkg_names, mods_by_pkg.keys()) - ext_names.sort(key=lambda x: pkg_prefer(x)) - pkg_names.extend(ext_names) - for pkg_name in pkg_names: - mods = mods_by_pkg.get(pkg_name) - mods.sort() - for mod_str in mods: - print_module(mod_str) - - -def print_module(mod_str): - opts = list() - flags = None - if mod_str.endswith('.__init__'): - mod_str = mod_str[:mod_str.rfind(".")] - try: - __import__(mod_str) - flags = getattr(sys.modules[mod_str], _FLAGS) - except (ValueError, AttributeError), err: - return - except ImportError, ie: - sys.stderr.write("%s\n" % str(ie)) - return - except Exception, e: - return - for opt_name in sorted(flags.keys()): - # check if option was processed - if opt_name in _OPTION_CACHE: - continue - opt_dict = flags._get_opt_info(opt_name) - opts.append(opt_dict['opt']) - _OPTION_CACHE.append(opt_name) - # return if flags has no unique options - if not opts: - return - # print out module info - print '######### defined in %s #########' % mod_str - print - for opt in opts: - print_opt(opt) - print - - -def convert_abspath(s): - """Set up a reasonably sensible default for pybasedir.""" - if not s.startswith(_BASEDIR): - return s - return s.replace(_BASEDIR, '/usr/lib/python/site-packages') - - -def print_opt(opt): - opt_type = None - try: - opt_type = _OPTION_REGEX.search(str(type(opt))).group(0) - except (ValueError, AttributeError), err: - sys.stderr.write("%s\n" % str(err)) - sys.exit(1) - # print out option info - print "######", "".join(["(", opt_type, ")"]), opt.help - - name, default = opt.name, opt.default - - if isinstance(default, basestring): - default = convert_abspath(default) - - if default is None: - print '# %s=<None>' % name - else: - if opt_type == 'StrOpt': - print '# %s="%s"' % (name, default) - elif opt_type == 'ListOpt': - print '# %s="%s"' % (name, ','.join(default)) - elif opt_type == 'MultiStrOpt': - for default in default: - print '# %s="%s"' % (name, default) - elif opt_type == 'BoolOpt': - print '# %s=%s' % (name, str(default).lower()) - else: - print '# %s=%s' % (name, default) - - -if __name__ == '__main__': - if len(sys.argv) < 2: - print "usage: python %s [srcfile]...\n" % sys.argv[0] - sys.exit(0) - main(sys.argv[1:]) - print "#", "Total option count: %d" % len(_OPTION_CACHE) diff --git a/tools/conf/extract_opts.py b/tools/conf/extract_opts.py new file mode 100644 index 000000000..256ca7f5f --- /dev/null +++ b/tools/conf/extract_opts.py @@ -0,0 +1,161 @@ +# vim: tabstop=4 shiftwidth=4 softtabstop=4 + +# Copyright 2012 SINA Corporation +# All Rights Reserved. +# Author: Zhongyue Luo <lzyeval@gmail.com> +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +"""Extracts OpenStack config option info from module(s).""" + +import os +import re +import sys +import textwrap + +from nova.openstack.common import cfg +from nova.openstack.common import importutils + + +STROPT = "StrOpt" +BOOLOPT = "BoolOpt" +INTOPT = "IntOpt" +FLOATOPT = "FloatOpt" +LISTOPT = "ListOpt" +MULTISTROPT = "MultiStrOpt" + +OPTION_COUNT = 0 +OPTION_REGEX = re.compile(r"(%s)" % "|".join([STROPT, BOOLOPT, INTOPT, + FLOATOPT, LISTOPT, + MULTISTROPT])) +OPTION_HELP_INDENT = "####" + +PY_EXT = ".py" +BASEDIR = os.path.abspath(os.path.dirname(__file__) + "../../") +WORDWRAP_WIDTH = 60 + + +def main(srcfiles): + print '\n'.join(['#' * 20, '# nova.conf sample #', '#' * 20, + '', '[DEFAULT]', '']) + mods_by_pkg = dict() + for filepath in srcfiles: + pkg_name = filepath.split(os.sep)[3] + mod_str = '.'.join(['.'.join(filepath.split(os.sep)[2:-1]), + os.path.basename(filepath).split('.')[0]]) + mods_by_pkg.setdefault(pkg_name, list()).append(mod_str) + # NOTE(lzyeval): place top level modules before packages + pkg_names = filter(lambda x: x.endswith(PY_EXT), mods_by_pkg.keys()) + pkg_names.sort() + ext_names = filter(lambda x: x not in pkg_names, mods_by_pkg.keys()) + ext_names.sort() + pkg_names.extend(ext_names) + for pkg_name in pkg_names: + mods = mods_by_pkg.get(pkg_name) + mods.sort() + for mod_str in mods: + _print_module(mod_str) + print "# Total option count: %d" % OPTION_COUNT + + +def _print_module(mod_str): + global OPTION_COUNT + opts = list() + mod_obj = None + if mod_str.endswith('.__init__'): + mod_str = mod_str[:mod_str.rfind(".")] + try: + mod_obj = importutils.import_module(mod_str) + except (ValueError, AttributeError), err: + return + except ImportError, ie: + sys.stderr.write("%s\n" % str(ie)) + return + except Exception, e: + return + for attr_str in dir(mod_obj): + attr_obj = getattr(mod_obj, attr_str) + if isinstance(attr_obj, cfg.Opt): + opts.append(attr_obj) + elif (isinstance(attr_obj, list) and + all(map(lambda x: isinstance(x, cfg.Opt), attr_obj))): + opts.extend(attr_obj) + # NOTE(lzyeval): return if module has no options + if not opts: + return + OPTION_COUNT += len(opts) + print '######## defined in %s ########\n' % mod_str + for opt in opts: + _print_opt(opt) + print + + +def _convert_abspath(s): + """Set up a reasonably sensible default for pybasedir.""" + if not s.startswith(BASEDIR): + return s + return s.replace(BASEDIR, '/usr/lib/python/site-packages') + + +def _wrap(msg, indent): + padding = ' ' * indent + prefix = "\n%s %s " % (OPTION_HELP_INDENT, padding) + return prefix.join(textwrap.wrap(msg, WORDWRAP_WIDTH)) + + +def _print_opt(opt): + opt_name, opt_default, opt_help = opt.name, opt.default, opt.help + if not opt_help: + sys.stderr.write('WARNING: "%s" is missing help string.\n' % opt_name) + opt_type = None + try: + opt_type = OPTION_REGEX.search(str(type(opt))).group(0) + except (ValueError, AttributeError), err: + sys.stderr.write("%s\n" % str(err)) + sys.exit(1) + try: + if opt_default is None: + print '# %s=<None>' % opt_name + elif opt_type == STROPT: + assert(isinstance(opt_default, basestring)) + print '# %s="%s"' % (opt_name, _convert_abspath(opt_default)) + elif opt_type == BOOLOPT: + assert(isinstance(opt_default, bool)) + print '# %s=%s' % (opt_name, str(opt_default).lower()) + elif opt_type == INTOPT: + assert(isinstance(opt_default, int) and + not isinstance(opt_default, bool)) + print '# %s=%s' % (opt_name, opt_default) + elif opt_type == FLOATOPT: + assert(isinstance(opt_default, float)) + print '# %s=%s' % (opt_name, opt_default) + elif opt_type == LISTOPT: + assert(isinstance(opt_default, list)) + print '# %s="%s"' % (opt_name, ','.join(opt_default)) + elif opt_type == MULTISTROPT: + assert(isinstance(opt_default, list)) + for default in opt_default: + print '# %s="%s"' % (opt_name, default) + except Exception: + sys.stderr.write('Error in option "%s"\n' % opt_name) + sys.exit(1) + opt_type_tag = "(%s)" % opt_type + print OPTION_HELP_INDENT, opt_type_tag, _wrap(opt_help, len(opt_type_tag)) + print + + +if __name__ == '__main__': + if len(sys.argv) < 2: + print "usage: python %s [srcfile]...\n" % sys.argv[0] + sys.exit(0) + main(sys.argv[1:]) diff --git a/tools/conf/generate_sample.sh b/tools/conf/generate_sample.sh index 8a4f55524..2a6b17aa4 100755 --- a/tools/conf/generate_sample.sh +++ b/tools/conf/generate_sample.sh @@ -19,7 +19,7 @@ pushd $(cd $(dirname "$0") && pwd) >/dev/null find ../../nova -type f -name "*.py" ! -path "../../nova/tests/*" -exec \ - grep -l "Opt(" {} \; | sort -u | xargs python create_conf.py > \ + grep -l "Opt(" {} \; | sort -u | xargs python extract_opts.py > \ ../../etc/nova/nova.conf.sample popd >/dev/null |