Added glance_api, glance_registry, neutron_dhcp and neutron_server

[pep8] Small pep8 fixes in joker and webui and schemas
This commit is contained in:
Peter Lomakin 2013-10-31 16:37:25 +04:00
parent 95b26fe067
commit 35b8d72970
22 changed files with 1058 additions and 734 deletions

View File

@ -6,12 +6,10 @@ TMP_PATH = "/tmp/joker_%s_%d"
class Joker():
def __init__(self, key = None, *args, **kwargs):
def __init__(self, key=None, *args, **kwargs):
self.useKey = False
self.discoverQueue = []
self.discoveryResult = []
self.cleanUp = []
@ -23,7 +21,6 @@ class Joker():
self.useKey = True
self.default_key = key
# keys temporary files
def __del__(self):
@ -58,7 +55,6 @@ class Joker():
}
def discover(self):
result = {}
while self.discoverQueue:
point = self.discoverQueue.pop()

View File

@ -1,17 +1,15 @@
import collections
import paramiko
from StringIO import StringIO
from paramiko.rsakey import RSAKey
from paramiko.dsskey import DSSKey
import stat
import os
from paramiko.dsskey import DSSKey
from paramiko.rsakey import RSAKey
import stat
from StringIO import StringIO
TMP_KEY_PATH = "/tmp/joker_%s_%d"
class Node():
def __init__(self, name, ip, port):
self.ssh = paramiko.SSHClient()
@ -36,11 +34,11 @@ class Node():
f.write(key)
f.close()
# def __del__(self):
# print "Del %s" % self.keyPath
# if os.path.exists(self.keyPath):
# print "Remove %s" % self.keyPath
# os.remove(self.keyPath)
# def __del__(self):
# print "Del %s" % self.keyPath
# if os.path.exists(self.keyPath):
# print "Remove %s" % self.keyPath
# os.remove(self.keyPath)
def proxyCommandGen(self, masterHost, masterPort, masterUser,
masterKeyfile):
@ -54,8 +52,8 @@ class Node():
"ip addr | grep -A2 BROADCAST,MULTICAST,UP,LOWER_UP | "
"awk '/link\/ether/ {ether=$2} /inet/ {print $2 \" \" ether}'")
except:
raise()
except Exception:
raise ()
macDict = {}
@ -79,9 +77,10 @@ class Node():
# install arp-scan on node
try:
self.runCommand(
"[ ! -x arp-scan ] && sudo apt-get --force-yes -y install arp-scan")
except:
raise()
"[ ! -x arp-scan ] && sudo apt-get --force-yes -y install "
"arp-scan")
except Exception:
raise ()
self.setUniqData()
return True
@ -112,7 +111,6 @@ class Node():
except paramiko.SSHException:
raise "Unknown private key format"
def assignCredential(self, user, key, password=None):
self.user = user
self.password = password
@ -120,10 +118,8 @@ class Node():
if (key):
self.assignKey(key)
def setProxyCommand(self, masterHost, masterPort, masterUser, masterKeyfile):
def setProxyCommand(self, masterHost, masterPort, masterUser,
masterKeyfile):
self.proxyCommandTxt = self.proxyCommandGen(
masterHost, masterPort, masterUser, masterKeyfile)
self.proxyCommand = paramiko.ProxyCommand(self.proxyCommandTxt)
@ -131,13 +127,13 @@ class Node():
def connect(self):
if self.connected is True:
raise assertionError(self.connected is True)
raise AssertionError(self.connected is True)
try:
self.ssh.connect(self.hostName, self.accessPort, self.user,
pkey=self._pkey, sock=self.proxyCommand,
timeout=5, password = self.password)
timeout=5, password=self.password)
self.connected = True
return True
@ -155,7 +151,7 @@ class Node():
def runCommand(self, command):
if (command == ""):
assertionError(command == "")
AssertionError(command == "")
if self.connected is False:
self.connect()

View File

