Periodic formatting cleanup
This is the semi-irregular comment and docs cleanup. No functional changes should be here although some code is moved in a small attempt to sort functions and get things where they need to be. Change-Id: Ib4a3e2590c6fbd016c391acc7aef6421e91c0dca
This commit is contained in:
parent
f606adb4a8
commit
1a6d4492e2
136
functions
136
functions
@ -200,6 +200,7 @@ function _get_package_dir() {
|
|||||||
echo "$pkg_dir"
|
echo "$pkg_dir"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# get_packages() collects a list of package names of any type from the
|
# get_packages() collects a list of package names of any type from the
|
||||||
# prerequisite files in ``files/{apts|rpms}``. The list is intended
|
# prerequisite files in ``files/{apts|rpms}``. The list is intended
|
||||||
# to be passed to a package installer such as apt or yum.
|
# to be passed to a package installer such as apt or yum.
|
||||||
@ -390,42 +391,6 @@ GetOSVersion() {
|
|||||||
export os_VENDOR os_RELEASE os_UPDATE os_PACKAGE os_CODENAME
|
export os_VENDOR os_RELEASE os_UPDATE os_PACKAGE os_CODENAME
|
||||||
}
|
}
|
||||||
|
|
||||||
# git update using reference as a branch.
|
|
||||||
# git_update_branch ref
|
|
||||||
function git_update_branch() {
|
|
||||||
|
|
||||||
GIT_BRANCH=$1
|
|
||||||
|
|
||||||
git checkout -f origin/$GIT_BRANCH
|
|
||||||
# a local branch might not exist
|
|
||||||
git branch -D $GIT_BRANCH || true
|
|
||||||
git checkout -b $GIT_BRANCH
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# git update using reference as a tag. Be careful editing source at that repo
|
|
||||||
# as working copy will be in a detached mode
|
|
||||||
# git_update_tag ref
|
|
||||||
function git_update_tag() {
|
|
||||||
|
|
||||||
GIT_TAG=$1
|
|
||||||
|
|
||||||
git tag -d $GIT_TAG
|
|
||||||
# fetching given tag only
|
|
||||||
git fetch origin tag $GIT_TAG
|
|
||||||
git checkout -f $GIT_TAG
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# git update using reference as a branch.
|
|
||||||
# git_update_remote_branch ref
|
|
||||||
function git_update_remote_branch() {
|
|
||||||
|
|
||||||
GIT_BRANCH=$1
|
|
||||||
|
|
||||||
git checkout -b $GIT_BRANCH -t origin/$GIT_BRANCH
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# Translate the OS version values into common nomenclature
|
# Translate the OS version values into common nomenclature
|
||||||
# Sets ``DISTRO`` from the ``os_*`` values
|
# Sets ``DISTRO`` from the ``os_*`` values
|
||||||
@ -457,19 +422,8 @@ function GetDistro() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Determine if current distribution is an Ubuntu-based distribution.
|
|
||||||
# It will also detect non-Ubuntu but Debian-based distros; this is not an issue
|
|
||||||
# since Debian and Ubuntu should be compatible.
|
|
||||||
# is_ubuntu
|
|
||||||
function is_ubuntu {
|
|
||||||
if [[ -z "$os_PACKAGE" ]]; then
|
|
||||||
GetOSVersion
|
|
||||||
fi
|
|
||||||
[ "$os_PACKAGE" = "deb" ]
|
|
||||||
}
|
|
||||||
|
|
||||||
# Determine if current distribution is a Fedora-based distribution
|
# Determine if current distribution is a Fedora-based distribution
|
||||||
# (Fedora, RHEL, CentOS).
|
# (Fedora, RHEL, CentOS, etc).
|
||||||
# is_fedora
|
# is_fedora
|
||||||
function is_fedora {
|
function is_fedora {
|
||||||
if [[ -z "$os_VENDOR" ]]; then
|
if [[ -z "$os_VENDOR" ]]; then
|
||||||
@ -479,6 +433,7 @@ function is_fedora {
|
|||||||
[ "$os_VENDOR" = "Fedora" ] || [ "$os_VENDOR" = "Red Hat" ] || [ "$os_VENDOR" = "CentOS" ]
|
[ "$os_VENDOR" = "Fedora" ] || [ "$os_VENDOR" = "Red Hat" ] || [ "$os_VENDOR" = "CentOS" ]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Determine if current distribution is a SUSE-based distribution
|
# Determine if current distribution is a SUSE-based distribution
|
||||||
# (openSUSE, SLE).
|
# (openSUSE, SLE).
|
||||||
# is_suse
|
# is_suse
|
||||||
@ -491,6 +446,17 @@ function is_suse {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Determine if current distribution is an Ubuntu-based distribution
|
||||||
|
# It will also detect non-Ubuntu but Debian-based distros
|
||||||
|
# is_ubuntu
|
||||||
|
function is_ubuntu {
|
||||||
|
if [[ -z "$os_PACKAGE" ]]; then
|
||||||
|
GetOSVersion
|
||||||
|
fi
|
||||||
|
[ "$os_PACKAGE" = "deb" ]
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
# Exit after outputting a message about the distribution not being supported.
|
# Exit after outputting a message about the distribution not being supported.
|
||||||
# exit_distro_not_supported [optional-string-telling-what-is-missing]
|
# exit_distro_not_supported [optional-string-telling-what-is-missing]
|
||||||
function exit_distro_not_supported {
|
function exit_distro_not_supported {
|
||||||
@ -565,6 +531,43 @@ function git_clone {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# git update using reference as a branch.
|
||||||
|
# git_update_branch ref
|
||||||
|
function git_update_branch() {
|
||||||
|
|
||||||
|
GIT_BRANCH=$1
|
||||||
|
|
||||||
|
git checkout -f origin/$GIT_BRANCH
|
||||||
|
# a local branch might not exist
|
||||||
|
git branch -D $GIT_BRANCH || true
|
||||||
|
git checkout -b $GIT_BRANCH
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# git update using reference as a branch.
|
||||||
|
# git_update_remote_branch ref
|
||||||
|
function git_update_remote_branch() {
|
||||||
|
|
||||||
|
GIT_BRANCH=$1
|
||||||
|
|
||||||
|
git checkout -b $GIT_BRANCH -t origin/$GIT_BRANCH
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# git update using reference as a tag. Be careful editing source at that repo
|
||||||
|
# as working copy will be in a detached mode
|
||||||
|
# git_update_tag ref
|
||||||
|
function git_update_tag() {
|
||||||
|
|
||||||
|
GIT_TAG=$1
|
||||||
|
|
||||||
|
git tag -d $GIT_TAG
|
||||||
|
# fetching given tag only
|
||||||
|
git fetch origin tag $GIT_TAG
|
||||||
|
git checkout -f $GIT_TAG
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
# Comment an option in an INI file
|
# Comment an option in an INI file
|
||||||
# inicomment config-file section option
|
# inicomment config-file section option
|
||||||
function inicomment() {
|
function inicomment() {
|
||||||
@ -1020,6 +1023,7 @@ function screen_rc {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Helper to remove the *.failure files under $SERVICE_DIR/$SCREEN_NAME
|
# Helper to remove the *.failure files under $SERVICE_DIR/$SCREEN_NAME
|
||||||
# This is used for service_check when all the screen_it are called finished
|
# This is used for service_check when all the screen_it are called finished
|
||||||
# init_service_check
|
# init_service_check
|
||||||
@ -1034,6 +1038,7 @@ function init_service_check() {
|
|||||||
rm -f "$SERVICE_DIR/$SCREEN_NAME"/*.failure
|
rm -f "$SERVICE_DIR/$SCREEN_NAME"/*.failure
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Helper to get the status of each running service
|
# Helper to get the status of each running service
|
||||||
# service_check
|
# service_check
|
||||||
function service_check() {
|
function service_check() {
|
||||||
@ -1062,6 +1067,7 @@ function service_check() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# ``pip install`` the dependencies of the package before ``setup.py develop``
|
# ``pip install`` the dependencies of the package before ``setup.py develop``
|
||||||
# so pip and not distutils processes the dependency chain
|
# so pip and not distutils processes the dependency chain
|
||||||
# Uses globals ``TRACK_DEPENDES``, ``*_proxy`
|
# Uses globals ``TRACK_DEPENDES``, ``*_proxy`
|
||||||
@ -1242,6 +1248,7 @@ function upload_image() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Set the database backend to use
|
# Set the database backend to use
|
||||||
# When called from stackrc/localrc DATABASE_BACKENDS has not been
|
# When called from stackrc/localrc DATABASE_BACKENDS has not been
|
||||||
# initialized yet, just save the configuration selection and call back later
|
# initialized yet, just save the configuration selection and call back later
|
||||||
@ -1259,6 +1266,7 @@ function use_database {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Toggle enable/disable_service for services that must run exclusive of each other
|
# Toggle enable/disable_service for services that must run exclusive of each other
|
||||||
# $1 The name of a variable containing a space-separated list of services
|
# $1 The name of a variable containing a space-separated list of services
|
||||||
# $2 The name of a variable in which to store the enabled service's name
|
# $2 The name of a variable in which to store the enabled service's name
|
||||||
@ -1275,6 +1283,7 @@ function use_exclusive_service {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Wait for an HTTP server to start answering requests
|
# Wait for an HTTP server to start answering requests
|
||||||
# wait_for_service timeout url
|
# wait_for_service timeout url
|
||||||
function wait_for_service() {
|
function wait_for_service() {
|
||||||
@ -1283,6 +1292,7 @@ function wait_for_service() {
|
|||||||
timeout $timeout sh -c "while ! http_proxy= https_proxy= curl -s $url >/dev/null; do sleep 1; done"
|
timeout $timeout sh -c "while ! http_proxy= https_proxy= curl -s $url >/dev/null; do sleep 1; done"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Wrapper for ``yum`` to set proxy environment variables
|
# Wrapper for ``yum`` to set proxy environment variables
|
||||||
# Uses globals ``OFFLINE``, ``*_proxy`
|
# Uses globals ``OFFLINE``, ``*_proxy`
|
||||||
# yum_install package [package ...]
|
# yum_install package [package ...]
|
||||||
@ -1295,8 +1305,21 @@ function yum_install() {
|
|||||||
yum install -y "$@"
|
yum install -y "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# zypper wrapper to set arguments correctly
|
||||||
|
# zypper_install package [package ...]
|
||||||
|
function zypper_install() {
|
||||||
|
[[ "$OFFLINE" = "True" ]] && return
|
||||||
|
local sudo="sudo"
|
||||||
|
[[ "$(id -u)" = "0" ]] && sudo="env"
|
||||||
|
$sudo http_proxy=$http_proxy https_proxy=$https_proxy \
|
||||||
|
zypper --non-interactive install --auto-agree-with-licenses "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
# ping check
|
# ping check
|
||||||
# Uses globals ``ENABLED_SERVICES``
|
# Uses globals ``ENABLED_SERVICES``
|
||||||
|
# ping_check from-net ip boot-timeout expected
|
||||||
function ping_check() {
|
function ping_check() {
|
||||||
if is_service_enabled quantum; then
|
if is_service_enabled quantum; then
|
||||||
_ping_check_quantum "$1" $2 $3 $4
|
_ping_check_quantum "$1" $2 $3 $4
|
||||||
@ -1333,8 +1356,10 @@ function _ping_check_novanet() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# ssh check
|
# ssh check
|
||||||
|
|
||||||
|
# ssh_check net-name key-file floating-ip default-user active-timeout
|
||||||
function ssh_check() {
|
function ssh_check() {
|
||||||
if is_service_enabled quantum; then
|
if is_service_enabled quantum; then
|
||||||
_ssh_check_quantum "$1" $2 $3 $4 $5
|
_ssh_check_quantum "$1" $2 $3 $4 $5
|
||||||
@ -1356,17 +1381,6 @@ function _ssh_check_novanet() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# zypper wrapper to set arguments correctly
|
|
||||||
# zypper_install package [package ...]
|
|
||||||
function zypper_install() {
|
|
||||||
[[ "$OFFLINE" = "True" ]] && return
|
|
||||||
local sudo="sudo"
|
|
||||||
[[ "$(id -u)" = "0" ]] && sudo="env"
|
|
||||||
$sudo http_proxy=$http_proxy https_proxy=$https_proxy \
|
|
||||||
zypper --non-interactive install --auto-agree-with-licenses "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# Add a user to a group.
|
# Add a user to a group.
|
||||||
# add_user_to_group user group
|
# add_user_to_group user group
|
||||||
function add_user_to_group() {
|
function add_user_to_group() {
|
||||||
@ -1396,6 +1410,7 @@ function get_python_exec_prefix() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Get the location of the $module-rootwrap executables, where module is cinder
|
# Get the location of the $module-rootwrap executables, where module is cinder
|
||||||
# or nova.
|
# or nova.
|
||||||
# get_rootwrap_location module
|
# get_rootwrap_location module
|
||||||
@ -1405,6 +1420,7 @@ function get_rootwrap_location() {
|
|||||||
echo "$(get_python_exec_prefix)/$module-rootwrap"
|
echo "$(get_python_exec_prefix)/$module-rootwrap"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Get the path to the pip command.
|
# Get the path to the pip command.
|
||||||
# get_pip_command
|
# get_pip_command
|
||||||
function get_pip_command() {
|
function get_pip_command() {
|
||||||
@ -1419,6 +1435,7 @@ function get_pip_command() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Path permissions sanity check
|
# Path permissions sanity check
|
||||||
# check_path_perm_sanity path
|
# check_path_perm_sanity path
|
||||||
function check_path_perm_sanity() {
|
function check_path_perm_sanity() {
|
||||||
@ -1448,6 +1465,7 @@ function check_path_perm_sanity() {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Restore xtrace
|
# Restore xtrace
|
||||||
$XTRACE
|
$XTRACE
|
||||||
|
|
||||||
|
12
lib/horizon
12
lib/horizon
@ -74,13 +74,20 @@ function _horizon_config_set() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Entry Points
|
# Entry Points
|
||||||
# ------------
|
# ------------
|
||||||
|
|
||||||
# cleanup_horizon() - Remove residual data files, anything left over from previous
|
# cleanup_horizon() - Remove residual data files, anything left over from previous
|
||||||
# runs that a clean run would need to clean up
|
# runs that a clean run would need to clean up
|
||||||
function cleanup_horizon() {
|
function cleanup_horizon() {
|
||||||
:
|
if [[ is_fedora && $DISTRO =~ (rhel6) ]]; then
|
||||||
|
# If ``/usr/bin/node`` points into ``$DEST``
|
||||||
|
# we installed it via ``install_nodejs``
|
||||||
|
if [[ $(readlink -f /usr/bin/node) =~ ($DEST) ]]; then
|
||||||
|
sudo rm /usr/bin/node
|
||||||
|
fi
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# configure_horizon() - Set config files, create data dirs, etc
|
# configure_horizon() - Set config files, create data dirs, etc
|
||||||
@ -111,7 +118,6 @@ function init_horizon() {
|
|||||||
# Create an empty directory that apache uses as docroot
|
# Create an empty directory that apache uses as docroot
|
||||||
sudo mkdir -p $HORIZON_DIR/.blackhole
|
sudo mkdir -p $HORIZON_DIR/.blackhole
|
||||||
|
|
||||||
|
|
||||||
HORIZON_REQUIRE=''
|
HORIZON_REQUIRE=''
|
||||||
if is_ubuntu; then
|
if is_ubuntu; then
|
||||||
# Clean up the old config name
|
# Clean up the old config name
|
||||||
@ -148,7 +154,6 @@ function init_horizon() {
|
|||||||
s,%DEST%,$DEST,g;
|
s,%DEST%,$DEST,g;
|
||||||
s,%HORIZON_REQUIRE%,$HORIZON_REQUIRE,g;
|
s,%HORIZON_REQUIRE%,$HORIZON_REQUIRE,g;
|
||||||
\" $FILES/apache-horizon.template >/etc/$APACHE_NAME/$APACHE_CONF"
|
\" $FILES/apache-horizon.template >/etc/$APACHE_NAME/$APACHE_CONF"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# install_horizon() - Collect source and prepare
|
# install_horizon() - Collect source and prepare
|
||||||
@ -193,6 +198,7 @@ function stop_horizon() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Restore xtrace
|
# Restore xtrace
|
||||||
$XTRACE
|
$XTRACE
|
||||||
|
|
||||||
|
21
lib/keystone
21
lib/keystone
@ -178,7 +178,6 @@ function configure_keystone() {
|
|||||||
cp $KEYSTONE_DIR/etc/logging.conf.sample $KEYSTONE_CONF_DIR/logging.conf
|
cp $KEYSTONE_DIR/etc/logging.conf.sample $KEYSTONE_CONF_DIR/logging.conf
|
||||||
iniset $KEYSTONE_CONF_DIR/logging.conf logger_root level "DEBUG"
|
iniset $KEYSTONE_CONF_DIR/logging.conf logger_root level "DEBUG"
|
||||||
iniset $KEYSTONE_CONF_DIR/logging.conf logger_root handlers "devel,production"
|
iniset $KEYSTONE_CONF_DIR/logging.conf logger_root handlers "devel,production"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# create_keystone_accounts() - Sets up common required keystone accounts
|
# create_keystone_accounts() - Sets up common required keystone accounts
|
||||||
@ -254,25 +253,6 @@ create_keystone_accounts() {
|
|||||||
--adminurl "$KEYSTONE_AUTH_PROTOCOL://$KEYSTONE_AUTH_HOST:$KEYSTONE_AUTH_PORT/v2.0" \
|
--adminurl "$KEYSTONE_AUTH_PROTOCOL://$KEYSTONE_AUTH_HOST:$KEYSTONE_AUTH_PORT/v2.0" \
|
||||||
--internalurl "$KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/v2.0"
|
--internalurl "$KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/v2.0"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# TODO(dtroyer): This is part of a series of changes...remove these when
|
|
||||||
# complete if they are really unused
|
|
||||||
# KEYSTONEADMIN_ROLE=$(keystone role-create \
|
|
||||||
# --name KeystoneAdmin \
|
|
||||||
# | grep " id " | get_field 2)
|
|
||||||
# KEYSTONESERVICE_ROLE=$(keystone role-create \
|
|
||||||
# --name KeystoneServiceAdmin \
|
|
||||||
# | grep " id " | get_field 2)
|
|
||||||
|
|
||||||
# TODO(termie): these two might be dubious
|
|
||||||
# keystone user-role-add \
|
|
||||||
# --user_id $ADMIN_USER \
|
|
||||||
# --role_id $KEYSTONEADMIN_ROLE \
|
|
||||||
# --tenant_id $ADMIN_TENANT
|
|
||||||
# keystone user-role-add \
|
|
||||||
# --user_id $ADMIN_USER \
|
|
||||||
# --role_id $KEYSTONESERVICE_ROLE \
|
|
||||||
# --tenant_id $ADMIN_TENANT
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# init_keystone() - Initialize databases, etc.
|
# init_keystone() - Initialize databases, etc.
|
||||||
@ -339,6 +319,7 @@ function stop_keystone() {
|
|||||||
screen -S $SCREEN_NAME -p key -X kill
|
screen -S $SCREEN_NAME -p key -X kill
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Restore xtrace
|
# Restore xtrace
|
||||||
$XTRACE
|
$XTRACE
|
||||||
|
|
||||||
|
2
lib/nova
2
lib/nova
@ -352,7 +352,6 @@ EOF"
|
|||||||
restart_service $LIBVIRT_DAEMON
|
restart_service $LIBVIRT_DAEMON
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
# Instance Storage
|
# Instance Storage
|
||||||
# ----------------
|
# ----------------
|
||||||
|
|
||||||
@ -494,7 +493,6 @@ function create_nova_conf() {
|
|||||||
iniset_multiline $NOVA_CONF DEFAULT notification_driver "nova.openstack.common.notifier.rpc_notifier" "ceilometer.compute.nova_notifier"
|
iniset_multiline $NOVA_CONF DEFAULT notification_driver "nova.openstack.common.notifier.rpc_notifier" "ceilometer.compute.nova_notifier"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
# Provide some transition from ``EXTRA_FLAGS`` to ``EXTRA_OPTS``
|
# Provide some transition from ``EXTRA_FLAGS`` to ``EXTRA_OPTS``
|
||||||
if [[ -z "$EXTRA_OPTS" && -n "$EXTRA_FLAGS" ]]; then
|
if [[ -z "$EXTRA_OPTS" && -n "$EXTRA_FLAGS" ]]; then
|
||||||
EXTRA_OPTS=$EXTRA_FLAGS
|
EXTRA_OPTS=$EXTRA_FLAGS
|
||||||
|
52
lib/quantum
52
lib/quantum
@ -112,18 +112,18 @@ if is_service_enabled quantum; then
|
|||||||
# The following variables control the Quantum openvswitch and
|
# The following variables control the Quantum openvswitch and
|
||||||
# linuxbridge plugins' allocation of tenant networks and
|
# linuxbridge plugins' allocation of tenant networks and
|
||||||
# availability of provider networks. If these are not configured
|
# availability of provider networks. If these are not configured
|
||||||
# in localrc, tenant networks will be local to the host (with no
|
# in ``localrc``, tenant networks will be local to the host (with no
|
||||||
# remote connectivity), and no physical resources will be
|
# remote connectivity), and no physical resources will be
|
||||||
# available for the allocation of provider networks.
|
# available for the allocation of provider networks.
|
||||||
|
|
||||||
# To use GRE tunnels for tenant networks, set to True in
|
# To use GRE tunnels for tenant networks, set to True in
|
||||||
# localrc. GRE tunnels are only supported by the openvswitch
|
# ``localrc``. GRE tunnels are only supported by the openvswitch
|
||||||
# plugin, and currently only on Ubuntu.
|
# plugin, and currently only on Ubuntu.
|
||||||
ENABLE_TENANT_TUNNELS=${ENABLE_TENANT_TUNNELS:-False}
|
ENABLE_TENANT_TUNNELS=${ENABLE_TENANT_TUNNELS:-False}
|
||||||
|
|
||||||
# If using GRE tunnels for tenant networks, specify the range of
|
# If using GRE tunnels for tenant networks, specify the range of
|
||||||
# tunnel IDs from which tenant networks are allocated. Can be
|
# tunnel IDs from which tenant networks are allocated. Can be
|
||||||
# overriden in localrc in necesssary.
|
# overriden in ``localrc`` in necesssary.
|
||||||
TENANT_TUNNEL_RANGES=${TENANT_TUNNEL_RANGE:-1:1000}
|
TENANT_TUNNEL_RANGES=${TENANT_TUNNEL_RANGE:-1:1000}
|
||||||
|
|
||||||
# To use VLANs for tenant networks, set to True in localrc. VLANs
|
# To use VLANs for tenant networks, set to True in localrc. VLANs
|
||||||
@ -131,7 +131,7 @@ if is_service_enabled quantum; then
|
|||||||
# requiring additional configuration described below.
|
# requiring additional configuration described below.
|
||||||
ENABLE_TENANT_VLANS=${ENABLE_TENANT_VLANS:-False}
|
ENABLE_TENANT_VLANS=${ENABLE_TENANT_VLANS:-False}
|
||||||
|
|
||||||
# If using VLANs for tenant networks, set in localrc to specify
|
# If using VLANs for tenant networks, set in ``localrc`` to specify
|
||||||
# the range of VLAN VIDs from which tenant networks are
|
# the range of VLAN VIDs from which tenant networks are
|
||||||
# allocated. An external network switch must be configured to
|
# allocated. An external network switch must be configured to
|
||||||
# trunk these VLANs between hosts for multi-host connectivity.
|
# trunk these VLANs between hosts for multi-host connectivity.
|
||||||
@ -140,16 +140,16 @@ if is_service_enabled quantum; then
|
|||||||
TENANT_VLAN_RANGE=${TENANT_VLAN_RANGE:-}
|
TENANT_VLAN_RANGE=${TENANT_VLAN_RANGE:-}
|
||||||
|
|
||||||
# If using VLANs for tenant networks, or if using flat or VLAN
|
# If using VLANs for tenant networks, or if using flat or VLAN
|
||||||
# provider networks, set in localrc to the name of the physical
|
# provider networks, set in ``localrc`` to the name of the physical
|
||||||
# network, and also configure OVS_PHYSICAL_BRIDGE for the
|
# network, and also configure ``OVS_PHYSICAL_BRIDGE`` for the
|
||||||
# openvswitch agent or LB_PHYSICAL_INTERFACE for the linuxbridge
|
# openvswitch agent or ``LB_PHYSICAL_INTERFACE`` for the linuxbridge
|
||||||
# agent, as described below.
|
# agent, as described below.
|
||||||
#
|
#
|
||||||
# Example: ``PHYSICAL_NETWORK=default``
|
# Example: ``PHYSICAL_NETWORK=default``
|
||||||
PHYSICAL_NETWORK=${PHYSICAL_NETWORK:-}
|
PHYSICAL_NETWORK=${PHYSICAL_NETWORK:-}
|
||||||
|
|
||||||
# With the openvswitch plugin, if using VLANs for tenant networks,
|
# With the openvswitch plugin, if using VLANs for tenant networks,
|
||||||
# or if using flat or VLAN provider networks, set in localrc to
|
# or if using flat or VLAN provider networks, set in ``localrc`` to
|
||||||
# the name of the OVS bridge to use for the physical network. The
|
# the name of the OVS bridge to use for the physical network. The
|
||||||
# bridge will be created if it does not already exist, but a
|
# bridge will be created if it does not already exist, but a
|
||||||
# physical interface must be manually added to the bridge as a
|
# physical interface must be manually added to the bridge as a
|
||||||
@ -159,28 +159,29 @@ if is_service_enabled quantum; then
|
|||||||
OVS_PHYSICAL_BRIDGE=${OVS_PHYSICAL_BRIDGE:-}
|
OVS_PHYSICAL_BRIDGE=${OVS_PHYSICAL_BRIDGE:-}
|
||||||
|
|
||||||
# With the linuxbridge plugin, if using VLANs for tenant networks,
|
# With the linuxbridge plugin, if using VLANs for tenant networks,
|
||||||
# or if using flat or VLAN provider networks, set in localrc to
|
# or if using flat or VLAN provider networks, set in ``localrc`` to
|
||||||
# the name of the network interface to use for the physical
|
# the name of the network interface to use for the physical
|
||||||
# network.
|
# network.
|
||||||
#
|
#
|
||||||
# Example: ``LB_PHYSICAL_INTERFACE=eth1``
|
# Example: ``LB_PHYSICAL_INTERFACE=eth1``
|
||||||
LB_PHYSICAL_INTERFACE=${LB_PHYSICAL_INTERFACE:-}
|
LB_PHYSICAL_INTERFACE=${LB_PHYSICAL_INTERFACE:-}
|
||||||
|
|
||||||
# With the openvswitch plugin, set to True in localrc to enable
|
# With the openvswitch plugin, set to True in ``localrc`` to enable
|
||||||
# provider GRE tunnels when ``ENABLE_TENANT_TUNNELS`` is False.
|
# provider GRE tunnels when ``ENABLE_TENANT_TUNNELS`` is False.
|
||||||
#
|
#
|
||||||
# Example: ``OVS_ENABLE_TUNNELING=True``
|
# Example: ``OVS_ENABLE_TUNNELING=True``
|
||||||
OVS_ENABLE_TUNNELING=${OVS_ENABLE_TUNNELING:-$ENABLE_TENANT_TUNNELS}
|
OVS_ENABLE_TUNNELING=${OVS_ENABLE_TUNNELING:-$ENABLE_TENANT_TUNNELS}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
# Quantum plugin specific functions
|
# Quantum plugin specific functions
|
||||||
# ---------------------------------
|
# ---------------------------------
|
||||||
# Please refer to lib/quantum_plugins/README.md for details.
|
|
||||||
|
# Please refer to ``lib/quantum_plugins/README.md`` for details.
|
||||||
source $TOP_DIR/lib/quantum_plugins/$Q_PLUGIN
|
source $TOP_DIR/lib/quantum_plugins/$Q_PLUGIN
|
||||||
|
|
||||||
# Agent loadbalancer service plugin functions
|
# Agent loadbalancer service plugin functions
|
||||||
# -------------------------------------------
|
# -------------------------------------------
|
||||||
|
|
||||||
# Hardcoding for 1 service plugin for now
|
# Hardcoding for 1 service plugin for now
|
||||||
source $TOP_DIR/lib/quantum_plugins/services/agent_loadbalancer
|
source $TOP_DIR/lib/quantum_plugins/services/agent_loadbalancer
|
||||||
|
|
||||||
@ -191,7 +192,6 @@ else
|
|||||||
Q_USE_SECGROUP=False
|
Q_USE_SECGROUP=False
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
# Functions
|
# Functions
|
||||||
# ---------
|
# ---------
|
||||||
|
|
||||||
@ -423,7 +423,7 @@ function cleanup_quantum() {
|
|||||||
|
|
||||||
# _configure_quantum_common()
|
# _configure_quantum_common()
|
||||||
# Set common config for all quantum server and agents.
|
# Set common config for all quantum server and agents.
|
||||||
# This MUST be called before other _configure_quantum_* functions.
|
# This MUST be called before other ``_configure_quantum_*`` functions.
|
||||||
function _configure_quantum_common() {
|
function _configure_quantum_common() {
|
||||||
# Put config files in ``QUANTUM_CONF_DIR`` for everyone to find
|
# Put config files in ``QUANTUM_CONF_DIR`` for everyone to find
|
||||||
if [[ ! -d $QUANTUM_CONF_DIR ]]; then
|
if [[ ! -d $QUANTUM_CONF_DIR ]]; then
|
||||||
@ -433,11 +433,11 @@ function _configure_quantum_common() {
|
|||||||
|
|
||||||
cp $QUANTUM_DIR/etc/quantum.conf $QUANTUM_CONF
|
cp $QUANTUM_DIR/etc/quantum.conf $QUANTUM_CONF
|
||||||
|
|
||||||
# Set plugin-specific variables Q_DB_NAME, Q_PLUGIN_CLASS.
|
# Set plugin-specific variables ``Q_DB_NAME``, ``Q_PLUGIN_CLASS``.
|
||||||
# For main plugin config file, set Q_PLUGIN_CONF_PATH, Q_PLUGIN_CONF_FILENAME.
|
# For main plugin config file, set ``Q_PLUGIN_CONF_PATH``, ``Q_PLUGIN_CONF_FILENAME``.
|
||||||
# For addition plugin config files, set Q_PLUGIN_EXTRA_CONF_PATH,
|
# For addition plugin config files, set ``Q_PLUGIN_EXTRA_CONF_PATH``,
|
||||||
# Q_PLUGIN_EXTRA_CONF_FILES. For example:
|
# ``Q_PLUGIN_EXTRA_CONF_FILES``. For example:
|
||||||
# Q_PLUGIN_EXTRA_CONF_FILES=(file1, file2)
|
# ``Q_PLUGIN_EXTRA_CONF_FILES=(file1, file2)``
|
||||||
quantum_plugin_configure_common
|
quantum_plugin_configure_common
|
||||||
|
|
||||||
if [[ $Q_PLUGIN_CONF_PATH == '' || $Q_PLUGIN_CONF_FILENAME == '' || $Q_PLUGIN_CLASS == '' ]]; then
|
if [[ $Q_PLUGIN_CONF_PATH == '' || $Q_PLUGIN_CONF_FILENAME == '' || $Q_PLUGIN_CLASS == '' ]]; then
|
||||||
@ -543,8 +543,7 @@ function _configure_quantum_metadata_agent() {
|
|||||||
_quantum_setup_keystone $Q_META_CONF_FILE DEFAULT set_auth_url
|
_quantum_setup_keystone $Q_META_CONF_FILE DEFAULT set_auth_url
|
||||||
}
|
}
|
||||||
|
|
||||||
function _configure_quantum_lbaas()
|
function _configure_quantum_lbaas() {
|
||||||
{
|
|
||||||
quantum_agent_lbaas_install_agent_packages
|
quantum_agent_lbaas_install_agent_packages
|
||||||
quantum_agent_lbaas_configure_common
|
quantum_agent_lbaas_configure_common
|
||||||
quantum_agent_lbaas_configure_agent
|
quantum_agent_lbaas_configure_agent
|
||||||
@ -606,17 +605,17 @@ function _quantum_setup_rootwrap() {
|
|||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
# Deploy new rootwrap filters files (owned by root).
|
# Deploy new rootwrap filters files (owned by root).
|
||||||
# Wipe any existing rootwrap.d files first
|
# Wipe any existing ``rootwrap.d`` files first
|
||||||
Q_CONF_ROOTWRAP_D=$QUANTUM_CONF_DIR/rootwrap.d
|
Q_CONF_ROOTWRAP_D=$QUANTUM_CONF_DIR/rootwrap.d
|
||||||
if [[ -d $Q_CONF_ROOTWRAP_D ]]; then
|
if [[ -d $Q_CONF_ROOTWRAP_D ]]; then
|
||||||
sudo rm -rf $Q_CONF_ROOTWRAP_D
|
sudo rm -rf $Q_CONF_ROOTWRAP_D
|
||||||
fi
|
fi
|
||||||
# Deploy filters to $QUANTUM_CONF_DIR/rootwrap.d
|
# Deploy filters to ``$QUANTUM_CONF_DIR/rootwrap.d``
|
||||||
mkdir -p -m 755 $Q_CONF_ROOTWRAP_D
|
mkdir -p -m 755 $Q_CONF_ROOTWRAP_D
|
||||||
cp -pr $QUANTUM_DIR/etc/quantum/rootwrap.d/* $Q_CONF_ROOTWRAP_D/
|
cp -pr $QUANTUM_DIR/etc/quantum/rootwrap.d/* $Q_CONF_ROOTWRAP_D/
|
||||||
sudo chown -R root:root $Q_CONF_ROOTWRAP_D
|
sudo chown -R root:root $Q_CONF_ROOTWRAP_D
|
||||||
sudo chmod 644 $Q_CONF_ROOTWRAP_D/*
|
sudo chmod 644 $Q_CONF_ROOTWRAP_D/*
|
||||||
# Set up rootwrap.conf, pointing to $QUANTUM_CONF_DIR/rootwrap.d
|
# Set up ``rootwrap.conf``, pointing to ``$QUANTUM_CONF_DIR/rootwrap.d``
|
||||||
# location moved in newer versions, prefer new location
|
# location moved in newer versions, prefer new location
|
||||||
if test -r $QUANTUM_DIR/etc/quantum/rootwrap.conf; then
|
if test -r $QUANTUM_DIR/etc/quantum/rootwrap.conf; then
|
||||||
sudo cp -p $QUANTUM_DIR/etc/quantum/rootwrap.conf $Q_RR_CONF_FILE
|
sudo cp -p $QUANTUM_DIR/etc/quantum/rootwrap.conf $Q_RR_CONF_FILE
|
||||||
@ -626,7 +625,7 @@ function _quantum_setup_rootwrap() {
|
|||||||
sudo sed -e "s:^filters_path=.*$:filters_path=$Q_CONF_ROOTWRAP_D:" -i $Q_RR_CONF_FILE
|
sudo sed -e "s:^filters_path=.*$:filters_path=$Q_CONF_ROOTWRAP_D:" -i $Q_RR_CONF_FILE
|
||||||
sudo chown root:root $Q_RR_CONF_FILE
|
sudo chown root:root $Q_RR_CONF_FILE
|
||||||
sudo chmod 0644 $Q_RR_CONF_FILE
|
sudo chmod 0644 $Q_RR_CONF_FILE
|
||||||
# Specify rootwrap.conf as first parameter to quantum-rootwrap
|
# Specify ``rootwrap.conf`` as first parameter to quantum-rootwrap
|
||||||
ROOTWRAP_SUDOER_CMD="$QUANTUM_ROOTWRAP $Q_RR_CONF_FILE *"
|
ROOTWRAP_SUDOER_CMD="$QUANTUM_ROOTWRAP $Q_RR_CONF_FILE *"
|
||||||
|
|
||||||
# Set up the rootwrap sudoers for quantum
|
# Set up the rootwrap sudoers for quantum
|
||||||
@ -743,7 +742,8 @@ function _ssh_check_quantum() {
|
|||||||
|
|
||||||
# Quantum 3rd party programs
|
# Quantum 3rd party programs
|
||||||
#---------------------------
|
#---------------------------
|
||||||
# please refer to lib/quantum_thirdparty/README.md for details
|
|
||||||
|
# please refer to ``lib/quantum_thirdparty/README.md`` for details
|
||||||
QUANTUM_THIRD_PARTIES=""
|
QUANTUM_THIRD_PARTIES=""
|
||||||
for f in $TOP_DIR/lib/quantum_thirdparty/*; do
|
for f in $TOP_DIR/lib/quantum_thirdparty/*; do
|
||||||
third_party=$(basename $f)
|
third_party=$(basename $f)
|
||||||
|
189
stack.sh
189
stack.sh
@ -3,7 +3,7 @@
|
|||||||
# ``stack.sh`` is an opinionated OpenStack developer installation. It
|
# ``stack.sh`` is an opinionated OpenStack developer installation. It
|
||||||
# installs and configures various combinations of **Ceilometer**, **Cinder**,
|
# installs and configures various combinations of **Ceilometer**, **Cinder**,
|
||||||
# **Glance**, **Heat**, **Horizon**, **Keystone**, **Nova**, **Quantum**
|
# **Glance**, **Heat**, **Horizon**, **Keystone**, **Nova**, **Quantum**
|
||||||
# and **Swift**
|
# and **Swift**.
|
||||||
|
|
||||||
# This script allows you to specify configuration options of what git
|
# This script allows you to specify configuration options of what git
|
||||||
# repositories to use, enabled services, network configuration and various
|
# repositories to use, enabled services, network configuration and various
|
||||||
@ -12,9 +12,11 @@
|
|||||||
# developer install.
|
# developer install.
|
||||||
|
|
||||||
# To keep this script simple we assume you are running on a recent **Ubuntu**
|
# To keep this script simple we assume you are running on a recent **Ubuntu**
|
||||||
# (12.04 Precise or newer) or **Fedora** (F16 or newer) machine. It
|
# (12.04 Precise or newer) or **Fedora** (F16 or newer) machine. (It may work
|
||||||
# should work in a VM or physical server. Additionally we put the list of
|
# on other platforms but support for those platforms is left to those who added
|
||||||
# ``apt`` and ``rpm`` dependencies and other configuration files in this repo.
|
# them to DevStack.) It should work in a VM or physical server. Additionally
|
||||||
|
# we maintain a list of ``apt`` and ``rpm`` dependencies and other configuration
|
||||||
|
# files in this repo.
|
||||||
|
|
||||||
# Learn more and get the most recent version at http://devstack.org
|
# Learn more and get the most recent version at http://devstack.org
|
||||||
|
|
||||||
@ -33,55 +35,20 @@ source $TOP_DIR/functions
|
|||||||
GetDistro
|
GetDistro
|
||||||
|
|
||||||
|
|
||||||
# Configure non-default repos
|
|
||||||
# ===========================
|
|
||||||
|
|
||||||
# Repo configuration needs to occur before package installation.
|
|
||||||
|
|
||||||
# Some dependencies are not available in Debian Wheezy official
|
|
||||||
# repositories. However, it's possible to run OpenStack from gplhost
|
|
||||||
# repository.
|
|
||||||
if [[ "$os_VENDOR" =~ (Debian) ]]; then
|
|
||||||
echo 'deb http://archive.gplhost.com/debian grizzly main' | sudo tee /etc/apt/sources.list.d/gplhost_wheezy-backports.list
|
|
||||||
echo 'deb http://archive.gplhost.com/debian grizzly-backports main' | sudo tee -a /etc/apt/sources.list.d/gplhost_wheezy-backports.list
|
|
||||||
apt_get update
|
|
||||||
apt_get install --force-yes gplhost-archive-keyring
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Installing Open vSwitch on RHEL6 requires enabling the RDO repo.
|
|
||||||
RHEL6_RDO_REPO_RPM=${RHEL6_RDO_REPO_RPM:-"http://rdo.fedorapeople.org/openstack/openstack-grizzly/rdo-release-grizzly-3.noarch.rpm"}
|
|
||||||
RHEL6_RDO_REPO_ID=${RHEL6_RDO_REPO_ID:-"openstack-grizzly"}
|
|
||||||
# RHEL6 requires EPEL for many Open Stack dependencies
|
|
||||||
RHEL6_EPEL_RPM=${RHEL6_EPEL_RPM:-"http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm"}
|
|
||||||
|
|
||||||
if [[ is_fedora && $DISTRO =~ (rhel6) ]]; then
|
|
||||||
|
|
||||||
if ! yum repolist enabled $RHEL6_RDO_REPO_ID | grep -q $RHEL6_RDO_REPO_ID; then
|
|
||||||
echo "RDO repo not detected; installing"
|
|
||||||
yum_install $RHEL6_RDO_REPO_RPM || \
|
|
||||||
die $LINENO "Error installing RDO repo, cannot continue"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! yum repolist enabled epel | grep -q 'epel'; then
|
|
||||||
echo "EPEL not detected; installing"
|
|
||||||
yum_install ${RHEL6_EPEL_RPM} || \
|
|
||||||
die $LINENO "Error installing EPEL repo, cannot continue"
|
|
||||||
fi
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Global Settings
|
# Global Settings
|
||||||
# ===============
|
# ===============
|
||||||
|
|
||||||
# ``stack.sh`` is customizable through setting environment variables. If you
|
# ``stack.sh`` is customizable by setting environment variables. Override a
|
||||||
# want to override a setting you can set and export it::
|
# default setting via export::
|
||||||
#
|
#
|
||||||
# export DATABASE_PASSWORD=anothersecret
|
# export DATABASE_PASSWORD=anothersecret
|
||||||
# ./stack.sh
|
# ./stack.sh
|
||||||
#
|
#
|
||||||
# You can also pass options on a single line ``DATABASE_PASSWORD=simple ./stack.sh``
|
# or by setting the variable on the command line::
|
||||||
#
|
#
|
||||||
# Additionally, you can put any local variables into a ``localrc`` file::
|
# DATABASE_PASSWORD=simple ./stack.sh
|
||||||
|
#
|
||||||
|
# Persistent variables can be placed in a ``localrc`` file::
|
||||||
#
|
#
|
||||||
# DATABASE_PASSWORD=anothersecret
|
# DATABASE_PASSWORD=anothersecret
|
||||||
# DATABASE_USER=hellaroot
|
# DATABASE_USER=hellaroot
|
||||||
@ -166,6 +133,41 @@ fi
|
|||||||
VERBOSE=$(trueorfalse True $VERBOSE)
|
VERBOSE=$(trueorfalse True $VERBOSE)
|
||||||
|
|
||||||
|
|
||||||
|
# Additional repos
|
||||||
|
# ================
|
||||||
|
|
||||||
|
# Some distros need to add repos beyond the defaults provided by the vendor
|
||||||
|
# to pick up required packages.
|
||||||
|
|
||||||
|
# The Debian Wheezy official repositories do not contain all required packages,
|
||||||
|
# add gplhost repository.
|
||||||
|
if [[ "$os_VENDOR" =~ (Debian) ]]; then
|
||||||
|
echo 'deb http://archive.gplhost.com/debian grizzly main' | sudo tee /etc/apt/sources.list.d/gplhost_wheezy-backports.list
|
||||||
|
echo 'deb http://archive.gplhost.com/debian grizzly-backports main' | sudo tee -a /etc/apt/sources.list.d/gplhost_wheezy-backports.list
|
||||||
|
apt_get update
|
||||||
|
apt_get install --force-yes gplhost-archive-keyring
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ is_fedora && $DISTRO =~ (rhel6) ]]; then
|
||||||
|
# Installing Open vSwitch on RHEL6 requires enabling the RDO repo.
|
||||||
|
RHEL6_RDO_REPO_RPM=${RHEL6_RDO_REPO_RPM:-"http://rdo.fedorapeople.org/openstack/openstack-grizzly/rdo-release-grizzly-3.noarch.rpm"}
|
||||||
|
RHEL6_RDO_REPO_ID=${RHEL6_RDO_REPO_ID:-"openstack-grizzly"}
|
||||||
|
if ! yum repolist enabled $RHEL6_RDO_REPO_ID | grep -q $RHEL6_RDO_REPO_ID; then
|
||||||
|
echo "RDO repo not detected; installing"
|
||||||
|
yum_install $RHEL6_RDO_REPO_RPM || \
|
||||||
|
die $LINENO "Error installing RDO repo, cannot continue"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# RHEL6 requires EPEL for many Open Stack dependencies
|
||||||
|
RHEL6_EPEL_RPM=${RHEL6_EPEL_RPM:-"http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm"}
|
||||||
|
if ! yum repolist enabled epel | grep -q 'epel'; then
|
||||||
|
echo "EPEL not detected; installing"
|
||||||
|
yum_install ${RHEL6_EPEL_RPM} || \
|
||||||
|
die $LINENO "Error installing EPEL repo, cannot continue"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
# root Access
|
# root Access
|
||||||
# -----------
|
# -----------
|
||||||
|
|
||||||
@ -296,7 +298,7 @@ SERVICE_TIMEOUT=${SERVICE_TIMEOUT:-60}
|
|||||||
# Configure Projects
|
# Configure Projects
|
||||||
# ==================
|
# ==================
|
||||||
|
|
||||||
# Get project function libraries
|
# Source project function libraries
|
||||||
source $TOP_DIR/lib/tls
|
source $TOP_DIR/lib/tls
|
||||||
source $TOP_DIR/lib/horizon
|
source $TOP_DIR/lib/horizon
|
||||||
source $TOP_DIR/lib/keystone
|
source $TOP_DIR/lib/keystone
|
||||||
@ -310,7 +312,7 @@ source $TOP_DIR/lib/quantum
|
|||||||
source $TOP_DIR/lib/baremetal
|
source $TOP_DIR/lib/baremetal
|
||||||
source $TOP_DIR/lib/ldap
|
source $TOP_DIR/lib/ldap
|
||||||
|
|
||||||
# Set the destination directories for OpenStack projects
|
# Set the destination directories for other OpenStack projects
|
||||||
OPENSTACKCLIENT_DIR=$DEST/python-openstackclient
|
OPENSTACKCLIENT_DIR=$DEST/python-openstackclient
|
||||||
PBR_DIR=$DEST/pbr
|
PBR_DIR=$DEST/pbr
|
||||||
|
|
||||||
@ -565,6 +567,7 @@ failed() {
|
|||||||
# an error. It is also useful for following along as the install occurs.
|
# an error. It is also useful for following along as the install occurs.
|
||||||
set -o xtrace
|
set -o xtrace
|
||||||
|
|
||||||
|
|
||||||
# Install Packages
|
# Install Packages
|
||||||
# ================
|
# ================
|
||||||
|
|
||||||
@ -585,61 +588,51 @@ if is_service_enabled q-agt; then
|
|||||||
install_quantum_agent_packages
|
install_quantum_agent_packages
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#
|
|
||||||
# System-specific preconfigure
|
# System-specific preconfigure
|
||||||
# ============================
|
# ============================
|
||||||
|
|
||||||
if [[ is_fedora && $DISTRO =~ (rhel6) ]]; then
|
if [[ is_fedora && $DISTRO =~ (rhel6) ]]; then
|
||||||
# Avoid having to configure selinux to allow things like httpd to
|
# Disable selinux to avoid configuring to allow Apache access
|
||||||
# access horizion files or run binaries like nodejs (LP#1175444)
|
# to Horizon files or run nodejs (LP#1175444)
|
||||||
if selinuxenabled; then
|
if selinuxenabled; then
|
||||||
sudo setenforce 0
|
sudo setenforce 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# An old version (2.0.1) of python-crypto is probably installed on
|
# An old version of ``python-crypto`` (2.0.1) may be installed on a
|
||||||
# a fresh system, via the dependency chain
|
# fresh system via Anaconda and the dependency chain
|
||||||
# cas->python-paramiko->python-crypto (related to anaconda).
|
# ``cas`` -> ``python-paramiko`` -> ``python-crypto``.
|
||||||
# Unfortunately, "pip uninstall pycrypto" will remove the
|
# ``pip uninstall pycrypto`` will remove the packaged ``.egg-info`` file
|
||||||
# .egg-info file for this rpm-installed version, but leave most of
|
# but leave most of the actual library files behind in ``/usr/lib64/python2.6/Crypto``.
|
||||||
# the actual library files behind in /usr/lib64/python2.6/Crypto.
|
# Later ``pip install pycrypto`` will install over the packaged files resulting
|
||||||
# When later "pip install pycrypto" happens, the built library
|
# in a useless mess of old, rpm-packaged files and pip-installed files.
|
||||||
# will be installed over these existing files; the result is a
|
# Remove the package so that ``pip install python-crypto`` installs cleanly.
|
||||||
# useless mess of old, rpm-packaged files and pip-installed files.
|
# Note: other RPM packages may require ``python-crypto`` as well. For example,
|
||||||
# Unsurprisingly, the end result is it doesn't work. Thus we have
|
# RHEL6 does not install ``python-paramiko packages``.
|
||||||
# to get rid of it now so that any packages that pip-install
|
|
||||||
# pycrypto get a "clean slate".
|
|
||||||
# (note, we have to be careful about other RPM packages specified
|
|
||||||
# pulling in python-crypto as well. That's why RHEL6 doesn't
|
|
||||||
# install python-paramiko packages for example...)
|
|
||||||
uninstall_package python-crypto
|
uninstall_package python-crypto
|
||||||
|
|
||||||
# A similar thing happens for python-lxml (a dependency of
|
# A similar situation occurs with ``python-lxml``, which is required by
|
||||||
# ipa-client, an auditing thing we don't care about). We have the
|
# ``ipa-client``, an auditing package we don't care about. The
|
||||||
# build-dependencies the lxml pip-install will need (gcc,
|
# build-dependencies needed for ``pip install lxml`` (``gcc``,
|
||||||
# libxml2-dev & libxslt-dev) in the "general" rpm lists
|
# ``libxml2-dev`` and ``libxslt-dev``) are present in ``files/rpms/general``.
|
||||||
uninstall_package python-lxml
|
uninstall_package python-lxml
|
||||||
|
|
||||||
# If the dbus rpm was installed by the devstack rpm dependencies
|
# If the ``dbus`` package was installed by DevStack dependencies the
|
||||||
# then you may hit a bug where the uuid isn't generated because
|
# uuid may not be generated because the service was never started (PR#598200),
|
||||||
# the service was never started (PR#598200), causing issues for
|
# causing Nova to stop later on complaining that ``/var/lib/dbus/machine-id``
|
||||||
# Nova stopping later on complaining that
|
# does not exist.
|
||||||
# '/var/lib/dbus/machine-id' doesn't exist.
|
|
||||||
sudo service messagebus restart
|
sudo service messagebus restart
|
||||||
|
|
||||||
# In setup.py, a "setup_requires" package is supposed to
|
# ``setup.py`` contains a ``setup_requires`` package that is supposed
|
||||||
# transient. However there is a bug with rhel6 distribute where
|
# to be transient. However, RHEL6 distribute has a bug where
|
||||||
# setup_requires packages can register entry points that aren't
|
# ``setup_requires`` registers entry points that are not cleaned
|
||||||
# cleared out properly after the setup-phase; the end result is
|
# out properly after the setup-phase resulting in installation failures
|
||||||
# installation failures (bz#924038). Thus we pre-install the
|
# (bz#924038). Pre-install the problem package so the ``setup_requires``
|
||||||
# problem package here; this way the setup_requires dependency is
|
# dependency is satisfied and it will not be installed transiently.
|
||||||
# already satisfied and it will not need to be installed
|
# Note we do this before the track-depends below.
|
||||||
# transiently, meaning we avoid the issue of it not being cleaned
|
|
||||||
# out properly. Note we do this before the track-depends below.
|
|
||||||
pip_install hgtools
|
pip_install hgtools
|
||||||
|
|
||||||
# The version of python-nose in the RHEL6 repo is incompatible
|
# RHEL6's version of ``python-nose`` is incompatible with Tempest.
|
||||||
# with Tempest. As a workaround:
|
|
||||||
|
|
||||||
# Install nose 1.1 (Tempest-compatible) from EPEL
|
# Install nose 1.1 (Tempest-compatible) from EPEL
|
||||||
install_package python-nose1.1
|
install_package python-nose1.1
|
||||||
# Add a symlink for the new nosetests to allow tox for Tempest to
|
# Add a symlink for the new nosetests to allow tox for Tempest to
|
||||||
@ -850,10 +843,10 @@ fi
|
|||||||
init_service_check
|
init_service_check
|
||||||
|
|
||||||
|
|
||||||
# Kick off Sysstat
|
# Sysstat
|
||||||
# ------------------------
|
# -------
|
||||||
# run sysstat if it is enabled, this has to be early as daemon
|
|
||||||
# startup is one of the things to track.
|
# If enabled, systat has to start early to track OpenStack service startup.
|
||||||
if is_service_enabled sysstat;then
|
if is_service_enabled sysstat;then
|
||||||
if [[ -n ${SCREEN_LOGDIR} ]]; then
|
if [[ -n ${SCREEN_LOGDIR} ]]; then
|
||||||
screen_it sysstat "sar -o $SCREEN_LOGDIR/$SYSSTAT_FILE $SYSSTAT_INTERVAL"
|
screen_it sysstat "sar -o $SCREEN_LOGDIR/$SYSSTAT_FILE $SYSSTAT_INTERVAL"
|
||||||
@ -967,7 +960,7 @@ if is_service_enabled n-net q-dhcp; then
|
|||||||
rm -rf ${NOVA_STATE_PATH}/networks
|
rm -rf ${NOVA_STATE_PATH}/networks
|
||||||
sudo mkdir -p ${NOVA_STATE_PATH}/networks
|
sudo mkdir -p ${NOVA_STATE_PATH}/networks
|
||||||
sudo chown -R ${USER} ${NOVA_STATE_PATH}/networks
|
sudo chown -R ${USER} ${NOVA_STATE_PATH}/networks
|
||||||
# Force IP forwarding on, just on case
|
# Force IP forwarding on, just in case
|
||||||
sudo sysctl -w net.ipv4.ip_forward=1
|
sudo sysctl -w net.ipv4.ip_forward=1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -1018,6 +1011,7 @@ if is_service_enabled nova; then
|
|||||||
XEN_FIREWALL_DRIVER=${XEN_FIREWALL_DRIVER:-"nova.virt.firewall.IptablesFirewallDriver"}
|
XEN_FIREWALL_DRIVER=${XEN_FIREWALL_DRIVER:-"nova.virt.firewall.IptablesFirewallDriver"}
|
||||||
iniset $NOVA_CONF DEFAULT firewall_driver "$XEN_FIREWALL_DRIVER"
|
iniset $NOVA_CONF DEFAULT firewall_driver "$XEN_FIREWALL_DRIVER"
|
||||||
|
|
||||||
|
|
||||||
# OpenVZ
|
# OpenVZ
|
||||||
# ------
|
# ------
|
||||||
|
|
||||||
@ -1028,6 +1022,7 @@ if is_service_enabled nova; then
|
|||||||
LIBVIRT_FIREWALL_DRIVER=${LIBVIRT_FIREWALL_DRIVER:-"nova.virt.libvirt.firewall.IptablesFirewallDriver"}
|
LIBVIRT_FIREWALL_DRIVER=${LIBVIRT_FIREWALL_DRIVER:-"nova.virt.libvirt.firewall.IptablesFirewallDriver"}
|
||||||
iniset $NOVA_CONF DEFAULT firewall_driver "$LIBVIRT_FIREWALL_DRIVER"
|
iniset $NOVA_CONF DEFAULT firewall_driver "$LIBVIRT_FIREWALL_DRIVER"
|
||||||
|
|
||||||
|
|
||||||
# Bare Metal
|
# Bare Metal
|
||||||
# ----------
|
# ----------
|
||||||
|
|
||||||
@ -1050,6 +1045,7 @@ if is_service_enabled nova; then
|
|||||||
iniset $NOVA_CONF baremetal ${I/=/ }
|
iniset $NOVA_CONF baremetal ${I/=/ }
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
# PowerVM
|
# PowerVM
|
||||||
# -------
|
# -------
|
||||||
|
|
||||||
@ -1069,8 +1065,9 @@ if is_service_enabled nova; then
|
|||||||
iniset $NOVA_CONF DEFAULT powervm_img_remote_path $POWERVM_IMG_REMOTE_PATH
|
iniset $NOVA_CONF DEFAULT powervm_img_remote_path $POWERVM_IMG_REMOTE_PATH
|
||||||
iniset $NOVA_CONF DEFAULT powervm_img_local_path $POWERVM_IMG_LOCAL_PATH
|
iniset $NOVA_CONF DEFAULT powervm_img_local_path $POWERVM_IMG_LOCAL_PATH
|
||||||
|
|
||||||
|
|
||||||
# vSphere API
|
# vSphere API
|
||||||
# -------
|
# -----------
|
||||||
|
|
||||||
elif [ "$VIRT_DRIVER" = 'vsphere' ]; then
|
elif [ "$VIRT_DRIVER" = 'vsphere' ]; then
|
||||||
echo_summary "Using VMware vCenter driver"
|
echo_summary "Using VMware vCenter driver"
|
||||||
@ -1081,8 +1078,9 @@ if is_service_enabled nova; then
|
|||||||
iniset $NOVA_CONF DEFAULT vmwareapi_host_password "$VMWAREAPI_PASSWORD"
|
iniset $NOVA_CONF DEFAULT vmwareapi_host_password "$VMWAREAPI_PASSWORD"
|
||||||
iniset $NOVA_CONF DEFAULT vmwareapi_cluster_name "$VMWAREAPI_CLUSTER"
|
iniset $NOVA_CONF DEFAULT vmwareapi_cluster_name "$VMWAREAPI_CLUSTER"
|
||||||
|
|
||||||
|
|
||||||
# fake
|
# fake
|
||||||
# -----
|
# ----
|
||||||
|
|
||||||
elif [ "$VIRT_DRIVER" = 'fake' ]; then
|
elif [ "$VIRT_DRIVER" = 'fake' ]; then
|
||||||
echo_summary "Using fake Virt driver"
|
echo_summary "Using fake Virt driver"
|
||||||
@ -1102,8 +1100,8 @@ if is_service_enabled nova; then
|
|||||||
iniset $NOVA_CONF DEFAULT scheduler_default_filters "RetryFilter,AvailabilityZoneFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter"
|
iniset $NOVA_CONF DEFAULT scheduler_default_filters "RetryFilter,AvailabilityZoneFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter"
|
||||||
|
|
||||||
|
|
||||||
# Default
|
# Default libvirt
|
||||||
# -------
|
# ---------------
|
||||||
|
|
||||||
else
|
else
|
||||||
echo_summary "Using libvirt virtualization driver"
|
echo_summary "Using libvirt virtualization driver"
|
||||||
@ -1296,7 +1294,6 @@ if is_service_enabled nova && is_baremetal; then
|
|||||||
screen_it baremetal "nova-baremetal-deploy-helper"
|
screen_it baremetal "nova-baremetal-deploy-helper"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
# Save some values we generated for later use
|
# Save some values we generated for later use
|
||||||
CURRENT_RUN_TIME=$(date "+$TIMESTAMP_FORMAT")
|
CURRENT_RUN_TIME=$(date "+$TIMESTAMP_FORMAT")
|
||||||
echo "# $CURRENT_RUN_TIME" >$TOP_DIR/.stackenv
|
echo "# $CURRENT_RUN_TIME" >$TOP_DIR/.stackenv
|
||||||
|
134
stackrc
134
stackrc
@ -73,10 +73,58 @@ CINDER_BRANCH=${CINDER_BRANCH:-master}
|
|||||||
CINDERCLIENT_REPO=${CINDERCLIENT_REPO:-${GIT_BASE}/openstack/python-cinderclient.git}
|
CINDERCLIENT_REPO=${CINDERCLIENT_REPO:-${GIT_BASE}/openstack/python-cinderclient.git}
|
||||||
CINDERCLIENT_BRANCH=${CINDERCLIENT_BRANCH:-master}
|
CINDERCLIENT_BRANCH=${CINDERCLIENT_BRANCH:-master}
|
||||||
|
|
||||||
|
# image catalog service
|
||||||
|
GLANCE_REPO=${GLANCE_REPO:-${GIT_BASE}/openstack/glance.git}
|
||||||
|
GLANCE_BRANCH=${GLANCE_BRANCH:-master}
|
||||||
|
|
||||||
|
# python glance client library
|
||||||
|
GLANCECLIENT_REPO=${GLANCECLIENT_REPO:-${GIT_BASE}/openstack/python-glanceclient.git}
|
||||||
|
GLANCECLIENT_BRANCH=${GLANCECLIENT_BRANCH:-master}
|
||||||
|
|
||||||
|
# heat service
|
||||||
|
HEAT_REPO=${HEAT_REPO:-${GIT_BASE}/openstack/heat.git}
|
||||||
|
HEAT_BRANCH=${HEAT_BRANCH:-master}
|
||||||
|
|
||||||
|
# python heat client library
|
||||||
|
HEATCLIENT_REPO=${HEATCLIENT_REPO:-${GIT_BASE}/openstack/python-heatclient.git}
|
||||||
|
HEATCLIENT_BRANCH=${HEATCLIENT_BRANCH:-master}
|
||||||
|
|
||||||
|
# django powered web control panel for openstack
|
||||||
|
HORIZON_REPO=${HORIZON_REPO:-${GIT_BASE}/openstack/horizon.git}
|
||||||
|
HORIZON_BRANCH=${HORIZON_BRANCH:-master}
|
||||||
|
|
||||||
|
# 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
|
# compute service
|
||||||
NOVA_REPO=${NOVA_REPO:-${GIT_BASE}/openstack/nova.git}
|
NOVA_REPO=${NOVA_REPO:-${GIT_BASE}/openstack/nova.git}
|
||||||
NOVA_BRANCH=${NOVA_BRANCH:-master}
|
NOVA_BRANCH=${NOVA_BRANCH:-master}
|
||||||
|
|
||||||
|
# python client library to nova that horizon (and others) use
|
||||||
|
NOVACLIENT_REPO=${NOVACLIENT_REPO:-${GIT_BASE}/openstack/python-novaclient.git}
|
||||||
|
NOVACLIENT_BRANCH=${NOVACLIENT_BRANCH:-master}
|
||||||
|
|
||||||
|
# consolidated openstack python client
|
||||||
|
OPENSTACKCLIENT_REPO=${OPENSTACKCLIENT_REPO:-${GIT_BASE}/openstack/python-openstackclient.git}
|
||||||
|
OPENSTACKCLIENT_BRANCH=${OPENSTACKCLIENT_BRANCH:-master}
|
||||||
|
|
||||||
|
# pbr drives the setuptools configs
|
||||||
|
PBR_REPO=${PBR_REPO:-${GIT_BASE}/openstack-dev/pbr.git}
|
||||||
|
PBR_BRANCH=${PBR_BRANCH:-master}
|
||||||
|
|
||||||
|
# quantum service
|
||||||
|
QUANTUM_REPO=${QUANTUM_REPO:-${GIT_BASE}/openstack/quantum.git}
|
||||||
|
QUANTUM_BRANCH=${QUANTUM_BRANCH:-master}
|
||||||
|
|
||||||
|
# quantum client
|
||||||
|
QUANTUMCLIENT_REPO=${QUANTUMCLIENT_REPO:-${GIT_BASE}/openstack/python-quantumclient.git}
|
||||||
|
QUANTUMCLIENT_BRANCH=${QUANTUMCLIENT_BRANCH:-master}
|
||||||
|
|
||||||
# storage service
|
# storage service
|
||||||
SWIFT_REPO=${SWIFT_REPO:-${GIT_BASE}/openstack/swift.git}
|
SWIFT_REPO=${SWIFT_REPO:-${GIT_BASE}/openstack/swift.git}
|
||||||
SWIFT_BRANCH=${SWIFT_BRANCH:-master}
|
SWIFT_BRANCH=${SWIFT_BRANCH:-master}
|
||||||
@ -87,65 +135,10 @@ SWIFT3_BRANCH=${SWIFT3_BRANCH:-master}
|
|||||||
SWIFTCLIENT_REPO=${SWIFTCLIENT_REPO:-${GIT_BASE}/openstack/python-swiftclient.git}
|
SWIFTCLIENT_REPO=${SWIFTCLIENT_REPO:-${GIT_BASE}/openstack/python-swiftclient.git}
|
||||||
SWIFTCLIENT_BRANCH=${SWIFTCLIENT_BRANCH:-master}
|
SWIFTCLIENT_BRANCH=${SWIFTCLIENT_BRANCH:-master}
|
||||||
|
|
||||||
# image catalog service
|
|
||||||
GLANCE_REPO=${GLANCE_REPO:-${GIT_BASE}/openstack/glance.git}
|
|
||||||
GLANCE_BRANCH=${GLANCE_BRANCH:-master}
|
|
||||||
|
|
||||||
# python glance client library
|
|
||||||
GLANCECLIENT_REPO=${GLANCECLIENT_REPO:-${GIT_BASE}/openstack/python-glanceclient.git}
|
|
||||||
GLANCECLIENT_BRANCH=${GLANCECLIENT_BRANCH:-master}
|
|
||||||
|
|
||||||
# unified auth system (manages accounts/tokens)
|
|
||||||
KEYSTONE_REPO=${KEYSTONE_REPO:-${GIT_BASE}/openstack/keystone.git}
|
|
||||||
KEYSTONE_BRANCH=${KEYSTONE_BRANCH:-master}
|
|
||||||
|
|
||||||
# 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}
|
|
||||||
|
|
||||||
# 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}
|
|
||||||
|
|
||||||
# django powered web control panel for openstack
|
|
||||||
HORIZON_REPO=${HORIZON_REPO:-${GIT_BASE}/openstack/horizon.git}
|
|
||||||
HORIZON_BRANCH=${HORIZON_BRANCH:-master}
|
|
||||||
|
|
||||||
# python client library to nova that horizon (and others) use
|
|
||||||
NOVACLIENT_REPO=${NOVACLIENT_REPO:-${GIT_BASE}/openstack/python-novaclient.git}
|
|
||||||
NOVACLIENT_BRANCH=${NOVACLIENT_BRANCH:-master}
|
|
||||||
|
|
||||||
# consolidated openstack python client
|
|
||||||
OPENSTACKCLIENT_REPO=${OPENSTACKCLIENT_REPO:-${GIT_BASE}/openstack/python-openstackclient.git}
|
|
||||||
OPENSTACKCLIENT_BRANCH=${OPENSTACKCLIENT_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}
|
|
||||||
|
|
||||||
# quantum service
|
|
||||||
QUANTUM_REPO=${QUANTUM_REPO:-${GIT_BASE}/openstack/quantum.git}
|
|
||||||
QUANTUM_BRANCH=${QUANTUM_BRANCH:-master}
|
|
||||||
|
|
||||||
# quantum client
|
|
||||||
QUANTUMCLIENT_REPO=${QUANTUMCLIENT_REPO:-${GIT_BASE}/openstack/python-quantumclient.git}
|
|
||||||
QUANTUMCLIENT_BRANCH=${QUANTUMCLIENT_BRANCH:-master}
|
|
||||||
|
|
||||||
# Tempest test suite
|
# Tempest test suite
|
||||||
TEMPEST_REPO=${TEMPEST_REPO:-${GIT_BASE}/openstack/tempest.git}
|
TEMPEST_REPO=${TEMPEST_REPO:-${GIT_BASE}/openstack/tempest.git}
|
||||||
TEMPEST_BRANCH=${TEMPEST_BRANCH:-master}
|
TEMPEST_BRANCH=${TEMPEST_BRANCH:-master}
|
||||||
|
|
||||||
# heat service
|
|
||||||
HEAT_REPO=${HEAT_REPO:-${GIT_BASE}/openstack/heat.git}
|
|
||||||
HEAT_BRANCH=${HEAT_BRANCH:-master}
|
|
||||||
|
|
||||||
# python heat client library
|
|
||||||
HEATCLIENT_REPO=${HEATCLIENT_REPO:-${GIT_BASE}/openstack/python-heatclient.git}
|
|
||||||
HEATCLIENT_BRANCH=${HEATCLIENT_BRANCH:-master}
|
|
||||||
|
|
||||||
# ryu service
|
|
||||||
RYU_REPO=${RYU_REPO:-${GIT_BASE}/osrg/ryu.git}
|
|
||||||
RYU_BRANCH=${RYU_BRANCH:-master}
|
|
||||||
|
|
||||||
# diskimage-builder
|
# diskimage-builder
|
||||||
BM_IMAGE_BUILD_REPO=${BM_IMAGE_BUILD_REPO:-${GIT_BASE}/stackforge/diskimage-builder.git}
|
BM_IMAGE_BUILD_REPO=${BM_IMAGE_BUILD_REPO:-${GIT_BASE}/stackforge/diskimage-builder.git}
|
||||||
@ -157,10 +150,18 @@ BM_IMAGE_BUILD_BRANCH=${BM_IMAGE_BUILD_BRANCH:-master}
|
|||||||
BM_POSEUR_REPO=${BM_POSEUR_REPO:-${GIT_BASE}/tripleo/bm_poseur.git}
|
BM_POSEUR_REPO=${BM_POSEUR_REPO:-${GIT_BASE}/tripleo/bm_poseur.git}
|
||||||
BM_POSEUR_BRANCH=${BM_POSEUR_BRANCH:-master}
|
BM_POSEUR_BRANCH=${BM_POSEUR_BRANCH:-master}
|
||||||
|
|
||||||
# pbr
|
# a websockets/html5 or flash powered VNC console for vm instances
|
||||||
# Used to drive the setuptools configs
|
NOVNC_REPO=${NOVNC_REPO:-${GIT_BASE}/kanaka/noVNC.git}
|
||||||
PBR_REPO=${PBR_REPO:-${GIT_BASE}/openstack-dev/pbr.git}
|
NOVNC_BRANCH=${NOVNC_BRANCH:-master}
|
||||||
PBR_BRANCH=${PBR_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}
|
||||||
|
|
||||||
|
|
||||||
# Nova hypervisor configuration. We default to libvirt with **kvm** but will
|
# 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
|
# drop back to **qemu** if we are unable to load the kvm module. ``stack.sh`` can
|
||||||
@ -184,18 +185,22 @@ case "$VIRT_DRIVER" in
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# Specify a comma-separated list of UEC images to download and install into glance.
|
|
||||||
# supported urls here are:
|
# Images
|
||||||
|
# ------
|
||||||
|
|
||||||
|
# Specify a comma-separated list of images to download and install into glance.
|
||||||
|
# Supported urls here are:
|
||||||
# * "uec-style" images:
|
# * "uec-style" images:
|
||||||
# If the file ends in .tar.gz, uncompress the tarball and and select the first
|
# 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
|
# .img file inside it as the image. If present, use "*-vmlinuz*" as the kernel
|
||||||
# and "*-initrd*" as the ramdisk
|
# and "*-initrd*" as the ramdisk
|
||||||
# example: http://cloud-images.ubuntu.com/releases/oneiric/release/ubuntu-11.10-server-cloudimg-amd64.tar.gz
|
# example: http://cloud-images.ubuntu.com/releases/precise/release/ubuntu-12.04-server-cloudimg-amd64.tar.gz
|
||||||
# * disk image (*.img,*.img.gz)
|
# * disk image (*.img,*.img.gz)
|
||||||
# if file ends in .img, then it will be uploaded and registered as a to
|
# 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.
|
# glance as a disk image. If it ends in .gz, it is uncompressed first.
|
||||||
# example:
|
# example:
|
||||||
# http://cloud-images.ubuntu.com/releases/oneiric/release/ubuntu-11.10-server-cloudimg-armel-disk1.img
|
# http://cloud-images.ubuntu.com/releases/precise/release/ubuntu-12.04-server-cloudimg-armel-disk1.img
|
||||||
# http://download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-rootfs.img.gz
|
# http://download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-rootfs.img.gz
|
||||||
# * OpenVZ image:
|
# * OpenVZ image:
|
||||||
# OpenVZ uses its own format of image, and does not support UEC style images
|
# OpenVZ uses its own format of image, and does not support UEC style images
|
||||||
@ -222,11 +227,12 @@ case "$VIRT_DRIVER" in
|
|||||||
;;
|
;;
|
||||||
vsphere)
|
vsphere)
|
||||||
IMAGE_URLS="";;
|
IMAGE_URLS="";;
|
||||||
*) # otherwise, use the uec style image (with kernel, ramdisk, disk)
|
*) # Default to Cirros with kernel, ramdisk and disk image
|
||||||
DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-cirros-0.3.1-x86_64-uec}
|
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"};;
|
IMAGE_URLS=${IMAGE_URLS:-"http://download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-uec.tar.gz"};;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
|
||||||
# 5Gb default volume backing file size
|
# 5Gb default volume backing file size
|
||||||
VOLUME_BACKING_FILE_SIZE=${VOLUME_BACKING_FILE_SIZE:-5130M}
|
VOLUME_BACKING_FILE_SIZE=${VOLUME_BACKING_FILE_SIZE:-5130M}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user