Converted config schemas to YAML

This commit is contained in:
Maxim Kulkin 2013-11-11 13:23:22 +04:00
parent c2af438891
commit f11534b503
35 changed files with 18089 additions and 12804 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,556 @@
project: glance_api
version: '2013.2.1'
parameters:
- name: verbose
type: string
default: 'False'
help: 'Show more verbose log output (sets INFO log level output)'
- name: debug
type: string
default: 'False'
help: 'Show debugging output in logs (sets DEBUG log level output)'
- name: default_store
type: string
default: 'file'
help: "Which backend scheme should Glance use by default is not specified in a request to add a new image to Glance? Known schemes are determined by the known_stores option below. Default: 'file'"
- name: known_stores
type: string
default: 'glance.store.filesystem.Store,'
help: 'List of which store classes and store class locations are currently known to glance at startup.'
- name: image_size_cap
type: string
default: '1099511627776'
help: 'Maximum image size (in bytes) that may be uploaded through the Glance API server. Defaults to 1 TB. WARNING: this value should only be increased after careful consideration and must be set to a value under 8 EB (9223372036854775808).'
- name: bind_host
type: host
default: '0.0.0.0'
help: 'Address to bind the API server'
- name: bind_port
type: string
default: '9292'
help: 'Port the bind the API server to'
- name: log_file
type: string
default: '/var/log/glance/api.log'
help: 'Log to this file. Make sure you do not set the same log file for both the API and registry servers!'
- name: backlog
type: string
default: '4096'
help: 'Backlog requests when creating socket'
- name: tcp_keepidle
type: string
default: '600'
help: 'TCP_KEEPIDLE value in seconds when creating socket. Not supported on OS X.'
- name: sql_connection
type: string
default: 'sqlite:///glance.sqlite'
help: 'SQLAlchemy connection string for the reference implementation registry server. Any valid SQLAlchemy connection string is fine. See: http://www.sqlalchemy.org/docs/05/reference/sqlalchemy/connections.html#sqlalchemy.create_engine'
- name: sql_idle_timeout
type: string
default: '3600'
help: "MySQL uses a default `wait_timeout` of 8 hours, after which it will drop idle connections. This can result in 'MySQL Gone Away' exceptions. If you notice this, you can lower this value to ensure that SQLAlchemy reconnects before MySQL can drop the connection."
- name: workers
type: string
default: '1'
help: 'Number of Glance API worker processes to start. On machines with more than one CPU increasing this value may improve performance (especially if using SSL with compression turned on). It is typically recommended to set this value to the number of CPUs present on your machine.'
- name: admin_role
type: string
default: 'admin'
help: 'Role used to identify an authenticated user as administrator'
- name: allow_anonymous_access
type: string
default: 'False'
help: 'Allow unauthenticated users to access the API with read-only privileges. This only applies when using ContextMiddleware.'
- name: enable_v1_api
type: string
default: 'True'
help: 'Allow access to version 1 of glance api'
- name: enable_v2_api
type: string
default: 'True'
help: 'Allow access to version 2 of glance api'
- name: show_image_direct_url
type: string
default: 'False'
help: "Return the URL that references where the data is stored on the backend storage system. For example, if using the file system store a URL of 'file:///path/to/image' will be returned to the user in the 'direct_url' meta-data field. The default value is false."
- name: send_identity_headers
type: string
default: 'False'
help: 'Send headers containing user and tenant information when making requests to the v1 glance registry. This allows the registry to function as if a user is authenticated without the need to authenticate a user itself using the auth_token middleware. The default value is false.'
- name: container_formats
type: string
default: 'ami,ari,aki,bare,ovf'
help: "Supported values for the 'container_format' image attribute"
- name: disk_formats
type: string
default: 'ami,ari,aki,vhd,vmdk,raw,qcow2,vdi,iso'
help: "Supported values for the 'disk_format' image attribute"
- name: lock_path
type: string
default: None
help: 'Directory to use for lock files. Default to a temp directory (string value). This setting needs to be the same for both glance-scrubber and glance-api.'
- name: property_protection_file
type: string
default: ''
help: "Property Protections config file This file contains the rules for property protections and the roles associated with it. If this config value is not specified, by default, property protections won't be enforced. If a value is specified and the file is not found, then an HTTPInternalServerError will be thrown."
- name: user_storage_quota
type: string
default: '0'
help: 'Set a system wide quota for every user. This value is the total number of bytes that a user can use across all storage systems. A value of 0 means unlimited.'
- name: use_syslog
type: string
default: 'False'
help: 'Send logs to syslog (/dev/log) instead of to file specified by `log_file`'
- name: syslog_log_facility
type: string
default: 'LOG_LOCAL0'
help: 'Facility to use. If unset defaults to LOG_USER.'
- name: cert_file
type: string
default: '/path/to/certfile'
help: 'Certificate file to use when starting API server securely'
- name: key_file
type: string
default: '/path/to/keyfile'
help: 'Private key file to use when starting API server securely'
- name: ca_file
type: string
default: '/path/to/cafile'
help: 'CA certificate file to use to verify connecting clients'
- name: metadata_encryption_key
type: string
default: '<16, 24 or 32 char registry metadata key>'
help: "AES key for encrypting store 'location' metadata, including -- if used -- Swift or S3 credentials Should be set to a random string of length 16, 24 or 32 bytes"
- name: registry_host
type: host
default: '0.0.0.0'
help: 'Address to find the registry server'
- name: registry_port
type: string
default: '9191'
help: 'Port the registry server is listening on'
- name: registry_client_protocol
type: string
default: 'http'
help: 'What protocol to use when connecting to the registry server? Set to https for secure HTTP communication'
- name: registry_client_key_file
type: string
default: '/path/to/key/file'
help: 'The path to the key file to use in SSL connections to the registry server, if any. Alternately, you may set the GLANCE_CLIENT_KEY_FILE environ variable to a filepath of the key file'
- name: registry_client_cert_file
type: string
default: '/path/to/cert/file'
help: 'The path to the cert file to use in SSL connections to the registry server, if any. Alternately, you may set the GLANCE_CLIENT_CERT_FILE environ variable to a filepath of the cert file'
- name: registry_client_ca_file
type: string
default: '/path/to/ca/file'
help: 'The path to the certifying authority cert file to use in SSL connections to the registry server, if any. Alternately, you may set the GLANCE_CLIENT_CA_FILE environ variable to a filepath of the CA cert file'
- name: registry_client_insecure
type: string
default: 'False'
help: "When using SSL in connections to the registry server, do not require validation via a certifying authority. This is the registry's equivalent of specifying --insecure on the command line using glanceclient for the API Default: False"
- name: registry_client_timeout
type: string
default: '600'
help: "The period of time, in seconds, that the API server will wait for a registry request to complete. A value of '0' implies no timeout. Default: 600"
- name: db_auto_create
type: string
default: 'False'
help: 'Whether to automatically create the database tables. Default: False'
- name: sqlalchemy_debug
type: string
default: 'True'
help: 'Enable DEBUG log messages from sqlalchemy which prints every database query and response. Default: False'
- name: notifier_strategy
type: string
default: 'noop'
help: 'Notifications can be sent when images are create, updated or deleted. There are three methods of sending notifications, logging (via the log_file directive), rabbit (via a rabbitmq queue), qpid (via a Qpid message queue), or noop (no notifications sent, the default)'
- name: rabbit_host
type: host
default: 'localhost'
help: 'Configuration options if sending notifications via rabbitmq (these are the defaults)'
- name: rabbit_port
type: string
default: '5672'
help: 'Configuration options if sending notifications via rabbitmq (these are the defaults)'
- name: rabbit_use_ssl
type: string
default: 'false'
help: 'Configuration options if sending notifications via rabbitmq (these are the defaults)'
- name: rabbit_userid
type: string
default: 'guest'
help: 'Configuration options if sending notifications via rabbitmq (these are the defaults)'
- name: rabbit_password
type: string
default: 'guest'
help: 'Configuration options if sending notifications via rabbitmq (these are the defaults)'
- name: rabbit_virtual_host
type: string
default: '/'
help: 'Configuration options if sending notifications via rabbitmq (these are the defaults)'
- name: rabbit_notification_exchange
type: string
default: 'glance'
help: 'Configuration options if sending notifications via rabbitmq (these are the defaults)'
- name: rabbit_notification_topic
type: string
default: 'notifications'
help: 'Configuration options if sending notifications via rabbitmq (these are the defaults)'
- name: rabbit_durable_queues
type: string
default: 'False'
help: 'Configuration options if sending notifications via rabbitmq (these are the defaults)'
- name: qpid_notification_exchange
type: string
default: 'glance'
help: 'Configuration options if sending notifications via Qpid (these are the defaults)'
- name: qpid_notification_topic
type: string
default: 'notifications'
help: 'Configuration options if sending notifications via Qpid (these are the defaults)'
- name: qpid_host
type: host
default: 'localhost'
help: 'Configuration options if sending notifications via Qpid (these are the defaults)'
- name: qpid_port
type: string
default: '5672'
help: 'Configuration options if sending notifications via Qpid (these are the defaults)'
- name: qpid_username
type: string
default: ''
help: 'Configuration options if sending notifications via Qpid (these are the defaults)'
- name: qpid_password
type: string
default: ''
help: 'Configuration options if sending notifications via Qpid (these are the defaults)'
- name: qpid_sasl_mechanisms
type: string
default: ''
help: 'Configuration options if sending notifications via Qpid (these are the defaults)'
- name: qpid_reconnect_timeout
type: string
default: '0'
help: 'Configuration options if sending notifications via Qpid (these are the defaults)'
- name: qpid_reconnect_limit
type: string
default: '0'
help: 'Configuration options if sending notifications via Qpid (these are the defaults)'
- name: qpid_reconnect_interval_min
type: string
default: '0'
help: 'Configuration options if sending notifications via Qpid (these are the defaults)'
- name: qpid_reconnect_interval_max
type: string
default: '0'
help: 'Configuration options if sending notifications via Qpid (these are the defaults)'
- name: qpid_reconnect_interval
type: string
default: '0'
help: 'Configuration options if sending notifications via Qpid (these are the defaults)'
- name: qpid_heartbeat
type: string
default: '5'
help: 'Configuration options if sending notifications via Qpid (these are the defaults)'
- name: qpid_protocol
type: string
default: 'tcp'
help: "Configuration options if sending notifications via Qpid (these are the defaults) Set to 'ssl' to enable SSL"
- name: qpid_tcp_nodelay
type: string
default: 'True'
help: "Configuration options if sending notifications via Qpid (these are the defaults) Set to 'ssl' to enable SSL"
- name: filesystem_store_datadir
type: string
default: '/var/lib/glance/images/'
help: 'Directory that the Filesystem backend store writes image data to'
- name: filesystem_store_metadata_file
type: string
default: 'None'
help: 'A path to a JSON file that contains metadata describing the storage system. When show_multiple_locations is True the information in this file will be returned with any location that is contained in this store.'
- name: swift_store_auth_version
type: string
default: '2'
help: "Version of the authentication service to use Valid versions are '2' for keystone and '1' for swauth and rackspace"
- name: swift_store_auth_address
type: string
default: '127.0.0.1:5000/v2.0/'
help: "Address where the Swift authentication service lives Valid schemes are 'http://' and 'https://' If no scheme specified, default to 'https://' For swauth, use something like '127.0.0.1:8080/v1.0/'"
- name: swift_store_user
type: string
default: 'jdoe:jdoe'
help: "User to authenticate against the Swift authentication service If you use Swift authentication service, set it to 'account':'user' where 'account' is a Swift storage account and 'user' is a user in that account"
- name: swift_store_key
type: string
default: 'a86850deb2742ec3cb41518e26aa2d89'
help: 'Auth key for the user authenticating against the Swift authentication service'
- name: swift_store_container
type: string
default: 'glance'
help: 'Container within the account that the account should use for storing images in Swift'
- name: swift_store_create_container_on_put
type: string
default: 'False'
help: 'Do we create the container if it does not exist?'
- name: swift_store_large_object_size
type: string
default: '5120'
help: 'What size, in MB, should Glance start chunking image files and do a large object manifest in Swift? By default, this is the maximum object size in Swift, which is 5GB'
- name: swift_store_large_object_chunk_size
type: string
default: '200'
help: 'When doing a large object manifest, what size, in MB, should Glance write chunks to Swift? This amount of data is written to a temporary disk buffer during the process of chunking the image file, and the default is 200MB'
- name: swift_enable_snet
type: string
default: 'False'
help: "To use ServiceNET for authentication, prefix hostname of `swift_store_auth_address` with 'snet-'. Ex. https://example.com/v1.0/ -> https://snet-example.com/v1.0/"
- name: swift_store_multi_tenant
type: string
default: 'False'
help: 'If set to True enables multi-tenant storage mode which causes Glance images to be stored in tenant specific Swift accounts.'
- name: swift_store_admin_tenants
type: string
default: ''
help: 'A list of swift_proxy_server ACL strings that will be applied as both read and write ACLs to the containers created by Glance in multi-tenant mode. This grants the specified tenants/users read and write access to all newly created image objects. The standard swift_proxy_server ACL string formats are allowed, including: <tenant_id>:<username> <tenant_name>:<username> *:<username> Multiple ACLs can be combined using a comma separated list, for example: swift_store_admin_tenants = service:glance,*:admin'
- name: swift_store_region
type: string
default: ''
help: 'The region of the swift_proxy_server endpoint to be used for single tenant. This setting is only necessary if the tenant has multiple swift_proxy_server endpoints.'
- name: swift_store_ssl_compression
type: string
default: 'True'
help: "If set to False, disables SSL layer compression of https swift_proxy_server requests. Setting to 'False' may improve performance for images which are already in a compressed format, eg qcow2. If set to True, enables SSL layer compression (provided it is supported by the target swift_proxy_server proxy)."
- name: s3_store_host
type: string
default: '127.0.0.1:8080/v1.0/'
help: "Address where the S3 authentication service lives Valid schemes are 'http://' and 'https://' If no scheme specified, default to 'http://'"
- name: s3_store_access_key
type: string
default: '<20-char AWS access key>'
help: 'User to authenticate against the S3 authentication service'
- name: s3_store_secret_key
type: string
default: '<40-char AWS secret key>'
help: 'Auth key for the user authenticating against the S3 authentication service'
- name: s3_store_bucket
type: string
default: '<lowercased 20-char aws access key>glance'
help: "Container within the account that the account should use for storing images in S3. Note that S3 has a flat namespace, so you need a unique bucket name for your glance images. An easy way to do this is append your AWS access key to 'glance'. S3 buckets in AWS *must* be lowercased, so remember to lowercase your AWS access key if you use it in your bucket name below!"
- name: s3_store_create_bucket_on_put
type: string
default: 'False'
help: 'Do we create the bucket if it does not exist?'
- name: s3_store_object_buffer_dir
type: string
default: '/path/to/dir'
help: "When sending images to S3, the data will first be written to a temporary buffer on disk. By default the platform's temporary directory will be used. If required, an alternative directory can be specified here."
- name: s3_store_bucket_url_format
type: string
default: 'subdomain'
help: "When forming a bucket url, boto will either set the bucket name as the subdomain or as the first token of the path. Amazon's S3 service will accept it as the subdomain, but Swift's S3 middleware requires it be in the path. Set this to 'path' or 'subdomain' - defaults to 'subdomain'."
- name: rbd_store_ceph_conf
type: string
default: '/etc/ceph/ceph.conf'
help: 'Ceph configuration file path If using cephx authentication, this file should include a reference to the right keyring in a client.<USER> section'
- name: rbd_store_user
type: string
default: 'glance'
help: 'RADOS user to authenticate as (only applicable if using cephx)'
- name: rbd_store_pool
type: string
default: 'images'
help: 'RADOS pool in which images are stored'
- name: rbd_store_chunk_size
type: string
default: '8'
help: 'Images will be chunked into objects of this size (in megabytes). For best performance, this should be a power of two'
- name: sheepdog_store_address
type: string
default: 'localhost'
- name: sheepdog_store_port
type: string
default: '7000'
- name: sheepdog_store_chunk_size
type: string
default: '64'
help: 'Images will be chunked into objects of this size (in megabytes). For best performance, this should be a power of two'
- name: cinder_catalog_info
type: string
default: 'volume:cinder:publicURL'
help: 'Info to match when looking for cinder in the service catalog Format is : separated values of the form: <service_type>:<service_name>:<endpoint_type> '
- name: cinder_endpoint_template
type: string
default: None
help: 'Override service catalog lookup with template for cinder endpoint e.g. http://localhost:8776/v1/%(project_id)s '
- name: os_region_name
type: string
default: None
help: 'Region name of this node '
- name: cinder_ca_certificates_file
type: string
default: None
help: 'Location of ca certicates file to use for cinder client requests '
- name: cinder_http_retries
type: integer
default: 3
help: 'Number of cinderclient retries on failed http calls '
- name: cinder_api_insecure
type: boolean
default: False
help: 'Allow to perform insecure SSL requests to cinder '
- name: delayed_delete
type: string
default: 'False'
help: 'Turn on/off delayed delete'
- name: scrub_time
type: string
default: '43200'
help: 'Delayed delete time in seconds'
- name: scrubber_datadir
type: string
default: '/var/lib/glance/scrubber'
help: 'Directory that the scrubber will use to remind itself of what to delete Make sure this is also set in glance-scrubber.conf'
- name: image_cache_dir
type: string
default: '/var/lib/glance/image-cache/'
help: 'Base directory that the Image Cache uses'
- name: keystone_authtoken.auth_host
type: host
default: '127.0.0.1'
- name: keystone_authtoken.auth_port
type: string
default: '35357'
- name: keystone_authtoken.auth_protocol
type: string
default: 'http'
- name: keystone_authtoken.admin_tenant_name
type: string
default: '%SERVICE_TENANT_NAME%'
- name: keystone_authtoken.admin_user
type: string
default: '%SERVICE_USER%'
- name: keystone_authtoken.admin_password
type: string
default: '%SERVICE_PASSWORD%'
- name: paste_deploy.config_file
type: string
default: 'glance-api-paste.ini'
help: 'Name of the paste configuration file that defines the available pipelines'
- name: paste_deploy.flavor
type: string
default: ''
help: "Partial name of a pipeline in your paste configuration file with the service name removed. For example, if your paste section name is [pipeline:glance-api-keystone], you would configure the flavor below as 'keystone'."

View File

@ -1,410 +0,0 @@
from rubick.schema import ConfigSchemaRegistry
glance_api = ConfigSchemaRegistry.register_schema(project='glance_api')
with glance_api.version('2013.2.1') as glance_api_2013_2_1:
glance_api_2013_2_1.section('DEFAULT')
glance_api_2013_2_1.param('verbose', type='string', default='False',
description="Show more verbose log output (sets INFO log level output)")
glance_api_2013_2_1.param('debug', type='string', default='False',
description="Show debugging output in logs (sets DEBUG log level output)")
glance_api_2013_2_1.param('default_store', type='string', default='file',
description="Which backend scheme should Glance use by default is not specified in a request to add a new image to Glance? Known schemes are determined by the known_stores option below. Default: 'file'")
glance_api_2013_2_1.param(
'known_stores', type='string', default='glance.store.filesystem.Store,',
description="List of which store classes and store class locations are currently known to glance at startup.")
glance_api_2013_2_1.param(
'image_size_cap', type='string', default='1099511627776',
description="Maximum image size (in bytes) that may be uploaded through the Glance API server. Defaults to 1 TB. WARNING: this value should only be increased after careful consideration and must be set to a value under 8 EB (9223372036854775808).")
glance_api_2013_2_1.param(
'bind_host', type='host', default='0.0.0.0', description="Address to bind the API server")
glance_api_2013_2_1.param(
'bind_port', type='string', default='9292', description="Port the bind the API server to")
glance_api_2013_2_1.param(
'log_file', type='string', default='/var/log/glance/api.log',
description="Log to this file. Make sure you do not set the same log file for both the API and registry servers!")
glance_api_2013_2_1.param(
'backlog', type='string', default='4096', description="Backlog requests when creating socket")
glance_api_2013_2_1.param('tcp_keepidle', type='string', default='600',
description="TCP_KEEPIDLE value in seconds when creating socket. Not supported on OS X.")
glance_api_2013_2_1.param(
'sql_connection', type='string', default='sqlite:///glance.sqlite',
description="SQLAlchemy connection string for the reference implementation registry server. Any valid SQLAlchemy connection string is fine. See: http://www.sqlalchemy.org/docs/05/reference/sqlalchemy/connections.html#sqlalchemy.create_engine")
glance_api_2013_2_1.param(
'sql_idle_timeout', type='string', default='3600',
description="MySQL uses a default `wait_timeout` of 8 hours, after which it will drop idle connections. This can result in 'MySQL Gone Away' exceptions. If you notice this, you can lower this value to ensure that SQLAlchemy reconnects before MySQL can drop the connection.")
glance_api_2013_2_1.param('workers', type='string', default='1',
description="Number of Glance API worker processes to start. On machines with more than one CPU increasing this value may improve performance (especially if using SSL with compression turned on). It is typically recommended to set this value to the number of CPUs present on your machine.")
glance_api_2013_2_1.param('admin_role', type='string', default='admin',
description="Role used to identify an authenticated user as administrator")
glance_api_2013_2_1.param(
'allow_anonymous_access', type='string', default='False',
description="Allow unauthenticated users to access the API with read-only privileges. This only applies when using ContextMiddleware.")
glance_api_2013_2_1.param('enable_v1_api', type='string',
default='True', description="Allow access to version 1 of glance api")
glance_api_2013_2_1.param('enable_v2_api', type='string',
default='True', description="Allow access to version 2 of glance api")
glance_api_2013_2_1.param(
'show_image_direct_url', type='string', default='False',
description="Return the URL that references where the data is stored on the backend storage system. For example, if using the file system store a URL of 'file:///path/to/image' will be returned to the user in the 'direct_url' meta-data field. The default value is false.")
glance_api_2013_2_1.param(
'send_identity_headers', type='string', default='False',
description="Send headers containing user and tenant information when making requests to the v1 glance registry. This allows the registry to function as if a user is authenticated without the need to authenticate a user itself using the auth_token middleware. The default value is false.")
glance_api_2013_2_1.param(
'container_formats', type='string', default='ami,ari,aki,bare,ovf',
description="Supported values for the 'container_format' image attribute")
glance_api_2013_2_1.param(
'disk_formats', type='string', default='ami,ari,aki,vhd,vmdk,raw,qcow2,vdi,iso',
description="Supported values for the 'disk_format' image attribute")
glance_api_2013_2_1.param('lock_path', type='string', default=None,
description="Directory to use for lock files. Default to a temp directory (string value). This setting needs to be the same for both glance-scrubber and glance-api.")
glance_api_2013_2_1.param(
'property_protection_file', type='string', default='',
description="Property Protections config file This file contains the rules for property protections and the roles associated with it. If this config value is not specified, by default, property protections won't be enforced. If a value is specified and the file is not found, then an HTTPInternalServerError will be thrown.")
glance_api_2013_2_1.param('user_storage_quota', type='string', default='0',
description="Set a system wide quota for every user. This value is the total number of bytes that a user can use across all storage systems. A value of 0 means unlimited.")
glance_api_2013_2_1.param('use_syslog', type='string', default='False',
description="Send logs to syslog (/dev/log) instead of to file specified by `log_file`")
glance_api_2013_2_1.param('syslog_log_facility', type='string',
default='LOG_LOCAL0', description="Facility to use. If unset defaults to LOG_USER.")
glance_api_2013_2_1.param(
'cert_file', type='string', default='/path/to/certfile',
description="Certificate file to use when starting API server securely")
glance_api_2013_2_1.param(
'key_file', type='string', default='/path/to/keyfile',
description="Private key file to use when starting API server securely")
glance_api_2013_2_1.param(
'ca_file', type='string', default='/path/to/cafile',
description="CA certificate file to use to verify connecting clients")
glance_api_2013_2_1.param(
'metadata_encryption_key', type='string', default='<16, 24 or 32 char registry metadata key>',
description="AES key for encrypting store 'location' metadata, including -- if used -- Swift or S3 credentials Should be set to a random string of length 16, 24 or 32 bytes")
glance_api_2013_2_1.param(
'registry_host', type='host', default='0.0.0.0', description="Address to find the registry server")
glance_api_2013_2_1.param('registry_port', type='string',
default='9191', description="Port the registry server is listening on")
glance_api_2013_2_1.param(
'registry_client_protocol', type='string', default='http',
description="What protocol to use when connecting to the registry server? Set to https for secure HTTP communication")
glance_api_2013_2_1.param(
'registry_client_key_file', type='string', default='/path/to/key/file',
description="The path to the key file to use in SSL connections to the registry server, if any. Alternately, you may set the GLANCE_CLIENT_KEY_FILE environ variable to a filepath of the key file")
glance_api_2013_2_1.param(
'registry_client_cert_file', type='string', default='/path/to/cert/file',
description="The path to the cert file to use in SSL connections to the registry server, if any. Alternately, you may set the GLANCE_CLIENT_CERT_FILE environ variable to a filepath of the cert file")
glance_api_2013_2_1.param(
'registry_client_ca_file', type='string', default='/path/to/ca/file',
description="The path to the certifying authority cert file to use in SSL connections to the registry server, if any. Alternately, you may set the GLANCE_CLIENT_CA_FILE environ variable to a filepath of the CA cert file")
glance_api_2013_2_1.param(
'registry_client_insecure', type='string', default='False',
description="When using SSL in connections to the registry server, do not require validation via a certifying authority. This is the registry's equivalent of specifying --insecure on the command line using glanceclient for the API Default: False")
glance_api_2013_2_1.param(
'registry_client_timeout', type='string', default='600',
description="The period of time, in seconds, that the API server will wait for a registry request to complete. A value of '0' implies no timeout. Default: 600")
glance_api_2013_2_1.param('db_auto_create', type='string', default='False',
description="Whether to automatically create the database tables. Default: False")
glance_api_2013_2_1.param(
'sqlalchemy_debug', type='string', default='True',
description="Enable DEBUG log messages from sqlalchemy which prints every database query and response. Default: False")
glance_api_2013_2_1.param(
'notifier_strategy', type='string', default='noop',
description="Notifications can be sent when images are create, updated or deleted. There are three methods of sending notifications, logging (via the log_file directive), rabbit (via a rabbitmq queue), qpid (via a Qpid message queue), or noop (no notifications sent, the default)")
glance_api_2013_2_1.param('rabbit_host', type='host', default='localhost',
description="Configuration options if sending notifications via rabbitmq (these are the defaults)")
glance_api_2013_2_1.param('rabbit_port', type='string', default='5672',
description="Configuration options if sending notifications via rabbitmq (these are the defaults)")
glance_api_2013_2_1.param('rabbit_use_ssl', type='string', default='false',
description="Configuration options if sending notifications via rabbitmq (these are the defaults)")
glance_api_2013_2_1.param('rabbit_userid', type='string', default='guest',
description="Configuration options if sending notifications via rabbitmq (these are the defaults)")
glance_api_2013_2_1.param(
'rabbit_password', type='string', default='guest',
description="Configuration options if sending notifications via rabbitmq (these are the defaults)")
glance_api_2013_2_1.param(
'rabbit_virtual_host', type='string', default='/',
description="Configuration options if sending notifications via rabbitmq (these are the defaults)")
glance_api_2013_2_1.param(
'rabbit_notification_exchange', type='string', default='glance',
description="Configuration options if sending notifications via rabbitmq (these are the defaults)")
glance_api_2013_2_1.param(
'rabbit_notification_topic', type='string', default='notifications',
description="Configuration options if sending notifications via rabbitmq (these are the defaults)")
glance_api_2013_2_1.param(
'rabbit_durable_queues', type='string', default='False',
description="Configuration options if sending notifications via rabbitmq (these are the defaults)")
glance_api_2013_2_1.param(
'qpid_notification_exchange', type='string', default='glance',
description="Configuration options if sending notifications via Qpid (these are the defaults)")
glance_api_2013_2_1.param(
'qpid_notification_topic', type='string', default='notifications',
description="Configuration options if sending notifications via Qpid (these are the defaults)")
glance_api_2013_2_1.param('qpid_host', type='host', default='localhost',
description="Configuration options if sending notifications via Qpid (these are the defaults)")
glance_api_2013_2_1.param('qpid_port', type='string', default='5672',
description="Configuration options if sending notifications via Qpid (these are the defaults)")
glance_api_2013_2_1.param('qpid_username', type='string', default='',
description="Configuration options if sending notifications via Qpid (these are the defaults)")
glance_api_2013_2_1.param('qpid_password', type='string', default='',
description="Configuration options if sending notifications via Qpid (these are the defaults)")
glance_api_2013_2_1.param(
'qpid_sasl_mechanisms', type='string', default='',
description="Configuration options if sending notifications via Qpid (these are the defaults)")
glance_api_2013_2_1.param(
'qpid_reconnect_timeout', type='string', default='0',
description="Configuration options if sending notifications via Qpid (these are the defaults)")
glance_api_2013_2_1.param(
'qpid_reconnect_limit', type='string', default='0',
description="Configuration options if sending notifications via Qpid (these are the defaults)")
glance_api_2013_2_1.param(
'qpid_reconnect_interval_min', type='string', default='0',
description="Configuration options if sending notifications via Qpid (these are the defaults)")
glance_api_2013_2_1.param(
'qpid_reconnect_interval_max', type='string', default='0',
description="Configuration options if sending notifications via Qpid (these are the defaults)")
glance_api_2013_2_1.param(
'qpid_reconnect_interval', type='string', default='0',
description="Configuration options if sending notifications via Qpid (these are the defaults)")
glance_api_2013_2_1.param('qpid_heartbeat', type='string', default='5',
description="Configuration options if sending notifications via Qpid (these are the defaults)")
glance_api_2013_2_1.param('qpid_protocol', type='string', default='tcp',
description="Configuration options if sending notifications via Qpid (these are the defaults) Set to 'ssl' to enable SSL")
glance_api_2013_2_1.param(
'qpid_tcp_nodelay', type='string', default='True',
description="Configuration options if sending notifications via Qpid (these are the defaults) Set to 'ssl' to enable SSL")
glance_api_2013_2_1.param(
'filesystem_store_datadir', type='string', default='/var/lib/glance/images/',
description="Directory that the Filesystem backend store writes image data to")
glance_api_2013_2_1.param(
'filesystem_store_metadata_file', type='string', default='None',
description="A path to a JSON file that contains metadata describing the storage system. When show_multiple_locations is True the information in this file will be returned with any location that is contained in this store.")
glance_api_2013_2_1.param(
'swift_store_auth_version', type='string', default='2',
description="Version of the authentication service to use Valid versions are '2' for keystone and '1' for swauth and rackspace")
glance_api_2013_2_1.param(
'swift_store_auth_address', type='string', default='127.0.0.1:5000/v2.0/',
description="Address where the Swift authentication service lives Valid schemes are 'http://' and 'https://' If no scheme specified, default to 'https://' For swauth, use something like '127.0.0.1:8080/v1.0/'")
glance_api_2013_2_1.param(
'swift_store_user', type='string', default='jdoe:jdoe',
description="User to authenticate against the Swift authentication service If you use Swift authentication service, set it to 'account':'user' where 'account' is a Swift storage account and 'user' is a user in that account")
glance_api_2013_2_1.param(
'swift_store_key', type='string', default='a86850deb2742ec3cb41518e26aa2d89',
description="Auth key for the user authenticating against the Swift authentication service")
glance_api_2013_2_1.param(
'swift_store_container', type='string', default='glance',
description="Container within the account that the account should use for storing images in Swift")
glance_api_2013_2_1.param(
'swift_store_create_container_on_put', type='string',
default='False', description="Do we create the container if it does not exist?")
glance_api_2013_2_1.param(
'swift_store_large_object_size', type='string', default='5120',
description="What size, in MB, should Glance start chunking image files and do a large object manifest in Swift? By default, this is the maximum object size in Swift, which is 5GB")
glance_api_2013_2_1.param(
'swift_store_large_object_chunk_size', type='string', default='200',
description="When doing a large object manifest, what size, in MB, should Glance write chunks to Swift? This amount of data is written to a temporary disk buffer during the process of chunking the image file, and the default is 200MB")
glance_api_2013_2_1.param(
'swift_enable_snet', type='string', default='False',
description="To use ServiceNET for authentication, prefix hostname of `swift_store_auth_address` with 'snet-'. Ex. https://example.com/v1.0/ -> https://snet-example.com/v1.0/")
glance_api_2013_2_1.param(
'swift_store_multi_tenant', type='string', default='False',
description="If set to True enables multi-tenant storage mode which causes Glance images to be stored in tenant specific Swift accounts.")
glance_api_2013_2_1.param(
'swift_store_admin_tenants', type='string', default='',
description="A list of swift_proxy_server ACL strings that will be applied as both read and write ACLs to the containers created by Glance in multi-tenant mode. This grants the specified tenants/users read and write access to all newly created image objects. The standard swift_proxy_server ACL string formats are allowed, including: <tenant_id>:<username> <tenant_name>:<username> *:<username> Multiple ACLs can be combined using a comma separated list, for example: swift_store_admin_tenants = service:glance,*:admin")
glance_api_2013_2_1.param('swift_store_region', type='string', default='',
description="The region of the swift_proxy_server endpoint to be used for single tenant. This setting is only necessary if the tenant has multiple swift_proxy_server endpoints.")
glance_api_2013_2_1.param(
'swift_store_ssl_compression', type='string', default='True',
description="If set to False, disables SSL layer compression of https swift_proxy_server requests. Setting to 'False' may improve performance for images which are already in a compressed format, eg qcow2. If set to True, enables SSL layer compression (provided it is supported by the target swift_proxy_server proxy).")
glance_api_2013_2_1.param(
's3_store_host', type='string', default='127.0.0.1:8080/v1.0/',
description="Address where the S3 authentication service lives Valid schemes are 'http://' and 'https://' If no scheme specified, default to 'http://'")
glance_api_2013_2_1.param(
's3_store_access_key', type='string', default='<20-char AWS access key>',
description="User to authenticate against the S3 authentication service")
glance_api_2013_2_1.param(
's3_store_secret_key', type='string', default='<40-char AWS secret key>',
description="Auth key for the user authenticating against the S3 authentication service")
glance_api_2013_2_1.param(
's3_store_bucket', type='string', default='<lowercased 20-char aws access key>glance',
description="Container within the account that the account should use for storing images in S3. Note that S3 has a flat namespace, so you need a unique bucket name for your glance images. An easy way to do this is append your AWS access key to 'glance'. S3 buckets in AWS *must* be lowercased, so remember to lowercase your AWS access key if you use it in your bucket name below!")
glance_api_2013_2_1.param('s3_store_create_bucket_on_put', type='string',
default='False', description="Do we create the bucket if it does not exist?")
glance_api_2013_2_1.param(
's3_store_object_buffer_dir', type='string', default='/path/to/dir',
description="When sending images to S3, the data will first be written to a temporary buffer on disk. By default the platform's temporary directory will be used. If required, an alternative directory can be specified here.")
glance_api_2013_2_1.param(
's3_store_bucket_url_format', type='string', default='subdomain',
description="When forming a bucket url, boto will either set the bucket name as the subdomain or as the first token of the path. Amazon's S3 service will accept it as the subdomain, but Swift's S3 middleware requires it be in the path. Set this to 'path' or 'subdomain' - defaults to 'subdomain'.")
glance_api_2013_2_1.param(
'rbd_store_ceph_conf', type='string', default='/etc/ceph/ceph.conf',
description="Ceph configuration file path If using cephx authentication, this file should include a reference to the right keyring in a client.<USER> section")
glance_api_2013_2_1.param(
'rbd_store_user', type='string', default='glance',
description="RADOS user to authenticate as (only applicable if using cephx)")
glance_api_2013_2_1.param('rbd_store_pool', type='string',
default='images', description="RADOS pool in which images are stored")
glance_api_2013_2_1.param(
'rbd_store_chunk_size', type='string', default='8',
description="Images will be chunked into objects of this size (in megabytes). For best performance, this should be a power of two")
glance_api_2013_2_1.param(
'sheepdog_store_address', type='string', default='localhost')
glance_api_2013_2_1.param(
'sheepdog_store_port', type='string', default='7000')
glance_api_2013_2_1.param(
'sheepdog_store_chunk_size', type='string', default='64',
description="Images will be chunked into objects of this size (in megabytes). For best performance, this should be a power of two")
glance_api_2013_2_1.param(
'cinder_catalog_info', type='string', default='volume:cinder:publicURL',
description="Info to match when looking for cinder in the service catalog Format is : separated values of the form: <service_type>:<service_name>:<endpoint_type> ")
glance_api_2013_2_1.param(
'cinder_endpoint_template', type='string', default=None,
description="Override service catalog lookup with template for cinder endpoint e.g. http://localhost:8776/v1/%(project_id)s ")
glance_api_2013_2_1.param(
'os_region_name', type='string', default=None, description="Region name of this node ")
glance_api_2013_2_1.param(
'cinder_ca_certificates_file', type='string', default=None,
description="Location of ca certicates file to use for cinder client requests ")
glance_api_2013_2_1.param('cinder_http_retries', type='integer', default=3,
description="Number of cinderclient retries on failed http calls ")
glance_api_2013_2_1.param('cinder_api_insecure', type='boolean',
default=False, description="Allow to perform insecure SSL requests to cinder ")
glance_api_2013_2_1.param('delayed_delete', type='string',
default='False', description="Turn on/off delayed delete")
glance_api_2013_2_1.param(
'scrub_time', type='string', default='43200', description="Delayed delete time in seconds")
glance_api_2013_2_1.param(
'scrubber_datadir', type='string', default='/var/lib/glance/scrubber',
description="Directory that the scrubber will use to remind itself of what to delete Make sure this is also set in glance-scrubber.conf")
glance_api_2013_2_1.param('image_cache_dir', type='string',
default='/var/lib/glance/image-cache/', description="Base directory that the Image Cache uses")
glance_api_2013_2_1.section('keystone_authtoken')
glance_api_2013_2_1.param('auth_host', type='host', default='127.0.0.1')
glance_api_2013_2_1.param('auth_port', type='string', default='35357')
glance_api_2013_2_1.param('auth_protocol', type='string', default='http')
glance_api_2013_2_1.param(
'admin_tenant_name', type='string', default='%SERVICE_TENANT_NAME%')
glance_api_2013_2_1.param(
'admin_user', type='string', default='%SERVICE_USER%')
glance_api_2013_2_1.param(
'admin_password', type='string', default='%SERVICE_PASSWORD%')
glance_api_2013_2_1.section('paste_deploy')
glance_api_2013_2_1.param(
'config_file', type='string', default='glance-api-paste.ini',
description="Name of the paste configuration file that defines the available pipelines")
glance_api_2013_2_1.param('flavor', type='string', default='',
description="Partial name of a pipeline in your paste configuration file with the service name removed. For example, if your paste section name is [pipeline:glance-api-keystone], you would configure the flavor below as 'keystone'.")