@ -113,15 +113,16 @@ def nova_authtoken_property_assertion(self, name, values):
(authtoken_section, _) = find(
nova.paste_config.items(),
lambda name_values: name_values[0].startswith('filter:') and
name_values[1].get(
'paste.filter_factory') == AUTHTOKEN_FILTER_FACTORY
lambda name_values: name_values[0].startswith('filter:')
and name_values[1].get('paste.filter_factory') ==
AUTHTOKEN_FILTER_FACTORY
)
if not authtoken_section:
nova.report_issue(
Issue(Issue.ERROR, 'Nova has keystone "auth" strategy '
'configured, but doesnt have authtoken paste filter'))
'configured, but doesnt have authtoken '
'paste filter'))
continue
authtoken_settings = nova.paste_config.section(authtoken_section)
@ -176,5 +177,5 @@ def component_has_property_with_value(step, component_name, parameter_name,
def component_versions_list(self):
for component in world.openstack.components:
component.report_issue(Issue(Issue.INFO, "%s component has % version" %
(
component.name, component.version)))
(component.name,
component.version)))

View File

@ -285,12 +285,12 @@ class KeystoneComponent(OpenstackComponent):
class GlanceApiComponent(OpenstackComponent):
component = 'glance'
component = 'glance_api'
name = 'glance-api'
class GlanceRegistryComponent(OpenstackComponent):
component = 'glance'
component = 'glance_registry'
name = 'glance-registry'
@ -374,7 +374,7 @@ class GlanceRegistryComponent(OpenstackComponent):
class NeutronServerComponent(OpenstackComponent):
component = 'neutron'
component = 'neutron_server'
name = 'neutron-server'
@ -384,7 +384,7 @@ class NeutronOpenvswitchAgentComponent(OpenstackComponent):
class NeutronDhcpAgentComponent(OpenstackComponent):
component = 'neutron'
component = 'neutron_dhcp_agent'
name = 'neutron-dhcp-agent'

View File

@ -1,7 +1,9 @@
import rubick.schemas.cinder
import rubick.schemas.glance
import rubick.schemas.glance_api
import rubick.schemas.glance_registry
import rubick.schemas.keystone
import rubick.schemas.neutron
import rubick.schemas.neutron_server
import rubick.schemas.neutron_dhcp_agent
import rubick.schemas.nova
import rubick.schemas.swift
import rubick.schemas.rabbitmq

View File

@ -2,7 +2,6 @@ import argparse
import re
import sys
import os
import os.path
import imp
import traceback
from copy import copy
@ -98,7 +97,8 @@ def sanitize_type_and_value(param_name, param_type, param_value):
return (param_type, param_value)
def generate_schema_from_sample_config(project, version, config_file, schema_file=sys.stdout):
def generate_schema_from_sample_config(project, version, config_file,
schema_file=sys.stdout):
with open(config_file, 'r') as f:
config_lines = f.readlines()

View File

@ -1 +0,0 @@
import rubick.schemas.glance.v2013_2

View File

