2012-08-28 17:43:40 -05:00
|
|
|
# stackrc
|
|
|
|
#
|
2012-03-08 00:33:54 -06:00
|
|
|
# Find the other rc files
|
|
|
|
RC_DIR=$(cd $(dirname "$BASH_SOURCE") && pwd)
|
|
|
|
|
2012-07-06 09:39:07 -05:00
|
|
|
# Destination path for installation
|
|
|
|
DEST=/opt/stack
|
|
|
|
|
2012-11-29 11:47:58 -06:00
|
|
|
# Destination for working data
|
|
|
|
DATA_DIR=${DEST}/data
|
|
|
|
|
2013-01-24 14:19:55 -06:00
|
|
|
# Determine stack user
|
|
|
|
if [[ $EUID -eq 0 ]]; then
|
|
|
|
STACK_USER=stack
|
|
|
|
else
|
|
|
|
STACK_USER=$(whoami)
|
|
|
|
fi
|
2013-01-06 22:40:09 +01:00
|
|
|
|
2012-03-09 14:21:40 +00:00
|
|
|
# Specify which services to launch. These generally correspond to
|
2012-08-28 17:43:40 -05:00
|
|
|
# screen tabs. To change the default list, use the ``enable_service`` and
|
|
|
|
# ``disable_service`` functions in ``localrc``.
|
|
|
|
# For example, to enable Swift add this to ``localrc``:
|
2013-03-25 05:34:23 -07:00
|
|
|
# enable_service swift
|
|
|
|
# In order to enable Quantum (a single node setup) add the following
|
|
|
|
# settings in `` localrc``:
|
|
|
|
# disable_service n-net
|
|
|
|
# enable_service q-svc
|
|
|
|
# enable_service q-agt
|
|
|
|
# enable_service q-dhcp
|
|
|
|
# enable_service q-l3
|
|
|
|
# enable_service q-meta
|
|
|
|
# enable_service quantum
|
|
|
|
# # Optional, to enable tempest configuration as part of devstack
|
|
|
|
# enable_service tempest
|
2013-03-15 14:06:23 -04:00
|
|
|
ENABLED_SERVICES=g-api,g-reg,key,n-api,n-crt,n-obj,n-cpu,n-net,n-cond,cinder,c-sch,c-api,c-vol,n-sch,n-novnc,n-xvnc,n-cauth,horizon,rabbit,tempest,mysql
|
2012-03-09 14:21:40 +00:00
|
|
|
|
2012-05-02 11:48:15 -05:00
|
|
|
# Set the default Nova APIs to enable
|
2012-10-31 16:11:37 -04:00
|
|
|
NOVA_ENABLED_APIS=ec2,osapi_compute,metadata
|
2012-05-02 11:48:15 -05:00
|
|
|
|
2013-02-11 16:48:12 -08:00
|
|
|
# Whether to use 'dev mode' for screen windows. Dev mode works by
|
|
|
|
# stuffing text into the screen windows so that a developer can use
|
|
|
|
# ctrl-c, up-arrow, enter to restart the service. Starting services
|
|
|
|
# this way is slightly unreliable, and a bit slower, so this can
|
2013-02-27 19:00:39 -06:00
|
|
|
# be disabled for automated testing by setting this value to False.
|
|
|
|
USE_SCREEN=True
|
2013-02-11 16:48:12 -08:00
|
|
|
|
2013-03-26 00:15:34 -04:00
|
|
|
# allow local overrides of env variables, including repo config
|
|
|
|
if [ -f $RC_DIR/localrc ]; then
|
|
|
|
source $RC_DIR/localrc
|
|
|
|
fi
|
|
|
|
|
2013-04-08 15:38:03 -05:00
|
|
|
|
2012-08-28 17:43:40 -05:00
|
|
|
# Repositories
|
|
|
|
# ------------
|
|
|
|
|
2012-07-26 09:21:01 -05:00
|
|
|
# Base GIT Repo URL
|
|
|
|
# Another option is http://review.openstack.org/p
|
2013-03-26 00:15:34 -04:00
|
|
|
GIT_BASE=${GIT_BASE:-https://github.com}
|
2012-07-26 09:21:01 -05:00
|
|
|
|
2012-07-26 11:22:05 -07:00
|
|
|
# metering service
|
2013-03-26 00:15:34 -04:00
|
|
|
CEILOMETER_REPO=${CEILOMETER_REPO:-${GIT_BASE}/openstack/ceilometer.git}
|
|
|
|
CEILOMETER_BRANCH=${CEILOMETER_BRANCH:-master}
|
2012-07-26 11:22:05 -07:00
|
|
|
|
2013-01-09 09:33:07 +08:00
|
|
|
# ceilometer client library
|
2013-03-26 00:15:34 -04:00
|
|
|
CEILOMETERCLIENT_REPO=${CEILOMETERCLIENT_REPO:-${GIT_BASE}/openstack/python-ceilometerclient.git}
|
|
|
|
CEILOMETERCLIENT_BRANCH=${CEILOMETERCLIENT_BRANCH:-master}
|
2013-01-09 09:33:07 +08:00
|
|
|
|
2012-05-02 11:48:15 -05:00
|
|
|
# volume service
|
2013-03-26 00:15:34 -04:00
|
|
|
CINDER_REPO=${CINDER_REPO:-${GIT_BASE}/openstack/cinder.git}
|
|
|
|
CINDER_BRANCH=${CINDER_BRANCH:-master}
|
2012-05-02 11:48:15 -05:00
|
|
|
|
|
|
|
# volume client
|
2013-03-26 00:15:34 -04:00
|
|
|
CINDERCLIENT_REPO=${CINDERCLIENT_REPO:-${GIT_BASE}/openstack/python-cinderclient.git}
|
|
|
|
CINDERCLIENT_BRANCH=${CINDERCLIENT_BRANCH:-master}
|
2012-05-02 11:48:15 -05:00
|
|
|
|
2011-09-26 13:14:46 -07:00
|
|
|
# image catalog service
|
2013-03-26 00:15:34 -04:00
|
|
|
GLANCE_REPO=${GLANCE_REPO:-${GIT_BASE}/openstack/glance.git}
|
|
|
|
GLANCE_BRANCH=${GLANCE_BRANCH:-master}
|
2011-09-26 13:14:46 -07:00
|
|
|
|
2012-04-13 13:16:38 -05:00
|
|
|
# python glance client library
|
2013-03-26 00:15:34 -04:00
|
|
|
GLANCECLIENT_REPO=${GLANCECLIENT_REPO:-${GIT_BASE}/openstack/python-glanceclient.git}
|
|
|
|
GLANCECLIENT_BRANCH=${GLANCECLIENT_BRANCH:-master}
|
2012-04-13 13:16:38 -05:00
|
|
|
|
2013-06-03 16:47:36 -05:00
|
|
|
# heat service
|
|
|
|
HEAT_REPO=${HEAT_REPO:-${GIT_BASE}/openstack/heat.git}
|
|
|
|
HEAT_BRANCH=${HEAT_BRANCH:-master}
|
2011-09-26 13:14:46 -07:00
|
|
|
|
2013-06-03 16:47:36 -05:00
|
|
|
# python heat client library
|
|
|
|
HEATCLIENT_REPO=${HEATCLIENT_REPO:-${GIT_BASE}/openstack/python-heatclient.git}
|
|
|
|
HEATCLIENT_BRANCH=${HEATCLIENT_BRANCH:-master}
|
2013-01-03 11:51:42 +00:00
|
|
|
|
2011-09-26 13:14:46 -07:00
|
|
|
# django powered web control panel for openstack
|
2013-03-26 00:15:34 -04:00
|
|
|
HORIZON_REPO=${HORIZON_REPO:-${GIT_BASE}/openstack/horizon.git}
|
|
|
|
HORIZON_BRANCH=${HORIZON_BRANCH:-master}
|
2011-09-26 13:14:46 -07:00
|
|
|
|
2013-06-03 16:47:36 -05:00
|
|
|
# unified auth system (manages accounts/tokens)
|
|
|
|
KEYSTONE_REPO=${KEYSTONE_REPO:-${GIT_BASE}/openstack/keystone.git}
|
|
|
|
KEYSTONE_BRANCH=${KEYSTONE_BRANCH:-master}
|
|
|
|
|
|
|
|
# python keystone client library to nova that horizon uses
|
|
|
|
KEYSTONECLIENT_REPO=${KEYSTONECLIENT_REPO:-${GIT_BASE}/openstack/python-keystoneclient.git}
|
|
|
|
KEYSTONECLIENT_BRANCH=${KEYSTONECLIENT_BRANCH:-master}
|
|
|
|
|
|
|
|
# compute service
|
|
|
|
NOVA_REPO=${NOVA_REPO:-${GIT_BASE}/openstack/nova.git}
|
|
|
|
NOVA_BRANCH=${NOVA_BRANCH:-master}
|
|
|
|
|
2011-10-28 14:00:21 -07:00
|
|
|
# python client library to nova that horizon (and others) use
|
2013-03-26 00:15:34 -04:00
|
|
|
NOVACLIENT_REPO=${NOVACLIENT_REPO:-${GIT_BASE}/openstack/python-novaclient.git}
|
|
|
|
NOVACLIENT_BRANCH=${NOVACLIENT_BRANCH:-master}
|
2011-09-26 13:14:46 -07:00
|
|
|
|
2012-11-26 18:56:20 +00:00
|
|
|
# consolidated openstack python client
|
2013-03-26 00:15:34 -04:00
|
|
|
OPENSTACKCLIENT_REPO=${OPENSTACKCLIENT_REPO:-${GIT_BASE}/openstack/python-openstackclient.git}
|
|
|
|
OPENSTACKCLIENT_BRANCH=${OPENSTACKCLIENT_BRANCH:-master}
|
2012-11-26 18:56:20 +00:00
|
|
|
|
2013-06-03 16:47:36 -05:00
|
|
|
# pbr drives the setuptools configs
|
|
|
|
PBR_REPO=${PBR_REPO:-${GIT_BASE}/openstack-dev/pbr.git}
|
|
|
|
PBR_BRANCH=${PBR_BRANCH:-master}
|
2011-12-27 22:22:14 -08:00
|
|
|
|
2011-10-27 18:18:20 -07:00
|
|
|
# quantum service
|
2013-03-26 00:15:34 -04:00
|
|
|
QUANTUM_REPO=${QUANTUM_REPO:-${GIT_BASE}/openstack/quantum.git}
|
|
|
|
QUANTUM_BRANCH=${QUANTUM_BRANCH:-master}
|
2011-10-27 18:18:20 -07:00
|
|
|
|
2012-01-25 17:22:15 -05:00
|
|
|
# quantum client
|
2013-03-26 00:15:34 -04:00
|
|
|
QUANTUMCLIENT_REPO=${QUANTUMCLIENT_REPO:-${GIT_BASE}/openstack/python-quantumclient.git}
|
|
|
|
QUANTUMCLIENT_BRANCH=${QUANTUMCLIENT_BRANCH:-master}
|
2012-01-25 17:22:15 -05:00
|
|
|
|
2013-06-03 16:47:36 -05:00
|
|
|
# storage service
|
|
|
|
SWIFT_REPO=${SWIFT_REPO:-${GIT_BASE}/openstack/swift.git}
|
|
|
|
SWIFT_BRANCH=${SWIFT_BRANCH:-master}
|
|
|
|
SWIFT3_REPO=${SWIFT3_REPO:-${GIT_BASE}/fujita/swift3.git}
|
|
|
|
SWIFT3_BRANCH=${SWIFT3_BRANCH:-master}
|
|
|
|
|
|
|
|
# python swift client library
|
|
|
|
SWIFTCLIENT_REPO=${SWIFTCLIENT_REPO:-${GIT_BASE}/openstack/python-swiftclient.git}
|
|
|
|
SWIFTCLIENT_BRANCH=${SWIFTCLIENT_BRANCH:-master}
|
|
|
|
|
2012-01-10 14:43:17 -06:00
|
|
|
# Tempest test suite
|
2013-03-26 00:15:34 -04:00
|
|
|
TEMPEST_REPO=${TEMPEST_REPO:-${GIT_BASE}/openstack/tempest.git}
|
|
|
|
TEMPEST_BRANCH=${TEMPEST_BRANCH:-master}
|
2011-11-04 12:13:43 -05:00
|
|
|
|
2012-07-23 06:27:36 +00:00
|
|
|
|
2012-11-12 17:58:38 -08:00
|
|
|
# diskimage-builder
|
2013-03-26 00:15:34 -04:00
|
|
|
BM_IMAGE_BUILD_REPO=${BM_IMAGE_BUILD_REPO:-${GIT_BASE}/stackforge/diskimage-builder.git}
|
|
|
|
BM_IMAGE_BUILD_BRANCH=${BM_IMAGE_BUILD_BRANCH:-master}
|
2012-11-12 17:58:38 -08:00
|
|
|
|
2012-11-23 10:54:54 -08:00
|
|
|
# bm_poseur
|
|
|
|
# Used to simulate a hardware environment for baremetal
|
|
|
|
# Only used if BM_USE_FAKE_ENV is set
|
2013-03-26 00:15:34 -04:00
|
|
|
BM_POSEUR_REPO=${BM_POSEUR_REPO:-${GIT_BASE}/tripleo/bm_poseur.git}
|
|
|
|
BM_POSEUR_BRANCH=${BM_POSEUR_BRANCH:-master}
|
2012-11-23 10:54:54 -08:00
|
|
|
|
2013-06-03 16:47:36 -05:00
|
|
|
# a websockets/html5 or flash powered VNC console for vm instances
|
|
|
|
NOVNC_REPO=${NOVNC_REPO:-${GIT_BASE}/kanaka/noVNC.git}
|
|
|
|
NOVNC_BRANCH=${NOVNC_BRANCH:-master}
|
|
|
|
|
|
|
|
# ryu service
|
|
|
|
RYU_REPO=${RYU_REPO:-${GIT_BASE}/osrg/ryu.git}
|
|
|
|
RYU_BRANCH=${RYU_BRANCH:-master}
|
|
|
|
|
|
|
|
# a websockets/html5 or flash powered SPICE console for vm instances
|
|
|
|
SPICE_REPO=${SPICE_REPO:-http://anongit.freedesktop.org/git/spice/spice-html5.git}
|
|
|
|
SPICE_BRANCH=${SPICE_BRANCH:-master}
|
|
|
|
|
2013-05-08 14:29:52 -04:00
|
|
|
|
2012-07-06 17:49:12 -07:00
|
|
|
# Nova hypervisor configuration. We default to libvirt with **kvm** but will
|
|
|
|
# drop back to **qemu** if we are unable to load the kvm module. ``stack.sh`` can
|
2013-05-16 14:27:01 +01:00
|
|
|
# also install an **LXC**, **OpenVZ** or **XenAPI** based system.
|
2012-07-06 17:49:12 -07:00
|
|
|
VIRT_DRIVER=${VIRT_DRIVER:-libvirt}
|
2013-05-16 14:27:01 +01:00
|
|
|
case "$VIRT_DRIVER" in
|
|
|
|
libvirt)
|
|
|
|
LIBVIRT_TYPE=${LIBVIRT_TYPE:-kvm}
|
|
|
|
if [[ "$os_VENDOR" =~ (Debian) ]]; then
|
|
|
|
LIBVIRT_GROUP=libvirt
|
|
|
|
else
|
|
|
|
LIBVIRT_GROUP=libvirtd
|
|
|
|
fi
|
|
|
|
;;
|
|
|
|
xenserver)
|
|
|
|
# Xen config common to nova and quantum
|
|
|
|
XENAPI_CONNECTION_URL=${XENAPI_CONNECTION_URL:-"http://169.254.0.1"}
|
|
|
|
XENAPI_USER=${XENAPI_USER:-"root"}
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
;;
|
|
|
|
esac
|
2012-07-06 17:49:12 -07:00
|
|
|
|
2013-06-03 16:47:36 -05:00
|
|
|
|
|
|
|
# Images
|
|
|
|
# ------
|
|
|
|
|
|
|
|
# Specify a comma-separated list of images to download and install into glance.
|
|
|
|
# Supported urls here are:
|
2011-12-08 16:22:51 -05:00
|
|
|
# * "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
|
2013-06-03 16:47:36 -05:00
|
|
|
# example: http://cloud-images.ubuntu.com/releases/precise/release/ubuntu-12.04-server-cloudimg-amd64.tar.gz
|
2011-12-08 16:22:51 -05:00
|
|
|
# * 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.
|
2012-01-23 11:17:27 -06:00
|
|
|
# example:
|
2013-06-03 16:47:36 -05:00
|
|
|
# http://cloud-images.ubuntu.com/releases/precise/release/ubuntu-12.04-server-cloudimg-armel-disk1.img
|
2013-02-20 12:33:39 -05:00
|
|
|
# http://download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-rootfs.img.gz
|
2012-08-28 17:43:40 -05:00
|
|
|
# * OpenVZ image:
|
|
|
|
# OpenVZ uses its own format of image, and does not support UEC style images
|
|
|
|
|
2011-12-08 16:23:27 -05:00
|
|
|
#IMAGE_URLS="http://smoser.brickies.net/ubuntu/ttylinux-uec/ttylinux-uec-amd64-11.2_2.6.35-15_1.tar.gz" # old ttylinux-uec image
|
2013-02-20 12:33:39 -05:00
|
|
|
#IMAGE_URLS="http://download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-disk.img" # cirros full disk image
|
2012-08-28 17:43:40 -05:00
|
|
|
|
|
|
|
# Set default image based on ``VIRT_DRIVER`` and ``LIBVIRT_TYPE``, either of
|
2012-10-24 17:26:02 -07:00
|
|
|
# which may be set in ``localrc``. Also allow ``DEFAULT_IMAGE_NAME`` and
|
2012-08-28 17:43:40 -05:00
|
|
|
# ``IMAGE_URLS`` to be set directly in ``localrc``.
|
2012-07-06 17:49:12 -07:00
|
|
|
case "$VIRT_DRIVER" in
|
2012-10-24 17:26:02 -07:00
|
|
|
openvz)
|
2012-07-06 17:49:12 -07:00
|
|
|
DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-ubuntu-11.10-x86_64}
|
|
|
|
IMAGE_URLS=${IMAGE_URLS:-"http://download.openvz.org/template/precreated/ubuntu-11.10-x86_64.tar.gz"};;
|
|
|
|
libvirt)
|
|
|
|
case "$LIBVIRT_TYPE" in
|
|
|
|
lxc) # the cirros root disk in the uec tarball is empty, so it will not work for lxc
|
2013-02-20 12:33:39 -05:00
|
|
|
DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-cirros-0.3.1-x86_64-rootfs}
|
|
|
|
IMAGE_URLS=${IMAGE_URLS:-"http://download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-rootfs.img.gz"};;
|
2012-07-06 17:49:12 -07:00
|
|
|
*) # otherwise, use the uec style image (with kernel, ramdisk, disk)
|
2013-02-20 12:33:39 -05:00
|
|
|
DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-cirros-0.3.1-x86_64-uec}
|
|
|
|
IMAGE_URLS=${IMAGE_URLS:-"http://download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-uec.tar.gz"};;
|
2012-07-06 17:49:12 -07:00
|
|
|
esac
|
|
|
|
;;
|
2013-04-24 14:49:56 -07:00
|
|
|
vsphere)
|
|
|
|
IMAGE_URLS="";;
|
2013-06-03 16:47:36 -05:00
|
|
|
*) # Default to Cirros with kernel, ramdisk and disk image
|
2013-02-20 12:33:39 -05:00
|
|
|
DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-cirros-0.3.1-x86_64-uec}
|
|
|
|
IMAGE_URLS=${IMAGE_URLS:-"http://download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-uec.tar.gz"};;
|
if using lxc, use cirros rootfs image
The cirros 'uec' image contains a kernel, a ramdisk, and a rootfs.
However, the rootfs is empty. cirros copies its ramdisk to it on its first
boot. That means, if you try this with lxc, there is no filesystem for
lxc to boot.
So, in the case of lxc, import the rootfs image, which is a populated
ext3 filesystem, which is what nova lxc expects.
Change-Id: I3ada380c61044a08697b0a964a962b269ea5224c
2011-12-16 10:29:10 -05:00
|
|
|
esac
|
2011-10-13 23:03:23 -07:00
|
|
|
|
2013-06-03 16:47:36 -05:00
|
|
|
|
2013-06-20 17:02:44 -04:00
|
|
|
# 10Gb default volume backing file size
|
|
|
|
VOLUME_BACKING_FILE_SIZE=${VOLUME_BACKING_FILE_SIZE:-10250M}
|
2012-10-24 17:26:02 -07:00
|
|
|
|
2013-03-17 15:17:05 -05:00
|
|
|
# Name of the LVM volume group to use/create for iscsi volumes
|
|
|
|
VOLUME_GROUP=${VOLUME_GROUP:-stack-volumes}
|
|
|
|
VOLUME_NAME_PREFIX=${VOLUME_NAME_PREFIX:-volume-}
|
|
|
|
INSTANCE_NAME_PREFIX=${INSTANCE_NAME_PREFIX:-instance-}
|
|
|
|
|
2013-03-18 16:07:56 -05:00
|
|
|
# Set default port for nova-objectstore
|
|
|
|
S3_SERVICE_PORT=${S3_SERVICE_PORT:-3333}
|
|
|
|
|
|
|
|
# Common network names
|
2012-10-24 17:26:02 -07:00
|
|
|
PRIVATE_NETWORK_NAME=${PRIVATE_NETWORK_NAME:-"private"}
|
2013-03-26 16:52:53 -07:00
|
|
|
PUBLIC_NETWORK_NAME=${PUBLIC_NETWORK_NAME:-"public"}
|
2013-02-27 19:00:39 -06:00
|
|
|
|
|
|
|
# Compatibility until it's eradicated from CI
|
|
|
|
USE_SCREEN=${SCREEN_DEV:-$USE_SCREEN}
|
2013-03-29 14:34:53 -04:00
|
|
|
|
2013-05-22 08:55:25 +00:00
|
|
|
# Set default screen name
|
|
|
|
SCREEN_NAME=${SCREEN_NAME:-stack}
|
|
|
|
|
2013-03-29 14:34:53 -04:00
|
|
|
# Local variables:
|
|
|
|
# mode: shell-script
|
|
|
|
# End:
|