View File

@ -0,0 +1,133 @@
project: glance_registry
version: '2013.2.1'
parameters:
- name: verbose
type: string
default: 'False'
help: 'Show more verbose log output (sets INFO log level output)'
- name: debug
type: string
default: 'False'
help: 'Show debugging output in logs (sets DEBUG log level output)'
- name: bind_host
type: host
default: '0.0.0.0'
help: 'Address to bind the registry server'
- name: bind_port
type: string
default: '9191'
help: 'Port the bind the registry server to'
- name: log_file
type: string
default: '/var/log/glance/registry.log'
help: 'Log to this file. Make sure you do not set the same log file for both the API and registry servers!'
- name: backlog
type: string
default: '4096'
help: 'Backlog requests when creating socket'
- name: tcp_keepidle
type: string
default: '600'
help: 'TCP_KEEPIDLE value in seconds when creating socket. Not supported on OS X.'
- name: sql_connection
type: string
default: 'sqlite:///glance.sqlite'
help: 'SQLAlchemy connection string for the reference implementation registry server. Any valid SQLAlchemy connection string is fine. See: http://www.sqlalchemy.org/docs/05/reference/sqlalchemy/connections.html#sqlalchemy.create_engine'
- name: sql_idle_timeout
type: string
default: '3600'
help: "MySQL uses a default `wait_timeout` of 8 hours, after which it will drop idle connections. This can result in 'MySQL Gone Away' exceptions. If you notice this, you can lower this value to ensure that SQLAlchemy reconnects before MySQL can drop the connection."
- name: api_limit_max
type: string
default: '1000'
help: 'Limit the api to return `param_limit_max` items in a call to a container. If a larger `limit` query param is provided, it will be reduced to this value.'
- name: limit_param_default
type: string
default: '25'
help: 'If a `limit` query param is not provided in an api request, it will default to `limit_param_default`'
- name: admin_role
type: string
default: 'admin'
help: 'Role used to identify an authenticated user as administrator'
- name: db_auto_create
type: string
default: 'False'
help: 'Whether to automatically create the database tables. Default: False'
- name: sqlalchemy_debug
type: string
default: 'True'
help: 'Enable DEBUG log messages from sqlalchemy which prints every database query and response. Default: False'
- name: use_syslog
type: string
default: 'False'
help: 'Send logs to syslog (/dev/log) instead of to file specified by `log_file`'
- name: syslog_log_facility
type: string
default: 'LOG_LOCAL1'
help: 'Facility to use. If unset defaults to LOG_USER.'
- name: cert_file
type: string
default: '/path/to/certfile'
help: 'Certificate file to use when starting registry server securely'
- name: key_file
type: string
default: '/path/to/keyfile'
help: 'Private key file to use when starting registry server securely'
- name: ca_file
type: string
default: '/path/to/cafile'
help: 'CA certificate file to use to verify connecting clients'
- name: keystone_authtoken.auth_host
type: host
default: '127.0.0.1'
- name: keystone_authtoken.auth_port
type: string
default: '35357'
- name: keystone_authtoken.auth_protocol
type: string
default: 'http'
- name: keystone_authtoken.admin_tenant_name
type: string
default: '%SERVICE_TENANT_NAME%'
- name: keystone_authtoken.admin_user
type: string
default: '%SERVICE_USER%'
- name: keystone_authtoken.admin_password
type: string
default: '%SERVICE_PASSWORD%'
- name: paste_deploy.config_file
type: string
default: 'glance-registry-paste.ini'
help: 'Name of the paste configuration file that defines the available pipelines'
- name: paste_deploy.flavor
type: string
default: ''
help: "Partial name of a pipeline in your paste configuration file with the service name removed. For example, if your paste section name is [pipeline:glance-registry-keystone], you would configure the flavor below as 'keystone'."

View File

@ -1,106 +0,0 @@
from rubick.schema import ConfigSchemaRegistry
glance_registry = ConfigSchemaRegistry.register_schema(
project='glance_registry')
with glance_registry.version('2013.2.1') as glance_registry_2013_2_1:
glance_registry_2013_2_1.section('DEFAULT')
glance_registry_2013_2_1.param('verbose', type='string', default='False',
description="Show more verbose log output (sets INFO log level output)")
glance_registry_2013_2_1.param('debug', type='string', default='False',
description="Show debugging output in logs (sets DEBUG log level output)")
glance_registry_2013_2_1.param(
'bind_host', type='host', default='0.0.0.0', description="Address to bind the registry server")
glance_registry_2013_2_1.param(
'bind_port', type='string', default='9191', description="Port the bind the registry server to")
glance_registry_2013_2_1.param(
'log_file', type='string', default='/var/log/glance/registry.log',
description="Log to this file. Make sure you do not set the same log file for both the API and registry servers!")
glance_registry_2013_2_1.param(
'backlog', type='string', default='4096', description="Backlog requests when creating socket")
glance_registry_2013_2_1.param(
'tcp_keepidle', type='string', default='600',
description="TCP_KEEPIDLE value in seconds when creating socket. Not supported on OS X.")
glance_registry_2013_2_1.param(
'sql_connection', type='string', default='sqlite:///glance.sqlite',
description="SQLAlchemy connection string for the reference implementation registry server. Any valid SQLAlchemy connection string is fine. See: http://www.sqlalchemy.org/docs/05/reference/sqlalchemy/connections.html#sqlalchemy.create_engine")
glance_registry_2013_2_1.param(
'sql_idle_timeout', type='string', default='3600',
description="MySQL uses a default `wait_timeout` of 8 hours, after which it will drop idle connections. This can result in 'MySQL Gone Away' exceptions. If you notice this, you can lower this value to ensure that SQLAlchemy reconnects before MySQL can drop the connection.")
glance_registry_2013_2_1.param(
'api_limit_max', type='string', default='1000',
description="Limit the api to return `param_limit_max` items in a call to a container. If a larger `limit` query param is provided, it will be reduced to this value.")
glance_registry_2013_2_1.param(
'limit_param_default', type='string', default='25',
description="If a `limit` query param is not provided in an api request, it will default to `limit_param_default`")
glance_registry_2013_2_1.param(
'admin_role', type='string', default='admin',
description="Role used to identify an authenticated user as administrator")
glance_registry_2013_2_1.param(
'db_auto_create', type='string', default='False',
description="Whether to automatically create the database tables. Default: False")
glance_registry_2013_2_1.param(
'sqlalchemy_debug', type='string', default='True',
description="Enable DEBUG log messages from sqlalchemy which prints every database query and response. Default: False")
glance_registry_2013_2_1.param(
'use_syslog', type='string', default='False',
description="Send logs to syslog (/dev/log) instead of to file specified by `log_file`")
glance_registry_2013_2_1.param('syslog_log_facility', type='string',
default='LOG_LOCAL1', description="Facility to use. If unset defaults to LOG_USER.")
glance_registry_2013_2_1.param(
'cert_file', type='string', default='/path/to/certfile',
description="Certificate file to use when starting registry server securely")
glance_registry_2013_2_1.param(
'key_file', type='string', default='/path/to/keyfile',
description="Private key file to use when starting registry server securely")
glance_registry_2013_2_1.param(
'ca_file', type='string', default='/path/to/cafile',
description="CA certificate file to use to verify connecting clients")
glance_registry_2013_2_1.section('keystone_authtoken')
glance_registry_2013_2_1.param(
'auth_host', type='host', default='127.0.0.1')
glance_registry_2013_2_1.param('auth_port', type='string', default='35357')
glance_registry_2013_2_1.param(
'auth_protocol', type='string', default='http')
glance_registry_2013_2_1.param(
'admin_tenant_name', type='string', default='%SERVICE_TENANT_NAME%')
glance_registry_2013_2_1.param(
'admin_user', type='string', default='%SERVICE_USER%')
glance_registry_2013_2_1.param(
'admin_password', type='string', default='%SERVICE_PASSWORD%')
glance_registry_2013_2_1.section('paste_deploy')
glance_registry_2013_2_1.param(
'config_file', type='string', default='glance-registry-paste.ini',
description="Name of the paste configuration file that defines the available pipelines")
glance_registry_2013_2_1.param('flavor', type='string', default='',
description="Partial name of a pipeline in your paste configuration file with the service name removed. For example, if your paste section name is [pipeline:glance-registry-keystone], you would configure the flavor below as 'keystone'.")

View File

@ -0,0 +1,642 @@
project: keystone
version: '2013.1.3'
parameters:
- name: admin_token
type: string
default: 'ADMIN'
help: "A 'shared secret' between keystone and other openstack services"
- name: bind_host
type: host
default: '0.0.0.0'
help: 'The IP address of the network interface to listen on'
- name: public_port
type: port
default: 5000
help: 'The port number which the public service listens on'
- name: admin_port
type: port
default: 35357
help: 'The port number which the public admin listens on'
- name: public_endpoint
type: string
default: 'http://localhost:%(public_port)s/'
help: 'The base endpoint URLs for keystone that are advertised to clients (NOTE: this does NOT affect how keystone listens for connections)'
- name: admin_endpoint
type: string
default: 'http://localhost:%(admin_port)s/'
- name: compute_port
type: port
default: 8774
help: 'The port number which the OpenStack Compute service listens on'
- name: policy_file
type: string
default: 'policy.json'
help: 'Path to your policy definition containing identity actions'
- name: policy_default_rule
type: string
default: 'admin_required'
help: 'Rule to check if no matching policy definition is found FIXME(dolph): This should really be defined as [policy] default_rule'
- name: member_role_id
type: string
default: '9fe2ff9ee4384b1894a90878d3e92bab'
help: 'Role for migrating membership relationships During a SQL upgrade, the following values will be used to create a new role that will replace records in the user_tenant_membership table with explicit role grants. After migration, the member_role_id will be used in the API add_user_to_project, and member_role_name will be ignored.'
- name: member_role_name
type: string
default: '_member_'
- name: max_request_body_size
type: string
default: '114688'
help: 'enforced by optional sizelimit middleware (keystone_2013_1_3.middleware:RequestBodySizeLimiter)'
- name: max_param_size
type: integer
default: 64
help: 'limit the sizes of user & tenant ID/names'
- name: max_token_size
type: integer
default: 8192
help: 'similar to max_param_size, but provides an exception for token values'
- name: debug
type: boolean
default: False
help: '=== Logging Options === Print debugging output (includes plaintext request logging, potentially including passwords)'
- name: verbose
type: boolean
default: False
help: 'Print more verbose output'
- name: log_file
type: string
default: 'keystone_2013_1_3.log'
help: 'Name of log file to output to. If not set, logging will go to stdout.'
- name: log_dir
type: string
default: '/var/log/keystone'
help: 'The directory to keep log files in (will be prepended to --logfile)'
- name: use_syslog
type: boolean
default: False
help: 'Use syslog for logging.'
- name: syslog_log_facility
type: string
default: 'LOG_USER'
help: 'syslog facility to receive log lines'
- name: log_config
type: string
default: 'logging.conf'
help: '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.'
- name: log_format
type: string
default: '%(asctime)s %(levelname)8s [%(name)s] %(message)s'
help: 'A logging.Formatter log message format string which may use any of the available logging.LogRecord attributes.'
- name: log_date_format
type: string
default: '%Y-%m-%d %H:%M:%S'
help: 'Format string for %(asctime)s in log records.'
- name: onready
type: string
default: 'keystone_2013_1_3.common.systemd'
help: 'onready allows you to send a notification when the process is ready to serve For example, to have it notify using systemd, one could set shell command: onready = systemd-notify --ready or a module with notify() method:'
- name: default_notification_level
type: string
default: 'INFO'
help: 'Default notification level for outgoing notifications'
- name: default_publisher_id
type: string
default: ''
help: 'Default publisher_id for outgoing notifications; included in the payload.'
- name: rpc_backend
type: string
default: 'keystone_2013_1_3.openstack.common.rpc.impl_kombu'
help: 'The messaging module to use, defaults to kombu.'
- name: rpc_thread_pool_size
type: integer
default: 64
help: 'Size of RPC thread pool'
- name: rpc_conn_pool_size
type: integer
default: 30
help: 'Size of RPC connection pool'
- name: rpc_response_timeout
type: integer
default: 60
help: 'Seconds to wait for a response from call or multicall'
- name: rpc_cast_timeout
type: integer
default: 30
help: 'Seconds to wait before a cast expires (TTL). Only supported by impl_zmq.'
- name: fake_rabbit
type: boolean
default: False
help: 'If True, use a fake RabbitMQ provider'
- name: control_exchange
type: string
default: 'openstack'
help: 'AMQP exchange to connect to if using RabbitMQ or Qpid'
- name: sql.connection
type: string
default: 'sqlite:///keystone_2013_1_3.db'
help: 'The SQLAlchemy connection string used to connect to the database'
- name: sql.idle_timeout
type: integer
default: 200
help: 'the timeout before idle sql connections are reaped'
- name: oauth1.driver
type: string
default: 'keystone_2013_1_3.contrib.oauth1.backends.sql.OAuth1'
- name: identity.default_domain_id
type: string
default: 'default'
help: 'This references the domain to use for all Identity API v2 requests (which are not aware of domains). A domain with this ID will be created for you by keystone-manage db_sync in migration 008. The domain referenced by this ID cannot be deleted on the v3 API, to prevent accidentally breaking the v2 API. There is nothing special about this domain, other than the fact that it must exist to order to maintain support for your v2 clients.'
- name: identity.domain_specific_drivers_enabled
type: boolean
default: False
help: 'A subset (or all) of domains can have their own identity driver, each with their own partial configuration file in a domain configuration directory. Only'
- name: identity.domain_config_dir
type: string
default: '/etc/keystone/domains'
- name: identity.max_password_length
type: integer
default: 4096
help: 'Maximum supported length for user passwords; decrease to improve performance.'
- name: cache.enabled
type: boolean
default: False
help: 'Global cache functionality toggle.'
- name: catalog.template_file
type: string
default: 'default_catalog.templates'
- name: endpoint_filter.return_all_endpoints_if_no_filter
type: boolean
default: True
- name: token.provider
type: string
default: ''
help: 'Controls the token construction, validation, and revocation operations. Core providers are keystone_2013_1_3.token.providers.[pki|uuid].Provider'
- name: token.expiration
type: integer
default: 86400
help: 'Amount of time a token should remain valid (in seconds)'
- name: token.bind
type: string
default: ''
help: 'External auth mechanisms that should add bind information to token. eg kerberos, x509'
- name: token.enforce_token_bind
type: string
default: 'permissive'
help: 'Enforcement policy on tokens presented to keystone with bind information. One of disabled, permissive, strict, required or a specifically required bind mode e.g. kerberos or x509 to require binding to that authentication.'
- name: assignment.caching
type: boolean
default: True
help: 'Assignment specific caching toggle. This has no effect unless the global caching option is set to True'
- name: assignment.cache_time
type: integer
default: 0
help: 'Assignment specific cache time-to-live (TTL) in seconds.'
- name: token.revocation_cache_time
type: integer
default: 3600
help: 'Revocation-List specific cache time-to-live (TTL) in seconds.'
- name: cache.config_prefix
type: string
default: 'cache.keystone'
help: 'Prefix for building the configuration dictionary for the cache region. This should not need to be changed unless there is another dogpile.cache region with the same configuration name'
- name: cache.backend
type: string
default: 'keystone_2013_1_3.common.cache.noop'
help: 'Dogpile.cache backend module. It is recommended that Memcache (dogpile.cache.memcache) or Redis (dogpile.cache.redis) be used in production deployments. Small workloads (single process) like devstack can use the dogpile.cache.memory backend.'
- name: cache.backend_argument
type: string
default: ''
help: 'Arguments supplied to the backend module. Specify this option once per argument to be passed to the dogpile.cache backend. Example format: <argname>:<value>'
- name: cache.proxies
type: string
default: ''
help: 'Proxy Classes to import that will affect the way the dogpile.cache backend functions. See the dogpile.cache documentation on changing-backend-behavior. Comma delimited list e.g. my.dogpile.proxy.Class, my.dogpile.proxyClass2'
- name: cache.use_key_mangler
type: boolean
default: True
help: 'Use a key-mangling function (sha1) to ensure fixed length cache-keys. This is toggle-able for debugging purposes, it is highly recommended to always leave this set to True.'
- name: cache.debug_cache_backend
type: boolean
default: False
help: 'Extra debugging from the cache backend (cache keys, get/set/delete/etc calls) This is only really useful if you need to see the specific cache-backend get/set/delete calls with the keys/values. Typically this should be left set to False.'
- name: oauth1.request_token_duration
type: integer
default: 28800
help: 'The Identity service may include expire attributes. If no such attribute is included, then the token lasts indefinitely. Specify how quickly the request token will expire (in seconds)'
- name: oauth1.access_token_duration
type: integer
default: 86400
help: 'Specify how quickly the access token will expire (in seconds)'
- name: ssl.enable
type: boolean
default: True
- name: signing.certfile
type: string
default: '/etc/keystone/pki/certs/signing_cert.pem'
- name: signing.keyfile
type: string
default: '/etc/keystone/pki/private/signing_key.pem'
- name: signing.ca_certs
type: string
default: '/etc/keystone/pki/certs/cacert.pem'
- name: signing.ca_key
type: string
default: '/etc/keystone/pki/private/cakey.pem'
- name: signing.key_size
type: boolean
default: 2048
- name: signing.valid_days
type: boolean
default: 3650
- name: ssl.cert_required
type: boolean
default: False
- name: signing.cert_subject
type: string
default: '/CUS/STUnset/LUnset/OUnset/CNwww.example.com'
- name: signing.token_format
type: string
default: ''
help: 'Deprecated in favor of provider in the [token] section Allowed values are PKI or UUID'
- name: ldap.url
type: string
default: 'ldap://localhost'
- name: ldap.user
type: string
default: 'dcManager,dcexample,dccom'
- name: auth.password
type: string
default: 'keystone_2013_1_3.auth.plugins.password.Password'
- name: ldap.suffix
type: string
default: 'cnexample,cncom'
- name: ldap.use_dumb_member
type: boolean
default: False
- name: ldap.allow_subtree_delete
type: boolean
default: False
- name: ldap.dumb_member
type: string
default: 'cndumb,dcexample,dccom'
- name: ldap.page_size
type: integer
default: 0
help: "Maximum results per page; a value of zero ('0') disables paging (default)"
- name: ldap.alias_dereferencing
type: string
default: 'default'
help: "The LDAP dereferencing option for queries. This can be either 'never', 'searching', 'always', 'finding' or 'default'. The 'default' option falls back to using default dereferencing configured by your ldap.conf."
- name: ldap.query_scope
type: string
default: 'one'
help: "The LDAP scope for queries, this can be either 'one' (onelevel/singleLevel) or 'sub' (subtree/wholeSubtree)"
- name: ldap.user_tree_dn
type: string
default: 'ouUsers,dcexample,dccom'
- name: ldap.user_filter
type: string
default: ''
- name: ldap.user_objectclass
type: string
default: 'inetOrgPerson'
- name: ldap.user_domain_id_attribute
type: string
default: 'businessCategory'
- name: ldap.user_id_attribute
type: string
default: 'cn'
- name: ldap.user_name_attribute
type: string
default: 'sn'
- name: ldap.user_mail_attribute
type: string
default: 'email'
- name: ldap.user_pass_attribute
type: string
default: 'userPassword'
- name: ldap.user_enabled_attribute
type: string
default: 'enabled'
- name: ldap.user_enabled_mask
type: integer
default: 0
- name: ldap.user_enabled_default
type: boolean
default: True
- name: ldap.user_attribute_ignore
type: string
default: 'tenant_id,tenants'
- name: ldap.user_allow_create
type: boolean
default: True
- name: ldap.user_allow_update
type: boolean
default: True
- name: ldap.user_allow_delete
type: boolean
default: True
- name: ldap.user_enabled_emulation
type: boolean
default: False
- name: ldap.user_enabled_emulation_dn
type: string
default: ''
- name: ldap.tenant_tree_dn
type: string
default: 'ouProjects,dcexample,dccom'
- name: ldap.tenant_filter
type: string
default: ''
- name: ldap.tenant_objectclass
type: string
default: 'groupOfNames'
- name: ldap.tenant_domain_id_attribute
type: string
default: 'businessCategory'
- name: ldap.tenant_id_attribute
type: string
default: 'cn'
- name: ldap.tenant_member_attribute
type: string
default: 'member'
- name: ldap.tenant_name_attribute
type: string
default: 'ou'
- name: ldap.tenant_desc_attribute
type: string
default: 'desc'
- name: ldap.tenant_enabled_attribute
type: string
default: 'enabled'
- name: ldap.tenant_attribute_ignore
type: string
default: ''
- name: ldap.tenant_allow_create
type: boolean
default: True
- name: ldap.tenant_allow_update
type: boolean
default: True
- name: ldap.tenant_allow_delete
type: boolean
default: True
- name: ldap.tenant_enabled_emulation
type: boolean
default: False
- name: ldap.tenant_enabled_emulation_dn
type: string
default: ''
- name: ldap.role_tree_dn
type: string
default: 'ouRoles,dcexample,dccom'
- name: ldap.role_filter
type: string
default: ''
- name: ldap.role_objectclass
type: string
default: 'organizationalRole'
- name: ldap.role_id_attribute
type: string
default: 'cn'
- name: ldap.role_name_attribute
type: string
default: 'ou'
- name: ldap.role_member_attribute
type: string
default: 'roleOccupant'
- name: ldap.role_attribute_ignore
type: string
default: ''
- name: ldap.role_allow_create
type: boolean
default: True
- name: ldap.role_allow_update
type: boolean
default: True
- name: ldap.role_allow_delete
type: boolean
default: True
- name: ldap.group_tree_dn
type: string
default: ''
- name: ldap.group_filter
type: string
default: ''
- name: ldap.group_objectclass
type: string
default: 'groupOfNames'
- name: ldap.group_id_attribute
type: string
default: 'cn'
- name: ldap.group_name_attribute
type: string
default: 'ou'
- name: ldap.group_member_attribute
type: string
default: 'member'
- name: ldap.group_desc_attribute
type: string
default: 'desc'
- name: ldap.group_attribute_ignore
type: string
default: ''
- name: ldap.group_allow_create
type: boolean
default: True
- name: ldap.group_allow_update
type: boolean
default: True
- name: ldap.group_allow_delete
type: boolean
default: True
- name: ldap.use_tls
type: boolean
default: False
help: 'ldap TLS options if both tls_cacertfile and tls_cacertdir are set then tls_cacertfile will be used and tls_cacertdir is ignored valid options for tls_req_cert are demand, never, and allow'
- name: ldap.tls_cacertfile
type: string
default: ''
- name: ldap.tls_cacertdir
type: string
default: ''
- name: ldap.tls_req_cert
type: string
default: 'demand'
- name: ldap.user_additional_attribute_mapping
type: string
default: ''
- name: ldap.domain_additional_attribute_mapping
type: string
default: ''
- name: ldap.group_additional_attribute_mapping
type: string
default: ''
- name: ldap.role_additional_attribute_mapping
type: string
default: ''
- name: ldap.project_additional_attribute_mapping
type: string
default: ''
- name: auth.methods
type: string
default: 'external,password,token,oauth1'
- name: auth.external
type: string
default: 'keystone_2013_1_3.auth.plugins.external.ExternalDefault'
- name: auth.token
type: string
default: 'keystone_2013_1_3.auth.plugins.token.Token'
- name: auth.oauth1
type: string
default: 'keystone_2013_1_3.auth.plugins.oauth1.OAuth'
- name: paste_deploy.config_file
type: string
default: 'keystone-paste.ini'
help: 'Name of the paste configuration file that defines the available pipelines'

View File

