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
|
|
|
# compute service
|
2013-03-26 00:15:34 -04:00
|
|
|
NOVA_REPO=${NOVA_REPO:-${GIT_BASE}/openstack/nova.git}
|
|
|
|
NOVA_BRANCH=${NOVA_BRANCH:-master}
|
2011-09-26 13:14:46 -07:00
|
|
|
|
2011-11-01 12:30:55 +01:00
|
|
|
# storage service
|
2013-03-26 00:15:34 -04:00
|
|
|
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}
|
2012-05-24 14:11:01 -07:00
|
|
|
|
2012-05-22 10:27:08 +00:00
|
|
|
# python swift client library
|
2013-03-26 00:15:34 -04:00
|
|
|
SWIFTCLIENT_REPO=${SWIFTCLIENT_REPO:-${GIT_BASE}/openstack/python-swiftclient.git}
|
|
|
|
SWIFTCLIENT_BRANCH=${SWIFTCLIENT_BRANCH:-master}
|
2012-05-22 10:27:08 +00: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
|
|
|
|
2011-09-26 13:14:46 -07:00
|
|
|
# unified auth system (manages accounts/tokens)
|
2013-03-26 00:15:34 -04:00
|
|
|
KEYSTONE_REPO=${KEYSTONE_REPO:-${GIT_BASE}/openstack/keystone.git}
|
|
|
|
KEYSTONE_BRANCH=${KEYSTONE_BRANCH:-master}
|
2011-09-26 13:14:46 -07:00
|
|
|
|
|
|
|
# a websockets/html5 or flash powered VNC console for vm instances
|
2013-03-26 00:15:34 -04:00
|
|
|
NOVNC_REPO=${NOVNC_REPO:-${GIT_BASE}/kanaka/noVNC.git}
|
|
|
|
NOVNC_BRANCH=${NOVNC_BRANCH:-master}
|
2011-09-26 13:14:46 -07:00
|
|
|
|
2013-01-03 11:51:42 +00:00
|
|
|
# a websockets/html5 or flash powered SPICE console for vm instances
|
2013-03-26 00:15:34 -04:00
|
|
|
SPICE_REPO=${SPICE_REPO:-http://anongit.freedesktop.org/git/spice/spice-html5.git}
|
|
|
|
SPICE_BRANCH=${SPICE_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
|
|
|
|
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
|
|
|
|
2011-12-27 22:22:14 -08:00
|
|
|
# python keystone client library to nova that horizon uses
|
2013-03-26 00:15:34 -04:00
|
|
|
KEYSTONECLIENT_REPO=${KEYSTONECLIENT_REPO:-${GIT_BASE}/openstack/python-keystoneclient.git}
|
|
|
|
KEYSTONECLIENT_BRANCH=${KEYSTONECLIENT_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
|
|
|
|
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-08-18 09:00:42 +12:00
|
|
|
# heat service
|
2013-03-26 00:15:34 -04:00
|
|
|
HEAT_REPO=${HEAT_REPO:-${GIT_BASE}/openstack/heat.git}
|
|
|
|
HEAT_BRANCH=${HEAT_BRANCH:-master}
|
2012-08-18 09:00:42 +12:00
|
|
|
|
2012-11-05 09:57:57 +13:00
|
|
|
# python heat client library
|
2013-03-26 00:15:34 -04:00
|
|
|
HEATCLIENT_REPO=${HEATCLIENT_REPO:-${GIT_BASE}/openstack/python-heatclient.git}
|
|
|
|
HEATCLIENT_BRANCH=${HEATCLIENT_BRANCH:-master}
|
2012-11-05 09:57:57 +13:00
|
|
|
|
2012-07-23 06:27:36 +00:00
|
|
|
# ryu service
|
2013-03-26 00:15:34 -04:00
|
|
|
RYU_REPO=${RYU_REPO:-${GIT_BASE}/osrg/ryu.git}
|
|
|
|
RYU_BRANCH=${RYU_BRANCH:-master}
|
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-05-08 14:29:52 -04:00
|
|
|
# pbr
|
|
|
|
# Used to drive the setuptools configs
|
|
|
|
PBR_REPO=${PBR_REPO:-${GIT_BASE}/openstack-dev/pbr.git}
|
|
|
|
PBR_BRANCH=${PBR_BRANCH:-master}
|
|
|
|
|
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
|
|
|
|
2012-08-28 17:43:40 -05:00
|
|
|
# Specify a comma-separated list of UEC images to download and install into glance.
|
2011-12-08 16:22:51 -05:00
|
|
|
# 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.
|
2012-01-23 11:17:27 -06:00
|
|
|
# example:
|
2011-12-08 16:22:51 -05:00
|
|
|
# http://cloud-images.ubuntu.com/releases/oneiric/release/ubuntu-11.10-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="";;
|
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"};;
|
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
|
|
|
|
2012-07-15 10:22:45 +01:00
|
|
|
# 5Gb default volume backing file size
|
|
|
|
VOLUME_BACKING_FILE_SIZE=${VOLUME_BACKING_FILE_SIZE:-5130M}
|
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:
|