@ -1,395 +0,0 @@
from rubick.schema import ConfigSchemaRegistry
glance = ConfigSchemaRegistry.register_schema(project='glance')
with glance.version('2013.2') as glance_2013_2:
glance_2013_2.section('DEFAULT')
glance_2013_2.param('verbose', type='string', default='False',
description="Show more verbose log output (sets INFO log level output)")
glance_2013_2.param('debug', type='string', default='False',
description="Show debugging output in logs (sets DEBUG log level output)")
glance_2013_2.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_2013_2.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_2013_2.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_2013_2.param('bind_host', type='host', default='0.0.0.0',
description="Address to bind the API server")
glance_2013_2.param('bind_port', type='string',
default='9292', description="Port the bind the API server to")
glance_2013_2.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_2013_2.param('backlog', type='string', default='4096',
description="Backlog requests when creating socket")
glance_2013_2.param('tcp_keepidle', type='string', default='600',
description="TCP_KEEPIDLE value in seconds when creating socket. Not supported on OS X.")
glance_2013_2.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_2013_2.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_2013_2.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_2013_2.param('admin_role', type='string', default='admin',
description="Role used to identify an authenticated user as administrator")
glance_2013_2.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_2013_2.param('enable_v1_api', type='string', default='True',
description="Allow access to version 1 of glance api")
glance_2013_2.param('enable_v2_api', type='string', default='True',
description="Allow access to version 2 of glance api")
glance_2013_2.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_2013_2.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_2013_2.param(
'container_formats', type='string', default='ami,ari,aki,bare,ovf',
description="Supported values for the 'container_format' image attribute")
glance_2013_2.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_2013_2.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_2013_2.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_2013_2.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_2013_2.param('use_syslog', type='string', default='False',
description="Send logs to syslog (/dev/log) instead of to file specified by `log_file`")
glance_2013_2.param(
'syslog_log_facility', type='string', default='LOG_LOCAL0',
description="Facility to use. If unset defaults to LOG_USER.")
glance_2013_2.param(
'cert_file', type='string', default='/path/to/certfile',
description="Certificate file to use when starting API server securely")
glance_2013_2.param('key_file', type='string', default='/path/to/keyfile',
description="Private key file to use when starting API server securely")
glance_2013_2.param('ca_file', type='string', default='/path/to/cafile',
description="CA certificate file to use to verify connecting clients")
glance_2013_2.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_2013_2.param('registry_host', type='host', default='0.0.0.0',
description="Address to find the registry server")
glance_2013_2.param('registry_port', type='string', default='9191',
description="Port the registry server is listening on")
glance_2013_2.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_2013_2.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_2013_2.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_2013_2.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_2013_2.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_2013_2.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_2013_2.param('db_auto_create', type='string', default='False',
description="Whether to automatically create the database tables. Default: False")
glance_2013_2.param('sqlalchemy_debug', type='string', default='True',
description="Enable DEBUG log messages from sqlalchemy which prints every database query and response. Default: False")
glance_2013_2.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_2013_2.param('rabbit_host', type='host', default='localhost',
description="Configuration options if sending notifications via rabbitmq (these are the defaults)")
glance_2013_2.param('rabbit_port', type='string', default='5672',
description="Configuration options if sending notifications via rabbitmq (these are the defaults)")
glance_2013_2.param('rabbit_use_ssl', type='string', default='false',
description="Configuration options if sending notifications via rabbitmq (these are the defaults)")
glance_2013_2.param('rabbit_userid', type='string', default='guest',
description="Configuration options if sending notifications via rabbitmq (these are the defaults)")
glance_2013_2.param('rabbit_password', type='string', default='guest',
description="Configuration options if sending notifications via rabbitmq (these are the defaults)")
glance_2013_2.param('rabbit_virtual_host', type='string', default='/',
description="Configuration options if sending notifications via rabbitmq (these are the defaults)")
glance_2013_2.param(
'rabbit_notification_exchange', type='string', default='glance',
description="Configuration options if sending notifications via rabbitmq (these are the defaults)")
glance_2013_2.param(
'rabbit_notification_topic', type='string', default='notifications',
description="Configuration options if sending notifications via rabbitmq (these are the defaults)")
glance_2013_2.param(
'rabbit_durable_queues', type='string', default='False',
description="Configuration options if sending notifications via rabbitmq (these are the defaults)")
glance_2013_2.param(
'qpid_notification_exchange', type='string', default='glance',
description="Configuration options if sending notifications via Qpid (these are the defaults)")
glance_2013_2.param(
'qpid_notification_topic', type='string', default='notifications',
description="Configuration options if sending notifications via Qpid (these are the defaults)")
glance_2013_2.param('qpid_host', type='host', default='localhost',
description="Configuration options if sending notifications via Qpid (these are the defaults)")
glance_2013_2.param('qpid_port', type='string', default='5672',
description="Configuration options if sending notifications via Qpid (these are the defaults)")
glance_2013_2.param('qpid_username', type='string', default='',
description="Configuration options if sending notifications via Qpid (these are the defaults)")
glance_2013_2.param('qpid_password', type='string', default='',
description="Configuration options if sending notifications via Qpid (these are the defaults)")
glance_2013_2.param('qpid_sasl_mechanisms', type='string', default='',
description="Configuration options if sending notifications via Qpid (these are the defaults)")
glance_2013_2.param('qpid_reconnect_timeout', type='string', default='0',
description="Configuration options if sending notifications via Qpid (these are the defaults)")
glance_2013_2.param('qpid_reconnect_limit', type='string', default='0',
description="Configuration options if sending notifications via Qpid (these are the defaults)")
glance_2013_2.param(
'qpid_reconnect_interval_min', type='string', default='0',
description="Configuration options if sending notifications via Qpid (these are the defaults)")
glance_2013_2.param(
'qpid_reconnect_interval_max', type='string', default='0',
description="Configuration options if sending notifications via Qpid (these are the defaults)")
glance_2013_2.param('qpid_reconnect_interval', type='string', default='0',
description="Configuration options if sending notifications via Qpid (these are the defaults)")
glance_2013_2.param('qpid_heartbeat', type='string', default='5',
description="Configuration options if sending notifications via Qpid (these are the defaults)")
glance_2013_2.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_2013_2.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_2013_2.param(
'filesystem_store_datadir', type='string', default='/var/lib/glance/images/',
description="Directory that the Filesystem backend store writes image data to")
glance_2013_2.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_2013_2.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_2013_2.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_2013_2.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_2013_2.param(
'swift_store_key', type='string', default='a86850deb2742ec3cb41518e26aa2d89',
description="Auth key for the user authenticating against the Swift authentication service")
glance_2013_2.param(
'swift_store_container', type='string', default='glance',
description="Container within the account that the account should use for storing images in Swift")
glance_2013_2.param('swift_store_create_container_on_put', type='string',
default='False', description="Do we create the container if it does not exist?")
glance_2013_2.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_2013_2.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_2013_2.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_2013_2.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_2013_2.param('swift_store_admin_tenants', type='string', default='',
description="A list of swift 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 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_2013_2.param('swift_store_region', type='string', default='',
description="The region of the swift endpoint to be used for single tenant. This setting is only necessary if the tenant has multiple swift endpoints.")
glance_2013_2.param(
'swift_store_ssl_compression', type='string', default='True',
description="If set to False, disables SSL layer compression of https swift 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).")
glance_2013_2.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_2013_2.param(
's3_store_access_key', type='string', default='<20-char AWS access key>',
description="User to authenticate against the S3 authentication service")
glance_2013_2.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_2013_2.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_2013_2.param('s3_store_create_bucket_on_put', type='string',
default='False', description="Do we create the bucket if it does not exist?")
glance_2013_2.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_2013_2.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_2013_2.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_2013_2.param('rbd_store_user', type='string', default='glance',
description="RADOS user to authenticate as (only applicable if using cephx)")
glance_2013_2.param('rbd_store_pool', type='string', default='images',
description="RADOS pool in which images are stored")
glance_2013_2.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_2013_2.param('sheepdog_store_address',
type='string', default='localhost', description="")
glance_2013_2.param(
'sheepdog_store_port', type='string', default='7000', description="")
glance_2013_2.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_2013_2.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_2013_2.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_2013_2.param('os_region_name', type='string',
default=None, description="Region name of this node ")
glance_2013_2.param(
'cinder_ca_certificates_file', type='string', default=None,
description="Location of ca certicates file to use for cinder client requests ")
glance_2013_2.param('cinder_http_retries', type='integer', default=3,
description="Number of cinderclient retries on failed http calls ")
glance_2013_2.param('cinder_api_insecure', type='boolean', default=False,
description="Allow to perform insecure SSL requests to cinder ")
glance_2013_2.param('delayed_delete', type='string',
default='False', description="Turn on/off delayed delete")
glance_2013_2.param('scrub_time', type='string',
default='43200', description="Delayed delete time in seconds")
glance_2013_2.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_2013_2.param(
'image_cache_dir', type='string', default='/var/lib/glance/image-cache/',
description="Base directory that the Image Cache uses")
glance_2013_2.section('keystone_authtoken')
glance_2013_2.param(
'auth_host', type='host', default='127.0.0.1', description="")
glance_2013_2.param(
'auth_port', type='string', default='35357', description="")
glance_2013_2.param(
'auth_protocol', type='string', default='http', description="")
glance_2013_2.param('admin_tenant_name', type='string',
default='%SERVICE_TENANT_NAME%', description="")
glance_2013_2.param(
'admin_user', type='string', default='%SERVICE_USER%', description="")
glance_2013_2.param('admin_password', type='string',
default='%SERVICE_PASSWORD%', description="")
glance_2013_2.section('paste_deploy')
glance_2013_2.param(
'config_file', type='string', default='glance-api-paste.ini',
description="Name of the paste configuration file that defines the available pipelines")
glance_2013_2.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 @@
import rubick.schemas.glance_api.v2013_2_1