@ -0,0 +1,642 @@
project: keystone
version: '2013.1.4'
parameters:
- name: admin_token
type: string
default: 'ADMIN'
help: "A 'shared secret' between keystone and other openstack services"
- name: bind_host
type: host
default: '0.0.0.0'
help: 'The IP address of the network interface to listen on'
- name: public_port
type: port
default: 5000
help: 'The port number which the public service listens on'
- name: admin_port
type: port
default: 35357
help: 'The port number which the public admin listens on'
- name: public_endpoint
type: string
default: 'http://localhost:%(public_port)s/'
help: 'The base endpoint URLs for keystone that are advertised to clients (NOTE: this does NOT affect how keystone listens for connections)'
- name: admin_endpoint
type: string
default: 'http://localhost:%(admin_port)s/'
- name: compute_port
type: port
default: 8774
help: 'The port number which the OpenStack Compute service listens on'
- name: policy_file
type: string
default: 'policy.json'
help: 'Path to your policy definition containing identity actions'
- name: policy_default_rule
type: string
default: 'admin_required'
help: 'Rule to check if no matching policy definition is found FIXME(dolph): This should really be defined as [policy] default_rule'
- name: member_role_id
type: string
default: '9fe2ff9ee4384b1894a90878d3e92bab'
help: 'Role for migrating membership relationships During a SQL upgrade, the following values will be used to create a new role that will replace records in the user_tenant_membership table with explicit role grants. After migration, the member_role_id will be used in the API add_user_to_project, and member_role_name will be ignored.'
- name: member_role_name
type: string
default: '_member_'
- name: max_request_body_size
type: string
default: '114688'
help: 'enforced by optional sizelimit middleware (keystone_2013_1_3.middleware:RequestBodySizeLimiter)'
- name: max_param_size
type: integer
default: 64
help: 'limit the sizes of user & tenant ID/names'
- name: max_token_size
type: integer
default: 8192
help: 'similar to max_param_size, but provides an exception for token values'
- name: debug
type: boolean
default: False
help: '=== Logging Options === Print debugging output (includes plaintext request logging, potentially including passwords)'
- name: verbose
type: boolean
default: False
help: 'Print more verbose output'
- name: log_file
type: string
default: 'keystone_2013_1_3.log'
help: 'Name of log file to output to. If not set, logging will go to stdout.'
- name: log_dir
type: string
default: '/var/log/keystone'
help: 'The directory to keep log files in (will be prepended to --logfile)'
- name: use_syslog
type: boolean
default: False
help: 'Use syslog for logging.'
- name: syslog_log_facility
type: string
default: 'LOG_USER'
help: 'syslog facility to receive log lines'
- name: log_config
type: string
default: 'logging.conf'
help: '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.'
- name: log_format
type: string
default: '%(asctime)s %(levelname)8s [%(name)s] %(message)s'
help: 'A logging.Formatter log message format string which may use any of the available logging.LogRecord attributes.'
- name: log_date_format
type: string
default: '%Y-%m-%d %H:%M:%S'
help: 'Format string for %(asctime)s in log records.'
- name: onready
type: string
default: 'keystone_2013_1_3.common.systemd'
help: 'onready allows you to send a notification when the process is ready to serve For example, to have it notify using systemd, one could set shell command: onready = systemd-notify --ready or a module with notify() method:'
- name: default_notification_level
type: string
default: 'INFO'
help: 'Default notification level for outgoing notifications'
- name: default_publisher_id
type: string
default: ''
help: 'Default publisher_id for outgoing notifications; included in the payload.'
- name: rpc_backend
type: string
default: 'keystone_2013_1_3.openstack.common.rpc.impl_kombu'
help: 'The messaging module to use, defaults to kombu.'
- name: rpc_thread_pool_size
type: integer
default: 64
help: 'Size of RPC thread pool'
- name: rpc_conn_pool_size
type: integer
default: 30
help: 'Size of RPC connection pool'
- name: rpc_response_timeout
type: integer
default: 60
help: 'Seconds to wait for a response from call or multicall'
- name: rpc_cast_timeout
type: integer
default: 30
help: 'Seconds to wait before a cast expires (TTL). Only supported by impl_zmq.'
- name: fake_rabbit
type: boolean
default: False
help: 'If True, use a fake RabbitMQ provider'
- name: control_exchange
type: string
default: 'openstack'
help: 'AMQP exchange to connect to if using RabbitMQ or Qpid'
- name: sql.connection
type: string
default: 'sqlite:///keystone_2013_1_3.db'
help: 'The SQLAlchemy connection string used to connect to the database'
- name: sql.idle_timeout
type: integer
default: 200
help: 'the timeout before idle sql connections are reaped'
- name: oauth1.driver
type: string
default: 'keystone_2013_1_3.contrib.oauth1.backends.sql.OAuth1'
- name: identity.default_domain_id
type: string
default: 'default'
help: 'This references the domain to use for all Identity API v2 requests (which are not aware of domains). A domain with this ID will be created for you by keystone-manage db_sync in migration 008. The domain referenced by this ID cannot be deleted on the v3 API, to prevent accidentally breaking the v2 API. There is nothing special about this domain, other than the fact that it must exist to order to maintain support for your v2 clients.'
- name: identity.domain_specific_drivers_enabled
type: boolean
default: False
help: 'A subset (or all) of domains can have their own identity driver, each with their own partial configuration file in a domain configuration directory. Only'
- name: identity.domain_config_dir
type: string
default: '/etc/keystone/domains'
- name: identity.max_password_length
type: integer
default: 4096
help: 'Maximum supported length for user passwords; decrease to improve performance.'
- name: cache.enabled
type: boolean
default: False
help: 'Global cache functionality toggle.'
- name: catalog.template_file
type: string
default: 'default_catalog.templates'
- name: endpoint_filter.return_all_endpoints_if_no_filter
type: boolean
default: True
- name: token.provider
type: string
default: ''
help: 'Controls the token construction, validation, and revocation operations. Core providers are keystone_2013_1_3.token.providers.[pki|uuid].Provider'
- name: token.expiration
type: integer
default: 86400
help: 'Amount of time a token should remain valid (in seconds)'
- name: token.bind
type: string
default: ''
help: 'External auth mechanisms that should add bind information to token. eg kerberos, x509'
- name: token.enforce_token_bind
type: string
default: 'permissive'
help: 'Enforcement policy on tokens presented to keystone with bind information. One of disabled, permissive, strict, required or a specifically required bind mode e.g. kerberos or x509 to require binding to that authentication.'
- name: assignment.caching
type: boolean
default: True
help: 'Assignment specific caching toggle. This has no effect unless the global caching option is set to True'
- name: assignment.cache_time
type: integer
default: 0
help: 'Assignment specific cache time-to-live (TTL) in seconds.'
- name: token.revocation_cache_time
type: integer
default: 3600
help: 'Revocation-List specific cache time-to-live (TTL) in seconds.'
- name: cache.config_prefix
type: string
default: 'cache.keystone'
help: 'Prefix for building the configuration dictionary for the cache region. This should not need to be changed unless there is another dogpile.cache region with the same configuration name'
- name: cache.backend
type: string
default: 'keystone_2013_1_3.common.cache.noop'
help: 'Dogpile.cache backend module. It is recommended that Memcache (dogpile.cache.memcache) or Redis (dogpile.cache.redis) be used in production deployments. Small workloads (single process) like devstack can use the dogpile.cache.memory backend.'
- name: cache.backend_argument
type: string
default: ''
help: 'Arguments supplied to the backend module. Specify this option once per argument to be passed to the dogpile.cache backend. Example format: <argname>:<value>'
- name: cache.proxies
type: string
default: ''
help: 'Proxy Classes to import that will affect the way the dogpile.cache backend functions. See the dogpile.cache documentation on changing-backend-behavior. Comma delimited list e.g. my.dogpile.proxy.Class, my.dogpile.proxyClass2'
- name: cache.use_key_mangler
type: boolean
default: True
help: 'Use a key-mangling function (sha1) to ensure fixed length cache-keys. This is toggle-able for debugging purposes, it is highly recommended to always leave this set to True.'
- name: cache.debug_cache_backend
type: boolean
default: False
help: 'Extra debugging from the cache backend (cache keys, get/set/delete/etc calls) This is only really useful if you need to see the specific cache-backend get/set/delete calls with the keys/values. Typically this should be left set to False.'
- name: oauth1.request_token_duration
type: integer
default: 28800
help: 'The Identity service may include expire attributes. If no such attribute is included, then the token lasts indefinitely. Specify how quickly the request token will expire (in seconds)'
- name: oauth1.access_token_duration
type: integer
default: 86400
help: 'Specify how quickly the access token will expire (in seconds)'
- name: ssl.enable
type: boolean
default: True
- name: signing.certfile
type: string
default: '/etc/keystone/pki/certs/signing_cert.pem'
- name: signing.keyfile
type: string
default: '/etc/keystone/pki/private/signing_key.pem'
- name: signing.ca_certs
type: string
default: '/etc/keystone/pki/certs/cacert.pem'
- name: signing.ca_key
type: string
default: '/etc/keystone/pki/private/cakey.pem'
- name: signing.key_size
type: integer
default: 2048
- name: signing.valid_days
type: integer
default: 3650
- name: ssl.cert_required
type: boolean
default: False
- name: signing.cert_subject
type: string
default: '/CUS/STUnset/LUnset/OUnset/CNwww.example.com'
- name: signing.token_format
type: string
default: ''
help: 'Deprecated in favor of provider in the [token] section Allowed values are PKI or UUID'
- name: ldap.url
type: string
default: 'ldap://localhost'
- name: ldap.user
type: string
default: 'dcManager,dcexample,dccom'
- name: auth.password
type: string
default: 'keystone_2013_1_4.auth.plugins.password.Password'
- name: ldap.suffix
type: string
default: 'cnexample,cncom'
- name: ldap.use_dumb_member
type: boolean
default: False
- name: ldap.allow_subtree_delete
type: boolean
default: False
- name: ldap.dumb_member
type: string
default: 'cndumb,dcexample,dccom'
- name: ldap.page_size
type: integer
default: 0
help: "Maximum results per page; a value of zero ('0') disables paging (default)"
- name: ldap.alias_dereferencing
type: string
default: 'default'
help: "The LDAP dereferencing option for queries. This can be either 'never', 'searching', 'always', 'finding' or 'default'. The 'default' option falls back to using default dereferencing configured by your ldap.conf."
- name: ldap.query_scope
type: string
default: 'one'
help: "The LDAP scope for queries, this can be either 'one' (onelevel/singleLevel) or 'sub' (subtree/wholeSubtree)"
- name: ldap.user_tree_dn
type: string
default: 'ouUsers,dcexample,dccom'
- name: ldap.user_filter
type: string
default: ''
- name: ldap.user_objectclass
type: string
default: 'inetOrgPerson'
- name: ldap.user_domain_id_attribute
type: string
default: 'businessCategory'
- name: ldap.user_id_attribute
type: string
default: 'cn'
- name: ldap.user_name_attribute
type: string
default: 'sn'
- name: ldap.user_mail_attribute
type: string
default: 'email'
- name: ldap.user_pass_attribute
type: string
default: 'userPassword'
- name: ldap.user_enabled_attribute
type: string
default: 'enabled'
- name: ldap.user_enabled_mask
type: integer
default: 0
- name: ldap.user_enabled_default
type: boolean
default: True
- name: ldap.user_attribute_ignore
type: string
default: 'tenant_id,tenants'
- name: ldap.user_allow_create
type: boolean
default: True
- name: ldap.user_allow_update
type: boolean
default: True
- name: ldap.user_allow_delete
type: boolean
default: True
- name: ldap.user_enabled_emulation
type: boolean
default: False
- name: ldap.user_enabled_emulation_dn
type: string
default: ''
- name: ldap.tenant_tree_dn
type: string
default: 'ouProjects,dcexample,dccom'
- name: ldap.tenant_filter
type: string
default: ''
- name: ldap.tenant_objectclass
type: string
default: 'groupOfNames'
- name: ldap.tenant_domain_id_attribute
type: string
default: 'businessCategory'
- name: ldap.tenant_id_attribute
type: string
default: 'cn'
- name: ldap.tenant_member_attribute
type: string
default: 'member'
- name: ldap.tenant_name_attribute
type: string
default: 'ou'
- name: ldap.tenant_desc_attribute
type: string
default: 'desc'
- name: ldap.tenant_enabled_attribute
type: string
default: 'enabled'
- name: ldap.tenant_attribute_ignore
type: string
default: ''
- name: ldap.tenant_allow_create
type: boolean
default: True
- name: ldap.tenant_allow_update
type: boolean
default: True
- name: ldap.tenant_allow_delete
type: boolean
default: True
- name: ldap.tenant_enabled_emulation
type: boolean
default: False
- name: ldap.tenant_enabled_emulation_dn
type: string
default: ''
- name: ldap.role_tree_dn
type: string
default: 'ouRoles,dcexample,dccom'
- name: ldap.role_filter
type: string
default: ''
- name: ldap.role_objectclass
type: string
default: 'organizationalRole'
- name: ldap.role_id_attribute
type: string
default: 'cn'
- name: ldap.role_name_attribute
type: string
default: 'ou'
- name: ldap.role_member_attribute
type: string
default: 'roleOccupant'
- name: ldap.role_attribute_ignore
type: string
default: ''
- name: ldap.role_allow_create
type: boolean
default: True
- name: ldap.role_allow_update
type: boolean
default: True
- name: ldap.role_allow_delete
type: boolean
default: True
- name: ldap.group_tree_dn
type: string
default: ''
- name: ldap.group_filter
type: string
default: ''
- name: ldap.group_objectclass
type: string
default: 'groupOfNames'
- name: ldap.group_id_attribute
type: string
default: 'cn'
- name: ldap.group_name_attribute
type: string
default: 'ou'
- name: ldap.group_member_attribute
type: string
default: 'member'
- name: ldap.group_desc_attribute
type: string
default: 'desc'
- name: ldap.group_attribute_ignore
type: string
default: ''
- name: ldap.group_allow_create
type: boolean
default: True
- name: ldap.group_allow_update
type: boolean
default: True
- name: ldap.group_allow_delete
type: boolean
default: True
- name: ldap.use_tls
type: boolean
default: False
help: 'ldap TLS options if both tls_cacertfile and tls_cacertdir are set then tls_cacertfile will be used and tls_cacertdir is ignored valid options for tls_req_cert are demand, never, and allow'
- name: ldap.tls_cacertfile
type: string
default: ''
- name: ldap.tls_cacertdir
type: string
default: ''
- name: ldap.tls_req_cert
type: string
default: 'demand'
- name: ldap.user_additional_attribute_mapping
type: string
default: ''
- name: ldap.domain_additional_attribute_mapping
type: string
default: ''
- name: ldap.group_additional_attribute_mapping
type: string
default: ''
- name: ldap.role_additional_attribute_mapping
type: string
default: ''
- name: ldap.project_additional_attribute_mapping
type: string
default: ''
- name: auth.methods
type: string
default: 'external,password,token,oauth1'
- name: auth.external
type: string
default: 'keystone_2013_1_4.auth.plugins.external.ExternalDefault'
- name: auth.token
type: string
default: 'keystone_2013_1_4.auth.plugins.token.Token'
- name: auth.oauth1
type: string
default: 'keystone_2013_1_4.auth.plugins.oauth1.OAuth'
- name: paste_deploy.config_file
type: string
default: 'keystone-paste.ini'
help: 'Name of the paste configuration file that defines the available pipelines'

View File

@ -0,0 +1,666 @@
project: keystone
version: '2013.2.0'
parameters:
- name: admin_token
type: string
default: 'ADMIN'
help: "A 'shared secret' between keystone and other openstack services"
- name: bind_host
type: host
default: '0.0.0.0'
help: 'The IP address of the network interface to listen on'
- name: public_port
type: port
default: 5000
help: 'The port number which the public service listens on'
- name: admin_port
type: port
default: 35357
help: 'The port number which the public admin listens on'
- name: public_endpoint
type: string
default: 'http://localhost:%(public_port)s/'
help: 'The base endpoint URLs for keystone that are advertised to clients (NOTE: this does NOT affect how keystone listens for connections)'
- name: admin_endpoint
type: string
default: 'http://localhost:%(admin_port)s/'
help: 'The base endpoint URLs for keystone that are advertised to clients (NOTE: this does NOT affect how keystone listens for connections)'
- name: compute_port
type: port
default: 8774
help: 'The port number which the OpenStack Compute service listens on'
- name: policy_file
type: string
default: 'policy.json'
help: 'Path to your policy definition containing identity actions'
- name: policy_default_rule
type: string
default: 'admin_required'
help: 'Rule to check if no matching policy definition is found FIXME(dolph): This should really be defined as [policy] default_rule'
- name: member_role_id
type: string
default: '9fe2ff9ee4384b1894a90878d3e92bab'
help: 'Role for migrating membership relationships During a SQL upgrade, the following values will be used to create a new role that will replace records in the user_tenant_membership table with explicit role grants. After migration, the member_role_id will be used in the API add_user_to_project, and member_role_name will be ignored.'
- name: member_role_name
type: string
default: '_member_'
help: 'Role for migrating membership relationships During a SQL upgrade, the following values will be used to create a new role that will replace records in the user_tenant_membership table with explicit role grants. After migration, the member_role_id will be used in the API add_user_to_project, and member_role_name will be ignored.'
- name: max_request_body_size
type: string
default: '114688'
help: 'enforced by optional sizelimit middleware (keystone.middleware:RequestBodySizeLimiter)'
- name: max_param_size
type: string
default: '64'
help: 'limit the sizes of user & tenant ID/names'
- name: max_token_size
type: string
default: '8192'
help: 'similar to max_param_size, but provides an exception for token values'
- name: debug
type: string
default: 'False'
help: '=== Logging Options === Print debugging output (includes plaintext request logging, potentially including passwords)'
- name: verbose
type: string
default: 'False'
help: 'Print more verbose output'
- name: log_file
type: string
default: 'keystone.log'
help: 'Name of log file to output to. If not set, logging will go to stdout.'
- name: log_dir
type: string
default: '/var/log/keystone'
help: 'The directory to keep log files in (will be prepended to --logfile)'
- name: use_syslog
type: string
default: 'False'
help: 'Use syslog for logging.'
- name: syslog_log_facility
type: string
default: 'LOG_USER'
help: 'syslog facility to receive log lines'
- name: log_config
type: string
default: 'logging.conf'
help: '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.'
- name: log_format
type: string
default: '%(asctime)s %(levelname)8s [%(name)s] %(message)s'
help: 'A logging.Formatter log message format string which may use any of the available logging.LogRecord attributes.'
- name: log_date_format
type: string
default: '%Y-%m-%d %H:%M:%S'
help: 'Format string for %(asctime)s in log records.'
- name: onready
type: string
default: 'keystone.common.systemd'
help: 'onready allows you to send a notification when the process is ready to serve For example, to have it notify using systemd, one could set shell command: onready = systemd-notify --ready or a module with notify() method:'
- name: default_notification_level
type: string
default: 'INFO'
help: 'Default notification level for outgoing notifications'
- name: default_publisher_id
type: string
default: ''
help: 'Default publisher_id for outgoing notifications; included in the payload.'
- name: rpc_backend
type: string
default: 'keystone.openstack.common.rpc.impl_kombu'
help: 'The messaging module to use, defaults to kombu.'
- name: rpc_thread_pool_size
type: string
default: '64'
help: 'Size of RPC thread pool'
- name: rpc_conn_pool_size
type: string
default: '30'
help: 'Size of RPC connection pool'
- name: rpc_response_timeout
type: string
default: '60'
help: 'Seconds to wait for a response from call or multicall'
- name: rpc_cast_timeout
type: string
default: '30'
help: 'Seconds to wait before a cast expires (TTL). Only supported by impl_zmq.'
- name: fake_rabbit
type: string
default: 'False'
help: 'If True, use a fake RabbitMQ provider'
- name: control_exchange
type: string
default: 'openstack'
help: 'AMQP exchange to connect to if using RabbitMQ or Qpid'
- name: sql.connection
type: string
default: 'sqlite:///keystone.db'
help: 'The SQLAlchemy connection string used to connect to the database'
- name: sql.idle_timeout
type: string
default: '200'
help: 'the timeout before idle sql connections are reaped'
- name: oauth1.driver
type: string
default: 'keystone.contrib.oauth1.backends.sql.OAuth1'
- name: identity.default_domain_id
type: string
default: 'default'
help: 'This references the domain to use for all Identity API v2 requests (which are not aware of domains). A domain with this ID will be created for you by keystone-manage db_sync in migration 008. The domain referenced by this ID cannot be deleted on the v3 API, to prevent accidentally breaking the v2 API. There is nothing special about this domain, other than the fact that it must exist to order to maintain support for your v2 clients.'
- name: identity.domain_specific_drivers_enabled
type: string
default: 'False'
help: 'A subset (or all) of domains can have their own identity driver, each with their own partial configuration file in a domain configuration directory. Only values specific to the domain need to be placed in the domain specific configuration file. This feature is disabled by default; set domain_specific_drivers_enabled to True to enable.'
- name: identity.domain_config_dir
type: string
default: '/etc/keystone/domains'
help: 'A subset (or all) of domains can have their own identity driver, each with their own partial configuration file in a domain configuration directory. Only values specific to the domain need to be placed in the domain specific configuration file. This feature is disabled by default; set domain_specific_drivers_enabled to True to enable.'
- name: identity.max_password_length
type: string
default: '4096'
help: 'Maximum supported length for user passwords; decrease to improve performance.'
- name: cache.enabled
type: string
default: 'False'
help: 'Global cache functionality toggle.'
- name: catalog.template_file
type: string
default: 'default_catalog.templates'
- name: endpoint_filter.return_all_endpoints_if_no_filter
type: string
default: 'True'
help: 'extension for creating associations between project and endpoints in order to provide a tailored catalog for project-scoped token requests.'
- name: token.provider
type: string
default: ''
help: 'Controls the token construction, validation, and revocation operations. Core providers are keystone.token.providers.[pki|uuid].Provider'
- name: token.expiration
type: string
default: '86400'
help: 'Amount of time a token should remain valid (in seconds)'
- name: token.bind
type: string
default: ''
help: 'External auth mechanisms that should add bind information to token. eg kerberos, x509'
- name: token.enforce_token_bind
type: string
default: 'permissive'
help: 'Enforcement policy on tokens presented to keystone with bind information. One of disabled, permissive, strict, required or a specifically required bind mode e.g. kerberos or x509 to require binding to that authentication.'
- name: assignment.caching
type: string
default: 'True'
help: 'Assignment specific caching toggle. This has no effect unless the global caching option is set to True'
- name: assignment.cache_time
type: string
default: ''
help: 'Assignment specific cache time-to-live (TTL) in seconds.'
- name: token.revocation_cache_time
type: string
default: '3600'
help: 'Revocation-List specific cache time-to-live (TTL) in seconds.'
- name: cache.config_prefix
type: string
default: 'cache.keystone'
help: 'Prefix for building the configuration dictionary for the cache region. This should not need to be changed unless there is another dogpile.cache region with the same configuration name'
- name: cache.backend
type: string
default: 'keystone.common.cache.noop'
help: 'Dogpile.cache backend module. It is recommended that Memcache (dogpile.cache.memcache) or Redis (dogpile.cache.redis) be used in production deployments. Small workloads (single process) like devstack can use the dogpile.cache.memory backend.'
- name: cache.backend_argument
type: string
default: ''
help: 'Arguments supplied to the backend module. Specify this option once per argument to be passed to the dogpile.cache backend. Example format: <argname>:<value>'
- name: cache.proxies
type: string
default: ''
help: 'Proxy Classes to import that will affect the way the dogpile.cache backend functions. See the dogpile.cache documentation on changing-backend-behavior. Comma delimited list e.g. my.dogpile.proxy.Class, my.dogpile.proxyClass2'
- name: cache.use_key_mangler
type: string
default: 'True'
help: 'Use a key-mangling function (sha1) to ensure fixed length cache-keys. This is toggle-able for debugging purposes, it is highly recommended to always leave this set to True.'
- name: cache.debug_cache_backend
type: string
default: 'False'
help: 'Extra debugging from the cache backend (cache keys, get/set/delete/etc calls) This is only really useful if you need to see the specific cache-backend get/set/delete calls with the keys/values. Typically this should be left set to False.'
- name: oauth1.request_token_duration
type: string
default: '28800'
help: 'The Identity service may include expire attributes. If no such attribute is included, then the token lasts indefinitely. Specify how quickly the request token will expire (in seconds)'
- name: oauth1.access_token_duration
type: string
default: '86400'
help: 'The Identity service may include expire attributes. If no such attribute is included, then the token lasts indefinitely. Specify how quickly the request token will expire (in seconds) Specify how quickly the access token will expire (in seconds)'
- name: ssl.enable
type: string
default: 'True'
- name: signing.certfile
type: string
default: '/etc/keystone/pki/certs/signing_cert.pem'
- name: signing.keyfile
type: string
default: '/etc/keystone/pki/private/signing_key.pem'
- name: signing.ca_certs
type: string
default: '/etc/keystone/pki/certs/cacert.pem'
- name: signing.ca_key
type: string
default: '/etc/keystone/pki/private/cakey.pem'
- name: signing.key_size
type: string
default: '2048'
- name: signing.valid_days
type: string
default: '3650'
- name: ssl.cert_required
type: string
default: 'False'
- name: signing.cert_subject
type: string
default: '/C=US/ST=Unset/L=Unset/O=Unset/CN=www.example.com'
- name: signing.token_format
type: string
default: ''
help: 'Deprecated in favor of provider in the [token] section Allowed values are PKI or UUID'
- name: ldap.url
type: string
default: 'ldap://localhost'
- name: ldap.user
type: string
default: 'dcManager,dcexample,dccom'
- name: auth.password
type: string
default: 'keystone.auth.plugins.password.Password'
- name: ldap.suffix
type: string
default: 'cnexample,cncom'
- name: ldap.use_dumb_member
type: boolean
default: False
- name: ldap.allow_subtree_delete
type: boolean
default: False
- name: ldap.dumb_member
type: string
default: 'cndumb,dcexample,dccom'
- name: ldap.page_size
type: integer
default: 0
help: "Maximum results per page; a value of zero ('0') disables paging (default)"
- name: ldap.alias_dereferencing
type: string
default: 'default'
help: "The LDAP dereferencing option for queries. This can be either 'never', 'searching', 'always', 'finding' or 'default'. The 'default' option falls back to using default dereferencing configured by your ldap.conf."
- name: ldap.query_scope
type: string
default: 'one'
help: "The LDAP scope for queries, this can be either 'one' (onelevel/singleLevel) or 'sub' (subtree/wholeSubtree)"
- name: ldap.user_tree_dn
type: string
default: 'ouUsers,dcexample,dccom'
- name: ldap.user_filter
type: string
default: ''
- name: ldap.user_objectclass
type: string
default: 'inetOrgPerson'
- name: ldap.user_domain_id_attribute
type: string
default: 'businessCategory'
- name: ldap.user_id_attribute
type: string
default: 'cn'
- name: ldap.user_name_attribute
type: string
default: 'sn'
- name: ldap.user_mail_attribute
type: string
default: 'email'
- name: ldap.user_pass_attribute
type: string
default: 'userPassword'
- name: ldap.user_enabled_attribute
type: string
default: 'enabled'
- name: ldap.user_enabled_mask
type: integer
default: 0
- name: ldap.user_enabled_default
type: boolean
default: True
- name: ldap.user_attribute_ignore
type: string
default: 'tenant_id,tenants'
- name: ldap.user_allow_create
type: boolean
default: True
- name: ldap.user_allow_update
type: boolean
default: True
- name: ldap.user_allow_delete
type: boolean
default: True
- name: ldap.user_enabled_emulation
type: boolean
default: False
- name: ldap.user_enabled_emulation_dn
type: string
default: ''
- name: ldap.tenant_tree_dn
type: string
default: 'ouProjects,dcexample,dccom'
- name: ldap.tenant_filter
type: string
default: ''
- name: ldap.tenant_objectclass
type: string
default: 'groupOfNames'
- name: ldap.tenant_domain_id_attribute
type: string
default: 'businessCategory'
- name: ldap.tenant_id_attribute
type: string
default: 'cn'
- name: ldap.tenant_member_attribute
type: string
default: 'member'
- name: ldap.tenant_name_attribute
type: string
default: 'ou'
- name: ldap.tenant_desc_attribute
type: string
default: 'desc'
- name: ldap.tenant_enabled_attribute
type: string
default: 'enabled'
- name: ldap.tenant_attribute_ignore
type: string
default: ''
- name: ldap.tenant_allow_create
type: boolean
default: True
- name: ldap.tenant_allow_update
type: boolean
default: True
- name: ldap.tenant_allow_delete
type: boolean
default: True
- name: ldap.tenant_enabled_emulation
type: boolean
default: False
- name: ldap.tenant_enabled_emulation_dn
type: string
default: ''
- name: ldap.role_tree_dn
type: string
default: 'ouRoles,dcexample,dccom'
- name: ldap.role_filter
type: string
default: ''
- name: ldap.role_objectclass
type: string
default: 'organizationalRole'
- name: ldap.role_id_attribute
type: string
default: 'cn'
- name: ldap.role_name_attribute
type: string
default: 'ou'
- name: ldap.role_member_attribute
type: string
default: 'roleOccupant'
- name: ldap.role_attribute_ignore
type: string
default: ''
- name: ldap.role_allow_create
type: boolean
default: True
- name: ldap.role_allow_update
type: boolean
default: True
- name: ldap.role_allow_delete
type: boolean
default: True
- name: ldap.group_tree_dn
type: string
default: ''
- name: ldap.group_filter
type: string
default: ''
- name: ldap.group_objectclass
type: string
default: 'groupOfNames'
- name: ldap.group_id_attribute
type: string
default: 'cn'
- name: ldap.group_name_attribute
type: string
default: 'ou'
- name: ldap.group_member_attribute
type: string
default: 'member'
- name: ldap.group_desc_attribute
type: string
default: 'desc'
- name: ldap.group_attribute_ignore
type: string
default: ''
- name: ldap.group_allow_create
type: boolean
default: True
- name: ldap.group_allow_update
type: boolean
default: True
- name: ldap.group_allow_delete
type: boolean
default: True
- name: ldap.use_tls
type: boolean
default: False
help: 'ldap TLS options if both tls_cacertfile and tls_cacertdir are set then tls_cacertfile will be used and tls_cacertdir is ignored valid options for tls_req_cert are demand, never, and allow'
- name: ldap.tls_cacertfile
type: string
default: ''
- name: ldap.tls_cacertdir
type: string
default: ''
- name: ldap.tls_req_cert
type: string
default: 'demand'
- name: ldap.user_additional_attribute_mapping
type: string
default: ''
- name: ldap.domain_additional_attribute_mapping
type: string
default: ''
- name: ldap.group_additional_attribute_mapping
type: string
default: ''
- name: ldap.role_additional_attribute_mapping
type: string
default: ''
- name: ldap.project_additional_attribute_mapping
type: string
default: ''
- name: auth.methods
type: string
default: 'external,password,token,oauth1'
- name: auth.external
type: string
default: 'keystone.auth.plugins.external.ExternalDefault'
- name: auth.token
type: string
default: 'keystone.auth.plugins.token.Token'
- name: auth.oauth1
type: string
default: 'keystone.auth.plugins.oauth1.OAuth'
- name: paste_deploy.config_file
type: string
default: 'keystone-paste.ini'
help: 'Name of the paste configuration file that defines the available pipelines'
- name: notification_driver
type: string
default: 'keystone.openstack.common.notifier.rpc_notifier'
help: 'notification_driver can be defined multiple times Do nothing driver (the default) notification_driver = keystone.openstack.common.notifier.no_op_notifier Logging driver example (not enabled by default) notification_driver = keystone.openstack.common.notifier.log_notifier RPC driver example (not enabled by default)'
- name: notification_topics
type: string
default: 'notifications'
help: 'AMQP topics to publish to when using the RPC notification driver. Multiple values can be specified by separating with commas. The actual topic names will be %s.%(default_notification_level)s'
- name: allowed_rpc_exception_modules
type: string
default: 'keystone.openstack.common.exception,nova.exception,cinder.exception,exceptions'
help: 'Modules of exceptions that are permitted to be recreated upon receiving exception data from an rpc call.'
- name: cache.expiration_time
type: string
default: '600'
help: "Default TTL, in seconds, for any cached item in the dogpile.cache region. This applies to any cached method that doesn't have an explicit cache expiration time defined for it."

View File

@ -0,0 +1,84 @@
project: neutron_dhcp_agent
version: '2013.2.1'
parameters:
- name: debug
type: string
default: 'False'
help: 'Show debugging output in log (sets DEBUG log level output)'
- name: resync_interval
type: string
default: '5'
help: 'The DHCP agent will resync its state with Neutron to recover from any transient notification or rpc errors. The interval is number of seconds between attempts.'
- name: interface_driver
type: string
default: 'neutron.agent.linux.interface.BridgeInterfaceDriver'
help: 'Example of interface_driver option for LinuxBridge'
- name: ovs_use_veth
type: string
default: 'False'
help: 'Use veth for an OVS interface or not. Support kernels with limited namespace support (e.g. RHEL 6.5) so long as ovs_use_veth is set to True.'
- name: dhcp_driver
type: string
default: 'neutron.agent.linux.dhcp.Dnsmasq'
help: 'The agent can use other DHCP drivers. Dnsmasq is the simplest and requires no additional setup of the DHCP server.'
- name: use_namespaces
type: string
default: 'True'
help: 'Allow overlapping IP (Must have kernel build with CONFIG_NET_NS=y and iproute2 package that supports namespaces).'
- name: enable_isolated_metadata
type: string
default: 'False'
help: 'The DHCP server can assist with providing metadata support on isolated networks. Setting this value to True will cause the DHCP server to append specific host routes to the DHCP request. The metadata service will only be activated when the subnet gateway_ip is None. The guest instance must be configured to request host routes via DHCP (Option 121).'
- name: enable_metadata_network
type: string
default: 'False'
help: 'Allows for serving metadata requests coming from a dedicated metadata access network whose cidr is 169.254.169.254/16 (or larger prefix), and is connected to a Neutron router from which the VMs send metadata request. In this case DHCP Option 121 will not be injected in VMs, as they will be able to reach 169.254.169.254 through a router. This option requires enable_isolated_metadata = True'
- name: num_sync_threads
type: string
default: '4'
help: 'Number of threads to use during sync process. Should not exceed connection pool size configured on server.'
- name: dhcp_confs
type: string
default: '$state_path/dhcp'
help: 'Location to store DHCP server config files'
- name: dhcp_domain
type: string
default: 'openstacklocal'
help: 'Domain to use for building the hostnames'
- name: dnsmasq_config_file
type: string
default: ''
help: 'Override the default dnsmasq settings with this file'
- name: dnsmasq_dns_server
type: string
default: ''
help: 'Use another DNS server before any in /etc/resolv.conf.'
- name: dnsmasq_lease_max
type: string
default: '16777216'
help: 'Limit number of leases to prevent a denial-of-service.'
- name: dhcp_lease_relay_socket
type: string
default: '$state_path/dhcp/lease_relay'
help: 'Location to DHCP lease relay UNIX domain socket'
- name: metadata_proxy_socket
type: string
default: '$state_path/metadata_proxy'
help: 'Location of Metadata Proxy UNIX domain socket'

View File

