anvil/conf/stack.ini
2012-01-25 14:40:00 -08:00

300 lines
10 KiB
INI

# Devstack2 local configuration
# When a value looks like a bash variable + default then it is parsed like a bash
# variable and will perform similar lookups. Ie ${SQL_HOST:-localhost} will
# look in environment variable SQL_HOST and if that does not exist then
# localhost will be used instead.
#
# We also allow for simple referencing of other variables, similar to bash
# variables to occur when a keys value like the following format are found:
#
# web_host = ${RUNNING_HOST:-http://$(X:Y)}
#
# For this example, the RUNNING_HOST enviroment variable will be referenced.
# If it is not found (no value exists), then "http://$(X:Y)" will be
# examined and found to be contain a expression (denoted by "$(X:Y)").
#
# Then in that expression there are components of the format "X:Y" which the
# configuration class will attempt to resolve those values by looking up in the
# configuration file for a value in section "X" with option "Y" and replacing the
# retrieved value for what was previously "$(X:Y)". Multiple of these "expressions"
# are allowed and each will have its expression "text" replaced with the resolved
# value before the final value for the original variable is determined.
#
# For this example if the section X with option Y contained value "1.2.3.4" then
# the final string would be "http://1.2.3.4" which would then be cached as the value
# for option web_host.
[default]
# Where is rabbit located?
rabbit_host = ${RABBIT_HOST:-$(host:ip)}
# Sys log enabled or not
syslog = 0
[host]
# Set api host endpoint
# If this is empty in code we will try to determine your network ip.
ip = ${HOST_IP:-}
[db]
# Where you db is located at and how to access it.
sql_host = ${SQL_HOST:-localhost}
sql_user = ${SQL_USER:-root}
port = ${SQL_PORT:-3306}
# What type of database is this?
type = ${SQL_TYPE:-mysql}
[keystone]
# Where is the keystone auth host at?
keystone_auth_host = ${KEYSTONE_AUTH_HOST:-$(host:ip)}
keystone_auth_port = ${KEYSTONE_AUTH_PORT:-35357}
keystone_auth_protocol = ${KEYSTONE_AUTH_PROTOCOL:-http}
# Where is the keystone service host at?
keystone_service_host = ${KEYSTONE_SERVICE_HOST:-$(host:ip)}
keystone_service_port = ${KEYSTONE_SERVICE_PORT:-5000}
keystone_service_protocol = ${KEYSTONE_SERVICE_PROTOCOL:-http}
[nova]
# Should nova be in verbose mode?
verbose = ${NOVA_VERBOSE:-1}
# Allow the admin api to be accessible?
allow_admin_api = 1
# Nova original used project_id as the *account* that owned resources (servers,
# ip address, ...) With the addition of Keystone we have standardized on the
# term **tenant** as the entity that owns the resources. **novaclient** still
# uses the old deprecated terms project_id. Note that this field should now be
# set to tenant_name, not tenant_id.
nova_project_id = ${TENANT:-demo}
# In addition to the owning entity (tenant), nova stores the entity performing
# the action as the **user**.
nova_username = ${USERNAME:-demo}
# With Keystone you pass the keystone password instead of an api key.
# The most recent versions of novaclient use NOVA_PASSWORD instead of NOVA_API_KEY
nova_password = ${ADMIN_PASSWORD:-secrete}
# With the addition of Keystone, to use an openstack cloud you should
# authenticate against keystone, which returns a **Token** and **Service
# Catalog**. The catalog contains the endpoint for all services the user/tenant
# has access to - including nova, glance, keystone, swift, ... We currently
# recommend using the 2.0 *auth api*.
#
# *NOTE*: Using the 2.0 *auth api* does not mean that compute api is 2.0. We
# will use the 1.1 *compute api*
nova_url = ${NOVA_URL:-http://$(host:ip):5000/v2.0/}
# Currently novaclient needs you to specify the *compute api* version. This
# needs to match the config of your catalog returned by Keystone.
nova_version = ${NOVA_VERSION:-1.1}
# Which scheduler will nova be running with?
# SimpleScheduler should work in most cases unless you are working on multi-zone mode.
scheduler = ${NOVA_SCHEDULER:-nova.scheduler.simple.SimpleScheduler}
# Network settings
fixed_range = ${NOVA_FIXED_RANGE:-10.0.0.0/24}
network_manager = ${NET_MAN:-FlatDHCPManager}
volume_group = ${VOLUME_GROUP:-nova-volumes}
volume_name_prefix = ${VOLUME_NAME_PREFIX:-volume-}
public_interface = ${PUBLIC_INTERFACE:-eth0}
flat_network_bridge = ${FLAT_NETWORK_BRIDGE:-br100}
flat_interface = ${FLAT_INTERFACE:-eth0}
vlan_interface = ${VLAN_INTERFACE:-$(nova:public_interface)}
# TODO document these
vncproxy_url = ${VNCPROXY_URL:-http://$(host:ip):6080}
ec2_dmz_host = ${EC2_DMZ_HOST:-$(host:ip)}
# How instances will be named
instance_name_prefix = ${INSTANCE_NAME_PREFIX:-instance-}
instance_name_postfix = ${INSTANCE_NAME_POSTFIX:-%08x}
# Where instances will be stored
instances_path = ${INSTANCES_PATH:-}
# Are we setup in multihost mode?
multi_host = ${MULTI_HOST:-0}
# Virtualization settings
virt_driver = ${VIRT_DRIVER:-libvirt}
libvirt_type = ${LIBVIRT_TYPE:-kvm}
connection_type = ${CONNECTION_TYPE:-libvirt}
# What tyoe of image service will be used?
img_service = ${IMG_SERVICE:-nova.image.glance.GlanceImageService}
glance_server = ${GLANCE_SERVER:-$(host:ip):9292}
# Used however you want - ensure you know nova's conf file format if you use this!
extra_flags = ${NOVA_EXTRA_FLAGS:-}
floating_range=${FLOATING_RANGE:-172.24.4.224/28}
test_floating_pool=${TEST_FLOATING_POOL:-test}
test_floating_range=${TEST_FLOATING_RANGE:-192.168.253.0/29}
[ec2]
# Set the ec2 url so euca2ools works
ec2_url = ${EC2_URL:-}
# Access key is set in the initial keystone data to be the same as username
ec2_access_key = ${USERNAME:-demo}
# Secret key is set in the initial keystone data to the admin password
ec2_secret_key = ${ADMIN_PASSWORD:-secrete}
[vm]
# Max time till the vm is bootable
boot_timeout = ${BOOT_TIMEOUT:-15}
# Max time to wait while vm goes from build to active state
active_timeout = ${ACTIVE_TIMEOUT:-10}
# Max time from run instance command until it is running
running_timeout = ${RUNNING_TIMEOUT:-$(vm:active_timeout)}
# Max time to wait for proper IP association and dis-association.
associate_timeout = ${ASSOCIATE_TIMEOUT:-10}
[git]
# Compute service git repo
nova_repo = https://github.com/openstack/nova.git
nova_branch = master
# Storage service git repo
swift_repo = https://github.com/openstack/swift.git
swift_branch = master
# Swift and keystone integration git repo
swift_keystone_repo = https://github.com/cloudbuilders/swift-keystone2.git
swift_keystone_branch = master
# Image catalog service git repo
glance_repo = https://github.com/openstack/glance.git
glance_branch = master
# Unified auth system (manages accounts/tokens) git repo
keystone_repo = https://github.com/openstack/keystone.git
keystone_branch = stable/diablo
# A websockets/html5 or flash powered VNC console for vm instances
novnc_repo = https://github.com/cloudbuilders/noVNC.git
novnc_branch = master
# Django powered web control panel for openstack
horizon_repo = https://github.com/openstack/horizon.git
horizon_branch = master
# Python keystone client library to nova that horizon uses
keystoneclient_repo = git://github.com/openstack/python-keystoneclient.git
keystoneclient_branch = master
# Python client library to nova that horizon (and others) use
novaclient_repo = https://github.com/openstack/python-novaclient.git
novaclient_branch = master
# Openstackx is a collection of extensions to openstack.compute & nova
# that is *deprecated*. The code is being moved into python-novaclient & nova.
openstackx_repo = https://github.com/cloudbuilders/openstackx.git
openstackx_branch = master
# Quantum service git repo
quantum_repo = https://github.com/openstack/quantum
quantum_branch = master
[quantum]
# Where your quantum host is at
q_host = ${Q_HOST:-$(host:ip)}
# Which port your quantum host is at
q_port = ${Q_PORT:-9696}
# Which type of quantum plugin you will be using
q_plugin = ${Q_PLUGIN:-openvswitch}
[horizon]
# What user will apache be serving from
#
# Root will typically not work (so this is here to fail)
# sudo adduser <username> admin will be what you want to set this up.
# I typically use "sudo adduser horizon admin"
apache_user = ${APACHE_USER:-root}
# This is the group of the previous user (adjust as needed)
apache_group = ${APACHE_GROUP:-$(horizon:apache_user)}
# Port horizon should run on
port = ${HORIZON_PORT:-80}
[ci]
# CI test suite
citest_repo = https://github.com/openstack/tempest.git
citest_branch = master
[img]
# Specify a comma-separated list of uec images to download and install into glance.
# supported urls here are:
#
# * "uec-style" images:
# If the file ends in .tar.gz, uncompress the tarball and and select the first
# .img file inside it as the image. If present, use "*-vmlinuz*" as the kernel
# and "*-initrd*" as the ramdisk
# example: http://cloud-images.ubuntu.com/releases/oneiric/release/ubuntu-11.10-server-cloudimg-amd64.tar.gz
# * disk image (*.img,*.img.gz)
# if file ends in .img, then it will be uploaded and registered as a to
# glance as a disk image. If it ends in .gz, it is uncompressed first.
# example:
# http://cloud-images.ubuntu.com/releases/oneiric/release/ubuntu-11.10-server-cloudimg-armel-disk1.img
# http://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-rootfs.img.gz
# old ttylinux-uec image
#image_urls="http://smoser.brickies.net/ubuntu/ttylinux-uec/ttylinux-uec-amd64-11.2_2.6.35-15_1.tar.gz"
# cirros full disk image
#image_urls="http://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-disk.img"
# uec style cirros image
image_urls = http://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-uec.tar.gz
[passwords]
# This section is where passwords could be stored. This section also has special meaning
# in code in that the configuration class we use will look in this section for passwords
# and if no password is found (ie an empty string) then the user will be prompted to enter
# a password, if they do not enter one (or its blank) then one will be generated for the user.
#
# *You can set the enviroment variable "PASS_ASK" to 1 to not be prompted at all.*
# You will need to send the same MYSQL_PASSWORD to every host if you are doing a multi-node devstack installation.
sql = ${MYSQL_PASSWORD:-}
# Change the rabbit password since the default is "guest"
rabbit = ${RABBIT_PASSWORD:-}
# This password will be used by horizon and keystone as the admin password
horizon_keystone_admin = ${ADMIN_PASSWORD:-}
# Openstack components need to have an admin token to validate user tokens.
service_token = ${SERVICE_TOKEN:-}
# The xen api connection password
xenapi_connection = ${XENAPI_CONNECTION:-}