View File

@ -0,0 +1,410 @@
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 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 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 endpoint to be used for single tenant. This setting is only necessary if the tenant has multiple swift 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 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).")
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 @@
import rubick.schemas.glance_registry.v2013_2_1

View File

@ -0,0 +1,106 @@
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

@ -1 +0,0 @@
import rubick.schemas.neutron.v2013_2

View File

@ -1,283 +0,0 @@
from rubick.schema import ConfigSchemaRegistry
neutron = ConfigSchemaRegistry.register_schema(project='neutron')
with neutron.version('2013.2') as neutron_2013_2:
neutron_2013_2.section('DEFAULT')
neutron_2013_2.param('debug', 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_2013_2.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_2013_2.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_2013_2.param('lock_path', type='string',
default='$state_path/lock', description="Where to store lock files")
neutron_2013_2.param('log_format', type='string',
default='%(asctime)s %(levelname)8s [%(name)s] %(message)s', description="")
neutron_2013_2.param(
'log_date_format', type='string', default='%Y-%m-%d %H:%M:%S', description="")
neutron_2013_2.param(
'use_syslog', type='string', default='False', description="")
neutron_2013_2.param(
'syslog_log_facility', type='string', default='LOG_USER', description="")
neutron_2013_2.param(
'use_stderr', type='string', default='True', description="")
neutron_2013_2.param(
'publish_errors', type='string', default='False', description="")
neutron_2013_2.param('bind_host', type='host',
default='0.0.0.0', description="Address to bind the API server")
neutron_2013_2.param('bind_port', type='string',
default='9696', description="Port the bind the API server to")
neutron_2013_2.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_2013_2.param('core_plugin', type='string',
default='', description="Neutron plugin provider module")
neutron_2013_2.param('service_plugins', type='string',
default='', description="Advanced service modules")
neutron_2013_2.param('api_paste_config', type='string',
default='api-paste.ini', description="Paste configuration file")
neutron_2013_2.param('auth_strategy', type='string', default='keystone',
description="The strategy to be used for auth. Supported values are 'keystone'(default), 'noauth'.")
neutron_2013_2.param('mac_generation_retries', type='string', default='16',
description="Maximum amount of retries to generate a unique MAC address")
neutron_2013_2.param('dhcp_lease_duration', type='string',
default='86400', description="DHCP Lease duration (in seconds)")
neutron_2013_2.param(
'dhcp_agent_notification', type='string', default='True',
description="Allow sending resource operation notification to DHCP agent")
neutron_2013_2.param('allow_bulk', type='string', default='True',
description="Enable or disable bulk create/update/delete operations")
neutron_2013_2.param('allow_pagination', type='string', default='False',
description="Enable or disable bulk create/update/delete operations Enable or disable pagination")
neutron_2013_2.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_2013_2.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_2013_2.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_2013_2.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. rpc_backend = neutron.openstack.common.rpc.impl_kombu Size of RPC thread pool")
neutron_2013_2.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. rpc_backend = neutron.openstack.common.rpc.impl_kombu Size of RPC thread pool Size of RPC connection pool")
neutron_2013_2.param('rpc_response_timeout', type='string', default='60',
description="RPC configuration options. Defined in rpc __init__ The messaging module to use, defaults to kombu. rpc_backend = neutron.openstack.common.rpc.impl_kombu Size of RPC thread pool Size of RPC connection pool Seconds to wait for a response from call or multicall")
neutron_2013_2.param('rpc_cast_timeout', type='string', default='30',
description="RPC configuration options. Defined in rpc __init__ The messaging module to use, defaults to kombu. rpc_backend = neutron.openstack.common.rpc.impl_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_2013_2.param('control_exchange', type='string', default='neutron',
description="RPC configuration options. Defined in rpc __init__ The messaging module to use, defaults to kombu. rpc_backend = neutron.openstack.common.rpc.impl_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. allowed_rpc_exception_modules = neutron.openstack.common.exception, nova.exception AMQP exchange to connect to if using RabbitMQ or QPID")
neutron_2013_2.param('fake_rabbit', type='string', default='False',
description="If passed, use a fake RabbitMQ provider")
neutron_2013_2.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_2013_2.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_2013_2.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_2013_2.param('max_dns_nameservers', type='string', default='5',
description="Maximum number of DNS nameservers per subnet")
neutron_2013_2.param('max_subnet_host_routes', type='string',
default='20', description="Maximum number of host routes per subnet")
neutron_2013_2.param('max_fixed_ips_per_port', type='string',
default='5', description="Maximum number of fixed ips per port")
neutron_2013_2.param('agent_down_time', type='string', default='5',
description="=========== items for agent management extension ============= Seconds to regard the agent as down.")
neutron_2013_2.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_2013_2.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_2013_2.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_2013_2.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_2013_2.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_2013_2.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_2013_2.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_2013_2.param('retry_until_window', type='string', default='30',
description="Number of seconds to keep retrying to listen")
neutron_2013_2.param('backlog', type='string', default='4096',
description="Number of backlog requests to configure the socket with.")
neutron_2013_2.param('use_ssl', type='string',
default='False', description="Enable SSL on the API server")
neutron_2013_2.param(
'ssl_cert_file', type='string', default='/path/to/certfile',
description="Certificate file to use when starting API server securely")
neutron_2013_2.param(
'ssl_key_file', type='string', default='/path/to/keyfile',
description="Private key file to use when starting API server securely")
neutron_2013_2.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_2013_2.section('quotas')
neutron_2013_2.param(
'quota_items', type='string', default='network,subnet,port',
description="resource name(s) that are supported in quota features")
neutron_2013_2.param('default_quota', type='string', default='-1',
description="default number of resource allowed per tenant, minus for unlimited")
neutron_2013_2.param('quota_network', type='string', default='10',
description="number of networks allowed per tenant, and minus means unlimited")
neutron_2013_2.param('quota_subnet', type='string', default='10',
description="number of subnets allowed per tenant, and minus means unlimited")
neutron_2013_2.param('quota_port', type='string', default='50',
description="number of ports allowed per tenant, and minus means unlimited")
neutron_2013_2.param('quota_security_group', type='string', default='10',
description="number of security groups allowed per tenant, and minus means unlimited")
neutron_2013_2.param(
'quota_security_group_rule', type='string', default='100',
description="number of security group rules allowed per tenant, and minus means unlimited")
neutron_2013_2.param(
'quota_driver', type='string', default='neutron.db.quota_db.DbQuotaDriver',
description="default driver to use for quota checks")
neutron_2013_2.section('agent')
neutron_2013_2.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_2013_2.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_2013_2.section('keystone_authtoken')
neutron_2013_2.param(
'auth_host', type='host', default='127.0.0.1', description="")
neutron_2013_2.param(
'auth_port', type='string', default='35357', description="")
neutron_2013_2.param(
'auth_protocol', type='string', default='http', description="")
neutron_2013_2.param('admin_tenant_name', type='string',
default='%SERVICE_TENANT_NAME%', description="")
neutron_2013_2.param(
'admin_user', type='string', default='%SERVICE_USER%', description="")
neutron_2013_2.param(
'admin_password', type='string', default='%SERVICE_PASSWORD%', description="")
neutron_2013_2.param('signing_dir', type='string',
default='$state_path/keystone-signing', description="")
neutron_2013_2.section('database')
neutron_2013_2.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_2013_2.param('slave_connection', type='string', default='',
description="The SQLAlchemy connection string used to connect to the slave database")
neutron_2013_2.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_2013_2.param('retry_interval', type='string', default='10',
description="Database reconnection interval in seconds - if the initial connection to the database fails")
neutron_2013_2.param('min_pool_size', type='string', default='1',
description="Minimum number of SQL connections to keep open in a pool")
neutron_2013_2.param('max_pool_size', type='string', default='10',
description="Maximum number of SQL connections to keep open in a pool")
neutron_2013_2.param('idle_timeout', type='string', default='3600',
description="Timeout in seconds before idle sql connections are reaped")
neutron_2013_2.param('max_overflow', type='string', default='20',
description="If set, use this value for max_overflow with sqlalchemy")
neutron_2013_2.param('connection_debug', type='string', default='0',
description="Verbosity of SQL debugging information. 0=None, 100=Everything")
neutron_2013_2.param('connection_trace', type='string', default='False',
description="Add python stack traces to SQL as comment strings")
neutron_2013_2.param('pool_timeout', type='string', default='10',
description="If set, use this value for pool_timeout with sqlalchemy")
neutron_2013_2.section('service_providers')
neutron_2013_2.param(
'service_provider', type='string', default='LOADBALANCER:name:lbaas_plugin_driver_path: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:")
neutron_2013_2.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: example of non-default provider: service_provider=FIREWALL:name2:firewall_driver_path --- Reference implementations ---")
neutron_2013_2.param(
'service_provider', type='string', default='LOADBALANCER:Radware:neutron.services.loadbalancer.drivers.radware.driver.LoadBalancerDriver: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: example of non-default provider: service_provider=FIREWALL:name2:firewall_driver_path --- Reference implementations --- In order to activate Radware's lbaas driver you need to uncomment the next line. If you want to keep the HA Proxy as the default lbaas driver, remove the attribute default from the line below. Otherwise comment the HA Proxy line")

View File

@ -0,0 +1,2 @@
import rubick.schemas.neutron_dhcp_agent.v2013_2_1

View File

@ -0,0 +1,71 @@
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,2 @@
import rubick.schemas.neutron_server.v2013_2_1

View File

@ -0,0 +1,416 @@
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 ---")

View File

@ -79,7 +79,7 @@ def add_cluster():
errors['name'] = ['Cluster name is required']
if not 'nodes' in data or data['nodes'] == []:
errors['nodes'] = ['At least one cluster node is required']
if not 'private_key' in data:
if 'private_key' not in data:
errors['private_key'] = ['Private key for accessing nodes is required']
elif not is_key_valid(data['private_key']):
errors['private_key'] = ['Private key format is unknown']
@ -130,7 +130,7 @@ def test_cluster():
errors = {}
if not 'nodes' in data or data['nodes'] == []:
errors['nodes'] = ['At least one cluster node is required']
if not 'private_key' in data:
if 'private_key' not in data:
errors['private_key'] = ['Private key for accessing nodes is required']
elif not is_key_valid(data['private_key']):
errors['private_key'] = ['Private key format is unknown']
@ -156,7 +156,7 @@ def get_rules():
@app.route('/rules/<group>')
def get_rules_group(group):
if not group in RuleGroup.all:
if group not in RuleGroup.all:
return 'Unknown rule group "%s"' % group, 404
#db = get_db()