@ -1,71 +0,0 @@
from rubick.schema import ConfigSchemaRegistry
neutron_dhcp_agent = ConfigSchemaRegistry.register_schema(
project='neutron_dhcp_agent')
with neutron_dhcp_agent.version('2013.2.1') as neutron_dhcp_agent_2013_2_1:
neutron_dhcp_agent_2013_2_1.section('DEFAULT')
neutron_dhcp_agent_2013_2_1.param('debug', type='string', default='False',
description="Show debugging output in log (sets DEBUG log level output)")
neutron_dhcp_agent_2013_2_1.param(
'resync_interval', type='string', default='5',
description="The DHCP agent will resync its state with Neutron to recover from any transient notification or rpc errors. The interval is number of seconds between attempts.")
neutron_dhcp_agent_2013_2_1.param(
'interface_driver', type='string', default='',
description="The DHCP agent requires an interface driver be set. Choose the one that best matches your plugin.")
neutron_dhcp_agent_2013_2_1.param(
'interface_driver', type='string', default='neutron.agent.linux.interface.OVSInterfaceDriver',
description="Example of interface_driver option for OVS based plugins(OVS, Ryu, NEC, NVP, BigSwitch/Floodlight)")
neutron_dhcp_agent_2013_2_1.param(
'ovs_use_veth', type='string', default='False',
description="Use veth for an OVS interface or not. Support kernels with limited namespace support (e.g. RHEL 6.5) so long as ovs_use_veth is set to True.")
neutron_dhcp_agent_2013_2_1.param(
'interface_driver', type='string', default='neutron.agent.linux.interface.BridgeInterfaceDriver', description="Example of interface_driver option for LinuxBridge")
neutron_dhcp_agent_2013_2_1.param(
'dhcp_driver', type='string', default='neutron.agent.linux.dhcp.Dnsmasq',
description="The agent can use other DHCP drivers. Dnsmasq is the simplest and requires no additional setup of the DHCP server.")
neutron_dhcp_agent_2013_2_1.param(
'use_namespaces', type='string', default='True',
description="Allow overlapping IP (Must have kernel build with CONFIG_NET_NS=y and iproute2 package that supports namespaces).")
neutron_dhcp_agent_2013_2_1.param(
'enable_isolated_metadata', type='string', default='False',
description="The DHCP server can assist with providing metadata support on isolated networks. Setting this value to True will cause the DHCP server to append specific host routes to the DHCP request. The metadata service will only be activated when the subnet gateway_ip is None. The guest instance must be configured to request host routes via DHCP (Option 121).")
neutron_dhcp_agent_2013_2_1.param(
'enable_metadata_network', type='string', default='False',
description="Allows for serving metadata requests coming from a dedicated metadata access network whose cidr is 169.254.169.254/16 (or larger prefix), and is connected to a Neutron router from which the VMs send metadata request. In this case DHCP Option 121 will not be injected in VMs, as they will be able to reach 169.254.169.254 through a router. This option requires enable_isolated_metadata = True")
neutron_dhcp_agent_2013_2_1.param(
'num_sync_threads', type='string', default='4',
description="Number of threads to use during sync process. Should not exceed connection pool size configured on server.")
neutron_dhcp_agent_2013_2_1.param(
'dhcp_confs', type='string', default='$state_path/dhcp', description="Location to store DHCP server config files")
neutron_dhcp_agent_2013_2_1.param(
'dhcp_domain', type='string', default='openstacklocal', description="Domain to use for building the hostnames")
neutron_dhcp_agent_2013_2_1.param('dnsmasq_config_file', type='string',
default='', description="Override the default dnsmasq settings with this file")
neutron_dhcp_agent_2013_2_1.param(
'dnsmasq_dns_server', type='string', default='', description="Use another DNS server before any in /etc/resolv.conf.")
neutron_dhcp_agent_2013_2_1.param(
'dnsmasq_lease_max', type='string', default='16777216', description="Limit number of leases to prevent a denial-of-service.")
neutron_dhcp_agent_2013_2_1.param('dhcp_lease_relay_socket', type='string',
default='$state_path/dhcp/lease_relay', description="Location to DHCP lease relay UNIX domain socket")
neutron_dhcp_agent_2013_2_1.param('metadata_proxy_socket', type='string',
default='$state_path/metadata_proxy', description="Location of Metadata Proxy UNIX domain socket")

View File

@ -0,0 +1,74 @@
project: neutron_l3_agent
version: '2013.2.1'
parameters:
- name: debug
type: string
default: 'False'
help: 'Show debugging output in log (sets DEBUG log level output)'
- name: interface_driver
type: string
default: 'neutron.agent.linux.interface.BridgeInterfaceDriver'
help: 'Example of interface_driver option for LinuxBridge'
- name: ovs_use_veth
type: string
default: 'False'
help: 'Use veth for an OVS interface or not. Support kernels with limited namespace support (e.g. RHEL 6.5) so long as ovs_use_veth is set to True.'
- name: use_namespaces
type: string
default: 'True'
help: 'Allow overlapping IP (Must have kernel build with CONFIG_NET_NS=y and iproute2 package that supports namespaces).'
- name: router_id
type: string
default: ''
help: 'This is done by setting the specific router_id.'
- name: gateway_external_network_id
type: string
default: ''
help: 'Each L3 agent can be associated with at most one external network. This value should be set to the UUID of that external network. If empty, the agent will enforce that only a single external networks exists and use that external network id'
- name: handle_internal_only_routers
type: string
default: 'True'
help: 'Indicates that this L3 agent should also handle routers that do not have an external network gateway configured. This option should be True only for a single agent in a Neutron deployment, and may be False for all agents if all routers must have an external network gateway'
- name: external_network_bridge
type: string
default: 'br-ex'
help: 'Name of bridge used for external network traffic. This should be set to empty value for the linux bridge'
- name: metadata_port
type: string
default: '9697'
help: 'TCP Port used by Neutron metadata server'
- name: send_arp_for_ha
type: string
default: '3'
help: 'Send this many gratuitous ARPs for HA setup. Set it below or equal to 0 to disable this feature.'
- name: periodic_interval
type: string
default: '40'
help: "seconds between re-sync routers' data if needed"
- name: periodic_fuzzy_delay
type: string
default: '5'
help: "seconds to start to sync routers' data after starting agent"
- name: enable_metadata_proxy
type: string
default: 'True'
help: 'enable_metadata_proxy, which is true by default, can be set to False if the Nova metadata server is not available'
- name: metadata_proxy_socket
type: string
default: '$state_path/metadata_proxy'
help: 'Location of Metadata Proxy UNIX domain socket'

View File

@ -1,66 +0,0 @@
from rubick.schema import ConfigSchemaRegistry
neutron_l3_agent = ConfigSchemaRegistry.register_schema(
project='neutron_l3_agent')
with neutron_l3_agent.version('2013.2.1') as neutron_l3_agent_2013_2_1:
neutron_l3_agent_2013_2_1.section('DEFAULT')
neutron_l3_agent_2013_2_1.param('debug', type='string', default='False',
description="Show debugging output in log (sets DEBUG log level output)")
neutron_l3_agent_2013_2_1.param(
'interface_driver', type='string', default='',
description="L3 requires that an interface driver be set. Choose the one that best matches your plugin.")
neutron_l3_agent_2013_2_1.param(
'interface_driver', type='string', default='neutron.agent.linux.interface.OVSInterfaceDriver',
description="Example of interface_driver option for OVS based plugins (OVS, Ryu, NEC) that supports L3 agent")
neutron_l3_agent_2013_2_1.param(
'ovs_use_veth', type='string', default='False',
description="Use veth for an OVS interface or not. Support kernels with limited namespace support (e.g. RHEL 6.5) so long as ovs_use_veth is set to True.")
neutron_l3_agent_2013_2_1.param(
'interface_driver', type='string', default='neutron.agent.linux.interface.BridgeInterfaceDriver', description="Example of interface_driver option for LinuxBridge")
neutron_l3_agent_2013_2_1.param(
'use_namespaces', type='string', default='True',
description="Allow overlapping IP (Must have kernel build with CONFIG_NET_NS=y and iproute2 package that supports namespaces).")
neutron_l3_agent_2013_2_1.param(
'router_id', type='string', default='', description="This is done by setting the specific router_id.")
neutron_l3_agent_2013_2_1.param(
'gateway_external_network_id', type='string', default='',
description="Each L3 agent can be associated with at most one external network. This value should be set to the UUID of that external network. If empty, the agent will enforce that only a single external networks exists and use that external network id")
neutron_l3_agent_2013_2_1.param(
'handle_internal_only_routers', type='string', default='True',
description="Indicates that this L3 agent should also handle routers that do not have an external network gateway configured. This option should be True only for a single agent in a Neutron deployment, and may be False for all agents if all routers must have an external network gateway")
neutron_l3_agent_2013_2_1.param(
'external_network_bridge', type='string', default='br-ex',
description="Name of bridge used for external network traffic. This should be set to empty value for the linux bridge")
neutron_l3_agent_2013_2_1.param(
'metadata_port', type='string', default='9697', description="TCP Port used by Neutron metadata server")
neutron_l3_agent_2013_2_1.param(
'send_arp_for_ha', type='string', default='3',
description="Send this many gratuitous ARPs for HA setup. Set it below or equal to 0 to disable this feature.")
neutron_l3_agent_2013_2_1.param(
'periodic_interval', type='string', default='40', description="seconds between re-sync routers' data if needed")
neutron_l3_agent_2013_2_1.param(
'periodic_fuzzy_delay', type='string', default='5',
description="seconds to start to sync routers' data after starting agent")
neutron_l3_agent_2013_2_1.param(
'enable_metadata_proxy', type='string', default='True',
description="enable_metadata_proxy, which is true by default, can be set to False if the Nova metadata server is not available")
neutron_l3_agent_2013_2_1.param('metadata_proxy_socket', type='string',
default='$state_path/metadata_proxy', description="Location of Metadata Proxy UNIX domain socket")

View File

@ -0,0 +1,59 @@
project: neutron_metadata_agent
version: '2013.2.1'
parameters:
- name: debug
type: string
default: 'True'
help: 'Show debugging output in log (sets DEBUG log level output)'
- name: auth_url
type: string
default: 'http://localhost:5000/v2.0'
help: 'The Neutron user information for accessing the Neutron API.'
- name: auth_region
type: string
default: 'RegionOne'
help: 'The Neutron user information for accessing the Neutron API.'
- name: admin_tenant_name
type: string
default: '%SERVICE_TENANT_NAME%'
help: 'The Neutron user information for accessing the Neutron API.'
- name: admin_user
type: string
default: '%SERVICE_USER%'
help: 'The Neutron user information for accessing the Neutron API.'
- name: admin_password
type: string
default: '%SERVICE_PASSWORD%'
help: 'The Neutron user information for accessing the Neutron API.'
- name: endpoint_type
type: string
default: 'adminURL'
help: 'Network service endpoint type to pull from the keystone catalog'
- name: nova_metadata_ip
type: string
default: '127.0.0.1'
help: 'IP address used by Nova metadata server'
- name: nova_metadata_port
type: string
default: '8775'
help: 'TCP Port used by Nova metadata server'
- name: metadata_proxy_shared_secret
type: string
default: ''
help: 'When proxying metadata requests, Neutron signs the Instance-ID header with a shared secret to prevent spoofing. You may select any string for a secret, but it must match here and in the configuration used by the Nova Metadata Server. NOTE: Nova uses a different key: neutron_metadata_proxy_shared_secret'
- name: metadata_proxy_socket
type: string
default: '$state_path/metadata_proxy'
help: 'Location of Metadata Proxy UNIX domain socket'

View File

@ -1,42 +0,0 @@
from rubick.schema import ConfigSchemaRegistry
neutron_metadata_agent = ConfigSchemaRegistry.register_schema(
project='neutron_metadata_agent')
with neutron_metadata_agent.version('2013.2.1') as neutron_metadata_agent_2013_2_1:
neutron_metadata_agent_2013_2_1.section('DEFAULT')
neutron_metadata_agent_2013_2_1.param(
'debug', type='string', default='True', description="Show debugging output in log (sets DEBUG log level output)")
neutron_metadata_agent_2013_2_1.param(
'auth_url', type='string', default='http://localhost:5000/v2.0', description="The Neutron user information for accessing the Neutron API.")
neutron_metadata_agent_2013_2_1.param(
'auth_region', type='string', default='RegionOne', description="The Neutron user information for accessing the Neutron API.")
neutron_metadata_agent_2013_2_1.param(
'admin_tenant_name', type='string', default='%SERVICE_TENANT_NAME%', description="The Neutron user information for accessing the Neutron API.")
neutron_metadata_agent_2013_2_1.param(
'admin_user', type='string', default='%SERVICE_USER%', description="The Neutron user information for accessing the Neutron API.")
neutron_metadata_agent_2013_2_1.param(
'admin_password', type='string', default='%SERVICE_PASSWORD%', description="The Neutron user information for accessing the Neutron API.")
neutron_metadata_agent_2013_2_1.param(
'endpoint_type', type='string', default='adminURL', description="Network service endpoint type to pull from the keystone catalog")
neutron_metadata_agent_2013_2_1.param(
'nova_metadata_ip', type='string', default='127.0.0.1', description="IP address used by Nova metadata server")
neutron_metadata_agent_2013_2_1.param(
'nova_metadata_port', type='string', default='8775', description="TCP Port used by Nova metadata server")
neutron_metadata_agent_2013_2_1.param(
'metadata_proxy_shared_secret', type='string', default='',
description="When proxying metadata requests, Neutron signs the Instance-ID header with a shared secret to prevent spoofing. You may select any string for a secret, but it must match here and in the configuration used by the Nova Metadata Server. NOTE: Nova uses a different key: neutron_metadata_proxy_shared_secret")
neutron_metadata_agent_2013_2_1.param(
'metadata_proxy_socket', type='string', default='$state_path/metadata_proxy', description="Location of Metadata Proxy UNIX domain socket")

View File

@ -0,0 +1,38 @@
project: neutron_openvswitch_agent
version: '2013.2.1'
parameters:
- name: ml2.type_drivers
type: string
default: 'local,flat,vlan,gre,vxlan'
- name: ml2.tenant_network_types
type: string
default: 'local'
- name: ml2.mechanism_drivers
type: string
default: ''
help: '(ListOpt) Ordered list of networking mechanism driver entrypoints to be loaded from the neutron.ml2.mechanism_drivers namespace.'
- name: ml2_type_flat.flat_networks
type: string
default: ''
- name: ml2_type_vlan.network_vlan_ranges
type: string
default: ''
- name: ml2_type_gre.tunnel_id_ranges
type: string
default: ''
help: '(ListOpt) Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of GRE tunnel IDs that are available for tenant network allocation'
- name: ml2_type_vxlan.vni_ranges
type: string
default: ''
- name: ml2_type_vxlan.vxlan_group
type: string
default: ''

View File

@ -1,42 +0,0 @@
from rubick.schema import ConfigSchemaRegistry
neutron_openvswitch_agent = ConfigSchemaRegistry.register_schema(
project='neutron_openvswitch_agent')
with neutron_openvswitch_agent.version('2013.2.1') as neutron_openvswitch_agent_2013_2_1:
neutron_openvswitch_agent_2013_2_1.section('ml2')
neutron_openvswitch_agent_2013_2_1.param(
'type_drivers', type='string', default='local,flat,vlan,gre,vxlan')
neutron_openvswitch_agent_2013_2_1.param(
'tenant_network_types', type='string', default='local')
neutron_openvswitch_agent_2013_2_1.param(
'mechanism_drivers', type='string', default='',
description="(ListOpt) Ordered list of networking mechanism driver entrypoints to be loaded from the neutron.ml2.mechanism_drivers namespace.")
neutron_openvswitch_agent_2013_2_1.section('ml2_type_flat')
neutron_openvswitch_agent_2013_2_1.param(
'flat_networks', type='string', default='')
neutron_openvswitch_agent_2013_2_1.section('ml2_type_vlan')
neutron_openvswitch_agent_2013_2_1.param(
'network_vlan_ranges', type='string', default='')
neutron_openvswitch_agent_2013_2_1.section('ml2_type_gre')
neutron_openvswitch_agent_2013_2_1.param(
'tunnel_id_ranges', type='string', default='',
description="(ListOpt) Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of GRE tunnel IDs that are available for tenant network allocation")
neutron_openvswitch_agent_2013_2_1.section('ml2_type_vxlan')
neutron_openvswitch_agent_2013_2_1.param(
'vni_ranges', type='string', default='')
neutron_openvswitch_agent_2013_2_1.param(
'vxlan_group', type='string', default='')

View File

@ -0,0 +1,526 @@
project: neutron_server
version: '2013.2.1'
parameters:
- name: verbose
type: string
default: 'False'
help: 'Default log level is INFO verbose and debug has the same result. One of them will set DEBUG log level output'
- name: state_path
type: string
default: '/var/lib/neutron'
help: 'Where to store Neutron state files. This directory must be writable by the user executing the agent.'
- name: lock_path
type: string
default: '$state_path/lock'
help: 'Where to store lock files'
- name: log_format
type: string
default: '%(asctime)s %(levelname)8s [%(name)s] %(message)s'
- name: log_date_format
type: string
default: '%Y-%m-%d %H:%M:%S'
- name: use_syslog
type: string
default: 'False'
- name: syslog_log_facility
type: string
default: 'LOG_USER'
- name: use_stderr
type: string
default: 'True'
- name: publish_errors
type: string
default: 'False'
- name: bind_host
type: host
default: '0.0.0.0'
help: 'Address to bind the API server'
- name: bind_port
type: string
default: '9696'
help: 'Port the bind the API server to'
- name: api_extensions_path
type: string
default: ''
help: "Path to the extensions. Note that this can be a colon-separated list of paths. For example: api_extensions_path = extensions:/path/to/more/extensions:/even/more/extensions The __path__ of neutron.extensions is appended to this, so if your extensions are in there you don't need to specify them here"
- name: core_plugin
type: string
default: ''
help: 'Neutron plugin provider module'
- name: service_plugins
type: string
default: ''
help: 'Advanced service modules'
- name: api_paste_config
type: string
default: 'api-paste.ini'
help: 'Paste configuration file'
- name: auth_strategy
type: string
default: 'keystone'
help: "The strategy to be used for auth. Supported values are 'keystone'(default), 'noauth'."
- name: mac_generation_retries
type: string
default: '16'
help: 'Maximum amount of retries to generate a unique MAC address'
- name: dhcp_lease_duration
type: string
default: '86400'
help: 'DHCP Lease duration (in seconds)'
- name: dhcp_agent_notification
type: string
default: 'True'
help: 'Allow sending resource operation notification to DHCP agent'
- name: allow_bulk
type: string
default: 'True'
help: 'Enable or disable bulk create/update/delete operations'
- name: allow_pagination
type: string
default: 'False'
help: 'Enable or disable bulk create/update/delete operations Enable or disable pagination'
- name: allow_sorting
type: string
default: 'False'
help: 'Enable or disable bulk create/update/delete operations Enable or disable pagination Enable or disable sorting'
- name: allow_overlapping_ips
type: string
default: 'False'
help: 'Enable or disable bulk create/update/delete operations Enable or disable pagination Enable or disable sorting Enable or disable overlapping IPs for subnets Attention: the following parameter MUST be set to False if Neutron is being used in conjunction with nova security groups'
- name: force_gateway_on_subnet
type: string
default: 'False'
help: 'Enable or disable bulk create/update/delete operations Enable or disable pagination Enable or disable sorting Enable or disable overlapping IPs for subnets Attention: the following parameter MUST be set to False if Neutron is being used in conjunction with nova security groups Ensure that configured gateway is on subnet'
- name: rpc_backend
type: string
default: 'neutron.openstack.common.rpc.impl_zmq'
help: 'ZMQ'
- name: rpc_thread_pool_size
type: string
default: '64'
help: 'RPC configuration options. Defined in rpc __init__ The messaging module to use, defaults to kombu. Size of RPC thread pool'
- name: rpc_conn_pool_size
type: string
default: '30'
help: 'RPC configuration options. Defined in rpc __init__ The messaging module to use, defaults to kombu. Size of RPC thread pool Size of RPC connection pool'
- name: rpc_response_timeout
type: string
default: '60'
help: 'RPC configuration options. Defined in rpc __init__ The messaging module to use, defaults to kombu. Size of RPC thread pool Size of RPC connection pool Seconds to wait for a response from call or multicall'
- name: rpc_cast_timeout
type: string
default: '30'
help: 'RPC configuration options. Defined in rpc __init__ The messaging module to use, defaults to kombu. Size of RPC thread pool Size of RPC connection pool Seconds to wait for a response from call or multicall Seconds to wait before a cast expires (TTL). Only supported by impl_zmq.'
- name: allowed_rpc_exception_modules
type: string
default: 'neutron.openstack.common.exception, nova.exception'
help: 'RPC configuration options. Defined in rpc __init__ The messaging module to use, defaults to kombu. Size of RPC thread pool Size of RPC connection pool Seconds to wait for a response from call or multicall Seconds to wait before a cast expires (TTL). Only supported by impl_zmq. Modules of exceptions that are permitted to be recreated upon receiving exception data from an rpc call.'
- name: control_exchange
type: string
default: 'neutron'
help: 'RPC configuration options. Defined in rpc __init__ The messaging module to use, defaults to kombu. Size of RPC thread pool Size of RPC connection pool Seconds to wait for a response from call or multicall Seconds to wait before a cast expires (TTL). Only supported by impl_zmq. Modules of exceptions that are permitted to be recreated upon receiving exception data from an rpc call. AMQP exchange to connect to if using RabbitMQ or QPID'
- name: fake_rabbit
type: string
default: 'False'
help: 'If passed, use a fake RabbitMQ provider'
- name: kombu_ssl_version
type: string
default: ''
help: 'Configuration options if sending notifications via kombu rpc (these are the defaults) SSL version to use (valid only if SSL enabled)'
- name: kombu_ssl_keyfile
type: string
default: ''
help: 'Configuration options if sending notifications via kombu rpc (these are the defaults) SSL version to use (valid only if SSL enabled) SSL key file (valid only if SSL enabled)'
- name: kombu_ssl_certfile
type: string
default: ''
help: 'Configuration options if sending notifications via kombu rpc (these are the defaults) SSL version to use (valid only if SSL enabled) SSL key file (valid only if SSL enabled) SSL cert file (valid only if SSL enabled)'
- name: kombu_ssl_ca_certs
type: string
default: ''
help: "Configuration options if sending notifications via kombu rpc (these are the defaults) SSL version to use (valid only if SSL enabled) SSL key file (valid only if SSL enabled) SSL cert file (valid only if SSL enabled) SSL certification authority file (valid only if SSL enabled)'"
- name: rabbit_host
type: host
default: 'localhost'
help: "Configuration options if sending notifications via kombu rpc (these are the defaults) SSL version to use (valid only if SSL enabled) SSL key file (valid only if SSL enabled) SSL cert file (valid only if SSL enabled) SSL certification authority file (valid only if SSL enabled)' IP address of the RabbitMQ installation"
- name: rabbit_password
type: string
default: 'guest'
help: "Configuration options if sending notifications via kombu rpc (these are the defaults) SSL version to use (valid only if SSL enabled) SSL key file (valid only if SSL enabled) SSL cert file (valid only if SSL enabled) SSL certification authority file (valid only if SSL enabled)' IP address of the RabbitMQ installation Password of the RabbitMQ server"
- name: rabbit_port
type: string
default: '5672'
help: "Configuration options if sending notifications via kombu rpc (these are the defaults) SSL version to use (valid only if SSL enabled) SSL key file (valid only if SSL enabled) SSL cert file (valid only if SSL enabled) SSL certification authority file (valid only if SSL enabled)' IP address of the RabbitMQ installation Password of the RabbitMQ server Port where RabbitMQ server is running/listening"
- name: rabbit_hosts
type: string
default: 'localhost:5672'
help: "Configuration options if sending notifications via kombu rpc (these are the defaults) SSL version to use (valid only if SSL enabled) SSL key file (valid only if SSL enabled) SSL cert file (valid only if SSL enabled) SSL certification authority file (valid only if SSL enabled)' IP address of the RabbitMQ installation Password of the RabbitMQ server Port where RabbitMQ server is running/listening RabbitMQ single or HA cluster (host:port pairs i.e: host1:5672, host2:5672) rabbit_hosts is defaulted to '$rabbit_host:$rabbit_port'"
- name: rabbit_userid
type: string
default: 'guest'
help: "Configuration options if sending notifications via kombu rpc (these are the defaults) SSL version to use (valid only if SSL enabled) SSL key file (valid only if SSL enabled) SSL cert file (valid only if SSL enabled) SSL certification authority file (valid only if SSL enabled)' IP address of the RabbitMQ installation Password of the RabbitMQ server Port where RabbitMQ server is running/listening RabbitMQ single or HA cluster (host:port pairs i.e: host1:5672, host2:5672) rabbit_hosts is defaulted to '$rabbit_host:$rabbit_port' User ID used for RabbitMQ connections"
- name: rabbit_virtual_host
type: string
default: '/'
help: "Configuration options if sending notifications via kombu rpc (these are the defaults) SSL version to use (valid only if SSL enabled) SSL key file (valid only if SSL enabled) SSL cert file (valid only if SSL enabled) SSL certification authority file (valid only if SSL enabled)' IP address of the RabbitMQ installation Password of the RabbitMQ server Port where RabbitMQ server is running/listening RabbitMQ single or HA cluster (host:port pairs i.e: host1:5672, host2:5672) rabbit_hosts is defaulted to '$rabbit_host:$rabbit_port' User ID used for RabbitMQ connections Location of a virtual RabbitMQ installation."
- name: rabbit_max_retries
type: string
default: '0'
help: "Configuration options if sending notifications via kombu rpc (these are the defaults) SSL version to use (valid only if SSL enabled) SSL key file (valid only if SSL enabled) SSL cert file (valid only if SSL enabled) SSL certification authority file (valid only if SSL enabled)' IP address of the RabbitMQ installation Password of the RabbitMQ server Port where RabbitMQ server is running/listening RabbitMQ single or HA cluster (host:port pairs i.e: host1:5672, host2:5672) rabbit_hosts is defaulted to '$rabbit_host:$rabbit_port' User ID used for RabbitMQ connections Location of a virtual RabbitMQ installation. Maximum retries with trying to connect to RabbitMQ (the default of 0 implies an infinite retry count)"
- name: rabbit_retry_interval
type: string
default: '1'
help: "Configuration options if sending notifications via kombu rpc (these are the defaults) SSL version to use (valid only if SSL enabled) SSL key file (valid only if SSL enabled) SSL cert file (valid only if SSL enabled) SSL certification authority file (valid only if SSL enabled)' IP address of the RabbitMQ installation Password of the RabbitMQ server Port where RabbitMQ server is running/listening RabbitMQ single or HA cluster (host:port pairs i.e: host1:5672, host2:5672) rabbit_hosts is defaulted to '$rabbit_host:$rabbit_port' User ID used for RabbitMQ connections Location of a virtual RabbitMQ installation. Maximum retries with trying to connect to RabbitMQ (the default of 0 implies an infinite retry count) RabbitMQ connection retry interval"
- name: rabbit_ha_queues
type: boolean
default: False
help: "Configuration options if sending notifications via kombu rpc (these are the defaults) SSL version to use (valid only if SSL enabled) SSL key file (valid only if SSL enabled) SSL cert file (valid only if SSL enabled) SSL certification authority file (valid only if SSL enabled)' IP address of the RabbitMQ installation Password of the RabbitMQ server Port where RabbitMQ server is running/listening RabbitMQ single or HA cluster (host:port pairs i.e: host1:5672, host2:5672) rabbit_hosts is defaulted to '$rabbit_host:$rabbit_port' User ID used for RabbitMQ connections Location of a virtual RabbitMQ installation. Maximum retries with trying to connect to RabbitMQ (the default of 0 implies an infinite retry count) RabbitMQ connection retry interval Use HA queues in RabbitMQ (x-ha-policy: all).You need to wipe RabbitMQ database when changing this option. "
- name: qpid_hostname
type: string
default: 'localhost'
help: 'QPID Qpid broker hostname'
- name: qpid_port
type: string
default: '5672'
help: 'QPID Qpid broker hostname Qpid broker port'
- name: qpid_hosts
type: string
default: 'localhost:5672'
help: "QPID Qpid broker hostname Qpid broker port Qpid single or HA cluster (host:port pairs i.e: host1:5672, host2:5672) qpid_hosts is defaulted to '$qpid_hostname:$qpid_port'"
- name: qpid_username
type: string
default: "''"
help: "QPID Qpid broker hostname Qpid broker port Qpid single or HA cluster (host:port pairs i.e: host1:5672, host2:5672) qpid_hosts is defaulted to '$qpid_hostname:$qpid_port' Username for qpid connection"
- name: qpid_password
type: string
default: "''"
help: "QPID Qpid broker hostname Qpid broker port Qpid single or HA cluster (host:port pairs i.e: host1:5672, host2:5672) qpid_hosts is defaulted to '$qpid_hostname:$qpid_port' Username for qpid connection Password for qpid connection"
- name: qpid_sasl_mechanisms
type: string
default: "''"
help: "QPID Qpid broker hostname Qpid broker port Qpid single or HA cluster (host:port pairs i.e: host1:5672, host2:5672) qpid_hosts is defaulted to '$qpid_hostname:$qpid_port' Username for qpid connection Password for qpid connection Space separated list of SASL mechanisms to use for auth"
- name: qpid_heartbeat
type: string
default: '60'
help: "QPID Qpid broker hostname Qpid broker port Qpid single or HA cluster (host:port pairs i.e: host1:5672, host2:5672) qpid_hosts is defaulted to '$qpid_hostname:$qpid_port' Username for qpid connection Password for qpid connection Space separated list of SASL mechanisms to use for auth Seconds between connection keepalive heartbeats"
- name: qpid_protocol
type: string
default: 'tcp'
help: "QPID Qpid broker hostname Qpid broker port Qpid single or HA cluster (host:port pairs i.e: host1:5672, host2:5672) qpid_hosts is defaulted to '$qpid_hostname:$qpid_port' Username for qpid connection Password for qpid connection Space separated list of SASL mechanisms to use for auth Seconds between connection keepalive heartbeats Transport to use, either 'tcp' or 'ssl'"
- name: qpid_tcp_nodelay
type: string
default: 'True'
help: "QPID Qpid broker hostname Qpid broker port Qpid single or HA cluster (host:port pairs i.e: host1:5672, host2:5672) qpid_hosts is defaulted to '$qpid_hostname:$qpid_port' Username for qpid connection Password for qpid connection Space separated list of SASL mechanisms to use for auth Seconds between connection keepalive heartbeats Transport to use, either 'tcp' or 'ssl' Disable Nagle algorithm"
- name: rpc_zmq_bind_address
type: string
default: '*'
help: "ZMQ ZeroMQ bind address. Should be a wildcard (*), an ethernet interface, or IP. The 'host' option should point or resolve to this address."
- name: notification_driver
type: string
default: 'neutron.openstack.common.notifier.rpc_notifier'
help: 'Notification_driver can be defined multiple times Do nothing driver notification_driver = neutron.openstack.common.notifier.no_op_notifier Logging driver notification_driver = neutron.openstack.common.notifier.log_notifier RPC driver. DHCP agents needs it.'
- name: default_notification_level
type: string
default: 'INFO'
help: 'default_notification_level is used to form actual topic name(s) or to set logging level'
- name: host
type: string
default: 'myhost.com'
help: 'default_publisher_id is a part of the notification payload'
- name: default_publisher_id
type: string
default: '$host'
help: 'default_publisher_id is a part of the notification payload'
- name: notification_topics
type: string
default: 'notifications'
help: 'Defined in rpc_notifier, can be comma separated values. The actual topic names will be %s.%(default_notification_level)s'
- name: pagination_max_limit
type: string
default: '-1'
help: 'Default maximum number of items returned in a single response, value == infinite and value < 0 means no max limit, and value must greater than 0. If the number of items requested is greater than pagination_max_limit, server will just return pagination_max_limit of number of items.'
- name: max_dns_nameservers
type: string
default: '5'
help: 'Maximum number of DNS nameservers per subnet'
- name: max_subnet_host_routes
type: string
default: '20'
help: 'Maximum number of host routes per subnet'
- name: max_fixed_ips_per_port
type: string
default: '5'
help: 'Maximum number of fixed ips per port'
- name: agent_down_time
type: string
default: '5'
help: '=========== items for agent management extension ============= Seconds to regard the agent as down.'
- name: network_scheduler_driver
type: string
default: 'neutron.scheduler.dhcp_agent_scheduler.ChanceScheduler'
help: '=========== items for agent scheduler extension ============= Driver to use for scheduling network to DHCP agent'
- name: router_scheduler_driver
type: string
default: 'neutron.scheduler.l3_agent_scheduler.ChanceScheduler'
help: '=========== items for agent scheduler extension ============= Driver to use for scheduling network to DHCP agent Driver to use for scheduling router to a default L3 agent'
- name: loadbalancer_pool_scheduler_driver
type: string
default: 'neutron.services.loadbalancer.agent_scheduler.ChanceScheduler'
help: '=========== items for agent scheduler extension ============= Driver to use for scheduling network to DHCP agent Driver to use for scheduling router to a default L3 agent Driver to use for scheduling a loadbalancer pool to an lbaas agent'
- name: network_auto_schedule
type: string
default: 'True'
help: 'Allow auto scheduling networks to DHCP agent. It will schedule non-hosted networks to first DHCP agent which sends get_active_networks message to neutron server'
- name: router_auto_schedule
type: string
default: 'True'
help: 'Allow auto scheduling routers to L3 agent. It will schedule non-hosted routers to first L3 agent which sends sync_routers message to neutron server'
- name: dhcp_agents_per_network
type: string
default: '1'
help: 'Number of DHCP agents scheduled to host a network. This enables redundant DHCP agents for configured networks.'
- name: tcp_keepidle
type: string
default: '600'
help: '=========== WSGI parameters related to the API server ============== Sets the value of TCP_KEEPIDLE in seconds to use for each server socket when starting API server. Not supported on OS X.'
- name: retry_until_window
type: string
default: '30'
help: 'Number of seconds to keep retrying to listen'
- name: backlog
type: string
default: '4096'
help: 'Number of backlog requests to configure the socket with.'
- name: use_ssl
type: string
default: 'False'
help: 'Enable SSL on the API server'
- name: ssl_cert_file
type: string
default: '/path/to/certfile'
help: 'Certificate file to use when starting API server securely'
- name: ssl_key_file
type: string
default: '/path/to/keyfile'
help: 'Private key file to use when starting API server securely'
- name: ssl_ca_file
type: string
default: '/path/to/cafile'
help: 'CA certificate file to use when starting API server securely to verify connecting clients. This is an optional parameter only required if API clients need to authenticate to the API server using SSL certificates signed by a trusted CA'
- name: quotas.quota_items
type: string
default: 'network,subnet,port'
help: 'resource name(s) that are supported in quota features'
- name: quotas.default_quota
type: string
default: '-1'
help: 'default number of resource allowed per tenant, minus for unlimited'
- name: quotas.quota_network
type: string
default: '10'
help: 'number of networks allowed per tenant, and minus means unlimited'
- name: quotas.quota_subnet
type: string
default: '10'
help: 'number of subnets allowed per tenant, and minus means unlimited'
- name: quotas.quota_port
type: string
default: '50'
help: 'number of ports allowed per tenant, and minus means unlimited'
- name: quotas.quota_security_group
type: string
default: '10'
help: 'number of security groups allowed per tenant, and minus means unlimited'
- name: quotas.quota_security_group_rule
type: string
default: '100'
help: 'number of security group rules allowed per tenant, and minus means unlimited'
- name: quotas.quota_driver
type: string
default: 'neutron.db.quota_db.DbQuotaDriver'
help: 'default driver to use for quota checks'
- name: agent.root_helper
type: string
default: 'sudo'
help: "Use 'sudo neutron-rootwrap /etc/neutron/rootwrap.conf' to use the real root filter facility. Change to 'sudo' to skip the filtering and just run the comand directly"
- name: agent.report_interval
type: string
default: '4'
help: '=========== items for agent management extension ============= seconds between nodes reporting state to server, should be less than agent_down_time'
- name: keystone_authtoken.auth_host
type: host
default: '127.0.0.1'
- name: keystone_authtoken.auth_port
type: string
default: '35357'
- name: keystone_authtoken.auth_protocol
type: string
default: 'http'
- name: keystone_authtoken.admin_tenant_name
type: string
default: '%SERVICE_TENANT_NAME%'
- name: keystone_authtoken.admin_user
type: string
default: '%SERVICE_USER%'
- name: keystone_authtoken.admin_password
type: string
default: '%SERVICE_PASSWORD%'
- name: keystone_authtoken.signing_dir
type: string
default: '$state_path/keystone-signing'
- name: database.connection
type: string
default: 'mysql://root:pass@127.0.0.1:3306/neutron'
help: 'This line MUST be changed to actually run the plugin. Example:'
- name: database.slave_connection
type: string
default: ''
help: 'The SQLAlchemy connection string used to connect to the slave database'
- name: database.max_retries
type: string
default: '10'
help: 'Database reconnection retry times - in event connectivity is lost set to -1 implies an infinite retry count'
- name: database.retry_interval
type: string
default: '10'
help: 'Database reconnection interval in seconds - if the initial connection to the database fails'
- name: database.min_pool_size
type: string
default: '1'
help: 'Minimum number of SQL connections to keep open in a pool'
- name: database.max_pool_size
type: string
default: '10'
help: 'Maximum number of SQL connections to keep open in a pool'
- name: database.idle_timeout
type: string
default: '3600'
help: 'Timeout in seconds before idle sql connections are reaped'
- name: database.max_overflow
type: string
default: '20'
help: 'If set, use this value for max_overflow with sqlalchemy'
- name: database.connection_debug
type: string
default: '0'
help: 'Verbosity of SQL debugging information. 0=None, 100=Everything'
- name: database.connection_trace
type: string
default: 'False'
help: 'Add python stack traces to SQL as comment strings'
- name: database.pool_timeout
type: string
default: '10'
help: 'If set, use this value for pool_timeout with sqlalchemy'
- name: service_providers.service_provider
type: string
default: 'LOADBALANCER:Haproxy:neutron.services.loadbalancer.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default'
help: 'Specify service providers (drivers) for advanced services like loadbalancer, VPN, Firewall. Must be in form: service_provider=<service_type>:<name>:<driver>[:default] List of allowed service type include LOADBALANCER, FIREWALL, VPN Combination of <service type> and <name> must be unique; <driver> must also be unique this is multiline option, example for default provider: service_provider=LOADBALANCER:name:lbaas_plugin_driver_path:default example of non-default provider: service_provider=FIREWALL:name2:firewall_driver_path --- Reference implementations ---'

