summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--etc/nova/nova.conf.sample1144
-rw-r--r--tools/conf/extract_opts.py111
2 files changed, 815 insertions, 440 deletions
diff --git a/etc/nova/nova.conf.sample b/etc/nova/nova.conf.sample
index bee408412..923c93d71 100644
--- a/etc/nova/nova.conf.sample
+++ b/etc/nova/nova.conf.sample
@@ -21,11 +21,11 @@
# log_format=%(asctime)s %(levelname)8s [%(name)s] %(message)s
#### (StrOpt) A logging.Formatter log message format string which may use
#### any of the available logging.LogRecord attributes. Default:
-#### %default
+#### %(default)s
# log_date_format=%Y-%m-%d %H:%M:%S
-#### (StrOpt) Format string for %(asctime)s in log records. Default:
-#### %default
+#### (StrOpt) Format string for %%(asctime)s in log records. Default:
+#### %(default)s
# log_file=<None>
#### (StrOpt) (Optional) Name of log file to output to. If not set,
@@ -33,7 +33,7 @@
# log_dir=<None>
#### (StrOpt) (Optional) The directory to keep log files in (will be
-#### prepended to --logfile)
+#### prepended to --log-file)
# use_syslog=false
#### (BoolOpt) Use syslog for logging.
@@ -42,6 +42,15 @@
#### (StrOpt) syslog facility to receive log lines
+######## defined in nova.availability_zones ########
+
+# internal_service_availability_zone=internal
+#### (StrOpt) availability_zone to show internal services under
+
+# default_availability_zone=nova
+#### (StrOpt) default compute node availability_zone
+
+
######## defined in nova.crypto ########
# ca_file=cacert.pem
@@ -71,303 +80,33 @@
#### timestamp
-######## defined in nova.flags ########
+######## defined in nova.exception ########
-# sql_connection=sqlite:///$state_path/$sqlite_db
-#### (StrOpt) The SQLAlchemy connection string used to connect to the
-#### database
-
-# api_paste_config=api-paste.ini
-#### (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
+# fatal_exception_format_errors=false
+#### (BoolOpt) make exception message format errors fatal
-# bindir=$pybasedir/bin
-#### (StrOpt) Directory where nova binaries are installed
-# state_path=$pybasedir
-#### (StrOpt) Top-level directory for maintaining nova's state
+######## defined in nova.manager ########
-# fake_network=false
-#### (BoolOpt) If passed, use fake network devices and addresses
+# run_external_periodic_tasks=true
+#### (BoolOpt) Some periodic tasks can be run in a separate process. Should
+#### we run them here?
-# sql_connection_debug=0
-#### (IntOpt) Verbosity of SQL debugging information. 0=None,
-#### 100=Everything
-# sql_connection_trace=false
-#### (BoolOpt) Add python stack traces to SQL as comment strings
+######## defined in nova.netconf ########
# my_ip=10.0.0.1
#### (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 ID
-
-# aws_secret_access_key=admin
-#### (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. Prefix
-#### with https:// for ssl-based glance api servers.
-#### ([hostname|ip]:port)
-
-# glance_api_insecure=false
-#### (BoolOpt) Allow to perform insecure SSL (https) requests to glance
-
-# 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
-
-# cert_topic=cert
-#### (StrOpt) the topic cert nodes listen on
-
-# compute_topic=compute
-#### (StrOpt) the topic compute nodes listen on
-
-# console_topic=console
-#### (StrOpt) the topic console proxy nodes listen on
-
-# scheduler_topic=scheduler
-#### (StrOpt) the topic scheduler 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,metadata
-#### (ListOpt) a list of APIs to enable by default
-
-# ec2_host=$my_ip
-#### (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
-#### (IntOpt) the port of the ec2 api server
-
-# ec2_scheme=http
-#### (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=
-#### (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
-#### (MultiStrOpt) osapi compute extension to load
-
-# 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 the
-#### OpenStack Compute API
-
-# osapi_glance_link_prefix=<None>
-#### (StrOpt) Base URL that will be presented to users in links to glance
-#### resources
-
-# osapi_max_limit=1000
-#### (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_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
-
-# 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) timeout before idle sql connections are reaped
-
-# sql_max_retries=10
-#### (IntOpt) maximum db connection retries during startup. (setting -1
-#### implies an infinite retry count)
-
-# sql_retry_interval=10
-#### (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
-
-# scheduler_manager=nova.scheduler.manager.SchedulerManager
-#### (StrOpt) full class name for the Manager for scheduler
-
# host=nova
#### (StrOpt) Name of this node. This can be an opaque identifier. It is
#### not necessarily a hostname, FQDN, or IP address. However,
#### the node name must be valid within an AMQP key, and if using
#### ZeroMQ, a valid hostname, FQDN, or IP address
-# node_availability_zone=nova
-#### (StrOpt) availability zone of this node
-
-# 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
-
-# bandwidth_poll_interval=600
-#### (IntOpt) interval to pull bandwidth usage info
-
-# 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.
-
-# rootwrap_config=/etc/nova/rootwrap.conf
-#### (StrOpt) Path to the rootwrap configuration file to use for running
-#### commands as root
-
-# network_driver=nova.network.linux_net
-#### (StrOpt) Driver to use for network creation
-
# use_ipv6=false
#### (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.
-
-# 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.
-
-# 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=all
-#### (StrOpt) Cache glance images locally. `all` will cache all images,
-#### `some` will only cache images that have the image_property
-#### `cache_in_nova=True`, and `none` turns off caching entirely
-
-# 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.cinder.API
-#### (StrOpt) The full class name of the volume API class to use
-
-# security_group_handler=nova.network.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: noauth or keystone.
-
-# non_inheritable_image_properties=cache_in_nova,bittorrent
-#### (ListOpt) These are image properties which a snapshot should not
-#### inherit from an instance
-
-# defer_iptables_apply=false
-#### (BoolOpt) Whether to batch up the application of IPTables rules during
-#### a host restart and apply all at the end of the init phase
-
-# compute_driver=<None>
-#### (StrOpt) Driver to use for controlling virtualization. Options
-#### include: libvirt.LibvirtDriver, xenapi.XenAPIDriver,
-#### fake.FakeDriver, baremetal.BareMetalDriver,
-#### vmwareapi.VMWareESXDriver
-
######## defined in nova.notifications ########
@@ -389,6 +128,18 @@
#### task state changes.
+######## defined in nova.paths ########
+
+# 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
+
+
######## defined in nova.policy ########
# policy_file=policy.json
@@ -451,14 +202,17 @@
# report_interval=10
#### (IntOpt) seconds between nodes reporting state to datastore
-# periodic_interval=60
-#### (IntOpt) seconds between running periodic tasks
+# periodic_enable=true
+#### (BoolOpt) enable 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)
+# enabled_apis=ec2,osapi_compute,metadata
+#### (ListOpt) a list of APIs to enable by default
+
# ec2_listen=0.0.0.0
#### (StrOpt) IP address for EC2 API to listen
@@ -489,18 +243,59 @@
# metadata_workers=<None>
#### (IntOpt) Number of workers for metadata service
+# 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
+
+# network_manager=nova.network.manager.VlanManager
+#### (StrOpt) full class name for the Manager for network
+
+# scheduler_manager=nova.scheduler.manager.SchedulerManager
+#### (StrOpt) full class name for the Manager for scheduler
+
+# service_down_time=60
+#### (IntOpt) maximum time since last check-in for up service
+
######## defined in nova.test ########
# sqlite_clean_db=clean.sqlite
#### (StrOpt) File name of clean sqlite db
-# fake_tests=true
-#### (BoolOpt) should we use everything for testing
+
+######## defined in nova.utils ########
+
+# 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
+
+# password_length=12
+#### (IntOpt) Length of generated instance admin passwords
+
+# disable_process_locking=false
+#### (BoolOpt) Whether to disable inter-process locks
+
+# instance_usage_audit_period=month
+#### (StrOpt) time period to generate instance usages for. Time period
+#### must be hour, day, month or year
+
+# rootwrap_config=/etc/nova/rootwrap.conf
+#### (StrOpt) Path to the rootwrap configuration file to use for running
+#### commands as root
######## defined in nova.wsgi ########
+# api_paste_config=api-paste.ini
+#### (StrOpt) File name for the paste.deploy config for nova-api
+
# wsgi_log_format=%(client_ip)s "%(request_line)s" status: %(status_code)s len: %(body_length)s time: %(wall_seconds).7f
#### (StrOpt) A python format string that is used as the template to
#### generate log lines. The following values can be formatted
@@ -510,6 +305,12 @@
######## defined in nova.api.auth ########
+# api_rate_limit=true
+#### (BoolOpt) whether to rate limit the api
+
+# auth_strategy=noauth
+#### (StrOpt) The strategy to use for auth: noauth or keystone.
+
# use_forwarded_for=false
#### (BoolOpt) Treat X-Forwarded-For as the canonical remote address. Only
#### enable this if you have a sanitizing proxy.
@@ -540,6 +341,28 @@
#### (IntOpt) Time in seconds before ec2 timestamp expires
+######## defined in nova.api.ec2.cloud ########
+
+# ec2_host=$my_ip
+#### (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
+#### (IntOpt) the port of the ec2 api server
+
+# ec2_scheme=http
+#### (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
+
+# region_list=
+#### (ListOpt) list of region=fqdn pairs separated by commas
+
+
######## defined in nova.api.metadata.base ########
# config_drive_skip_versions=1.0 2007-01-19 2007-03-01 2007-08-29 2007-10-10 2007-12-15 2008-02-01 2008-09-01
@@ -547,20 +370,86 @@
#### drive
+######## defined in nova.api.metadata.handler ########
+
+# service_quantum_metadata_proxy=false
+#### (BoolOpt) Set flag to indicate Quantum will proxy metadata requests
+#### and resolve instance ids.
+
+# quantum_metadata_proxy_shared_secret=
+#### (StrOpt) Shared secret to validate proxies Quantum metadata requests
+
+
+######## defined in nova.api.openstack.common ########
+
+# osapi_max_limit=1000
+#### (IntOpt) the maximum number of items returned in a single response
+#### from a collection resource
+
+# osapi_compute_link_prefix=<None>
+#### (StrOpt) Base URL that will be presented to users in links to the
+#### OpenStack Compute API
+
+# osapi_glance_link_prefix=<None>
+#### (StrOpt) Base URL that will be presented to users in links to glance
+#### resources
+
+
######## defined in nova.api.openstack.compute ########
# allow_instance_snapshots=true
#### (BoolOpt) Permit instance snapshot operations.
+######## defined in nova.api.openstack.compute.contrib ########
+
+# osapi_compute_ext_list=
+#### (ListOpt) Specify list of extensions to load when using
+#### osapi_compute_extension option with
+#### nova.api.openstack.compute.contrib.select_extensions
+
+
+######## defined in nova.api.openstack.compute.contrib.fping ########
+
+# fping_path=/usr/sbin/fping
+#### (StrOpt) Full path to fping.
+
+
+######## defined in nova.api.openstack.compute.contrib.hide_server_addresses ########
+
+# osapi_hide_server_address_states=building
+#### (ListOpt) List of instance states that should hide network info
+
+
+######## defined in nova.api.openstack.compute.extensions ########
+
+# osapi_compute_extension=nova.api.openstack.compute.contrib.standard_extensions
+#### (MultiStrOpt) osapi compute extension to load
+
+
+######## defined in nova.api.openstack.compute.servers ########
+
+# enable_instance_password=true
+#### (BoolOpt) Allows use of instance password during server creation
+
+
######## defined in nova.api.sizelimit ########
# osapi_max_request_body_size=114688
#### (IntOpt) the maximum body size per each osapi request(bytes)
+######## defined in nova.cert.rpcapi ########
+
+# cert_topic=cert
+#### (StrOpt) the topic cert nodes listen on
+
+
######## defined in nova.cloudpipe.pipelib ########
+# vpn_image_id=0
+#### (StrOpt) image id used when starting up a cloudpipe vpn server
+
# vpn_instance_type=m1.tiny
#### (StrOpt) Instance type for vpn instances
@@ -573,30 +462,110 @@
# dmz_mask=255.255.255.0
#### (StrOpt) Netmask to push into openvpn config
+# vpn_key_suffix=-vpn
+#### (StrOpt) Suffix to add to project name for vpn key and secgroups
-######## defined in nova.common.eventlet_backdoor ########
-# backdoor_port=<None>
-#### (IntOpt) port for eventlet backdoor to listen
+######## defined in nova.common.memorycache ########
+# memcached_servers=<None>
+#### (ListOpt) Memcached servers or None for in process cache.
-######## defined in nova.compute.manager ########
-# instances_path=$state_path/instances
-#### (StrOpt) where instances are stored on disk
+######## defined in nova.compute ########
-# 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_api_class=nova.compute.api.API
+#### (StrOpt) The full class name of the compute API class to use
+
+
+######## defined in nova.compute.api ########
+
+# allow_resize_to_same_host=false
+#### (BoolOpt) Allow destination machine to match source for resize. Useful
+#### when testing in single-host environments.
+
+# default_schedule_zone=<None>
+#### (StrOpt) availability zone to use when user doesn't specify one
+
+# non_inheritable_image_properties=cache_in_nova,bittorrent
+#### (ListOpt) These are image properties which a snapshot should not
+#### inherit from an instance
+
+# null_kernel=nokernel
+#### (StrOpt) kernel image that indicates not to use a kernel, but to use
+#### a raw disk image instead
+
+# security_group_handler=nova.network.sg.NullSecurityGroupHandler
+#### (StrOpt) The full class name of the security group handler class
+
+# security_group_api=nova.compute.api.SecurityGroupAPI
+#### (StrOpt) The full class name of the security API class
+
+
+######## defined in nova.compute.instance_types ########
+
+# default_instance_type=m1.small
+#### (StrOpt) default instance type to use, testing only
+
+
+######## defined in nova.compute.manager ########
# console_host=nova
#### (StrOpt) Console proxy host to use to connect to instances on this
#### host.
+# default_access_ip_network_name=<None>
+#### (StrOpt) Name of network to use to set access ips for instances
+
+# defer_iptables_apply=false
+#### (BoolOpt) Whether to batch up the application of IPTables rules during
+#### a host restart and apply all at the end of the init phase
+
+# instances_path=$state_path/instances
+#### (StrOpt) where instances are stored on disk
+
+# instance_usage_audit=false
+#### (BoolOpt) Generate periodic compute.instance.exists notifications
+
# live_migration_retry_count=30
#### (IntOpt) Number of 1 second retries needed in live_migration
+# resume_guests_state_on_host_boot=false
+#### (BoolOpt) Whether to start guests that were running before the host
+#### rebooted
+
+# bandwidth_poll_interval=600
+#### (IntOpt) interval to pull bandwidth usage info
+
+# heal_instance_info_cache_interval=60
+#### (IntOpt) Number of seconds between instance info_cache self healing
+#### updates
+
+# host_state_interval=120
+#### (IntOpt) Interval in seconds for querying the host status
+
+# image_cache_manager_interval=2400
+#### (IntOpt) Number of seconds to wait between runs of the image cache
+#### manager
+
+# reclaim_instance_interval=0
+#### (IntOpt) Interval in seconds for reclaiming deleted instances
+
+# volume_usage_poll_interval=0
+#### (IntOpt) Interval in seconds for gathering volume usages
+
+# 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.
+
+# running_deleted_instance_poll_interval=1800
+#### (IntOpt) Number of seconds to wait between runs of the cleanup task.
+
+# running_deleted_instance_timeout=0
+#### (IntOpt) Number of seconds after being deleted when a running
+#### instance should be considered eligible for cleanup.
+
# 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
@@ -614,33 +583,6 @@
#### (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.
-
-# heal_instance_info_cache_interval=60
-#### (IntOpt) Number of seconds between instance info_cache self healing
-#### updates
-
-# instance_usage_audit=false
-#### (BoolOpt) Generate periodic compute.instance.exists notifications
-
######## defined in nova.compute.resource_tracker ########
@@ -654,6 +596,12 @@
#### (StrOpt) Class that will manage stats for the local compute host
+######## defined in nova.compute.rpcapi ########
+
+# compute_topic=compute
+#### (StrOpt) the topic compute nodes listen on
+
+
######## defined in nova.console.manager ########
# console_driver=nova.console.xvp.XVPConsoleProxy
@@ -666,6 +614,12 @@
#### (StrOpt) Publicly visible name for this console host
+######## defined in nova.console.rpcapi ########
+
+# console_topic=console
+#### (StrOpt) the topic console proxy nodes listen on
+
+
######## defined in nova.console.vmrc ########
# console_vmrc_port=443
@@ -729,11 +683,92 @@
#### (StrOpt) driver to use for database access
+######## defined in nova.db.sqlalchemy.api ########
+
+# osapi_compute_unique_server_name_scope=
+#### (StrOpt) When set, compute API will consider duplicate hostnames
+#### invalid within the specified scope, regardless of case.
+#### Should be empty, "project" or "global".
+
+
+######## defined in nova.db.sqlalchemy.session ########
+
+# sql_connection=sqlite:///$state_path/$sqlite_db
+#### (StrOpt) The SQLAlchemy connection string used to connect to the
+#### database
+
+# sqlite_db=nova.sqlite
+#### (StrOpt) the filename to use with sqlite
+
+# sql_idle_timeout=3600
+#### (IntOpt) timeout before idle sql connections are reaped
+
+# sqlite_synchronous=true
+#### (BoolOpt) If passed, use synchronous mode for sqlite
+
+# sql_min_pool_size=1
+#### (IntOpt) Minimum number of SQL connections to keep open in a pool
+
+# sql_max_pool_size=5
+#### (IntOpt) Maximum number of SQL connections to keep open in a pool
+
+# sql_max_retries=10
+#### (IntOpt) maximum db connection retries during startup. (setting -1
+#### implies an infinite retry count)
+
+# sql_retry_interval=10
+#### (IntOpt) interval between retries of opening a sql connection
+
+# sql_max_overflow=<None>
+#### (IntOpt) If set, use this value for max_overflow with sqlalchemy
+
+# sql_connection_debug=0
+#### (IntOpt) Verbosity of SQL debugging information. 0=None,
+#### 100=Everything
+
+# sql_connection_trace=false
+#### (BoolOpt) Add python stack traces to SQL as comment strings
+
+# sql_dbpool_enable=false
+#### (BoolOpt) enable the use of eventlet's db_pool for MySQL
+
+
+######## defined in nova.image.glance ########
+
+# glance_host=$my_ip
+#### (StrOpt) default glance hostname or ip
+
+# glance_port=9292
+#### (IntOpt) default glance port
+
+# glance_protocol=http
+#### (StrOpt) Default protocol to use when connecting to glance. Set to
+#### https for SSL.
+
+# glance_api_servers=$glance_host:$glance_port
+#### (ListOpt) A list of the glance api servers available to nova. Prefix
+#### with https:// for ssl-based glance api servers.
+#### ([hostname|ip]:port)
+
+# glance_api_insecure=false
+#### (BoolOpt) Allow to perform insecure SSL (https) requests to glance
+
+# glance_num_retries=0
+#### (IntOpt) Number retries when downloading an image from glance
+
+
######## defined in nova.image.s3 ########
# image_decryption_dir=/tmp
#### (StrOpt) parent dir for tempdir used for image decryption
+# s3_host=$my_ip
+#### (StrOpt) hostname or ip for openstack to use when accessing the s3
+#### api
+
+# s3_port=3333
+#### (IntOpt) port used when accessing the s3 api
+
# s3_access_key=notchecked
#### (StrOpt) access key to use for s3 server for images
@@ -754,6 +789,18 @@
#### (StrOpt) Backend to use for IPv6 generation
+######## defined in nova.network ########
+
+# network_api_class=nova.network.api.API
+#### (StrOpt) The full class name of the network API class to use
+
+
+######## defined in nova.network.driver ########
+
+# network_driver=nova.network.linux_net
+#### (StrOpt) Driver to use for network creation
+
+
######## defined in nova.network.ldapdns ########
# ldap_dns_url=ldap://ldap.example.com:389
@@ -839,6 +886,12 @@
#### (BoolOpt) Use single default gateway. Only first nic of vm will get
#### default gateway from dhcp server
+# metadata_host=$my_ip
+#### (StrOpt) the ip for the metadata api server
+
+# metadata_port=8775
+#### (IntOpt) the port for the metadata api port
+
######## defined in nova.network.manager ########
@@ -908,26 +961,46 @@
# network_host=nova
#### (StrOpt) Network host to use for ip allocation in flat modes
+# fake_network=false
+#### (BoolOpt) If passed, use fake network devices and addresses
+
# fake_call=false
#### (BoolOpt) If True, skip using the queue and make local calls
+# teardown_unused_network_gateway=false
+#### (BoolOpt) If True, unused gateway devices (VLAN and bridge) are
+#### deleted in VLAN network mode with multi hosted networks
+
# force_dhcp_release=false
#### (BoolOpt) If True, send a dhcp release on instance termination
+# share_dhcp_address=false
+#### (BoolOpt) If True in multi_host mode, all compute hosts share the same
+#### dhcp address.
+
+# update_dns_entries=false
+#### (BoolOpt) If True, when a DNS entry must be updated, it sends a fanout
+#### cast to all network hosts to update their DNS entries in
+#### multi host mode
+
+# dns_update_periodic_interval=-1
+#### (IntOpt) Number of seconds to wait between runs of updates to DNS
+#### entries.
+
# dhcp_domain=novalocal
#### (StrOpt) domain to use for building the hostnames
# l3_lib=nova.network.l3.LinuxNetL3
#### (StrOpt) Indicates underlying L3 management library
-# update_dns_entries=false
-#### (BoolOpt) If True, when a DNS entry must be updated, it sends a fanout
-#### cast to all network hosts to update their DNS entries in multi
-#### host mode
+# instance_dns_manager=nova.network.noop_dns_driver.NoopDNSDriver
+#### (StrOpt) full class name for the DNS Manager for instance IPs
-# dns_update_periodic_interval=-1
-#### (IntOpt) Number of periodic scheduler ticks to wait between runs of
-#### updates to DNS entries
+# instance_dns_domain=
+#### (StrOpt) full class name for the DNS Zone for instance IPs
+
+# floating_ip_dns_manager=nova.network.noop_dns_driver.NoopDNSDriver
+#### (StrOpt) full class name for the DNS Manager for floating IPs
######## defined in nova.network.quantumv2.api ########
@@ -954,6 +1027,12 @@
#### (StrOpt) auth strategy for connecting to quantum in admin context
+######## defined in nova.network.rpcapi ########
+
+# network_topic=network
+#### (StrOpt) the topic network nodes listen on
+
+
######## defined in nova.objectstore.s3server ########
# buckets_path=$state_path/buckets
@@ -966,6 +1045,12 @@
#### (IntOpt) port for s3 api to listen
+######## defined in nova.openstack.common.eventlet_backdoor ########
+
+# backdoor_port=<None>
+#### (IntOpt) port for eventlet backdoor to listen
+
+
######## defined in nova.openstack.common.lockutils ########
# disable_process_locking=false
@@ -977,12 +1062,6 @@
######## defined in nova.openstack.common.log ########
-# 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
@@ -1030,7 +1109,7 @@
#### (StrOpt) Default publisher_id for outgoing notifications
-######## defined in nova.openstack.common.notifier.rabbit_notifier ########
+######## defined in nova.openstack.common.notifier.rpc_notifier ########
# notification_topics=notifications
#### (ListOpt) AMQP topic used for openstack notifications
@@ -1054,13 +1133,16 @@
#### (IntOpt) Seconds to wait before a cast expires (TTL). Only supported
#### by impl_zmq.
-# allowed_rpc_exception_modules=nova.openstack.common.exception,nova.exception,cinder.exception
+# allowed_rpc_exception_modules=nova.openstack.common.exception,nova.exception,cinder.exception,exceptions
#### (ListOpt) Modules of exceptions that are permitted to be recreatedupon
#### receiving exception data from an rpc call.
# fake_rabbit=false
#### (BoolOpt) If passed, use a fake RabbitMQ provider
+# control_exchange=openstack
+#### (StrOpt) AMQP exchange to connect to if using RabbitMQ or Qpid
+
######## defined in nova.openstack.common.rpc.impl_kombu ########
@@ -1124,6 +1206,9 @@
# qpid_port=5672
#### (StrOpt) Qpid broker port
+# qpid_hosts=$qpid_hostname:$qpid_port
+#### (ListOpt) Qpid HA cluster host:port pairs
+
# qpid_username=
#### (StrOpt) Username for qpid connection
@@ -1133,24 +1218,6 @@
# 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=60
#### (IntOpt) Seconds between connection keepalive heartbeats
@@ -1180,7 +1247,7 @@
# rpc_zmq_ipc_dir=/var/run/openstack
#### (StrOpt) Directory for holding IPC sockets
-# rpc_zmq_host=nova
+# rpc_zmq_host=sorcha
#### (StrOpt) Name of this node. Must be a valid hostname, FQDN, or IP
#### address. Must match "host" option, if running Nova.
@@ -1219,6 +1286,15 @@
#### builds/resizes/snaps/migrations
+######## defined in nova.scheduler.filters.isolated_hosts_filter ########
+
+# isolated_images=
+#### (ListOpt) Images to run on isolated host
+
+# isolated_hosts=
+#### (ListOpt) Host reserved for specific images
+
+
######## defined in nova.scheduler.filters.num_instances_filter ########
# max_instances_per_host=50
@@ -1231,27 +1307,9 @@
#### (FloatOpt) virtual ram to physical ram allocation ratio
-######## defined in nova.scheduler.filters.trusted_filter ########
-
-# attestation_server=<None>
-#### (StrOpt) attestation server http
-
-# attestation_server_ca_file=<None>
-#### (StrOpt) attestation server Cert file for Identity verification
-
-# attestation_port=8443
-#### (StrOpt) attestation server port
-
-# attestation_api_url=/OpenAttestationWebServices/V1.0
-#### (StrOpt) attestation web API URL
-
-# attestation_auth_blob=<None>
-#### (StrOpt) attestation authorization blob - must change
-
-
######## defined in nova.scheduler.host_manager ########
-# scheduler_available_filters=nova.scheduler.filters.standard_filters
+# scheduler_available_filters=nova.scheduler.filters.all_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
@@ -1261,18 +1319,8 @@
#### (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
+# scheduler_weight_classes=nova.scheduler.weights.all_weighers
+#### (ListOpt) Which weight class names to use for weighing hosts
######## defined in nova.scheduler.manager ########
@@ -1290,28 +1338,48 @@
#### (StrOpt) Default driver to use for scheduling calls
+######## defined in nova.scheduler.rpcapi ########
+
+# scheduler_topic=scheduler
+#### (StrOpt) the topic scheduler nodes listen on
+
+
######## defined in nova.scheduler.scheduler_options ########
# scheduler_json_config_location=
#### (StrOpt) Absolute path to scheduler configuration JSON file.
-######## defined in nova.virt.baremetal.driver ########
+######## defined in nova.scheduler.weights.least_cost ########
-# baremetal_type=baremetal
-#### (StrOpt) baremetal domain type
+# least_cost_functions=<None>
+#### (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=<None>
+#### (FloatOpt) How much weight to give the fill-first cost function. A
+#### negative value will reverse behavior: e.g. spread-first
-######## defined in nova.virt.baremetal.nodes ########
-# baremetal_driver=tilera
-#### (StrOpt) Bare-metal driver runs on
+######## defined in nova.scheduler.weights.ram ########
+# ram_weight_multiplier=1.0
+#### (FloatOpt) Multiplier used for weighing ram. Negative numbers mean to
+#### stack vs spread.
-######## 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.servicegroup.api ########
+
+# servicegroup_driver=db
+#### (StrOpt) The driver for servicegroup service.
+
+
+######## defined in nova.virt.baremetal.db.api ########
+
+# baremetal_db_backend=sqlalchemy
+#### (StrOpt) The backend to use for db
######## defined in nova.virt.configdrive ########
@@ -1327,15 +1395,16 @@
#### (StrOpt) Set to force injection to take place on a config drive (if
#### set, valid options are: always)
+# mkisofs_cmd=genisoimage
+#### (StrOpt) Name and optionally path of the tool used for ISO image
+#### creation
+
######## defined in nova.virt.disk.api ########
# injected_network_template=$pybasedir/nova/virt/interfaces.template
#### (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
@@ -1343,12 +1412,28 @@
#### <os_type>=<mkfs command>
-######## defined in nova.virt.disk.nbd ########
+######## defined in nova.virt.disk.mount.nbd ########
# timeout_nbd=10
#### (IntOpt) time to wait for a NBD device coming up
+######## defined in nova.virt.driver ########
+
+# compute_driver=<None>
+#### (StrOpt) Driver to use for controlling virtualization. Options
+#### include: libvirt.LibvirtDriver, xenapi.XenAPIDriver,
+#### fake.FakeDriver, baremetal.BareMetalDriver,
+#### vmwareapi.VMWareESXDriver
+
+# default_ephemeral_format=<None>
+#### (StrOpt) The default format an ephemeral_volume will be formatted
+#### with on creation.
+
+# use_cow_images=true
+#### (BoolOpt) Whether to use cow images
+
+
######## defined in nova.virt.firewall ########
# firewall_driver=<None>
@@ -1366,9 +1451,19 @@
#### used
# limit_cpu_features=false
-#### (BoolOpt) required for live migration among hosts with different CPU
+#### (BoolOpt) Required for live migration among hosts with different CPU
#### features
+# config_drive_inject_password=false
+#### (BoolOpt) Sets the admin password in the config drive image
+
+# qemu_img_cmd=qemu-img.exe
+#### (StrOpt) qemu-img is used to convert between different image types
+
+# config_drive_cdrom=false
+#### (BoolOpt) Attaches the Config Drive image as a cdrom drive instead of
+#### a disk drive
+
######## defined in nova.virt.hyperv.volumeops ########
@@ -1378,6 +1473,9 @@
# hyperv_wait_between_attach_retry=5
#### (IntOpt) The seconds to wait between an volume attachment attempt
+# force_volumeutils_v1=false
+#### (BoolOpt) Force volumeutils v1
+
######## defined in nova.virt.images ########
@@ -1437,7 +1535,7 @@
# libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtBridgeDriver
#### (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
+# 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,nfs=nova.virt.libvirt.volume_nfs.NfsVolumeDriver
#### (ListOpt) Libvirt handlers for remote volumes.
# libvirt_disk_prefix=<None>
@@ -1470,6 +1568,9 @@
#### (StrOpt) Location where libvirt driver will store snapshots before
#### uploading them to image service
+# xen_hvmloader_path=/usr/lib/xen/boot/hvmloader
+#### (StrOpt) Location where the Xen hvmloader is kept
+
######## defined in nova.virt.libvirt.imagebackend ########
@@ -1489,6 +1590,15 @@
######## defined in nova.virt.libvirt.imagecache ########
+# 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
+
+# image_info_filename_pattern=$instances_path/$base_dir_name/%(image)s.info
+#### (StrOpt) Allows image information files to be stored in non-standard
+#### locations
+
# remove_unused_base_images=true
#### (BoolOpt) Should unused base images be removed?
@@ -1503,12 +1613,8 @@
# checksum_base_images=false
#### (BoolOpt) Write a checksum for files in _base to disk
-
-######## 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
+# checksum_interval_seconds=3600
+#### (IntOpt) How frequently to checksum base images
######## defined in nova.virt.libvirt.vif ########
@@ -1516,8 +1622,8 @@
# 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
+# libvirt_use_virtio_for_bridges=true
+#### (BoolOpt) Use virtio for bridge interfaces with KVM/QEMU
######## defined in nova.virt.libvirt.volume ########
@@ -1582,6 +1688,9 @@
#### error, etc. Used only if compute_driver is
#### vmwareapi.VMWareESXDriver.
+
+######## defined in nova.virt.vmwareapi.vif ########
+
# vmwareapi_vlan_interface=vmnic0
#### (StrOpt) Physical ethernet adapter name for vlan networking
@@ -1594,12 +1703,6 @@
#### 4.1 default wsdl. Refer readme-vmware to setup
-######## defined in nova.virt.vmwareapi.vmops ########
-
-# vmware_vif_driver=nova.virt.vmwareapi.vif.VMWareVlanBridgeDriver
-#### (StrOpt) The VMWare VIF driver to configure the VIFs.
-
-
######## defined in nova.virt.xenapi.agent ########
# agent_timeout=30
@@ -1692,6 +1795,11 @@
######## defined in nova.virt.xenapi.vm_utils ########
+# cache_images=all
+#### (StrOpt) Cache glance images locally. `all` will cache all images,
+#### `some` will only cache images that have the image_property
+#### `cache_in_nova=True`, and `none` turns off caching entirely
+
# default_os_type=linux
#### (StrOpt) Default OS type
@@ -1773,7 +1881,7 @@
#### "http://127.0.0.1:6081/console"
# vncserver_listen=127.0.0.1
-#### (StrOpt) Ip address on which instance vncserversshould listen
+#### (StrOpt) IP address on which instance vncservers should listen
# vncserver_proxyclient_address=127.0.0.1
#### (StrOpt) the address to which proxy clients (like nova-xvpvncproxy)
@@ -1795,6 +1903,12 @@
#### (StrOpt) Address that the XCP VNC proxy should bind to
+######## defined in nova.volume ########
+
+# volume_api_class=nova.volume.cinder.API
+#### (StrOpt) The full class name of the volume API class to use
+
+
######## defined in nova.volume.cinder ########
# cinder_catalog_info=volume:cinder:publicURL
@@ -1810,4 +1924,196 @@
#### (IntOpt) Number of cinderclient retries on failed http calls
-# Total option count: 463
+[conductor]
+
+######## defined in nova.conductor.api ########
+
+# use_local=false
+#### (BoolOpt) Perform nova-conductor operations locally
+
+# topic=conductor
+#### (StrOpt) the topic conductor nodes listen on
+
+# manager=nova.conductor.manager.ConductorManager
+#### (StrOpt) full class name for the Manager for conductor
+
+
+[cells]
+
+######## defined in nova.cells.manager ########
+
+# driver=nova.cells.rpc_driver.CellsRPCDriver
+#### (StrOpt) Cells communication driver to use
+
+# instance_updated_at_threshold=3600
+#### (IntOpt) Number of seconds after an instance was updated or deleted
+#### to continue to update cells
+
+# instance_update_num_instances=1
+#### (IntOpt) Number of instances to update per periodic task run
+
+
+######## defined in nova.cells.messaging ########
+
+# max_hop_count=10
+#### (IntOpt) Maximum number of hops for cells routing.
+
+# scheduler=nova.cells.scheduler.CellsScheduler
+#### (StrOpt) Cells scheduler to use
+
+
+######## defined in nova.cells.opts ########
+
+# enable=false
+#### (BoolOpt) Enable cell functionality
+
+# topic=cells
+#### (StrOpt) the topic cells nodes listen on
+
+# manager=nova.cells.manager.CellsManager
+#### (StrOpt) Manager for cells
+
+# name=nova
+#### (StrOpt) name of this cell
+
+# capabilities=hypervisor=xenserver;kvm,os=linux;windows
+#### (ListOpt) Key/Multi-value list with the capabilities of the cell
+
+# call_timeout=60
+#### (IntOpt) Seconds to wait for response from a call to a cell.
+
+
+######## defined in nova.cells.rpc_driver ########
+
+# rpc_driver_queue_base=cells.intercell
+#### (StrOpt) Base queue name to use when communicating between cells.
+#### Various topics by message type will be appended to this.
+
+
+######## defined in nova.cells.scheduler ########
+
+# scheduler_retries=10
+#### (IntOpt) How many retries when no cells are available.
+
+# scheduler_retry_delay=2
+#### (IntOpt) How often to retry in seconds when no cells are available.
+
+
+######## defined in nova.cells.state ########
+
+# db_check_interval=60
+#### (IntOpt) Seconds between getting fresh cell info from db.
+
+
+[baremetal]
+
+######## defined in nova.virt.baremetal.db.sqlalchemy.session ########
+
+# sql_connection=sqlite:///$state_path/baremetal_$sqlite_db
+#### (StrOpt) The SQLAlchemy connection string used to connect to the
+#### bare-metal database
+
+
+######## defined in nova.virt.baremetal.driver ########
+
+# inject_password=true
+#### (BoolOpt) Whether baremetal compute injects password or not
+
+# injected_network_template=$pybasedir/nova/virt/baremetal/interfaces.template
+#### (StrOpt) Template file for injected network
+
+# vif_driver=nova.virt.baremetal.vif_driver.BareMetalVIFDriver
+#### (StrOpt) Baremetal VIF driver.
+
+# volume_driver=nova.virt.baremetal.volume_driver.LibvirtVolumeDriver
+#### (StrOpt) Baremetal volume driver.
+
+# instance_type_extra_specs=
+#### (ListOpt) a list of additional capabilities corresponding to
+#### instance_type_extra_specs for this compute host to
+#### advertise. Valid entries are name=value, pairs For example,
+#### "key1:val1, key2:val2"
+
+# driver=nova.virt.baremetal.pxe.PXE
+#### (StrOpt) Baremetal driver back-end (pxe or tilera)
+
+# power_manager=nova.virt.baremetal.ipmi.IPMI
+#### (StrOpt) Baremetal power management method
+
+# tftp_root=/tftpboot
+#### (StrOpt) Baremetal compute node's tftp root path
+
+
+######## defined in nova.virt.baremetal.ipmi ########
+
+# terminal=shellinaboxd
+#### (StrOpt) path to baremetal terminal program
+
+# terminal_cert_dir=<None>
+#### (StrOpt) path to baremetal terminal SSL cert(PEM)
+
+# terminal_pid_dir=$state_path/baremetal/console
+#### (StrOpt) path to directory stores pidfiles of baremetal_terminal
+
+# ipmi_power_retry=5
+#### (IntOpt) maximal number of retries for IPMI operations
+
+
+######## defined in nova.virt.baremetal.pxe ########
+
+# deploy_kernel=<None>
+#### (StrOpt) Default kernel image ID used in deployment phase
+
+# deploy_ramdisk=<None>
+#### (StrOpt) Default ramdisk image ID used in deployment phase
+
+# net_config_template=$pybasedir/nova/virt/baremetal/net-dhcp.ubuntu.template
+#### (StrOpt) Template file for injected network config
+
+# pxe_append_params=<None>
+#### (StrOpt) additional append parameters for baremetal PXE boot
+
+# pxe_config_template=$pybasedir/nova/virt/baremetal/pxe_config.template
+#### (StrOpt) Template file for PXE configuration
+
+
+######## defined in nova.virt.baremetal.volume_driver ########
+
+# use_unsafe_iscsi=false
+#### (BoolOpt) Do not set this out of dev/test environments. If a node does
+#### not have an fixed PXE IP address, volumes are exported with
+#### globally opened ACL
+
+# iscsi_iqn_prefix=iqn.2010-10.org.openstack.baremetal
+#### (StrOpt) iSCSI IQN prefix used in baremetal volume connections.
+
+
+[rpc_notifier2]
+
+######## defined in nova.openstack.common.notifier.rpc_notifier2 ########
+
+# topics=notifications
+#### (ListOpt) AMQP topic(s) used for openstack notifications
+
+
+[trusted_computing]
+
+######## defined in nova.scheduler.filters.trusted_filter ########
+
+# attestation_server=<None>
+#### (StrOpt) attestation server http
+
+# attestation_server_ca_file=<None>
+#### (StrOpt) attestation server Cert file for Identity verification
+
+# attestation_port=8443
+#### (StrOpt) attestation server port
+
+# attestation_api_url=/OpenAttestationWebServices/V1.0
+#### (StrOpt) attestation web API URL
+
+# attestation_auth_blob=<None>
+#### (StrOpt) attestation authorization blob - must change
+
+
+# Total option count: 514
diff --git a/tools/conf/extract_opts.py b/tools/conf/extract_opts.py
index 836e48578..4cf4e31c8 100644
--- a/tools/conf/extract_opts.py
+++ b/tools/conf/extract_opts.py
@@ -47,10 +47,7 @@ WORDWRAP_WIDTH = 60
def main(srcfiles):
- print '\n'.join(['#' * 20, '# nova.conf sample #', '#' * 20,
- '', '[DEFAULT]', ''])
- _list_opts(cfg.CommonConfigOpts,
- cfg.__name__ + ':' + cfg.CommonConfigOpts.__name__)
+ print '\n'.join(['#' * 20, '# nova.conf sample #', '#' * 20, ''])
mods_by_pkg = dict()
for filepath in srcfiles:
pkg_name = filepath.split(os.sep)[1]
@@ -63,31 +60,94 @@ def main(srcfiles):
ext_names = filter(lambda x: x not in pkg_names, mods_by_pkg.keys())
ext_names.sort()
pkg_names.extend(ext_names)
+
+ # opts_by_group is a mapping of group name to an options list
+ # The options list is a list of (module, options) tuples
+ opts_by_group = {'DEFAULT': []}
+
+ opts_by_group['DEFAULT'].append(
+ (cfg.__name__ + ':' + cfg.CommonConfigOpts.__name__,
+ _list_opts(cfg.CommonConfigOpts)[0][1]))
+
for pkg_name in pkg_names:
mods = mods_by_pkg.get(pkg_name)
mods.sort()
for mod_str in mods:
- _print_module(mod_str)
+ if mod_str.endswith('.__init__'):
+ mod_str = mod_str[:mod_str.rfind(".")]
+
+ mod_obj = _import_module(mod_str)
+ if not mod_obj:
+ continue
+
+ for group, opts in _list_opts(mod_obj):
+ opts_by_group.setdefault(group, []).append((mod_str, opts))
+
+ print_group_opts('DEFAULT', opts_by_group.pop('DEFAULT', []))
+ for group, opts in opts_by_group.items():
+ print_group_opts(group, opts)
+
print "# Total option count: %d" % OPTION_COUNT
-def _print_module(mod_str):
- mod_obj = None
- if mod_str.endswith('.__init__'):
- mod_str = mod_str[:mod_str.rfind(".")]
+def _import_module(mod_str):
try:
- mod_obj = importutils.import_module(mod_str)
+ return importutils.import_module(mod_str)
except (ValueError, AttributeError), err:
- return
+ return None
except ImportError, ie:
sys.stderr.write("%s\n" % str(ie))
- return
+ return None
except Exception, e:
- return
- _list_opts(mod_obj, mod_str)
+ return None
+
+
+def _guess_groups(opt, mod_obj):
+ groups = []
+
+ # is it in the DEFAULT group?
+ if (opt.dest in cfg.CONF and
+ not isinstance(cfg.CONF[opt.dest], cfg.CONF.GroupAttr)):
+ groups.append('DEFAULT')
+ # what other groups is it in?
+ for key, value in cfg.CONF.items():
+ if not isinstance(value, cfg.CONF.GroupAttr):
+ continue
+ if opt.dest not in value:
+ continue
+ groups.append(key)
-def _list_opts(obj, name):
+ if len(groups) == 1:
+ return groups[0]
+
+ group = None
+ for g in groups:
+ if g in mod_obj.__name__:
+ group = g
+ break
+
+ if group is None and 'DEFAULT' in groups:
+ sys.stderr.write("Guessing that " + opt.dest +
+ " in " + mod_obj.__name__ +
+ " is in DEFAULT group out of " +
+ ','.join(groups) + "\n")
+ return 'DEFAULT'
+
+ if group is None:
+ sys.stderr("Unable to guess what group " + opt.dest +
+ " in " + mod_obj.__name__ +
+ " is in out of " + ','.join(groups) + "\n")
+ sys.exit(1)
+
+ sys.stderr.write("Guessing that " + opt.dest +
+ " in " + mod_obj.__name__ +
+ " is in the " + group +
+ " group out of " + ','.join(groups) + "\n")
+ return group
+
+
+def _list_opts(obj):
opts = list()
for attr_str in dir(obj):
attr_obj = getattr(obj, attr_str)
@@ -96,14 +156,23 @@ def _list_opts(obj, name):
elif (isinstance(attr_obj, list) and
all(map(lambda x: isinstance(x, cfg.Opt), attr_obj))):
opts.extend(attr_obj)
- if not opts:
- return
- global OPTION_COUNT
- OPTION_COUNT += len(opts)
- print '######## defined in %s ########\n' % name
+
+ ret = {}
for opt in opts:
- _print_opt(opt)
+ ret.setdefault(_guess_groups(opt, obj), []).append(opt)
+ return ret.items()
+
+
+def print_group_opts(group, opts_by_module):
+ print "[%s]" % group
print
+ global OPTION_COUNT
+ for mod, opts in opts_by_module:
+ OPTION_COUNT += len(opts)
+ print '######## defined in %s ########\n' % mod
+ for opt in opts:
+ _print_opt(opt)
+ print
def _get_my_ip():