diff --git a/glance/manifests/init.pp b/glance/manifests/init.pp new file mode 100644 index 000000000..8f797f60e --- /dev/null +++ b/glance/manifests/init.pp @@ -0,0 +1,16 @@ +class glance ( + $verbose = 'false', + $default_store = 'file', + $bind_port = '9292', + $registry_port = '9191', + $auth_domain = '127.0.0.1', + $swift_store_user, + $swift_store_key + $db_user, + $db_password, + $glance_ip +) { + file { '/etc/glance/glance.conf': + content => template('glance/glance.conf.erb'), + } +} diff --git a/glance/templates/glance.conf.erb b/glance/templates/glance.conf.erb new file mode 100644 index 000000000..d6ae4be4c --- /dev/null +++ b/glance/templates/glance.conf.erb @@ -0,0 +1,75 @@ +[DEFAULT] +# Show more verbose log output (sets INFO log level output) +verbose = <%= verbose %> + +# Show debugging output in logs (sets DEBUG log level output) +debug = False + +[app:glance-api] +paste.app_factory = glance.server:app_factory + +# Which backend store should Glance use by default is not specified +# in a request to add a new image to Glance? Default: 'file' +# Available choices are 'file', 'swift', and 's3' +default_store = <%= default_store %> + +# Address to bind the API server +bind_host = 0.0.0.0 + +# Port the bind the API server to +bind_port = <%= bind_port %> + +# Address to find the registry server +registry_host = 0.0.0.0 + +# Port the registry server is listening on +registry_port = <%= registry_port %> + +# ============ Filesystem Store Options ======================== + +# Directory that the Filesystem backend store +# writes image data to +filesystem_store_datadir=/var/lib/glance/images/ + +# ============ Swift Store Options ============================= + +# Address where the Swift authentication service lives +# The auth address should be in the form: +# [:]// +swift_store_auth_address = <%= auth_domain %>:8080/v1.0/glance-account + +# User to authenticate against the Swift authentication service +swift_store_user = <%= swift_store_user %> + +# Auth key for the user authenticating against the +# Swift authentication service +swift_store_key = <%= swift_store_key %> + +# Container within the account that the account should use +# for storing images in Swift +swift_store_container = glance + +# Do we create the container if it does not exist? +swift_store_create_container_on_put = False + +[app:glance-registry] +paste.app_factory = glance.registry.server:app_factory + +# Address to bind the registry server +bind_host = 0.0.0.0 + +# Port the bind the registry server to +bind_port = <%= registry_port %> + +# 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 +sql_connection=mysql://<%= db_user %>:<%= db_password %>@<%= glance_ip %>/glance + +# Period in seconds after which SQLAlchemy should reestablish its connection +# to the database. +# +# 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. +sql_idle_timeout = 3600 diff --git a/nova/manifests/rackspace/all.pp b/nova/manifests/rackspace/all.pp index ead0eebb9..e7b2c8d19 100644 --- a/nova/manifests/rackspace/all.pp +++ b/nova/manifests/rackspace/all.pp @@ -6,38 +6,32 @@ # the various backends for openstack # class nova::rackspace::all( - $logdir, - $verbose, - $sql_connection, - $network_manager, - $image_service, + $verbose = 'false', + $sql_connection = false, + $image_service = 'nova.image.glance.GlanceImageService', $flat_network_bridge = 'xenbr0', - $glance_host, - $glance_port, + $glance_host = 'localhost', + $glance_port = '9292', $allow_admin_api = 'true', - $rabbit_host, + $rabbit_host = 'localhost', + $rabbit_port = '5672', + $rabbit_userid = 'nova', $rabbit_password, - $rabbit_port, - $rabbit_userid, - $rabbit_virtual_host, - $state_path, - $lock_path, - $service_down_time, - $quota_instances, - $quota_cores, - $quota_volumes, - $quota_gigabytes, - $quota_floating_ips, - $quota_metadata_items, - $quota_max_injected_files, - $quota_max_injected_file_content_bytes, - $quota_max_injected_file_path_bytes, + $rabbit_virtual_host='/', + $service_down_time='180000000', + $quota_instances='1000000', + $quota_cores='1000000', + $quota_volumes='1000000', + $quota_gigabytes='1000000', + $quota_floating_ips='1000000', + $quota_metadata_items='1000000', + $quota_max_injected_files='1000000', + $quota_max_injected_file_content_bytes='1000000', + $quota_max_injected_file_path_bytes='1000000', $host, - $compute_type = 'xenserver', -# do kvm and libvirt have extra config options? - $xenapi_connection_url, - $xenapi_connection_username, $xenapi_connection_password, + $xenapi_connection_url = 'localhost', + $xenapi_connection_username = 'nova', $xenapi_inject_image = 'false' ) {