View File

@ -1,416 +0,0 @@
from rubick.schema import ConfigSchemaRegistry
neutron_server = ConfigSchemaRegistry.register_schema(
project='neutron_server')
with neutron_server.version('2013.2.1') as neutron_server_2013_2_1:
neutron_server_2013_2_1.section('DEFAULT')
neutron_server_2013_2_1.param('verbose', type='string', default='False',
description="Default log level is INFO verbose and debug has the same result. One of them will set DEBUG log level output")
neutron_server_2013_2_1.param(
'state_path', type='string', default='/var/lib/neutron',
description="Where to store Neutron state files. This directory must be writable by the user executing the agent.")
neutron_server_2013_2_1.param(
'lock_path', type='string', default='$state_path/lock', description="Where to store lock files")
neutron_server_2013_2_1.param(
'log_format', type='string', default='%(asctime)s %(levelname)8s [%(name)s] %(message)s')
neutron_server_2013_2_1.param(
'log_date_format', type='string', default='%Y-%m-%d %H:%M:%S')
neutron_server_2013_2_1.param(
'use_syslog', type='string', default='False')
neutron_server_2013_2_1.param(
'syslog_log_facility', type='string', default='LOG_USER')
neutron_server_2013_2_1.param(
'use_stderr', type='string', default='True')
neutron_server_2013_2_1.param(
'publish_errors', type='string', default='False')
neutron_server_2013_2_1.param(
'bind_host', type='host', default='0.0.0.0', description="Address to bind the API server")
neutron_server_2013_2_1.param(
'bind_port', type='string', default='9696', description="Port the bind the API server to")
neutron_server_2013_2_1.param(
'api_extensions_path', type='string', default='',
description="Path to the extensions. Note that this can be a colon-separated list of paths. For example: api_extensions_path = extensions:/path/to/more/extensions:/even/more/extensions The __path__ of neutron.extensions is appended to this, so if your extensions are in there you don't need to specify them here")
neutron_server_2013_2_1.param(
'core_plugin', type='string', default='', description="Neutron plugin provider module")
neutron_server_2013_2_1.param(
'service_plugins', type='string', default='', description="Advanced service modules")
neutron_server_2013_2_1.param(
'api_paste_config', type='string', default='api-paste.ini', description="Paste configuration file")
neutron_server_2013_2_1.param(
'auth_strategy', type='string', default='keystone',
description="The strategy to be used for auth. Supported values are 'keystone'(default), 'noauth'.")
neutron_server_2013_2_1.param(
'mac_generation_retries', type='string', default='16',
description="Maximum amount of retries to generate a unique MAC address")
neutron_server_2013_2_1.param(
'dhcp_lease_duration', type='string', default='86400', description="DHCP Lease duration (in seconds)")
neutron_server_2013_2_1.param('dhcp_agent_notification', type='string',
default='True', description="Allow sending resource operation notification to DHCP agent")
neutron_server_2013_2_1.param(
'allow_bulk', type='string', default='True', description="Enable or disable bulk create/update/delete operations")
neutron_server_2013_2_1.param(
'allow_pagination', type='string', default='False',
description="Enable or disable bulk create/update/delete operations Enable or disable pagination")
neutron_server_2013_2_1.param(
'allow_sorting', type='string', default='False',
description="Enable or disable bulk create/update/delete operations Enable or disable pagination Enable or disable sorting")
neutron_server_2013_2_1.param(
'allow_overlapping_ips', type='string', default='False',
description="Enable or disable bulk create/update/delete operations Enable or disable pagination Enable or disable sorting Enable or disable overlapping IPs for subnets Attention: the following parameter MUST be set to False if Neutron is being used in conjunction with nova security groups")
neutron_server_2013_2_1.param(
'force_gateway_on_subnet', type='string', default='False',
description="Enable or disable bulk create/update/delete operations Enable or disable pagination Enable or disable sorting Enable or disable overlapping IPs for subnets Attention: the following parameter MUST be set to False if Neutron is being used in conjunction with nova security groups Ensure that configured gateway is on subnet")
neutron_server_2013_2_1.param(
'rpc_backend', type='string', default='neutron.openstack.common.rpc.impl_kombu',
description="RPC configuration options. Defined in rpc __init__ The messaging module to use, defaults to kombu.")
neutron_server_2013_2_1.param(
'rpc_thread_pool_size', type='string', default='64',
description="RPC configuration options. Defined in rpc __init__ The messaging module to use, defaults to kombu. Size of RPC thread pool")
neutron_server_2013_2_1.param(
'rpc_conn_pool_size', type='string', default='30',
description="RPC configuration options. Defined in rpc __init__ The messaging module to use, defaults to kombu. Size of RPC thread pool Size of RPC connection pool")
neutron_server_2013_2_1.param(
'rpc_response_timeout', type='string', default='60',
description="RPC configuration options. Defined in rpc __init__ The messaging module to use, defaults to kombu. Size of RPC thread pool Size of RPC connection pool Seconds to wait for a response from call or multicall")
neutron_server_2013_2_1.param(
'rpc_cast_timeout', type='string', default='30',
description="RPC configuration options. Defined in rpc __init__ The messaging module to use, defaults to kombu. Size of RPC thread pool Size of RPC connection pool Seconds to wait for a response from call or multicall Seconds to wait before a cast expires (TTL). Only supported by impl_zmq.")
neutron_server_2013_2_1.param(
'allowed_rpc_exception_modules', type='string', default='neutron.openstack.common.exception, nova.exception',
description="RPC configuration options. Defined in rpc __init__ The messaging module to use, defaults to kombu. Size of RPC thread pool Size of RPC connection pool Seconds to wait for a response from call or multicall Seconds to wait before a cast expires (TTL). Only supported by impl_zmq. Modules of exceptions that are permitted to be recreated upon receiving exception data from an rpc call.")
neutron_server_2013_2_1.param(
'control_exchange', type='string', default='neutron',
description="RPC configuration options. Defined in rpc __init__ The messaging module to use, defaults to kombu. Size of RPC thread pool Size of RPC connection pool Seconds to wait for a response from call or multicall Seconds to wait before a cast expires (TTL). Only supported by impl_zmq. Modules of exceptions that are permitted to be recreated upon receiving exception data from an rpc call. AMQP exchange to connect to if using RabbitMQ or QPID")
neutron_server_2013_2_1.param(
'fake_rabbit', type='string', default='False', description="If passed, use a fake RabbitMQ provider")
neutron_server_2013_2_1.param(
'kombu_ssl_version', type='string', default='',
description="Configuration options if sending notifications via kombu rpc (these are the defaults) SSL version to use (valid only if SSL enabled)")
neutron_server_2013_2_1.param(
'kombu_ssl_keyfile', type='string', default='',
description="Configuration options if sending notifications via kombu rpc (these are the defaults) SSL version to use (valid only if SSL enabled) SSL key file (valid only if SSL enabled)")
neutron_server_2013_2_1.param(
'kombu_ssl_certfile', type='string', default='',
description="Configuration options if sending notifications via kombu rpc (these are the defaults) SSL version to use (valid only if SSL enabled) SSL key file (valid only if SSL enabled) SSL cert file (valid only if SSL enabled)")
neutron_server_2013_2_1.param(
'kombu_ssl_ca_certs', type='string', default='',
description="Configuration options if sending notifications via kombu rpc (these are the defaults) SSL version to use (valid only if SSL enabled) SSL key file (valid only if SSL enabled) SSL cert file (valid only if SSL enabled) SSL certification authority file (valid only if SSL enabled)'")
neutron_server_2013_2_1.param(
'rabbit_host', type='host', default='localhost',
description="Configuration options if sending notifications via kombu rpc (these are the defaults) SSL version to use (valid only if SSL enabled) SSL key file (valid only if SSL enabled) SSL cert file (valid only if SSL enabled) SSL certification authority file (valid only if SSL enabled)' IP address of the RabbitMQ installation")
neutron_server_2013_2_1.param(
'rabbit_password', type='string', default='guest',
description="Configuration options if sending notifications via kombu rpc (these are the defaults) SSL version to use (valid only if SSL enabled) SSL key file (valid only if SSL enabled) SSL cert file (valid only if SSL enabled) SSL certification authority file (valid only if SSL enabled)' IP address of the RabbitMQ installation Password of the RabbitMQ server")
neutron_server_2013_2_1.param(
'rabbit_port', type='string', default='5672',
description="Configuration options if sending notifications via kombu rpc (these are the defaults) SSL version to use (valid only if SSL enabled) SSL key file (valid only if SSL enabled) SSL cert file (valid only if SSL enabled) SSL certification authority file (valid only if SSL enabled)' IP address of the RabbitMQ installation Password of the RabbitMQ server Port where RabbitMQ server is running/listening")
neutron_server_2013_2_1.param(
'rabbit_hosts', type='string', default='localhost:5672',
description="Configuration options if sending notifications via kombu rpc (these are the defaults) SSL version to use (valid only if SSL enabled) SSL key file (valid only if SSL enabled) SSL cert file (valid only if SSL enabled) SSL certification authority file (valid only if SSL enabled)' IP address of the RabbitMQ installation Password of the RabbitMQ server Port where RabbitMQ server is running/listening RabbitMQ single or HA cluster (host:port pairs i.e: host1:5672, host2:5672) rabbit_hosts is defaulted to '$rabbit_host:$rabbit_port'")
neutron_server_2013_2_1.param(
'rabbit_userid', type='string', default='guest',
description="Configuration options if sending notifications via kombu rpc (these are the defaults) SSL version to use (valid only if SSL enabled) SSL key file (valid only if SSL enabled) SSL cert file (valid only if SSL enabled) SSL certification authority file (valid only if SSL enabled)' IP address of the RabbitMQ installation Password of the RabbitMQ server Port where RabbitMQ server is running/listening RabbitMQ single or HA cluster (host:port pairs i.e: host1:5672, host2:5672) rabbit_hosts is defaulted to '$rabbit_host:$rabbit_port' User ID used for RabbitMQ connections")
neutron_server_2013_2_1.param(
'rabbit_virtual_host', type='string', default='/',
description="Configuration options if sending notifications via kombu rpc (these are the defaults) SSL version to use (valid only if SSL enabled) SSL key file (valid only if SSL enabled) SSL cert file (valid only if SSL enabled) SSL certification authority file (valid only if SSL enabled)' IP address of the RabbitMQ installation Password of the RabbitMQ server Port where RabbitMQ server is running/listening RabbitMQ single or HA cluster (host:port pairs i.e: host1:5672, host2:5672) rabbit_hosts is defaulted to '$rabbit_host:$rabbit_port' User ID used for RabbitMQ connections Location of a virtual RabbitMQ installation.")
neutron_server_2013_2_1.param(
'rabbit_max_retries', type='string', default='0',
description="Configuration options if sending notifications via kombu rpc (these are the defaults) SSL version to use (valid only if SSL enabled) SSL key file (valid only if SSL enabled) SSL cert file (valid only if SSL enabled) SSL certification authority file (valid only if SSL enabled)' IP address of the RabbitMQ installation Password of the RabbitMQ server Port where RabbitMQ server is running/listening RabbitMQ single or HA cluster (host:port pairs i.e: host1:5672, host2:5672) rabbit_hosts is defaulted to '$rabbit_host:$rabbit_port' User ID used for RabbitMQ connections Location of a virtual RabbitMQ installation. Maximum retries with trying to connect to RabbitMQ (the default of 0 implies an infinite retry count)")
neutron_server_2013_2_1.param(
'rabbit_retry_interval', type='string', default='1',
description="Configuration options if sending notifications via kombu rpc (these are the defaults) SSL version to use (valid only if SSL enabled) SSL key file (valid only if SSL enabled) SSL cert file (valid only if SSL enabled) SSL certification authority file (valid only if SSL enabled)' IP address of the RabbitMQ installation Password of the RabbitMQ server Port where RabbitMQ server is running/listening RabbitMQ single or HA cluster (host:port pairs i.e: host1:5672, host2:5672) rabbit_hosts is defaulted to '$rabbit_host:$rabbit_port' User ID used for RabbitMQ connections Location of a virtual RabbitMQ installation. Maximum retries with trying to connect to RabbitMQ (the default of 0 implies an infinite retry count) RabbitMQ connection retry interval")
neutron_server_2013_2_1.param(
'rabbit_ha_queues', type='boolean', default=False,
description="Configuration options if sending notifications via kombu rpc (these are the defaults) SSL version to use (valid only if SSL enabled) SSL key file (valid only if SSL enabled) SSL cert file (valid only if SSL enabled) SSL certification authority file (valid only if SSL enabled)' IP address of the RabbitMQ installation Password of the RabbitMQ server Port where RabbitMQ server is running/listening RabbitMQ single or HA cluster (host:port pairs i.e: host1:5672, host2:5672) rabbit_hosts is defaulted to '$rabbit_host:$rabbit_port' User ID used for RabbitMQ connections Location of a virtual RabbitMQ installation. Maximum retries with trying to connect to RabbitMQ (the default of 0 implies an infinite retry count) RabbitMQ connection retry interval Use HA queues in RabbitMQ (x-ha-policy: all).You need to wipe RabbitMQ database when changing this option. ")
neutron_server_2013_2_1.param(
'rpc_backend', type='string', default='neutron.openstack.common.rpc.impl_qpid', description="QPID")
neutron_server_2013_2_1.param(
'qpid_hostname', type='string', default='localhost', description="QPID Qpid broker hostname")
neutron_server_2013_2_1.param(
'qpid_port', type='string', default='5672', description="QPID Qpid broker hostname Qpid broker port")
neutron_server_2013_2_1.param(
'qpid_hosts', type='string', default='localhost:5672',
description="QPID Qpid broker hostname Qpid broker port Qpid single or HA cluster (host:port pairs i.e: host1:5672, host2:5672) qpid_hosts is defaulted to '$qpid_hostname:$qpid_port'")
neutron_server_2013_2_1.param(
'qpid_username', type='string', default="''",
description="QPID Qpid broker hostname Qpid broker port Qpid single or HA cluster (host:port pairs i.e: host1:5672, host2:5672) qpid_hosts is defaulted to '$qpid_hostname:$qpid_port' Username for qpid connection")
neutron_server_2013_2_1.param(
'qpid_password', type='string', default="''",
description="QPID Qpid broker hostname Qpid broker port Qpid single or HA cluster (host:port pairs i.e: host1:5672, host2:5672) qpid_hosts is defaulted to '$qpid_hostname:$qpid_port' Username for qpid connection Password for qpid connection")
neutron_server_2013_2_1.param(
'qpid_sasl_mechanisms', type='string', default="''",
description="QPID Qpid broker hostname Qpid broker port Qpid single or HA cluster (host:port pairs i.e: host1:5672, host2:5672) qpid_hosts is defaulted to '$qpid_hostname:$qpid_port' Username for qpid connection Password for qpid connection Space separated list of SASL mechanisms to use for auth")
neutron_server_2013_2_1.param(
'qpid_heartbeat', type='string', default='60',
description="QPID Qpid broker hostname Qpid broker port Qpid single or HA cluster (host:port pairs i.e: host1:5672, host2:5672) qpid_hosts is defaulted to '$qpid_hostname:$qpid_port' Username for qpid connection Password for qpid connection Space separated list of SASL mechanisms to use for auth Seconds between connection keepalive heartbeats")
neutron_server_2013_2_1.param(
'qpid_protocol', type='string', default='tcp',
description="QPID Qpid broker hostname Qpid broker port Qpid single or HA cluster (host:port pairs i.e: host1:5672, host2:5672) qpid_hosts is defaulted to '$qpid_hostname:$qpid_port' Username for qpid connection Password for qpid connection Space separated list of SASL mechanisms to use for auth Seconds between connection keepalive heartbeats Transport to use, either 'tcp' or 'ssl'")
neutron_server_2013_2_1.param(
'qpid_tcp_nodelay', type='string', default='True',
description="QPID Qpid broker hostname Qpid broker port Qpid single or HA cluster (host:port pairs i.e: host1:5672, host2:5672) qpid_hosts is defaulted to '$qpid_hostname:$qpid_port' Username for qpid connection Password for qpid connection Space separated list of SASL mechanisms to use for auth Seconds between connection keepalive heartbeats Transport to use, either 'tcp' or 'ssl' Disable Nagle algorithm")
neutron_server_2013_2_1.param(
'rpc_backend', type='string', default='neutron.openstack.common.rpc.impl_zmq', description="ZMQ")
neutron_server_2013_2_1.param(
'rpc_zmq_bind_address', type='string', default='*',
description="ZMQ ZeroMQ bind address. Should be a wildcard (*), an ethernet interface, or IP. The 'host' option should point or resolve to this address.")
neutron_server_2013_2_1.param(
'notification_driver', type='string', default='neutron.openstack.common.notifier.rpc_notifier',
description="Notification_driver can be defined multiple times Do nothing driver notification_driver = neutron.openstack.common.notifier.no_op_notifier Logging driver notification_driver = neutron.openstack.common.notifier.log_notifier RPC driver. DHCP agents needs it.")
neutron_server_2013_2_1.param(
'default_notification_level', type='string', default='INFO',
description="default_notification_level is used to form actual topic name(s) or to set logging level")
neutron_server_2013_2_1.param(
'host', type='string', default='myhost.com',
description="default_publisher_id is a part of the notification payload")
neutron_server_2013_2_1.param(
'default_publisher_id', type='string', default='$host',
description="default_publisher_id is a part of the notification payload")
neutron_server_2013_2_1.param(
'notification_topics', type='string', default='notifications',
description="Defined in rpc_notifier, can be comma separated values. The actual topic names will be %s.%(default_notification_level)s")
neutron_server_2013_2_1.param(
'pagination_max_limit', type='string', default='-1',
description="Default maximum number of items returned in a single response, value == infinite and value < 0 means no max limit, and value must greater than 0. If the number of items requested is greater than pagination_max_limit, server will just return pagination_max_limit of number of items.")
neutron_server_2013_2_1.param('max_dns_nameservers', type='string',
default='5', description="Maximum number of DNS nameservers per subnet")
neutron_server_2013_2_1.param('max_subnet_host_routes', type='string',
default='20', description="Maximum number of host routes per subnet")
neutron_server_2013_2_1.param(
'max_fixed_ips_per_port', type='string', default='5', description="Maximum number of fixed ips per port")
neutron_server_2013_2_1.param(
'agent_down_time', type='string', default='5',
description="=========== items for agent management extension ============= Seconds to regard the agent as down.")
neutron_server_2013_2_1.param(
'network_scheduler_driver', type='string', default='neutron.scheduler.dhcp_agent_scheduler.ChanceScheduler',
description="=========== items for agent scheduler extension ============= Driver to use for scheduling network to DHCP agent")
neutron_server_2013_2_1.param(
'router_scheduler_driver', type='string', default='neutron.scheduler.l3_agent_scheduler.ChanceScheduler',
description="=========== items for agent scheduler extension ============= Driver to use for scheduling network to DHCP agent Driver to use for scheduling router to a default L3 agent")
neutron_server_2013_2_1.param(
'loadbalancer_pool_scheduler_driver', type='string', default='neutron.services.loadbalancer.agent_scheduler.ChanceScheduler',
description="=========== items for agent scheduler extension ============= Driver to use for scheduling network to DHCP agent Driver to use for scheduling router to a default L3 agent Driver to use for scheduling a loadbalancer pool to an lbaas agent")
neutron_server_2013_2_1.param(
'network_auto_schedule', type='string', default='True',
description="Allow auto scheduling networks to DHCP agent. It will schedule non-hosted networks to first DHCP agent which sends get_active_networks message to neutron server")
neutron_server_2013_2_1.param(
'router_auto_schedule', type='string', default='True',
description="Allow auto scheduling routers to L3 agent. It will schedule non-hosted routers to first L3 agent which sends sync_routers message to neutron server")
neutron_server_2013_2_1.param(
'dhcp_agents_per_network', type='string', default='1',
description="Number of DHCP agents scheduled to host a network. This enables redundant DHCP agents for configured networks.")
neutron_server_2013_2_1.param(
'tcp_keepidle', type='string', default='600',
description="=========== WSGI parameters related to the API server ============== Sets the value of TCP_KEEPIDLE in seconds to use for each server socket when starting API server. Not supported on OS X.")
neutron_server_2013_2_1.param(
'retry_until_window', type='string', default='30', description="Number of seconds to keep retrying to listen")
neutron_server_2013_2_1.param('backlog', type='string', default='4096',
description="Number of backlog requests to configure the socket with.")
neutron_server_2013_2_1.param(
'use_ssl', type='string', default='False', description="Enable SSL on the API server")
neutron_server_2013_2_1.param(
'ssl_cert_file', type='string', default='/path/to/certfile',
description="Certificate file to use when starting API server securely")
neutron_server_2013_2_1.param(
'ssl_key_file', type='string', default='/path/to/keyfile',
description="Private key file to use when starting API server securely")
neutron_server_2013_2_1.param(
'ssl_ca_file', type='string', default='/path/to/cafile',
description="CA certificate file to use when starting API server securely to verify connecting clients. This is an optional parameter only required if API clients need to authenticate to the API server using SSL certificates signed by a trusted CA")
neutron_server_2013_2_1.section('quotas')
neutron_server_2013_2_1.param(
'quota_items', type='string', default='network,subnet,port', description="resource name(s) that are supported in quota features")
neutron_server_2013_2_1.param(
'default_quota', type='string', default='-1',
description="default number of resource allowed per tenant, minus for unlimited")
neutron_server_2013_2_1.param(
'quota_network', type='string', default='10',
description="number of networks allowed per tenant, and minus means unlimited")
neutron_server_2013_2_1.param(
'quota_subnet', type='string', default='10',
description="number of subnets allowed per tenant, and minus means unlimited")
neutron_server_2013_2_1.param('quota_port', type='string', default='50',
description="number of ports allowed per tenant, and minus means unlimited")
neutron_server_2013_2_1.param(
'quota_security_group', type='string', default='10',
description="number of security groups allowed per tenant, and minus means unlimited")
neutron_server_2013_2_1.param(
'quota_security_group_rule', type='string', default='100',
description="number of security group rules allowed per tenant, and minus means unlimited")
neutron_server_2013_2_1.param(
'quota_driver', type='string', default='neutron.db.quota_db.DbQuotaDriver', description="default driver to use for quota checks")
neutron_server_2013_2_1.section('agent')
neutron_server_2013_2_1.param(
'root_helper', type='string', default='sudo',
description="Use 'sudo neutron-rootwrap /etc/neutron/rootwrap.conf' to use the real root filter facility. Change to 'sudo' to skip the filtering and just run the comand directly")
neutron_server_2013_2_1.param(
'report_interval', type='string', default='4',
description="=========== items for agent management extension ============= seconds between nodes reporting state to server, should be less than agent_down_time")
neutron_server_2013_2_1.section('keystone_authtoken')
neutron_server_2013_2_1.param(
'auth_host', type='host', default='127.0.0.1')
neutron_server_2013_2_1.param(
'auth_port', type='string', default='35357')
neutron_server_2013_2_1.param(
'auth_protocol', type='string', default='http')
neutron_server_2013_2_1.param(
'admin_tenant_name', type='string', default='%SERVICE_TENANT_NAME%')
neutron_server_2013_2_1.param(
'admin_user', type='string', default='%SERVICE_USER%')
neutron_server_2013_2_1.param(
'admin_password', type='string', default='%SERVICE_PASSWORD%')
neutron_server_2013_2_1.param(
'signing_dir', type='string', default='$state_path/keystone-signing')
neutron_server_2013_2_1.section('database')
neutron_server_2013_2_1.param(
'connection', type='string', default='mysql://root:pass@127.0.0.1:3306/neutron',
description="This line MUST be changed to actually run the plugin. Example:")
neutron_server_2013_2_1.param(
'slave_connection', type='string', default='',
description="The SQLAlchemy connection string used to connect to the slave database")
neutron_server_2013_2_1.param(
'max_retries', type='string', default='10',
description="Database reconnection retry times - in event connectivity is lost set to -1 implies an infinite retry count")
neutron_server_2013_2_1.param(
'retry_interval', type='string', default='10',
description="Database reconnection interval in seconds - if the initial connection to the database fails")
neutron_server_2013_2_1.param(
'min_pool_size', type='string', default='1',
description="Minimum number of SQL connections to keep open in a pool")
neutron_server_2013_2_1.param(
'max_pool_size', type='string', default='10',
description="Maximum number of SQL connections to keep open in a pool")
neutron_server_2013_2_1.param(
'idle_timeout', type='string', default='3600',
description="Timeout in seconds before idle sql connections are reaped")
neutron_server_2013_2_1.param(
'max_overflow', type='string', default='20',
description="If set, use this value for max_overflow with sqlalchemy")
neutron_server_2013_2_1.param(
'connection_debug', type='string', default='0',
description="Verbosity of SQL debugging information. 0=None, 100=Everything")
neutron_server_2013_2_1.param(
'connection_trace', type='string', default='False', description="Add python stack traces to SQL as comment strings")
neutron_server_2013_2_1.param(
'pool_timeout', type='string', default='10',
description="If set, use this value for pool_timeout with sqlalchemy")
neutron_server_2013_2_1.section('service_providers')
neutron_server_2013_2_1.param(
'service_provider', type='string', default='LOADBALANCER:Haproxy:neutron.services.loadbalancer.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default',
description="Specify service providers (drivers) for advanced services like loadbalancer, VPN, Firewall. Must be in form: service_provider=<service_type>:<name>:<driver>[:default] List of allowed service type include LOADBALANCER, FIREWALL, VPN Combination of <service type> and <name> must be unique; <driver> must also be unique this is multiline option, example for default provider: service_provider=LOADBALANCER:name:lbaas_plugin_driver_path:default example of non-default provider: service_provider=FIREWALL:name2:firewall_driver_path --- Reference implementations ---")

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,54 @@
project: rabbitmq
version: '3.0.0'
parameters:
- name: tcp_listeners
type: rabbitmq_bind_list
default: [5672]
help: 'List of ports on which to listen for AMQP connections (without SSL)'
- name: ssl_listeners
type: rabbitmq_bind_list
default: []
help: 'List of ports on which to listen for AMQP connections (SSL)'
- name: ssl_options
type: string_list
default: []
- name: vm_memory_high_watermark
type: float
default: 0.4
- name: vm_memory_high_watermark_paging_ratio
type: float
default: 0.5
- name: disk_free_limit
type: integer
default: '50000000'
- name: log_levels
type: string_list
default: ['{connection, info}']
- name: frame_max
type: integer
default: 131072
- name: heartbeat
type: integer
default: 600
- name: default_vhost
type: string
default: '/'
- name: default_user
type: string
default: 'guest'
- name: default_pass
type: string
default: 'guest'

View File

@ -0,0 +1,237 @@
project: swift_account_server
version: '2013.2.1'
parameters:
- name: bind_ip
type: string
default: '0.0.0.0'
- name: bind_port
type: string
default: '6002'
- name: bind_timeout
type: string
default: '30'
- name: backlog
type: string
default: '4096'
- name: user
type: string
default: 'swift'
- name: swift_dir
type: string
default: '/etc/swift'
- name: devices
type: string
default: '/srv/node'
- name: mount_check
type: string
default: 'true'
- name: disable_fallocate
type: string
default: 'false'
- name: workers
type: string
default: 'auto'
help: 'Use an integer to override the number of pre-forked processes that will accept connections.'
- name: max_clients
type: string
default: '1024'
help: 'Maximum concurrent requests per worker'
- name: account-reaper.log_name
type: string
default: 'account-reaper'
help: "You can override the default log routing for this app here (don't use set!):"
- name: account-reaper.log_facility
type: string
default: 'LOG_LOCAL0'
help: "You can override the default log routing for this app here (don't use set!):"
- name: account-reaper.log_level
type: string
default: 'INFO'
help: "You can override the default log routing for this app here (don't use set!):"
- name: account-reaper.log_address
type: string
default: '/dev/log'
help: "You can override the default log routing for this app here (don't use set!):"
- name: log_custom_handlers
type: string
default: ''
help: 'comma separated list of functions to call to setup custom log handlers. functions get passed: conf, name, log_to_console, log_route, fmt, logger, adapted_logger'
- name: log_udp_host
type: string
default: ''
help: 'If set, log_udp_host will override log_address'
- name: log_udp_port
type: string
default: '514'
help: 'If set, log_udp_host will override log_address'
- name: log_statsd_host
type: host
default: 'localhost'
help: 'You can enable StatsD logging here:'
- name: log_statsd_port
type: string
default: '8125'
help: 'You can enable StatsD logging here:'
- name: log_statsd_default_sample_rate
type: string
default: '1.0'
help: 'You can enable StatsD logging here:'
- name: log_statsd_sample_rate_factor
type: string
default: '1.0'
help: 'You can enable StatsD logging here:'
- name: log_statsd_metric_prefix
type: string
default: ''
help: 'You can enable StatsD logging here:'
- name: db_preallocation
type: string
default: 'off'
help: "If you don't mind the extra disk space usage in overhead, you can turn this on to preallocate disk space with SQLite databases to decrease fragmentation."
- name: eventlet_debug
type: string
default: 'false'
- name: fallocate_reserve
type: string
default: '0'
help: "You can set fallocate_reserve to the number of bytes you'd like fallocate to reserve, whether there is space for the given file size or not."
- name: pipeline:main.pipeline
type: string
default: 'healthcheck recon account-server'
- name: filter:recon.use
type: string
default: 'egg:swift#recon'
- name: app:account-server.set log_name
type: string
default: 'account-server'
help: 'You can override the default log routing for this app here:'
- name: app:account-server.set log_facility
type: string
default: 'LOG_LOCAL0'
help: 'You can override the default log routing for this app here:'
- name: app:account-server.set log_level
type: string
default: 'INFO'
help: 'You can override the default log routing for this app here:'
- name: app:account-server.set log_requests
type: string
default: 'true'
help: 'You can override the default log routing for this app here:'
- name: app:account-server.set log_address
type: string
default: '/dev/log'
help: 'You can override the default log routing for this app here:'
- name: app:account-server.auto_create_account_prefix
type: string
default: '.'
- name: app:account-server.replication_server
type: string
default: 'false'
help: "Configure parameter for creating specific server To handle all verbs, including replication verbs, do not specify 'replication_server' (this is the default). To only handle replication, set to a True value (e.g. 'True' or '1'). To handle only non-replication verbs, set to 'False'. Unless you have a separate replication network, you should not specify any value for 'replication_server'."
- name: filter:healthcheck.disable_path
type: string
default: ''
help: "An optional filesystem path, which if present, will cause the healthcheck URL to return '503 Service Unavailable' with a body of 'DISABLED BY FILE'"
- name: account-auditor.recon_cache_path
type: string
default: '/var/cache/swift'
- name: account-replicator.vm_test_mode
type: string
default: 'no'
- name: account-replicator.per_diff
type: string
default: '1000'
- name: account-replicator.max_diffs
type: string
default: '100'
- name: account-reaper.concurrency
type: string
default: '25'
- name: account-reaper.interval
type: string
default: '3600'
- name: account-replicator.error_suppression_interval
type: string
default: '60'
help: "How long without an error before a node's error count is reset. This will also be how long before a node is reenabled after suppression is triggered."
- name: account-replicator.error_suppression_limit
type: string
default: '10'
help: 'How many errors can accumulate before a node is temporarily ignored.'
- name: account-reaper.node_timeout
type: string
default: '10'
- name: account-reaper.conn_timeout
type: string
default: '0.5'
- name: account-replicator.reclaim_age
type: string
default: '604800'
help: 'The replicator also performs reclamation'
- name: account-replicator.run_pause
type: string
default: '30'
help: 'Time in seconds to wait between replication passes'
- name: account-auditor.accounts_per_second
type: string
default: '200'
- name: account-reaper.delay_reaping
type: string
default: '0'
help: 'Normally, the reaper begins deleting account information for deleted accounts immediately; you can set this to delay its work however. The value is in seconds; 2592000 = 30 days for example.'
- name: account-reaper.reap_warn_after
type: string
default: '2592000'
help: 'If the account fails to be be reaped due to a persistent error, the account reaper will log a message such as: Account <name> has not been reaped since <date> You can search logs for this message if space is not being reclaimed after you delete account(s). Default is 2592000 seconds (30 days). This is in addition to any time requested by delay_reaping.'

View File

@ -1,265 +0,0 @@
from rubick.schema import ConfigSchemaRegistry
swift_account_server = ConfigSchemaRegistry.register_schema(
project='swift_account_server')
with swift_account_server.version('2013.2.1') as swift_account_server_2013_2_1:
swift_account_server_2013_2_1.section('DEFAULT')
swift_account_server_2013_2_1.param(
'bind_ip', type='string', default='0.0.0.0')
swift_account_server_2013_2_1.param(
'bind_port', type='string', default='6002')
swift_account_server_2013_2_1.param(
'bind_timeout', type='string', default='30')
swift_account_server_2013_2_1.param(
'backlog', type='string', default='4096')
swift_account_server_2013_2_1.param('user', type='string', default='swift')
swift_account_server_2013_2_1.param(
'swift_dir', type='string', default='/etc/swift')
swift_account_server_2013_2_1.param(
'devices', type='string', default='/srv/node')
swift_account_server_2013_2_1.param(
'mount_check', type='string', default='true')
swift_account_server_2013_2_1.param(
'disable_fallocate', type='string', default='false')
swift_account_server_2013_2_1.param(
'workers', type='string', default='auto',
description="Use an integer to override the number of pre-forked processes that will accept connections.")
swift_account_server_2013_2_1.param(
'max_clients', type='string', default='1024', description="Maximum concurrent requests per worker")
swift_account_server_2013_2_1.param(
'log_name', type='string', default='swift', description="You can specify default log routing here if you want:")
swift_account_server_2013_2_1.param(
'log_facility', type='string', default='LOG_LOCAL0', description="You can specify default log routing here if you want:")
swift_account_server_2013_2_1.param(
'log_level', type='string', default='INFO', description="You can specify default log routing here if you want:")
swift_account_server_2013_2_1.param(
'log_address', type='string', default='/dev/log', description="You can specify default log routing here if you want:")
swift_account_server_2013_2_1.param(
'log_custom_handlers', type='string', default='',
description="comma separated list of functions to call to setup custom log handlers. functions get passed: conf, name, log_to_console, log_route, fmt, logger, adapted_logger")
swift_account_server_2013_2_1.param(
'log_udp_host', type='string', default='', description="If set, log_udp_host will override log_address")
swift_account_server_2013_2_1.param(
'log_udp_port', type='string', default='514', description="If set, log_udp_host will override log_address")
swift_account_server_2013_2_1.param(
'log_statsd_host', type='host', default='localhost', description="You can enable StatsD logging here:")
swift_account_server_2013_2_1.param(
'log_statsd_port', type='string', default='8125', description="You can enable StatsD logging here:")
swift_account_server_2013_2_1.param(
'log_statsd_default_sample_rate', type='string', default='1.0', description="You can enable StatsD logging here:")
swift_account_server_2013_2_1.param(
'log_statsd_sample_rate_factor', type='string', default='1.0', description="You can enable StatsD logging here:")
swift_account_server_2013_2_1.param(
'log_statsd_metric_prefix', type='string', default='', description="You can enable StatsD logging here:")
swift_account_server_2013_2_1.param(
'db_preallocation', type='string', default='off',
description="If you don't mind the extra disk space usage in overhead, you can turn this on to preallocate disk space with SQLite databases to decrease fragmentation.")
swift_account_server_2013_2_1.param(
'eventlet_debug', type='string', default='false')
swift_account_server_2013_2_1.param(
'fallocate_reserve', type='string', default='0',
description="You can set fallocate_reserve to the number of bytes you'd like fallocate to reserve, whether there is space for the given file size or not.")
swift_account_server_2013_2_1.section('pipeline:main')
swift_account_server_2013_2_1.param(
'pipeline', type='string', default='healthcheck recon account-server')
swift_account_server_2013_2_1.section('app:account-server')
swift_account_server_2013_2_1.param(
'use', type='string', default='egg:swift#account')
swift_account_server_2013_2_1.param(
'set log_name', type='string', default='account-server', description="You can override the default log routing for this app here:")
swift_account_server_2013_2_1.param(
'set log_facility', type='string', default='LOG_LOCAL0', description="You can override the default log routing for this app here:")
swift_account_server_2013_2_1.param(
'set log_level', type='string', default='INFO', description="You can override the default log routing for this app here:")
swift_account_server_2013_2_1.param(
'set log_requests', type='string', default='true', description="You can override the default log routing for this app here:")
swift_account_server_2013_2_1.param(
'set log_address', type='string', default='/dev/log', description="You can override the default log routing for this app here:")
swift_account_server_2013_2_1.param(
'auto_create_account_prefix', type='string', default='.')
swift_account_server_2013_2_1.param(
'replication_server', type='string', default='false',
description="Configure parameter for creating specific server To handle all verbs, including replication verbs, do not specify 'replication_server' (this is the default). To only handle replication, set to a True value (e.g. 'True' or '1'). To handle only non-replication verbs, set to 'False'. Unless you have a separate replication network, you should not specify any value for 'replication_server'.")
swift_account_server_2013_2_1.section('filter:healthcheck')
swift_account_server_2013_2_1.param(
'use', type='string', default='egg:swift#healthcheck')
swift_account_server_2013_2_1.param(
'disable_path', type='string', default='',
description="An optional filesystem path, which if present, will cause the healthcheck URL to return '503 Service Unavailable' with a body of 'DISABLED BY FILE'")
swift_account_server_2013_2_1.section('filter:recon')
swift_account_server_2013_2_1.param(
'use', type='string', default='egg:swift#recon')
swift_account_server_2013_2_1.param(
'recon_cache_path', type='string', default='/var/cache/swift')
swift_account_server_2013_2_1.section('account-replicator')
swift_account_server_2013_2_1.param(
'log_name', type='string', default='account-replicator',
description="You can override the default log routing for this app here (don't use set!):")
swift_account_server_2013_2_1.param(
'log_facility', type='string', default='LOG_LOCAL0',
description="You can override the default log routing for this app here (don't use set!):")
swift_account_server_2013_2_1.param(
'log_level', type='string', default='INFO',
description="You can override the default log routing for this app here (don't use set!):")
swift_account_server_2013_2_1.param(
'log_address', type='string', default='/dev/log',
description="You can override the default log routing for this app here (don't use set!):")
swift_account_server_2013_2_1.param(
'vm_test_mode', type='string', default='no')
swift_account_server_2013_2_1.param(
'per_diff', type='string', default='1000')
swift_account_server_2013_2_1.param(
'max_diffs', type='string', default='100')
swift_account_server_2013_2_1.param(
'concurrency', type='string', default='8')
swift_account_server_2013_2_1.param(
'interval', type='string', default='30')
swift_account_server_2013_2_1.param(
'error_suppression_interval', type='string', default='60',
description="How long without an error before a node's error count is reset. This will also be how long before a node is reenabled after suppression is triggered.")
swift_account_server_2013_2_1.param(
'error_suppression_limit', type='string', default='10',
description="How many errors can accumulate before a node is temporarily ignored.")
swift_account_server_2013_2_1.param(
'node_timeout', type='string', default='10')
swift_account_server_2013_2_1.param(
'conn_timeout', type='string', default='0.5')
swift_account_server_2013_2_1.param(
'reclaim_age', type='string', default='604800', description="The replicator also performs reclamation")
swift_account_server_2013_2_1.param(
'run_pause', type='string', default='30', description="Time in seconds to wait between replication passes")
swift_account_server_2013_2_1.param(
'recon_cache_path', type='string', default='/var/cache/swift')
swift_account_server_2013_2_1.section('account-auditor')
swift_account_server_2013_2_1.param(
'log_name', type='string', default='account-auditor',
description="You can override the default log routing for this app here (don't use set!):")
swift_account_server_2013_2_1.param(
'log_facility', type='string', default='LOG_LOCAL0',
description="You can override the default log routing for this app here (don't use set!):")
swift_account_server_2013_2_1.param(
'log_level', type='string', default='INFO',
description="You can override the default log routing for this app here (don't use set!):")
swift_account_server_2013_2_1.param(
'log_address', type='string', default='/dev/log',
description="You can override the default log routing for this app here (don't use set!):")
swift_account_server_2013_2_1.param(
'interval', type='string', default='1800', description="Will audit each account at most once per interval")
swift_account_server_2013_2_1.param(
'log_facility', type='string', default='LOG_LOCAL0')
swift_account_server_2013_2_1.param(
'log_level', type='string', default='INFO')
swift_account_server_2013_2_1.param(
'accounts_per_second', type='string', default='200')
swift_account_server_2013_2_1.param(
'recon_cache_path', type='string', default='/var/cache/swift')
swift_account_server_2013_2_1.section('account-reaper')
swift_account_server_2013_2_1.param(
'log_name', type='string', default='account-reaper',
description="You can override the default log routing for this app here (don't use set!):")
swift_account_server_2013_2_1.param(
'log_facility', type='string', default='LOG_LOCAL0',
description="You can override the default log routing for this app here (don't use set!):")
swift_account_server_2013_2_1.param(
'log_level', type='string', default='INFO',
description="You can override the default log routing for this app here (don't use set!):")
swift_account_server_2013_2_1.param(
'log_address', type='string', default='/dev/log',
description="You can override the default log routing for this app here (don't use set!):")
swift_account_server_2013_2_1.param(
'concurrency', type='string', default='25')
swift_account_server_2013_2_1.param(
'interval', type='string', default='3600')
swift_account_server_2013_2_1.param(
'node_timeout', type='string', default='10')
swift_account_server_2013_2_1.param(
'conn_timeout', type='string', default='0.5')
swift_account_server_2013_2_1.param(
'delay_reaping', type='string', default='0',
description="Normally, the reaper begins deleting account information for deleted accounts immediately; you can set this to delay its work however. The value is in seconds; 2592000 = 30 days for example.")
swift_account_server_2013_2_1.param(
'reap_warn_after', type='string', default='2592000',
description="If the account fails to be be reaped due to a persistent error, the account reaper will log a message such as: Account <name> has not been reaped since <date> You can search logs for this message if space is not being reclaimed after you delete account(s). Default is 2592000 seconds (30 days). This is in addition to any time requested by delay_reaping.")

View File

@ -0,0 +1,244 @@
project: swift_container_server
version: '2013.2.1'
parameters:
- name: bind_ip
type: string
default: '0.0.0.0'
- name: bind_port
type: string
default: '6001'
- name: bind_timeout
type: string
default: '30'
- name: backlog
type: string
default: '4096'
- name: user
type: string
default: 'swift'
- name: swift_dir
type: string
default: '/etc/swift'
- name: devices
type: string
default: '/srv/node'
- name: mount_check
type: string
default: 'true'
- name: disable_fallocate
type: string
default: 'false'
- name: workers
type: string
default: 'auto'
help: 'Use an integer to override the number of pre-forked processes that will accept connections.'
- name: max_clients
type: string
default: '1024'
help: 'Maximum concurrent requests per worker'
- name: allowed_sync_hosts
type: string
default: '127.0.0.1'
help: 'This is a comma separated list of hosts allowed in the X-Container-Sync-To field for containers.'
- name: container-sync.log_name
type: string
default: 'container-sync'
help: "You can override the default log routing for this app here (don't use set!):"
- name: container-sync.log_facility
type: string
default: 'LOG_LOCAL0'
help: "You can override the default log routing for this app here (don't use set!):"
- name: container-sync.log_level
type: string
default: 'INFO'
help: "You can override the default log routing for this app here (don't use set!):"
- name: container-sync.log_address
type: string
default: '/dev/log'
help: "You can override the default log routing for this app here (don't use set!):"
- name: log_custom_handlers
type: string
default: ''
help: 'comma separated list of functions to call to setup custom log handlers. functions get passed: conf, name, log_to_console, log_route, fmt, logger, adapted_logger'
- name: log_udp_host
type: string
default: ''
help: 'If set, log_udp_host will override log_address'
- name: log_udp_port
type: string
default: '514'
help: 'If set, log_udp_host will override log_address'
- name: log_statsd_host
type: host
default: 'localhost'
help: 'You can enable StatsD logging here:'
- name: log_statsd_port
type: string
default: '8125'
help: 'You can enable StatsD logging here:'
- name: log_statsd_default_sample_rate
type: string
default: '1.0'
help: 'You can enable StatsD logging here:'
- name: log_statsd_sample_rate_factor
type: string
default: '1.0'
help: 'You can enable StatsD logging here:'
- name: log_statsd_metric_prefix
type: string
default: ''
help: 'You can enable StatsD logging here:'
- name: db_preallocation
type: string
default: 'off'
help: "If you don't mind the extra disk space usage in overhead, you can turn this on to preallocate disk space with SQLite databases to decrease fragmentation."
- name: eventlet_debug
type: string
default: 'false'
- name: fallocate_reserve
type: string
default: '0'
help: "You can set fallocate_reserve to the number of bytes you'd like fallocate to reserve, whether there is space for the given file size or not."
- name: pipeline:main.pipeline
type: string
default: 'healthcheck recon container-server'
- name: filter:recon.use
type: string
default: 'egg:swift#recon'
- name: app:container-server.set log_name
type: string
default: 'container-server'
help: 'You can override the default log routing for this app here:'
- name: app:container-server.set log_facility
type: string
default: 'LOG_LOCAL0'
help: 'You can override the default log routing for this app here:'
- name: app:container-server.set log_level
type: string
default: 'INFO'
help: 'You can override the default log routing for this app here:'
- name: app:container-server.set log_requests
type: string
default: 'true'
help: 'You can override the default log routing for this app here:'
- name: app:container-server.set log_address
type: string
default: '/dev/log'
help: 'You can override the default log routing for this app here:'
- name: container-updater.node_timeout
type: string
default: '3'
- name: container-updater.conn_timeout
type: string
default: '0.5'
- name: app:container-server.allow_versions
type: string
default: 'false'
- name: app:container-server.auto_create_account_prefix
type: string
default: '.'
- name: app:container-server.replication_server
type: string
default: 'false'
help: "Configure parameter for creating specific server To handle all verbs, including replication verbs, do not specify 'replication_server' (this is the default). To only handle replication, set to a True value (e.g. 'True' or '1'). To handle only non-replication verbs, set to 'False'. Unless you have a separate replication network, you should not specify any value for 'replication_server'."
- name: filter:healthcheck.disable_path
type: string
default: ''
help: "An optional filesystem path, which if present, will cause the healthcheck URL to return '503 Service Unavailable' with a body of 'DISABLED BY FILE'"
- name: container-auditor.recon_cache_path
type: string
default: '/var/cache/swift'
help: 'containers_per_second = 200'
- name: container-replicator.vm_test_mode
type: string
default: 'no'
- name: container-replicator.per_diff
type: string
default: '1000'
- name: container-replicator.max_diffs
type: string
default: '100'
- name: container-updater.concurrency
type: string
default: '4'
- name: container-sync.interval
type: string
default: '300'
help: 'Will sync each container at most once per interval'
- name: container-replicator.reclaim_age
type: string
default: '604800'
help: 'The replicator also performs reclamation'
- name: container-replicator.run_pause
type: string
default: '30'
help: 'Time in seconds to wait between replication passes'
- name: container-updater.slowdown
type: string
default: '0.01'
help: 'slowdown will sleep that amount between containers'
- name: container-updater.account_suppression_time
type: string
default: '60'
help: 'Seconds to suppress updating an account that has generated an error'
- name: container-sync.sync_proxy
type: string
default: 'http://127.0.0.1:8888'
help: 'If you need to use an HTTP Proxy, set it here; defaults to no proxy.'
- name: container-sync.container_time
type: string
default: '60'
help: 'Maximum amount of time to spend syncing each container per pass'

View File

@ -1,291 +0,0 @@
from rubick.schema import ConfigSchemaRegistry
swift_container_server = ConfigSchemaRegistry.register_schema(
project='swift_container_server')
with swift_container_server.version('2013.2.1') as swift_container_server_2013_2_1:
swift_container_server_2013_2_1.section('DEFAULT')
swift_container_server_2013_2_1.param(
'bind_ip', type='string', default='0.0.0.0')
swift_container_server_2013_2_1.param(
'bind_port', type='string', default='6001')
swift_container_server_2013_2_1.param(
'bind_timeout', type='string', default='30')
swift_container_server_2013_2_1.param(
'backlog', type='string', default='4096')
swift_container_server_2013_2_1.param(
'user', type='string', default='swift')
swift_container_server_2013_2_1.param(
'swift_dir', type='string', default='/etc/swift')
swift_container_server_2013_2_1.param(
'devices', type='string', default='/srv/node')
swift_container_server_2013_2_1.param(
'mount_check', type='string', default='true')
swift_container_server_2013_2_1.param(
'disable_fallocate', type='string', default='false')
swift_container_server_2013_2_1.param(
'workers', type='string', default='auto', description="Use an integer to override the number of pre-forked processes that will accept connections.")
swift_container_server_2013_2_1.param(
'max_clients', type='string', default='1024', description="Maximum concurrent requests per worker")
swift_container_server_2013_2_1.param(
'allowed_sync_hosts', type='string', default='127.0.0.1',
description="This is a comma separated list of hosts allowed in the X-Container-Sync-To field for containers.")
swift_container_server_2013_2_1.param(
'log_name', type='string', default='swift', description="You can specify default log routing here if you want:")
swift_container_server_2013_2_1.param(
'log_facility', type='string', default='LOG_LOCAL0', description="You can specify default log routing here if you want:")
swift_container_server_2013_2_1.param(
'log_level', type='string', default='INFO', description="You can specify default log routing here if you want:")
swift_container_server_2013_2_1.param(
'log_address', type='string', default='/dev/log', description="You can specify default log routing here if you want:")
swift_container_server_2013_2_1.param(
'log_custom_handlers', type='string', default='',
description="comma separated list of functions to call to setup custom log handlers. functions get passed: conf, name, log_to_console, log_route, fmt, logger, adapted_logger")
swift_container_server_2013_2_1.param(
'log_udp_host', type='string', default='', description="If set, log_udp_host will override log_address")
swift_container_server_2013_2_1.param(
'log_udp_port', type='string', default='514', description="If set, log_udp_host will override log_address")
swift_container_server_2013_2_1.param(
'log_statsd_host', type='host', default='localhost', description="You can enable StatsD logging here:")
swift_container_server_2013_2_1.param(
'log_statsd_port', type='string', default='8125', description="You can enable StatsD logging here:")
swift_container_server_2013_2_1.param(
'log_statsd_default_sample_rate', type='string', default='1.0', description="You can enable StatsD logging here:")
swift_container_server_2013_2_1.param(
'log_statsd_sample_rate_factor', type='string', default='1.0', description="You can enable StatsD logging here:")
swift_container_server_2013_2_1.param(
'log_statsd_metric_prefix', type='string', default='', description="You can enable StatsD logging here:")
swift_container_server_2013_2_1.param(
'db_preallocation', type='string', default='off',
description="If you don't mind the extra disk space usage in overhead, you can turn this on to preallocate disk space with SQLite databases to decrease fragmentation.")
swift_container_server_2013_2_1.param(
'eventlet_debug', type='string', default='false')
swift_container_server_2013_2_1.param(
'fallocate_reserve', type='string', default='0',
description="You can set fallocate_reserve to the number of bytes you'd like fallocate to reserve, whether there is space for the given file size or not.")
swift_container_server_2013_2_1.section('pipeline:main')
swift_container_server_2013_2_1.param(
'pipeline', type='string', default='healthcheck recon container-server')
swift_container_server_2013_2_1.section('app:container-server')
swift_container_server_2013_2_1.param(
'use', type='string', default='egg:swift#container')
swift_container_server_2013_2_1.param(
'set log_name', type='string', default='container-server', description="You can override the default log routing for this app here:")
swift_container_server_2013_2_1.param(
'set log_facility', type='string', default='LOG_LOCAL0', description="You can override the default log routing for this app here:")
swift_container_server_2013_2_1.param(
'set log_level', type='string', default='INFO', description="You can override the default log routing for this app here:")
swift_container_server_2013_2_1.param(
'set log_requests', type='string', default='true', description="You can override the default log routing for this app here:")
swift_container_server_2013_2_1.param(
'set log_address', type='string', default='/dev/log', description="You can override the default log routing for this app here:")
swift_container_server_2013_2_1.param(
'node_timeout', type='string', default='3')
swift_container_server_2013_2_1.param(
'conn_timeout', type='string', default='0.5')
swift_container_server_2013_2_1.param(
'allow_versions', type='string', default='false')
swift_container_server_2013_2_1.param(
'auto_create_account_prefix', type='string', default='.')
swift_container_server_2013_2_1.param(
'replication_server', type='string', default='false',
description="Configure parameter for creating specific server To handle all verbs, including replication verbs, do not specify 'replication_server' (this is the default). To only handle replication, set to a True value (e.g. 'True' or '1'). To handle only non-replication verbs, set to 'False'. Unless you have a separate replication network, you should not specify any value for 'replication_server'.")
swift_container_server_2013_2_1.section('filter:healthcheck')
swift_container_server_2013_2_1.param(
'use', type='string', default='egg:swift#healthcheck')
swift_container_server_2013_2_1.param(
'disable_path', type='string', default='',
description="An optional filesystem path, which if present, will cause the healthcheck URL to return '503 Service Unavailable' with a body of 'DISABLED BY FILE'")
swift_container_server_2013_2_1.section('filter:recon')
swift_container_server_2013_2_1.param(
'use', type='string', default='egg:swift#recon')
swift_container_server_2013_2_1.param(
'recon_cache_path', type='string', default='/var/cache/swift')
swift_container_server_2013_2_1.section('container-replicator')
swift_container_server_2013_2_1.param(
'log_name', type='string', default='container-replicator',
description="You can override the default log routing for this app here (don't use set!):")
swift_container_server_2013_2_1.param(
'log_facility', type='string', default='LOG_LOCAL0',
description="You can override the default log routing for this app here (don't use set!):")
swift_container_server_2013_2_1.param(
'log_level', type='string', default='INFO',
description="You can override the default log routing for this app here (don't use set!):")
swift_container_server_2013_2_1.param(
'log_address', type='string', default='/dev/log',
description="You can override the default log routing for this app here (don't use set!):")
swift_container_server_2013_2_1.param(
'vm_test_mode', type='string', default='no')
swift_container_server_2013_2_1.param(
'per_diff', type='string', default='1000')
swift_container_server_2013_2_1.param(
'max_diffs', type='string', default='100')
swift_container_server_2013_2_1.param(
'concurrency', type='string', default='8')
swift_container_server_2013_2_1.param(
'interval', type='string', default='30')
swift_container_server_2013_2_1.param(
'node_timeout', type='string', default='10')
swift_container_server_2013_2_1.param(
'conn_timeout', type='string', default='0.5')
swift_container_server_2013_2_1.param(
'reclaim_age', type='string', default='604800', description="The replicator also performs reclamation")
swift_container_server_2013_2_1.param(
'run_pause', type='string', default='30', description="Time in seconds to wait between replication passes")
swift_container_server_2013_2_1.param(
'recon_cache_path', type='string', default='/var/cache/swift')
swift_container_server_2013_2_1.section('container-updater')
swift_container_server_2013_2_1.param(
'log_name', type='string', default='container-updater',
description="You can override the default log routing for this app here (don't use set!):")
swift_container_server_2013_2_1.param(
'log_facility', type='string', default='LOG_LOCAL0',
description="You can override the default log routing for this app here (don't use set!):")
swift_container_server_2013_2_1.param(
'log_level', type='string', default='INFO',
description="You can override the default log routing for this app here (don't use set!):")
swift_container_server_2013_2_1.param(
'log_address', type='string', default='/dev/log',
description="You can override the default log routing for this app here (don't use set!):")
swift_container_server_2013_2_1.param(
'interval', type='string', default='300')
swift_container_server_2013_2_1.param(
'concurrency', type='string', default='4')
swift_container_server_2013_2_1.param(
'node_timeout', type='string', default='3')
swift_container_server_2013_2_1.param(
'conn_timeout', type='string', default='0.5')
swift_container_server_2013_2_1.param(
'slowdown', type='string', default='0.01', description="slowdown will sleep that amount between containers")
swift_container_server_2013_2_1.param(
'account_suppression_time', type='string', default='60',
description="Seconds to suppress updating an account that has generated an error")
swift_container_server_2013_2_1.param(
'recon_cache_path', type='string', default='/var/cache/swift')
swift_container_server_2013_2_1.section('container-auditor')
swift_container_server_2013_2_1.param(
'log_name', type='string', default='container-auditor',
description="You can override the default log routing for this app here (don't use set!):")
swift_container_server_2013_2_1.param(
'log_facility', type='string', default='LOG_LOCAL0',
description="You can override the default log routing for this app here (don't use set!):")
swift_container_server_2013_2_1.param(
'log_level', type='string', default='INFO',
description="You can override the default log routing for this app here (don't use set!):")
swift_container_server_2013_2_1.param(
'log_address', type='string', default='/dev/log',
description="You can override the default log routing for this app here (don't use set!):")
swift_container_server_2013_2_1.param(
'interval', type='string', default='1800', description="Will audit each container at most once per interval")
swift_container_server_2013_2_1.param(
'recon_cache_path', type='string', default='/var/cache/swift', description="containers_per_second = 200")
swift_container_server_2013_2_1.section('container-sync')
swift_container_server_2013_2_1.param(
'log_name', type='string', default='container-sync',
description="You can override the default log routing for this app here (don't use set!):")
swift_container_server_2013_2_1.param(
'log_facility', type='string', default='LOG_LOCAL0',
description="You can override the default log routing for this app here (don't use set!):")
swift_container_server_2013_2_1.param(
'log_level', type='string', default='INFO',
description="You can override the default log routing for this app here (don't use set!):")
swift_container_server_2013_2_1.param(
'log_address', type='string', default='/dev/log',
description="You can override the default log routing for this app here (don't use set!):")
swift_container_server_2013_2_1.param(
'sync_proxy', type='string', default='http://127.0.0.1:8888',
description="If you need to use an HTTP Proxy, set it here; defaults to no proxy.")
swift_container_server_2013_2_1.param(
'interval', type='string', default='300', description="Will sync each container at most once per interval")
swift_container_server_2013_2_1.param(
'container_time', type='string', default='60', description="Maximum amount of time to spend syncing each container per pass")

View File

@ -0,0 +1,316 @@
project: swift_object_server
version: '2013.2.1'
parameters:
- name: bind_ip
type: string
default: '0.0.0.0'
- name: bind_port
type: string
default: '6000'
- name: bind_timeout
type: string
default: '30'
- name: backlog
type: string
default: '4096'
- name: user
type: string
default: 'swift'
- name: swift_dir
type: string
default: '/etc/swift'
- name: devices
type: string
default: '/srv/node'
- name: mount_check
type: string
default: 'true'
- name: disable_fallocate
type: string
default: 'false'
- name: expiring_objects_container_divisor
type: string
default: '86400'
- name: workers
type: string
default: 'auto'
help: 'Use an integer to override the number of pre-forked processes that will accept connections.'
- name: max_clients
type: string
default: '1024'
help: 'Maximum concurrent requests per worker'
- name: object-auditor.log_name
type: string
default: 'object-auditor'
help: "You can override the default log routing for this app here (don't use set!):"
- name: object-auditor.log_facility
type: string
default: 'LOG_LOCAL0'
help: "You can override the default log routing for this app here (don't use set!):"
- name: object-auditor.log_level
type: string
default: 'INFO'
help: "You can override the default log routing for this app here (don't use set!):"
- name: object-auditor.log_address
type: string
default: '/dev/log'
help: "You can override the default log routing for this app here (don't use set!):"
- name: log_custom_handlers
type: string
default: ''
help: 'comma separated list of functions to call to setup custom log handlers. functions get passed: conf, name, log_to_console, log_route, fmt, logger, adapted_logger'
- name: log_udp_host
type: string
default: ''
help: 'If set, log_udp_host will override log_address'
- name: log_udp_port
type: string
default: '514'
help: 'If set, log_udp_host will override log_address'
- name: log_statsd_host
type: host
default: 'localhost'
help: 'You can enable StatsD logging here:'
- name: log_statsd_port
type: string
default: '8125'
help: 'You can enable StatsD logging here:'
- name: log_statsd_default_sample_rate
type: string
default: '1.0'
help: 'You can enable StatsD logging here:'
- name: log_statsd_sample_rate_factor
type: string
default: '1.0'
help: 'You can enable StatsD logging here:'
- name: log_statsd_metric_prefix
type: string
default: ''
help: 'You can enable StatsD logging here:'
- name: eventlet_debug
type: string
default: 'false'
- name: fallocate_reserve
type: string
default: '0'
help: "You can set fallocate_reserve to the number of bytes you'd like fallocate to reserve, whether there is space for the given file size or not."
- name: pipeline:main.pipeline
type: string
default: 'healthcheck recon object-server'
- name: filter:recon.use
type: string
default: 'egg:swift#recon'
- name: app:object-server.set log_name
type: string
default: 'object-server'
help: 'You can override the default log routing for this app here:'
- name: app:object-server.set log_facility
type: string
default: 'LOG_LOCAL0'
help: 'You can override the default log routing for this app here:'
- name: app:object-server.set log_level
type: string
default: 'INFO'
help: 'You can override the default log routing for this app here:'
- name: app:object-server.set log_requests
type: string
default: 'true'
help: 'You can override the default log routing for this app here:'
- name: app:object-server.set log_address
type: string
default: '/dev/log'
help: 'You can override the default log routing for this app here:'
- name: object-updater.node_timeout
type: string
default: '10'
- name: object-updater.conn_timeout
type: string
default: '0.5'
- name: app:object-server.network_chunk_size
type: string
default: '65536'
- name: app:object-server.disk_chunk_size
type: string
default: '65536'
- name: app:object-server.max_upload_time
type: string
default: '86400'
- name: app:object-server.slow
type: string
default: '0'
- name: app:object-server.keep_cache_size
type: string
default: '5424880'
help: 'Objects smaller than this are not evicted from the buffercache once read'
- name: app:object-server.keep_cache_private
type: string
default: 'false'
help: 'If true, objects for authenticated GET requests may be kept in buffer cache if small enough'
- name: app:object-server.mb_per_sync
type: string
default: '512'
help: 'on PUTs, sync data every n MB'
- name: app:object-server.allowed_headers
type: string
default: 'Content-Disposition, Content-Encoding, X-Delete-At, X-Object-Manifest, X-Static-Large-Object'
help: 'Comma separated list of headers that can be set in metadata on an object. This list is in addition to X-Object-Meta-* headers and cannot include Content-Type, etag, Content-Length, or deleted'
- name: app:object-server.auto_create_account_prefix
type: string
default: '.'
- name: app:object-server.replication_server
type: string
default: 'false'
help: "Configure parameter for creating specific server To handle all verbs, including replication verbs, do not specify 'replication_server' (this is the default). To only handle replication, set to a True value (e.g. 'True' or '1'). To handle only non-replication verbs, set to 'False'. Unless you have a separate replication network, you should not specify any value for 'replication_server'."
- name: app:object-server.threads_per_disk
type: string
default: '0'
help: "Configure parameter for creating specific server To handle all verbs, including replication verbs, do not specify 'replication_server' (this is the default). To only handle replication, set to a True value (e.g. 'True' or '1'). To handle only non-replication verbs, set to 'False'. Unless you have a separate replication network, you should not specify any value for 'replication_server'. A value of 0 means 'don't use thread pools'. A reasonable starting point is 4."
- name: filter:healthcheck.disable_path
type: string
default: ''
help: "An optional filesystem path, which if present, will cause the healthcheck URL to return '503 Service Unavailable' with a body of 'DISABLED BY FILE'"
- name: object-auditor.recon_cache_path
type: string
default: '/var/cache/swift'
- name: filter:recon.recon_lock_path
type: string
default: '/var/lock'
- name: object-replicator.vm_test_mode
type: string
default: 'no'
- name: object-replicator.daemonize
type: string
default: 'on'
- name: object-replicator.run_pause
type: string
default: '30'
- name: object-updater.concurrency
type: string
default: '1'
- name: object-replicator.stats_interval
type: string
default: '300'
- name: object-replicator.rsync_timeout
type: string
default: '900'
help: 'max duration of a partition rsync'
- name: object-replicator.rsync_bwlimit
type: string
default: '0'
help: 'bandwith limit for rsync in kB/s. 0 means unlimited'
- name: object-replicator.rsync_io_timeout
type: string
default: '30'
help: 'passed to rsync for io op timeout'
- name: object-replicator.http_timeout
type: string
default: '60'
help: 'max duration of an http request'
- name: object-replicator.lockup_timeout
type: string
default: '1800'
help: 'attempts to kill all workers if nothing replicates for lockup_timeout seconds'
- name: object-replicator.reclaim_age
type: string
default: '604800'
help: 'The replicator also performs reclamation'
- name: object-replicator.ring_check_interval
type: string
default: '15'
- name: object-replicator.rsync_error_log_line_length
type: string
default: '0'
help: 'limits how long rsync error log lines are 0 means to log the entire line'
- name: object-updater.interval
type: string
default: '300'
- name: object-updater.slowdown
type: string
default: '0.01'
help: 'slowdown will sleep that amount between objects'
- name: object-auditor.files_per_second
type: string
default: '20'
- name: object-auditor.bytes_per_second
type: string
default: '10000000'
- name: object-auditor.log_time
type: string
default: '3600'
- name: object-auditor.zero_byte_files_per_second
type: string
default: '50'
- name: object-auditor.object_size_stats
type: string
default: ''
help: 'Takes a comma separated list of ints. If set, the object auditor will increment a counter for every object whose size is <= to the given break points and report the result after a full scan.'

View File

@ -1,313 +0,0 @@
from rubick.schema import ConfigSchemaRegistry
swift_object_server = ConfigSchemaRegistry.register_schema(
project='swift_object_server')
with swift_object_server.version('2013.2.1') as swift_object_server_2013_2_1:
swift_object_server_2013_2_1.section('DEFAULT')
swift_object_server_2013_2_1.param(
'bind_ip', type='string', default='0.0.0.0')
swift_object_server_2013_2_1.param(
'bind_port', type='string', default='6000')
swift_object_server_2013_2_1.param(
'bind_timeout', type='string', default='30')
swift_object_server_2013_2_1.param(
'backlog', type='string', default='4096')
swift_object_server_2013_2_1.param('user', type='string', default='swift')
swift_object_server_2013_2_1.param(
'swift_dir', type='string', default='/etc/swift')
swift_object_server_2013_2_1.param(
'devices', type='string', default='/srv/node')
swift_object_server_2013_2_1.param(
'mount_check', type='string', default='true')
swift_object_server_2013_2_1.param(
'disable_fallocate', type='string', default='false')
swift_object_server_2013_2_1.param(
'expiring_objects_container_divisor', type='string', default='86400')
swift_object_server_2013_2_1.param(
'workers', type='string', default='auto',
description="Use an integer to override the number of pre-forked processes that will accept connections.")
swift_object_server_2013_2_1.param(
'max_clients', type='string', default='1024', description="Maximum concurrent requests per worker")
swift_object_server_2013_2_1.param(
'log_name', type='string', default='swift', description="You can specify default log routing here if you want:")
swift_object_server_2013_2_1.param(
'log_facility', type='string', default='LOG_LOCAL0', description="You can specify default log routing here if you want:")
swift_object_server_2013_2_1.param(
'log_level', type='string', default='INFO', description="You can specify default log routing here if you want:")
swift_object_server_2013_2_1.param(
'log_address', type='string', default='/dev/log', description="You can specify default log routing here if you want:")
swift_object_server_2013_2_1.param(
'log_custom_handlers', type='string', default='',
description="comma separated list of functions to call to setup custom log handlers. functions get passed: conf, name, log_to_console, log_route, fmt, logger, adapted_logger")
swift_object_server_2013_2_1.param(
'log_udp_host', type='string', default='', description="If set, log_udp_host will override log_address")
swift_object_server_2013_2_1.param(
'log_udp_port', type='string', default='514', description="If set, log_udp_host will override log_address")
swift_object_server_2013_2_1.param(
'log_statsd_host', type='host', default='localhost', description="You can enable StatsD logging here:")
swift_object_server_2013_2_1.param(
'log_statsd_port', type='string', default='8125', description="You can enable StatsD logging here:")
swift_object_server_2013_2_1.param(
'log_statsd_default_sample_rate', type='string', default='1.0', description="You can enable StatsD logging here:")
swift_object_server_2013_2_1.param(
'log_statsd_sample_rate_factor', type='string', default='1.0', description="You can enable StatsD logging here:")
swift_object_server_2013_2_1.param(
'log_statsd_metric_prefix', type='string', default='', description="You can enable StatsD logging here:")
swift_object_server_2013_2_1.param(
'eventlet_debug', type='string', default='false')
swift_object_server_2013_2_1.param(
'fallocate_reserve', type='string', default='0',
description="You can set fallocate_reserve to the number of bytes you'd like fallocate to reserve, whether there is space for the given file size or not.")
swift_object_server_2013_2_1.section('pipeline:main')
swift_object_server_2013_2_1.param(
'pipeline', type='string', default='healthcheck recon object-server')
swift_object_server_2013_2_1.section('app:object-server')
swift_object_server_2013_2_1.param(
'use', type='string', default='egg:swift#object')
swift_object_server_2013_2_1.param(
'set log_name', type='string', default='object-server',
description="You can override the default log routing for this app here:")
swift_object_server_2013_2_1.param(
'set log_facility', type='string', default='LOG_LOCAL0',
description="You can override the default log routing for this app here:")
swift_object_server_2013_2_1.param(
'set log_level', type='string', default='INFO',
description="You can override the default log routing for this app here:")
swift_object_server_2013_2_1.param(
'set log_requests', type='string', default='true',
description="You can override the default log routing for this app here:")
swift_object_server_2013_2_1.param(
'set log_address', type='string', default='/dev/log',
description="You can override the default log routing for this app here:")
swift_object_server_2013_2_1.param(
'node_timeout', type='string', default='3')
swift_object_server_2013_2_1.param(
'conn_timeout', type='string', default='0.5')
swift_object_server_2013_2_1.param(
'network_chunk_size', type='string', default='65536')
swift_object_server_2013_2_1.param(
'disk_chunk_size', type='string', default='65536')
swift_object_server_2013_2_1.param(
'max_upload_time', type='string', default='86400')
swift_object_server_2013_2_1.param('slow', type='string', default='0')
swift_object_server_2013_2_1.param(
'keep_cache_size', type='string', default='5424880',
description="Objects smaller than this are not evicted from the buffercache once read")
swift_object_server_2013_2_1.param(
'keep_cache_private', type='string', default='false',
description="If true, objects for authenticated GET requests may be kept in buffer cache if small enough")
swift_object_server_2013_2_1.param(
'mb_per_sync', type='string', default='512', description="on PUTs, sync data every n MB")
swift_object_server_2013_2_1.param(
'allowed_headers', type='string', default='Content-Disposition, Content-Encoding, X-Delete-At, X-Object-Manifest, X-Static-Large-Object',
description="Comma separated list of headers that can be set in metadata on an object. This list is in addition to X-Object-Meta-* headers and cannot include Content-Type, etag, Content-Length, or deleted")
swift_object_server_2013_2_1.param(
'auto_create_account_prefix', type='string', default='.')
swift_object_server_2013_2_1.param(
'replication_server', type='string', default='false',
description="Configure parameter for creating specific server To handle all verbs, including replication verbs, do not specify 'replication_server' (this is the default). To only handle replication, set to a True value (e.g. 'True' or '1'). To handle only non-replication verbs, set to 'False'. Unless you have a separate replication network, you should not specify any value for 'replication_server'.")
swift_object_server_2013_2_1.param(
'threads_per_disk', type='string', default='0',
description="Configure parameter for creating specific server To handle all verbs, including replication verbs, do not specify 'replication_server' (this is the default). To only handle replication, set to a True value (e.g. 'True' or '1'). To handle only non-replication verbs, set to 'False'. Unless you have a separate replication network, you should not specify any value for 'replication_server'. A value of 0 means 'don't use thread pools'. A reasonable starting point is 4.")
swift_object_server_2013_2_1.section('filter:healthcheck')
swift_object_server_2013_2_1.param(
'use', type='string', default='egg:swift#healthcheck')
swift_object_server_2013_2_1.param(
'disable_path', type='string', default='',
description="An optional filesystem path, which if present, will cause the healthcheck URL to return '503 Service Unavailable' with a body of 'DISABLED BY FILE'")
swift_object_server_2013_2_1.section('filter:recon')
swift_object_server_2013_2_1.param(
'use', type='string', default='egg:swift#recon')
swift_object_server_2013_2_1.param(
'recon_cache_path', type='string', default='/var/cache/swift')
swift_object_server_2013_2_1.param(
'recon_lock_path', type='string', default='/var/lock')
swift_object_server_2013_2_1.section('object-replicator')
swift_object_server_2013_2_1.param(
'log_name', type='string', default='object-replicator',
description="You can override the default log routing for this app here (don't use set!):")
swift_object_server_2013_2_1.param(
'log_facility', type='string', default='LOG_LOCAL0',
description="You can override the default log routing for this app here (don't use set!):")
swift_object_server_2013_2_1.param(
'log_level', type='string', default='INFO',
description="You can override the default log routing for this app here (don't use set!):")
swift_object_server_2013_2_1.param(
'log_address', type='string', default='/dev/log',
description="You can override the default log routing for this app here (don't use set!):")
swift_object_server_2013_2_1.param(
'vm_test_mode', type='string', default='no')
swift_object_server_2013_2_1.param(
'daemonize', type='string', default='on')
swift_object_server_2013_2_1.param(
'run_pause', type='string', default='30')
swift_object_server_2013_2_1.param(
'concurrency', type='string', default='1')
swift_object_server_2013_2_1.param(
'stats_interval', type='string', default='300')
swift_object_server_2013_2_1.param(
'rsync_timeout', type='string', default='900', description="max duration of a partition rsync")
swift_object_server_2013_2_1.param(
'rsync_bwlimit', type='string', default='0', description="bandwith limit for rsync in kB/s. 0 means unlimited")
swift_object_server_2013_2_1.param(
'rsync_io_timeout', type='string', default='30', description="passed to rsync for io op timeout")
swift_object_server_2013_2_1.param(
'http_timeout', type='string', default='60', description="max duration of an http request")
swift_object_server_2013_2_1.param(
'lockup_timeout', type='string', default='1800',
description="attempts to kill all workers if nothing replicates for lockup_timeout seconds")
swift_object_server_2013_2_1.param(
'reclaim_age', type='string', default='604800', description="The replicator also performs reclamation")
swift_object_server_2013_2_1.param(
'ring_check_interval', type='string', default='15')
swift_object_server_2013_2_1.param(
'recon_cache_path', type='string', default='/var/cache/swift')
swift_object_server_2013_2_1.param(
'rsync_error_log_line_length', type='string', default='0',
description="limits how long rsync error log lines are 0 means to log the entire line")
swift_object_server_2013_2_1.section('object-updater')
swift_object_server_2013_2_1.param(
'log_name', type='string', default='object-updater',
description="You can override the default log routing for this app here (don't use set!):")
swift_object_server_2013_2_1.param(
'log_facility', type='string', default='LOG_LOCAL0',
description="You can override the default log routing for this app here (don't use set!):")
swift_object_server_2013_2_1.param(
'log_level', type='string', default='INFO',
description="You can override the default log routing for this app here (don't use set!):")
swift_object_server_2013_2_1.param(
'log_address', type='string', default='/dev/log',
description="You can override the default log routing for this app here (don't use set!):")
swift_object_server_2013_2_1.param(
'interval', type='string', default='300')
swift_object_server_2013_2_1.param(
'concurrency', type='string', default='1')
swift_object_server_2013_2_1.param(
'node_timeout', type='string', default='10')
swift_object_server_2013_2_1.param(
'conn_timeout', type='string', default='0.5')
swift_object_server_2013_2_1.param(
'slowdown', type='string', default='0.01', description="slowdown will sleep that amount between objects")
swift_object_server_2013_2_1.section('object-auditor')
swift_object_server_2013_2_1.param(
'log_name', type='string', default='object-auditor',
description="You can override the default log routing for this app here (don't use set!):")
swift_object_server_2013_2_1.param(
'log_facility', type='string', default='LOG_LOCAL0',
description="You can override the default log routing for this app here (don't use set!):")
swift_object_server_2013_2_1.param(
'log_level', type='string', default='INFO',
description="You can override the default log routing for this app here (don't use set!):")
swift_object_server_2013_2_1.param(
'log_address', type='string', default='/dev/log',
description="You can override the default log routing for this app here (don't use set!):")
swift_object_server_2013_2_1.param(
'files_per_second', type='string', default='20')
swift_object_server_2013_2_1.param(
'bytes_per_second', type='string', default='10000000')
swift_object_server_2013_2_1.param(
'log_time', type='string', default='3600')
swift_object_server_2013_2_1.param(
'zero_byte_files_per_second', type='string', default='50')
swift_object_server_2013_2_1.param(
'recon_cache_path', type='string', default='/var/cache/swift')
swift_object_server_2013_2_1.param(
'object_size_stats', type='string', default='',
description="Takes a comma separated list of ints. If set, the object auditor will increment a counter for every object whose size is <= to the given break points and report the result after a full scan.")

View File

@ -0,0 +1,625 @@
project: swift_proxy_server
version: '2013.2.1'
parameters:
- name: bind_ip
type: string
default: '0.0.0.0'
- name: bind_port
type: string
default: '80'
- name: bind_timeout
type: string
default: '30'
- name: backlog
type: string
default: '4096'
- name: swift_dir
type: string
default: '/etc/swift'
- name: user
type: string
default: 'swift'
- name: workers
type: string
default: 'auto'
help: "Use an integer to override the number of pre-forked processes that will accept connections. Should default to the number of effective cpu cores in the system. It's worth noting that individual workers will use many eventlet co-routines to service multiple concurrent requests."
- name: max_clients
type: string
default: '1024'
help: 'Maximum concurrent requests per worker'
- name: cert_file
type: string
default: '/etc/swift/proxy.crt'
help: 'Set the following two lines to enable SSL. This is for testing only.'
- name: key_file
type: string
default: '/etc/swift/proxy.key'
help: 'Set the following two lines to enable SSL. This is for testing only.'
- name: log_name
type: string
default: 'swift'
help: 'You can specify default log routing here if you want:'
- name: log_facility
type: string
default: 'LOG_LOCAL0'
help: 'You can specify default log routing here if you want:'
- name: log_level
type: string
default: 'INFO'
help: 'You can specify default log routing here if you want:'
- name: log_headers
type: string
default: 'false'
help: 'You can specify default log routing here if you want:'
- name: log_address
type: string
default: '/dev/log'
help: 'You can specify default log routing here if you want:'
- name: trans_id_suffix
type: string
default: ''
help: 'This optional suffix (default is empty) that would be appended to the swift transaction id allows one to easily figure out from which cluster that X-Trans-Id belongs to. This is very useful when one is managing more than one swift cluster.'
- name: log_custom_handlers
type: string
default: ''
help: 'comma separated list of functions to call to setup custom log handlers. functions get passed: conf, name, log_to_console, log_route, fmt, logger, adapted_logger'
- name: log_udp_host
type: string
default: ''
help: 'If set, log_udp_host will override log_address'
- name: log_udp_port
type: string
default: '514'
help: 'If set, log_udp_host will override log_address'
- name: log_statsd_host
type: host
default: 'localhost'
help: 'You can enable StatsD logging here:'
- name: log_statsd_port
type: string
default: '8125'
help: 'You can enable StatsD logging here:'
- name: log_statsd_default_sample_rate
type: string
default: '1.0'
help: 'You can enable StatsD logging here:'
- name: log_statsd_sample_rate_factor
type: string
default: '1.0'
help: 'You can enable StatsD logging here:'
- name: log_statsd_metric_prefix
type: string
default: ''
help: 'You can enable StatsD logging here:'
- name: cors_allow_origin
type: string
default: ''
help: 'Use a comma separated list of full url (http://foo.bar:1234,https://foo.bar)'
- name: client_timeout
type: string
default: '60'
- name: eventlet_debug
type: string
default: 'false'
- name: pipeline:main.pipeline
type: string
default: 'catch_errors healthcheck proxy-logging cache bulk slo ratelimit tempauth container-quotas account-quotas proxy-logging proxy-server'
- name: filter:account-quotas.use
type: string
default: 'egg:swift#account_quotas'
- name: filter:cname_lookup.set log_name
type: string
default: 'cname_lookup'
help: 'Note: this middleware requires python-dnspython You can override the default log routing for this filter here:'
- name: filter:cname_lookup.set log_facility
type: string
default: 'LOG_LOCAL0'
help: 'Note: this middleware requires python-dnspython You can override the default log routing for this filter here:'
- name: filter:cname_lookup.set log_level
type: string
default: 'INFO'
help: 'Note: this middleware requires python-dnspython You can override the default log routing for this filter here:'
- name: filter:cname_lookup.set log_address
type: string
default: '/dev/log'
help: 'Note: this middleware requires python-dnspython You can override the default log routing for this filter here:'
- name: app:proxy-server.log_handoffs
type: string
default: 'true'
- name: app:proxy-server.recheck_account_existence
type: string
default: '60'
- name: app:proxy-server.recheck_container_existence
type: string
default: '60'
- name: app:proxy-server.object_chunk_size
type: string
default: '8192'
- name: app:proxy-server.client_chunk_size
type: string
default: '8192'
- name: app:proxy-server.node_timeout
type: string
default: '10'
- name: app:proxy-server.conn_timeout
type: string
default: '0.5'
- name: app:proxy-server.error_suppression_interval
type: string
default: '60'
help: "How long without an error before a node's error count is reset. This will also be how long before a node is reenabled after suppression is triggered."
- name: app:proxy-server.error_suppression_limit
type: string
default: '10'
help: 'How many errors can accumulate before a node is temporarily ignored.'
- name: app:proxy-server.allow_account_management
type: string
default: 'false'
help: "If set to 'true' any authorized user may create and delete accounts; if 'false' no one, even authorized, can."
- name: app:proxy-server.object_post_as_copy
type: string
default: 'true'
help: "Set object_post_as_copy = false to turn on fast posts where only the metadata changes are stored anew and the original data file is kept in place. This makes for quicker posts; but since the container metadata isn't updated in this mode, features like container sync won't be able to sync posts."
- name: app:proxy-server.account_autocreate
type: string
default: 'false'
help: "If set to 'true' authorized accounts that do not yet exist within the Swift cluster will be automatically created."
- name: app:proxy-server.max_containers_per_account
type: string
default: '0'
help: 'If set to a positive value, trying to create a container when the account already has at least this maximum containers will result in a 403 Forbidden. Note: This is a soft limit, meaning a user might exceed the cap for recheck_account_existence before the 403s kick in.'
- name: app:proxy-server.max_containers_whitelist
type: string
default: ''
help: 'This is a comma separated list of account hashes that ignore the max_containers_per_account cap.'
- name: app:proxy-server.deny_host_headers
type: string
default: ''
help: 'Comma separated list of Host headers to which the proxy will deny requests.'
- name: app:proxy-server.auto_create_account_prefix
type: string
default: '.'
help: 'Prefix used when automatically creating accounts.'
- name: app:proxy-server.put_queue_depth
type: string
default: '10'
help: 'Depth of the proxy put queue.'
- name: app:proxy-server.rate_limit_after_segment
type: string
default: '10'
help: 'Start rate-limiting object segment serving after the Nth segment of a segmented object.'
- name: app:proxy-server.rate_limit_segments_per_sec
type: string
default: '1'
help: 'Once segment rate-limiting kicks in for an object, limit segments served to N per second.'
- name: app:proxy-server.sorting_method
type: string
default: 'shuffle'
help: "Storage nodes can be chosen at random (shuffle), by using timing measurements (timing), or by using an explicit match (affinity). Using timing measurements may allow for lower overall latency, while using affinity allows for finer control. In both the timing and affinity cases, equally-sorting nodes are still randomly chosen to spread load. The valid values for sorting_method are 'affinity', 'shuffle', and 'timing'."
- name: app:proxy-server.timing_expiry
type: string
default: '300'
help: "If the 'timing' sorting_method is used, the timings will only be valid for the number of seconds configured by timing_expiry."
- name: app:proxy-server.allow_static_large_object
type: string
default: 'true'
help: "If set to false will treat objects with X-Static-Large-Object header set as a regular object on GETs, i.e. will return that object's contents. Should be set to false if slo is not used in pipeline."
- name: app:proxy-server.max_large_object_get_time
type: string
default: '86400'
help: 'The maximum time (seconds) that a large object connection is allowed to last.'
- name: app:proxy-server.request_node_count
type: string
default: '2 * replicas'
help: "Set to the number of nodes to contact for a normal request. You can use '* replicas' at the end to have it use the number given times the number of replicas for the ring being used for the request."
- name: app:proxy-server.read_affinity
type: string
default: ''
help: 'Example: first read from region 1 zone 1, then region 1 zone 2, then anything in region 2, then everything else: read_affinity = r1z1=100, r1z2=200, r2=300 Default is empty, meaning no preference.'
- name: app:proxy-server.write_affinity
type: string
default: ''
help: 'Example: try to write to regions 1 and 2 before writing to any other nodes: write_affinity = r1, r2 Default is empty, meaning no preference.'
- name: app:proxy-server.write_affinity_node_count
type: string
default: '2 * replicas'
help: "The number of local (as governed by the write_affinity setting) nodes to attempt to contact first, before any non-local ones. You can use '* replicas' at the end to have it use the number given times the number of replicas for the ring being used for the request."
- name: app:proxy-server.swift_owner_headers
type: string
default: 'x-container-read, x-container-write, x-container-sync-key, x-container-sync-to, x-account-meta-temp-url-key, x-account-meta-temp-url-key-2'
help: 'These are the headers whose values will only be shown to swift_owners. The exact definition of a swift_owner is up to the auth system in use, but usually indicates administrative responsibilities.'
- name: filter:cname_lookup.set log_headers
type: string
default: 'false'
help: 'Note: this middleware requires python-dnspython You can override the default log routing for this filter here:'
- name: filter:tempauth.reseller_prefix
type: string
default: 'AUTH'
help: 'The reseller prefix will verify a token begins with this prefix before even attempting to validate it. Also, with authorization, only Swift storage accounts with this prefix will be authorized by this middleware. Useful if multiple auth systems are in use for one Swift cluster.'
- name: filter:tempauth.auth_prefix
type: string
default: '/auth/'
help: 'The auth prefix will cause requests beginning with this prefix to be routed to the auth subsystem, for granting tokens, etc.'
- name: filter:tempauth.token_life
type: string
default: '86400'
help: 'The auth prefix will cause requests beginning with this prefix to be routed to the auth subsystem, for granting tokens, etc.'
- name: filter:tempauth.allow_overrides
type: string
default: 'true'
help: "This allows middleware higher in the WSGI pipeline to override auth processing, useful for middleware such as tempurl and formpost. If you know you're not going to use such middleware and you want a bit of extra security, you can set this to false."
- name: filter:tempauth.storage_url_scheme
type: string
default: 'default'
help: 'This specifies what scheme to return with storage urls: http, https, or default (chooses based on what the server is running as) This can be useful with an SSL load balancer in front of a non-SSL server.'
- name: filter:tempauth.user_admin_admin
type: string
default: 'admin .admin .reseller_admin'
help: 'Lastly, you need to list all the accounts/users you want here. The format is: user_<account>_<user> = <key> [group] [group] [...] [storage_url] or if you want underscores in <account> or <user>, you can base64 encode them (with no equal signs) and use this format: user64_<account_b64>_<user_b64> = <key> [group] [group] [...] [storage_url] There are special groups of: .reseller_admin = can do anything to any account for this auth .admin = can do anything within the account If neither of these groups are specified, the user can only access containers that have been explicitly allowed for them by a .admin or .reseller_admin. The trailing optional storage_url allows you to specify an alternate url to hand back to the user upon authentication. If not specified, this defaults to $HOST/v1/<reseller_prefix>_<account> where $HOST will do its best to resolve to what the requester would need to use to reach this host. Here are example entries, required for running the tests:'
- name: filter:tempauth.user_test_tester
type: string
default: 'testing .admin'
help: 'Lastly, you need to list all the accounts/users you want here. The format is: user_<account>_<user> = <key> [group] [group] [...] [storage_url] or if you want underscores in <account> or <user>, you can base64 encode them (with no equal signs) and use this format: user64_<account_b64>_<user_b64> = <key> [group] [group] [...] [storage_url] There are special groups of: .reseller_admin = can do anything to any account for this auth .admin = can do anything within the account If neither of these groups are specified, the user can only access containers that have been explicitly allowed for them by a .admin or .reseller_admin. The trailing optional storage_url allows you to specify an alternate url to hand back to the user upon authentication. If not specified, this defaults to $HOST/v1/<reseller_prefix>_<account> where $HOST will do its best to resolve to what the requester would need to use to reach this host. Here are example entries, required for running the tests:'
- name: filter:tempauth.user_test2_tester2
type: string
default: 'testing2 .admin'
help: 'Lastly, you need to list all the accounts/users you want here. The format is: user_<account>_<user> = <key> [group] [group] [...] [storage_url] or if you want underscores in <account> or <user>, you can base64 encode them (with no equal signs) and use this format: user64_<account_b64>_<user_b64> = <key> [group] [group] [...] [storage_url] There are special groups of: .reseller_admin = can do anything to any account for this auth .admin = can do anything within the account If neither of these groups are specified, the user can only access containers that have been explicitly allowed for them by a .admin or .reseller_admin. The trailing optional storage_url allows you to specify an alternate url to hand back to the user upon authentication. If not specified, this defaults to $HOST/v1/<reseller_prefix>_<account> where $HOST will do its best to resolve to what the requester would need to use to reach this host. Here are example entries, required for running the tests:'
- name: filter:tempauth.user_test_tester3
type: string
default: 'testing3'
help: 'Lastly, you need to list all the accounts/users you want here. The format is: user_<account>_<user> = <key> [group] [group] [...] [storage_url] or if you want underscores in <account> or <user>, you can base64 encode them (with no equal signs) and use this format: user64_<account_b64>_<user_b64> = <key> [group] [group] [...] [storage_url] There are special groups of: .reseller_admin = can do anything to any account for this auth .admin = can do anything within the account If neither of these groups are specified, the user can only access containers that have been explicitly allowed for them by a .admin or .reseller_admin. The trailing optional storage_url allows you to specify an alternate url to hand back to the user upon authentication. If not specified, this defaults to $HOST/v1/<reseller_prefix>_<account> where $HOST will do its best to resolve to what the requester would need to use to reach this host. Here are example entries, required for running the tests:'
- name: filter:tempauth.paste.filter_factory
type: string
default: 'keystoneclient.middleware.auth_token:filter_factory'
help: '[filter:authtoken]'
- name: filter:tempauth.auth_host
type: string
default: 'keystonehost'
help: '[filter:authtoken]'
- name: filter:tempauth.auth_port
type: string
default: '35357'
help: '[filter:authtoken]'
- name: filter:tempauth.auth_protocol
type: string
default: 'http'
help: '[filter:authtoken]'
- name: filter:tempauth.auth_uri
type: string
default: 'http://keystonehost:5000/'
help: '[filter:authtoken]'
- name: filter:tempauth.admin_tenant_name
type: string
default: 'service'
help: '[filter:authtoken]'
- name: filter:tempauth.admin_user
type: string
default: 'swift'
help: '[filter:authtoken]'
- name: filter:tempauth.admin_password
type: string
default: 'password'
help: '[filter:authtoken]'
- name: filter:tempauth.delay_auth_decision
type: string
default: '1'
help: '[filter:authtoken]'
- name: filter:tempauth.cache
type: string
default: 'swift.cache'
help: '[filter:authtoken]'
- name: filter:tempauth.operator_roles
type: string
default: 'admin, swiftoperator'
help: '[filter:keystoneauth] Operator roles is the role which user would be allowed to manage a tenant and be able to create container or give ACL to others.'
- name: filter:tempauth.reseller_admin_role
type: string
default: 'ResellerAdmin'
help: '[filter:keystoneauth] Operator roles is the role which user would be allowed to manage a tenant and be able to create container or give ACL to others. The reseller admin role has the ability to create and delete accounts'
- name: filter:healthcheck.disable_path
type: string
default: ''
help: "An optional filesystem path, which if present, will cause the healthcheck URL to return '503 Service Unavailable' with a body of 'DISABLED BY FILE'. This facility may be used to temporarily remove a Swift node from a load balancer pool during maintenance or upgrade (remove the file to allow the node back into the load balancer pool)."
- name: filter:cache.memcache_servers
type: string
default: '127.0.0.1:11211'
help: 'If not set here, the value for memcache_servers will be read from memcache.conf (see memcache.conf-sample) or lacking that file, it will default to the value below. You can specify multiple servers separated with commas, as in: 10.1.2.3:11211,10.1.2.4:11211'
- name: filter:cache.memcache_serialization_support
type: string
default: '2'
help: 'Sets how memcache values are serialized and deserialized: 0 = older, insecure pickle serialization 1 = json serialization but pickles can still be read (still insecure) 2 = json serialization only (secure and the default) If not set here, the value for memcache_serialization_support will be read from /etc/swift/memcache.conf (see memcache.conf-sample). To avoid an instant full cache flush, existing installations should upgrade with 0, then set to 1 and reload, then after some time (24 hours) set to 2 and reload. In the future, the ability to use pickle serialization will be removed.'
- name: filter:ratelimit.clock_accuracy
type: string
default: '1000'
help: "clock_accuracy should represent how accurate the proxy servers' system clocks are with each other. 1000 means that all the proxies' clock are accurate to each other within 1 millisecond. No ratelimit should be higher than the clock accuracy."
- name: filter:ratelimit.max_sleep_time_seconds
type: string
default: '60'
- name: filter:ratelimit.log_sleep_time_seconds
type: string
default: '0'
help: 'log_sleep_time_seconds of 0 means disabled'
- name: filter:ratelimit.rate_buffer_seconds
type: string
default: '5'
help: "allows for slow rates (e.g. running up to 5 sec's behind) to catch up."
- name: filter:ratelimit.account_ratelimit
type: string
default: '0'
help: 'account_ratelimit of 0 means disabled'
- name: filter:ratelimit.account_whitelist
type: string
default: 'a,b'
help: 'these are comma separated lists of account names'
- name: filter:ratelimit.account_blacklist
type: string
default: 'c,d'
help: 'these are comma separated lists of account names'
- name: filter:ratelimit.with container_limit_x
type: string
default: 'r'
- name: filter:ratelimit.container_ratelimit_0
type: string
default: '100'
help: 'for containers of size x limit write requests per second to r. The container rate will be linearly interpolated from the values given. With the values below, a container of size 5 will get a rate of 75.'
- name: filter:ratelimit.container_ratelimit_10
type: string
default: '50'
help: 'for containers of size x limit write requests per second to r. The container rate will be linearly interpolated from the values given. With the values below, a container of size 5 will get a rate of 75.'
- name: filter:ratelimit.container_ratelimit_50
type: string
default: '20'
help: 'for containers of size x limit write requests per second to r. The container rate will be linearly interpolated from the values given. With the values below, a container of size 5 will get a rate of 75.'
- name: filter:ratelimit.container_listing_ratelimit_0
type: string
default: '100'
help: 'Similarly to the above container-level write limits, the following will limit container GET (listing) requests.'
- name: filter:ratelimit.container_listing_ratelimit_10
type: string
default: '50'
help: 'Similarly to the above container-level write limits, the following will limit container GET (listing) requests.'
- name: filter:ratelimit.container_listing_ratelimit_50
type: string
default: '20'
help: 'Similarly to the above container-level write limits, the following will limit container GET (listing) requests.'
- name: filter:cname_lookup.storage_domain
type: string
default: 'example.com'
- name: filter:domain_remap.path_root
type: string
default: 'v1'
- name: filter:domain_remap.reseller_prefixes
type: string
default: 'AUTH'
- name: filter:cname_lookup.lookup_depth
type: string
default: '1'
- name: filter:tempurl.methods
type: string
default: 'GET HEAD PUT'
help: 'The methods allowed with Temp URLs.'
- name: filter:tempurl.incoming_remove_headers
type: string
default: 'x-timestamp'
help: "The headers to remove from incoming requests. Simply a whitespace delimited list of header names and names can optionally end with '*' to indicate a prefix match. incoming_allow_headers is a list of exceptions to these removals."
- name: filter:tempurl.incoming_allow_headers
type: string
default: ''
help: "The headers allowed as exceptions to incoming_remove_headers. Simply a whitespace delimited list of header names and names can optionally end with '*' to indicate a prefix match."
- name: filter:tempurl.outgoing_remove_headers
type: string
default: 'x-object-meta-*'
help: "The headers to remove from outgoing responses. Simply a whitespace delimited list of header names and names can optionally end with '*' to indicate a prefix match. outgoing_allow_headers is a list of exceptions to these removals."
- name: filter:name_check.forbidden_chars
type: string
default: '\'"`<>'
- name: filter:name_check.maximum_length
type: string
default: '255'
- name: filter:name_check.forbidden_regexp
type: string
default: '/\\./|/\\.\\./|/\\.$|/\\.\\.$'
- name: filter:list-endpoints.list_endpoints_path
type: string
default: '/endpoints/'
- name: filter:proxy-logging.access_log_name
type: string
default: 'swift'
help: "If not set, logging directives from [DEFAULT] without 'access_' will be used"
- name: filter:proxy-logging.access_log_facility
type: string
default: 'LOG_LOCAL0'
help: "If not set, logging directives from [DEFAULT] without 'access_' will be used"
- name: filter:proxy-logging.access_log_level
type: string
default: 'INFO'
help: "If not set, logging directives from [DEFAULT] without 'access_' will be used"
- name: filter:proxy-logging.access_log_address
type: string
default: '/dev/log'
help: "If not set, logging directives from [DEFAULT] without 'access_' will be used"
- name: filter:proxy-logging.access_log_udp_host
type: string
default: ''
help: 'If set, access_log_udp_host will override access_log_address'
- name: filter:proxy-logging.access_log_udp_port
type: string
default: '514'
help: 'If set, access_log_udp_host will override access_log_address'
- name: filter:proxy-logging.access_log_statsd_host
type: host
default: 'localhost'
help: 'You can use log_statsd_* from [DEFAULT] or override them here:'
- name: filter:proxy-logging.access_log_statsd_port
type: string
default: '8125'
help: 'You can use log_statsd_* from [DEFAULT] or override them here:'
- name: filter:proxy-logging.access_log_statsd_default_sample_rate
type: string
default: '1.0'
help: 'You can use log_statsd_* from [DEFAULT] or override them here:'
- name: filter:proxy-logging.access_log_statsd_sample_rate_factor
type: string
default: '1.0'
help: 'You can use log_statsd_* from [DEFAULT] or override them here:'
- name: filter:proxy-logging.access_log_statsd_metric_prefix
type: string
default: ''
help: 'You can use log_statsd_* from [DEFAULT] or override them here:'
- name: filter:proxy-logging.access_log_headers
type: string
default: 'false'
help: 'You can use log_statsd_* from [DEFAULT] or override them here:'
- name: filter:bulk.max_containers_per_extraction
type: string
default: '10000'
- name: filter:bulk.max_failed_extractions
type: string
default: '1000'
- name: filter:bulk.max_deletes_per_request
type: string
default: '10000'
- name: filter:bulk.yield_frequency
type: string
default: '60'
- name: filter:slo.max_manifest_segments
type: string
default: '1000'
- name: filter:slo.max_manifest_size
type: string
default: '2097152'
- name: filter:slo.min_segment_size
type: string
default: '1048576'

View File

@ -1,675 +0,0 @@
from rubick.schema import ConfigSchemaRegistry
swift_proxy_server = ConfigSchemaRegistry.register_schema(
project='swift_proxy_server')
with swift_proxy_server.version('2013.2.1') as swift_proxy_server_2013_2_1:
swift_proxy_server_2013_2_1.section('DEFAULT')
swift_proxy_server_2013_2_1.param(
'bind_ip', type='string', default='0.0.0.0')
swift_proxy_server_2013_2_1.param('bind_port', type='string', default='80')
swift_proxy_server_2013_2_1.param(
'bind_timeout', type='string', default='30')
swift_proxy_server_2013_2_1.param('backlog', type='string', default='4096')
swift_proxy_server_2013_2_1.param(
'swift_dir', type='string', default='/etc/swift')
swift_proxy_server_2013_2_1.param('user', type='string', default='swift')
swift_proxy_server_2013_2_1.param('workers', type='string', default='auto',
description="Use an integer to override the number of pre-forked processes that will accept connections. Should default to the number of effective cpu cores in the system. It's worth noting that individual workers will use many eventlet co-routines to service multiple concurrent requests.")
swift_proxy_server_2013_2_1.param(
'max_clients', type='string', default='1024', description="Maximum concurrent requests per worker")
swift_proxy_server_2013_2_1.param(
'cert_file', type='string', default='/etc/swift/proxy.crt',
description="Set the following two lines to enable SSL. This is for testing only.")
swift_proxy_server_2013_2_1.param(
'key_file', type='string', default='/etc/swift/proxy.key',
description="Set the following two lines to enable SSL. This is for testing only.")
swift_proxy_server_2013_2_1.param(
'log_name', type='string', default='swift', description="You can specify default log routing here if you want:")
swift_proxy_server_2013_2_1.param(
'log_facility', type='string', default='LOG_LOCAL0', description="You can specify default log routing here if you want:")
swift_proxy_server_2013_2_1.param(
'log_level', type='string', default='INFO', description="You can specify default log routing here if you want:")
swift_proxy_server_2013_2_1.param(
'log_headers', type='string', default='false', description="You can specify default log routing here if you want:")
swift_proxy_server_2013_2_1.param(
'log_address', type='string', default='/dev/log', description="You can specify default log routing here if you want:")
swift_proxy_server_2013_2_1.param(
'trans_id_suffix', type='string', default='',
description="This optional suffix (default is empty) that would be appended to the swift transaction id allows one to easily figure out from which cluster that X-Trans-Id belongs to. This is very useful when one is managing more than one swift cluster.")
swift_proxy_server_2013_2_1.param(
'log_custom_handlers', type='string', default='',
description="comma separated list of functions to call to setup custom log handlers. functions get passed: conf, name, log_to_console, log_route, fmt, logger, adapted_logger")
swift_proxy_server_2013_2_1.param(
'log_udp_host', type='string', default='', description="If set, log_udp_host will override log_address")
swift_proxy_server_2013_2_1.param(
'log_udp_port', type='string', default='514', description="If set, log_udp_host will override log_address")
swift_proxy_server_2013_2_1.param(
'log_statsd_host', type='host', default='localhost', description="You can enable StatsD logging here:")
swift_proxy_server_2013_2_1.param(
'log_statsd_port', type='string', default='8125', description="You can enable StatsD logging here:")
swift_proxy_server_2013_2_1.param(
'log_statsd_default_sample_rate', type='string', default='1.0', description="You can enable StatsD logging here:")
swift_proxy_server_2013_2_1.param(
'log_statsd_sample_rate_factor', type='string', default='1.0', description="You can enable StatsD logging here:")
swift_proxy_server_2013_2_1.param(
'log_statsd_metric_prefix', type='string', default='', description="You can enable StatsD logging here:")
swift_proxy_server_2013_2_1.param(
'cors_allow_origin', type='string', default='',
description="Use a comma separated list of full url (http://foo.bar:1234,https://foo.bar)")
swift_proxy_server_2013_2_1.param(
'client_timeout', type='string', default='60')
swift_proxy_server_2013_2_1.param(
'eventlet_debug', type='string', default='false')
swift_proxy_server_2013_2_1.section('pipeline:main')
swift_proxy_server_2013_2_1.param(
'pipeline', type='string', default='catch_errors healthcheck proxy-logging cache bulk slo ratelimit tempauth container-quotas account-quotas proxy-logging proxy-server')
swift_proxy_server_2013_2_1.section('app:proxy-server')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#proxy')
swift_proxy_server_2013_2_1.param(
'set log_name', type='string', default='proxy-server',
description="You can override the default log routing for this app here:")
swift_proxy_server_2013_2_1.param(
'set log_facility', type='string', default='LOG_LOCAL0',
description="You can override the default log routing for this app here:")
swift_proxy_server_2013_2_1.param(
'set log_level', type='string', default='INFO',
description="You can override the default log routing for this app here:")
swift_proxy_server_2013_2_1.param(
'set log_address', type='string', default='/dev/log',
description="You can override the default log routing for this app here:")
swift_proxy_server_2013_2_1.param(
'log_handoffs', type='string', default='true')
swift_proxy_server_2013_2_1.param(
'recheck_account_existence', type='string', default='60')
swift_proxy_server_2013_2_1.param(
'recheck_container_existence', type='string', default='60')
swift_proxy_server_2013_2_1.param(
'object_chunk_size', type='string', default='8192')
swift_proxy_server_2013_2_1.param(
'client_chunk_size', type='string', default='8192')
swift_proxy_server_2013_2_1.param(
'node_timeout', type='string', default='10')
swift_proxy_server_2013_2_1.param(
'conn_timeout', type='string', default='0.5')
swift_proxy_server_2013_2_1.param(
'error_suppression_interval', type='string', default='60',
description="How long without an error before a node's error count is reset. This will also be how long before a node is reenabled after suppression is triggered.")
swift_proxy_server_2013_2_1.param(
'error_suppression_limit', type='string', default='10',
description="How many errors can accumulate before a node is temporarily ignored.")
swift_proxy_server_2013_2_1.param(
'allow_account_management', type='string', default='false',
description="If set to 'true' any authorized user may create and delete accounts; if 'false' no one, even authorized, can.")
swift_proxy_server_2013_2_1.param(
'object_post_as_copy', type='string', default='true',
description="Set object_post_as_copy = false to turn on fast posts where only the metadata changes are stored anew and the original data file is kept in place. This makes for quicker posts; but since the container metadata isn't updated in this mode, features like container sync won't be able to sync posts.")
swift_proxy_server_2013_2_1.param(
'account_autocreate', type='string', default='false',
description="If set to 'true' authorized accounts that do not yet exist within the Swift cluster will be automatically created.")
swift_proxy_server_2013_2_1.param(
'max_containers_per_account', type='string', default='0',
description="If set to a positive value, trying to create a container when the account already has at least this maximum containers will result in a 403 Forbidden. Note: This is a soft limit, meaning a user might exceed the cap for recheck_account_existence before the 403s kick in.")
swift_proxy_server_2013_2_1.param(
'max_containers_whitelist', type='string', default='',
description="This is a comma separated list of account hashes that ignore the max_containers_per_account cap.")
swift_proxy_server_2013_2_1.param(
'deny_host_headers', type='string', default='',
description="Comma separated list of Host headers to which the proxy will deny requests.")
swift_proxy_server_2013_2_1.param(
'auto_create_account_prefix', type='string',
default='.', description="Prefix used when automatically creating accounts.")
swift_proxy_server_2013_2_1.param(
'put_queue_depth', type='string', default='10', description="Depth of the proxy put queue.")
swift_proxy_server_2013_2_1.param(
'rate_limit_after_segment', type='string', default='10',
description="Start rate-limiting object segment serving after the Nth segment of a segmented object.")
swift_proxy_server_2013_2_1.param(
'rate_limit_segments_per_sec', type='string', default='1',
description="Once segment rate-limiting kicks in for an object, limit segments served to N per second.")
swift_proxy_server_2013_2_1.param(
'sorting_method', type='string', default='shuffle',
description="Storage nodes can be chosen at random (shuffle), by using timing measurements (timing), or by using an explicit match (affinity). Using timing measurements may allow for lower overall latency, while using affinity allows for finer control. In both the timing and affinity cases, equally-sorting nodes are still randomly chosen to spread load. The valid values for sorting_method are 'affinity', 'shuffle', and 'timing'.")
swift_proxy_server_2013_2_1.param(
'timing_expiry', type='string', default='300',
description="If the 'timing' sorting_method is used, the timings will only be valid for the number of seconds configured by timing_expiry.")
swift_proxy_server_2013_2_1.param(
'allow_static_large_object', type='string', default='true',
description="If set to false will treat objects with X-Static-Large-Object header set as a regular object on GETs, i.e. will return that object's contents. Should be set to false if slo is not used in pipeline.")
swift_proxy_server_2013_2_1.param(
'max_large_object_get_time', type='string', default='86400',
description="The maximum time (seconds) that a large object connection is allowed to last.")
swift_proxy_server_2013_2_1.param(
'request_node_count', type='string', default='2 * replicas',
description="Set to the number of nodes to contact for a normal request. You can use '* replicas' at the end to have it use the number given times the number of replicas for the ring being used for the request.")
swift_proxy_server_2013_2_1.param(
'read_affinity', type='string', default='',
description="Example: first read from region 1 zone 1, then region 1 zone 2, then anything in region 2, then everything else: read_affinity = r1z1=100, r1z2=200, r2=300 Default is empty, meaning no preference.")
swift_proxy_server_2013_2_1.param(
'write_affinity', type='string', default='',
description="Example: try to write to regions 1 and 2 before writing to any other nodes: write_affinity = r1, r2 Default is empty, meaning no preference.")
swift_proxy_server_2013_2_1.param(
'write_affinity_node_count', type='string', default='2 * replicas',
description="The number of local (as governed by the write_affinity setting) nodes to attempt to contact first, before any non-local ones. You can use '* replicas' at the end to have it use the number given times the number of replicas for the ring being used for the request.")
swift_proxy_server_2013_2_1.param(
'swift_owner_headers', type='string', default='x-container-read, x-container-write, x-container-sync-key, x-container-sync-to, x-account-meta-temp-url-key, x-account-meta-temp-url-key-2',
description="These are the headers whose values will only be shown to swift_owners. The exact definition of a swift_owner is up to the auth system in use, but usually indicates administrative responsibilities.")
swift_proxy_server_2013_2_1.section('filter:tempauth')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#tempauth')
swift_proxy_server_2013_2_1.param(
'set log_name', type='string', default='tempauth',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_facility', type='string', default='LOG_LOCAL0',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_level', type='string', default='INFO',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_headers', type='string', default='false',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_address', type='string', default='/dev/log',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'reseller_prefix', type='string', default='AUTH',
description="The reseller prefix will verify a token begins with this prefix before even attempting to validate it. Also, with authorization, only Swift storage accounts with this prefix will be authorized by this middleware. Useful if multiple auth systems are in use for one Swift cluster.")
swift_proxy_server_2013_2_1.param(
'auth_prefix', type='string', default='/auth/',
description="The auth prefix will cause requests beginning with this prefix to be routed to the auth subsystem, for granting tokens, etc.")
swift_proxy_server_2013_2_1.param(
'token_life', type='string', default='86400',
description="The auth prefix will cause requests beginning with this prefix to be routed to the auth subsystem, for granting tokens, etc.")
swift_proxy_server_2013_2_1.param(
'allow_overrides', type='string', default='true',
description="This allows middleware higher in the WSGI pipeline to override auth processing, useful for middleware such as tempurl and formpost. If you know you're not going to use such middleware and you want a bit of extra security, you can set this to false.")
swift_proxy_server_2013_2_1.param(
'storage_url_scheme', type='string', default='default',
description="This specifies what scheme to return with storage urls: http, https, or default (chooses based on what the server is running as) This can be useful with an SSL load balancer in front of a non-SSL server.")
swift_proxy_server_2013_2_1.param(
'user_admin_admin', type='string', default='admin .admin .reseller_admin',
description="Lastly, you need to list all the accounts/users you want here. The format is: user_<account>_<user> = <key> [group] [group] [...] [storage_url] or if you want underscores in <account> or <user>, you can base64 encode them (with no equal signs) and use this format: user64_<account_b64>_<user_b64> = <key> [group] [group] [...] [storage_url] There are special groups of: .reseller_admin = can do anything to any account for this auth .admin = can do anything within the account If neither of these groups are specified, the user can only access containers that have been explicitly allowed for them by a .admin or .reseller_admin. The trailing optional storage_url allows you to specify an alternate url to hand back to the user upon authentication. If not specified, this defaults to $HOST/v1/<reseller_prefix>_<account> where $HOST will do its best to resolve to what the requester would need to use to reach this host. Here are example entries, required for running the tests:")
swift_proxy_server_2013_2_1.param(
'user_test_tester', type='string', default='testing .admin',
description="Lastly, you need to list all the accounts/users you want here. The format is: user_<account>_<user> = <key> [group] [group] [...] [storage_url] or if you want underscores in <account> or <user>, you can base64 encode them (with no equal signs) and use this format: user64_<account_b64>_<user_b64> = <key> [group] [group] [...] [storage_url] There are special groups of: .reseller_admin = can do anything to any account for this auth .admin = can do anything within the account If neither of these groups are specified, the user can only access containers that have been explicitly allowed for them by a .admin or .reseller_admin. The trailing optional storage_url allows you to specify an alternate url to hand back to the user upon authentication. If not specified, this defaults to $HOST/v1/<reseller_prefix>_<account> where $HOST will do its best to resolve to what the requester would need to use to reach this host. Here are example entries, required for running the tests:")
swift_proxy_server_2013_2_1.param(
'user_test2_tester2', type='string', default='testing2 .admin',
description="Lastly, you need to list all the accounts/users you want here. The format is: user_<account>_<user> = <key> [group] [group] [...] [storage_url] or if you want underscores in <account> or <user>, you can base64 encode them (with no equal signs) and use this format: user64_<account_b64>_<user_b64> = <key> [group] [group] [...] [storage_url] There are special groups of: .reseller_admin = can do anything to any account for this auth .admin = can do anything within the account If neither of these groups are specified, the user can only access containers that have been explicitly allowed for them by a .admin or .reseller_admin. The trailing optional storage_url allows you to specify an alternate url to hand back to the user upon authentication. If not specified, this defaults to $HOST/v1/<reseller_prefix>_<account> where $HOST will do its best to resolve to what the requester would need to use to reach this host. Here are example entries, required for running the tests:")
swift_proxy_server_2013_2_1.param(
'user_test_tester3', type='string', default='testing3',
description="Lastly, you need to list all the accounts/users you want here. The format is: user_<account>_<user> = <key> [group] [group] [...] [storage_url] or if you want underscores in <account> or <user>, you can base64 encode them (with no equal signs) and use this format: user64_<account_b64>_<user_b64> = <key> [group] [group] [...] [storage_url] There are special groups of: .reseller_admin = can do anything to any account for this auth .admin = can do anything within the account If neither of these groups are specified, the user can only access containers that have been explicitly allowed for them by a .admin or .reseller_admin. The trailing optional storage_url allows you to specify an alternate url to hand back to the user upon authentication. If not specified, this defaults to $HOST/v1/<reseller_prefix>_<account> where $HOST will do its best to resolve to what the requester would need to use to reach this host. Here are example entries, required for running the tests:")
swift_proxy_server_2013_2_1.param('paste.filter_factory', type='string',
default='keystoneclient.middleware.auth_token:filter_factory', description="[filter:authtoken]")
swift_proxy_server_2013_2_1.param(
'auth_host', type='string', default='keystonehost', description="[filter:authtoken]")
swift_proxy_server_2013_2_1.param(
'auth_port', type='string', default='35357', description="[filter:authtoken]")
swift_proxy_server_2013_2_1.param(
'auth_protocol', type='string', default='http', description="[filter:authtoken]")
swift_proxy_server_2013_2_1.param(
'auth_uri', type='string', default='http://keystonehost:5000/', description="[filter:authtoken]")
swift_proxy_server_2013_2_1.param(
'admin_tenant_name', type='string', default='service', description="[filter:authtoken]")
swift_proxy_server_2013_2_1.param(
'admin_user', type='string', default='swift', description="[filter:authtoken]")
swift_proxy_server_2013_2_1.param(
'admin_password', type='string', default='password', description="[filter:authtoken]")
swift_proxy_server_2013_2_1.param(
'delay_auth_decision', type='string', default='1', description="[filter:authtoken]")
swift_proxy_server_2013_2_1.param(
'cache', type='string', default='swift.cache', description="[filter:authtoken]")
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#keystoneauth', description="[filter:keystoneauth]")
swift_proxy_server_2013_2_1.param(
'operator_roles', type='string', default='admin, swiftoperator',
description="[filter:keystoneauth] Operator roles is the role which user would be allowed to manage a tenant and be able to create container or give ACL to others.")
swift_proxy_server_2013_2_1.param(
'reseller_admin_role', type='string', default='ResellerAdmin',
description="[filter:keystoneauth] Operator roles is the role which user would be allowed to manage a tenant and be able to create container or give ACL to others. The reseller admin role has the ability to create and delete accounts")
swift_proxy_server_2013_2_1.section('filter:healthcheck')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#healthcheck')
swift_proxy_server_2013_2_1.param(
'disable_path', type='string', default='',
description="An optional filesystem path, which if present, will cause the healthcheck URL to return '503 Service Unavailable' with a body of 'DISABLED BY FILE'. This facility may be used to temporarily remove a Swift node from a load balancer pool during maintenance or upgrade (remove the file to allow the node back into the load balancer pool).")
swift_proxy_server_2013_2_1.section('filter:cache')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#memcache')
swift_proxy_server_2013_2_1.param(
'set log_name', type='string', default='cache',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_facility', type='string', default='LOG_LOCAL0',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_level', type='string', default='INFO',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_headers', type='string', default='false',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_address', type='string', default='/dev/log',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'memcache_servers', type='string', default='127.0.0.1:11211',
description="If not set here, the value for memcache_servers will be read from memcache.conf (see memcache.conf-sample) or lacking that file, it will default to the value below. You can specify multiple servers separated with commas, as in: 10.1.2.3:11211,10.1.2.4:11211")
swift_proxy_server_2013_2_1.param(
'memcache_serialization_support', type='string', default='2',
description="Sets how memcache values are serialized and deserialized: 0 = older, insecure pickle serialization 1 = json serialization but pickles can still be read (still insecure) 2 = json serialization only (secure and the default) If not set here, the value for memcache_serialization_support will be read from /etc/swift/memcache.conf (see memcache.conf-sample). To avoid an instant full cache flush, existing installations should upgrade with 0, then set to 1 and reload, then after some time (24 hours) set to 2 and reload. In the future, the ability to use pickle serialization will be removed.")
swift_proxy_server_2013_2_1.section('filter:ratelimit')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#ratelimit')
swift_proxy_server_2013_2_1.param(
'set log_name', type='string', default='ratelimit',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_facility', type='string', default='LOG_LOCAL0',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_level', type='string', default='INFO',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_headers', type='string', default='false',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_address', type='string', default='/dev/log',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'clock_accuracy', type='string', default='1000',
description="clock_accuracy should represent how accurate the proxy servers' system clocks are with each other. 1000 means that all the proxies' clock are accurate to each other within 1 millisecond. No ratelimit should be higher than the clock accuracy.")
swift_proxy_server_2013_2_1.param(
'max_sleep_time_seconds', type='string', default='60')
swift_proxy_server_2013_2_1.param(
'log_sleep_time_seconds', type='string', default='0', description="log_sleep_time_seconds of 0 means disabled")
swift_proxy_server_2013_2_1.param(
'rate_buffer_seconds', type='string', default='5',
description="allows for slow rates (e.g. running up to 5 sec's behind) to catch up.")
swift_proxy_server_2013_2_1.param(
'account_ratelimit', type='string', default='0', description="account_ratelimit of 0 means disabled")
swift_proxy_server_2013_2_1.param(
'account_whitelist', type='string', default='a,b', description="these are comma separated lists of account names")
swift_proxy_server_2013_2_1.param(
'account_blacklist', type='string', default='c,d', description="these are comma separated lists of account names")
swift_proxy_server_2013_2_1.param(
'with container_limit_x', type='string', default='r')
swift_proxy_server_2013_2_1.param(
'container_ratelimit_0', type='string', default='100',
description="for containers of size x limit write requests per second to r. The container rate will be linearly interpolated from the values given. With the values below, a container of size 5 will get a rate of 75.")
swift_proxy_server_2013_2_1.param(
'container_ratelimit_10', type='string', default='50',
description="for containers of size x limit write requests per second to r. The container rate will be linearly interpolated from the values given. With the values below, a container of size 5 will get a rate of 75.")
swift_proxy_server_2013_2_1.param(
'container_ratelimit_50', type='string', default='20',
description="for containers of size x limit write requests per second to r. The container rate will be linearly interpolated from the values given. With the values below, a container of size 5 will get a rate of 75.")
swift_proxy_server_2013_2_1.param(
'container_listing_ratelimit_0', type='string', default='100',
description="Similarly to the above container-level write limits, the following will limit container GET (listing) requests.")
swift_proxy_server_2013_2_1.param(
'container_listing_ratelimit_10', type='string', default='50',
description="Similarly to the above container-level write limits, the following will limit container GET (listing) requests.")
swift_proxy_server_2013_2_1.param(
'container_listing_ratelimit_50', type='string', default='20',
description="Similarly to the above container-level write limits, the following will limit container GET (listing) requests.")
swift_proxy_server_2013_2_1.section('filter:domain_remap')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#domain_remap')
swift_proxy_server_2013_2_1.param(
'set log_name', type='string', default='domain_remap',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_facility', type='string', default='LOG_LOCAL0',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_level', type='string', default='INFO',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_headers', type='string', default='false',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_address', type='string', default='/dev/log',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'storage_domain', type='string', default='example.com')
swift_proxy_server_2013_2_1.param('path_root', type='string', default='v1')
swift_proxy_server_2013_2_1.param(
'reseller_prefixes', type='string', default='AUTH')
swift_proxy_server_2013_2_1.section('filter:catch_errors')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#catch_errors')
swift_proxy_server_2013_2_1.param(
'set log_name', type='string', default='catch_errors',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_facility', type='string', default='LOG_LOCAL0',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_level', type='string', default='INFO',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_headers', type='string', default='false',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_address', type='string', default='/dev/log',
description="You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.section('filter:cname_lookup')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#cname_lookup', description="Note: this middleware requires python-dnspython")
swift_proxy_server_2013_2_1.param(
'set log_name', type='string', default='cname_lookup',
description="Note: this middleware requires python-dnspython You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_facility', type='string', default='LOG_LOCAL0',
description="Note: this middleware requires python-dnspython You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_level', type='string', default='INFO',
description="Note: this middleware requires python-dnspython You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_headers', type='string', default='false',
description="Note: this middleware requires python-dnspython You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'set log_address', type='string', default='/dev/log',
description="Note: this middleware requires python-dnspython You can override the default log routing for this filter here:")
swift_proxy_server_2013_2_1.param(
'storage_domain', type='string', default='example.com')
swift_proxy_server_2013_2_1.param(
'lookup_depth', type='string', default='1')
swift_proxy_server_2013_2_1.section('filter:staticweb')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#staticweb')
swift_proxy_server_2013_2_1.section('filter:tempurl')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#tempurl')
swift_proxy_server_2013_2_1.param(
'methods', type='string', default='GET HEAD PUT', description="The methods allowed with Temp URLs.")
swift_proxy_server_2013_2_1.param(
'incoming_remove_headers', type='string', default='x-timestamp',
description="The headers to remove from incoming requests. Simply a whitespace delimited list of header names and names can optionally end with '*' to indicate a prefix match. incoming_allow_headers is a list of exceptions to these removals.")
swift_proxy_server_2013_2_1.param(
'incoming_allow_headers', type='string', default='',
description="The headers allowed as exceptions to incoming_remove_headers. Simply a whitespace delimited list of header names and names can optionally end with '*' to indicate a prefix match.")
swift_proxy_server_2013_2_1.param(
'outgoing_remove_headers', type='string', default='x-object-meta-*',
description="The headers to remove from outgoing responses. Simply a whitespace delimited list of header names and names can optionally end with '*' to indicate a prefix match. outgoing_allow_headers is a list of exceptions to these removals.")
swift_proxy_server_2013_2_1.section('filter:formpost')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#formpost')
swift_proxy_server_2013_2_1.section('filter:name_check')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#name_check')
swift_proxy_server_2013_2_1.param(
'forbidden_chars', type='string', default='\'"`<>')
swift_proxy_server_2013_2_1.param(
'maximum_length', type='string', default='255')
swift_proxy_server_2013_2_1.param(
'forbidden_regexp', type='string', default='/\\./|/\\.\\./|/\\.$|/\\.\\.$')
swift_proxy_server_2013_2_1.section('filter:list-endpoints')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#list_endpoints')
swift_proxy_server_2013_2_1.param(
'list_endpoints_path', type='string', default='/endpoints/')
swift_proxy_server_2013_2_1.section('filter:proxy-logging')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#proxy_logging')
swift_proxy_server_2013_2_1.param(
'access_log_name', type='string', default='swift',
description="If not set, logging directives from [DEFAULT] without 'access_' will be used")
swift_proxy_server_2013_2_1.param(
'access_log_facility', type='string', default='LOG_LOCAL0',
description="If not set, logging directives from [DEFAULT] without 'access_' will be used")
swift_proxy_server_2013_2_1.param(
'access_log_level', type='string', default='INFO',
description="If not set, logging directives from [DEFAULT] without 'access_' will be used")
swift_proxy_server_2013_2_1.param(
'access_log_address', type='string', default='/dev/log',
description="If not set, logging directives from [DEFAULT] without 'access_' will be used")
swift_proxy_server_2013_2_1.param(
'access_log_udp_host', type='string', default='',
description="If set, access_log_udp_host will override access_log_address")
swift_proxy_server_2013_2_1.param(
'access_log_udp_port', type='string', default='514',
description="If set, access_log_udp_host will override access_log_address")
swift_proxy_server_2013_2_1.param(
'access_log_statsd_host', type='host', default='localhost',
description="You can use log_statsd_* from [DEFAULT] or override them here:")
swift_proxy_server_2013_2_1.param(
'access_log_statsd_port', type='string', default='8125',
description="You can use log_statsd_* from [DEFAULT] or override them here:")
swift_proxy_server_2013_2_1.param(
'access_log_statsd_default_sample_rate', type='string',
default='1.0', description="You can use log_statsd_* from [DEFAULT] or override them here:")
swift_proxy_server_2013_2_1.param(
'access_log_statsd_sample_rate_factor', type='string',
default='1.0', description="You can use log_statsd_* from [DEFAULT] or override them here:")
swift_proxy_server_2013_2_1.param(
'access_log_statsd_metric_prefix', type='string',
default='', description="You can use log_statsd_* from [DEFAULT] or override them here:")
swift_proxy_server_2013_2_1.param(
'access_log_headers', type='string', default='false',
description="You can use log_statsd_* from [DEFAULT] or override them here:")
swift_proxy_server_2013_2_1.section('filter:bulk')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#bulk')
swift_proxy_server_2013_2_1.param(
'max_containers_per_extraction', type='string', default='10000')
swift_proxy_server_2013_2_1.param(
'max_failed_extractions', type='string', default='1000')
swift_proxy_server_2013_2_1.param(
'max_deletes_per_request', type='string', default='10000')
swift_proxy_server_2013_2_1.param(
'yield_frequency', type='string', default='60')
swift_proxy_server_2013_2_1.section('filter:container-quotas')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#container_quotas')
swift_proxy_server_2013_2_1.section('filter:slo')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#slo')
swift_proxy_server_2013_2_1.param(
'max_manifest_segments', type='string', default='1000')
swift_proxy_server_2013_2_1.param(
'max_manifest_size', type='string', default='2097152')
swift_proxy_server_2013_2_1.param(
'min_segment_size', type='string', default='1048576')
swift_proxy_server_2013_2_1.section('filter:account-quotas')
swift_proxy_server_2013_2_1.param(
'use', type='string', default='egg:swift#account_quotas')