Merge "Add support for the IPv6 extended attributes in Tempest"
diff --git a/README.md b/README.md
index f9a996e..37b960e 100644
--- a/README.md
+++ b/README.md
@@ -2,11 +2,16 @@
# Goals
-* To quickly build dev OpenStack environments in a clean Ubuntu or Fedora environment
-* To describe working configurations of OpenStack (which code branches work together? what do config files look like for those branches?)
-* To make it easier for developers to dive into OpenStack so that they can productively contribute without having to understand every part of the system at once
+* To quickly build dev OpenStack environments in a clean Ubuntu or Fedora
+ environment
+* To describe working configurations of OpenStack (which code branches
+ work together? what do config files look like for those branches?)
+* To make it easier for developers to dive into OpenStack so that they can
+ productively contribute without having to understand every part of the
+ system at once
* To make it easy to prototype cross-project features
-* To provide an environment for the OpenStack CI testing on every commit to the projects
+* To provide an environment for the OpenStack CI testing on every commit
+ to the projects
Read more at http://devstack.org.
@@ -42,12 +47,14 @@
./stack.sh
-When the script finishes executing, you should be able to access OpenStack endpoints, like so:
+When the script finishes executing, you should be able to access OpenStack
+endpoints, like so:
* Horizon: http://myhost/
* Keystone: http://myhost:5000/v2.0/
-We also provide an environment file that you can use to interact with your cloud via CLI:
+We also provide an environment file that you can use to interact with your
+cloud via CLI:
# source openrc file to load your environment with OpenStack CLI creds
. openrc
@@ -63,7 +70,12 @@
# DevStack Execution Environment
-DevStack runs rampant over the system it runs on, installing things and uninstalling other things. Running this on a system you care about is a recipe for disappointment, or worse. Alas, we're all in the virtualization business here, so run it in a VM. And take advantage of the snapshot capabilities of your hypervisor of choice to reduce testing cycle times. You might even save enough time to write one more feature before the next feature freeze...
+DevStack runs rampant over the system it runs on, installing things and
+uninstalling other things. Running this on a system you care about is a recipe
+for disappointment, or worse. Alas, we're all in the virtualization business
+here, so run it in a VM. And take advantage of the snapshot capabilities
+of your hypervisor of choice to reduce testing cycle times. You might even save
+enough time to write one more feature before the next feature freeze...
``stack.sh`` needs to have root access for a lot of tasks, but uses ``sudo``
for all of those tasks. However, it needs to be not-root for most of its
@@ -93,7 +105,8 @@
# Database Backend
-Multiple database backends are available. The available databases are defined in the lib/databases directory.
+Multiple database backends are available. The available databases are defined
+in the lib/databases directory.
`mysql` is the default database, choose a different one by putting the
following in the `localrc` section:
@@ -235,10 +248,14 @@
(e.g. linuxbridge).
Variable Name Notes
- -------------------------------------------------------------------------------------
- Q_AGENT This specifies which agent to run with the ML2 Plugin (either `openvswitch` or `linuxbridge`).
- Q_ML2_PLUGIN_MECHANISM_DRIVERS The ML2 MechanismDrivers to load. The default is none. Note, ML2 will work with the OVS and LinuxBridge agents by default.
- Q_ML2_PLUGIN_TYPE_DRIVERS The ML2 TypeDrivers to load. Defaults to all available TypeDrivers.
+ ----------------------------------------------------------------------------
+ Q_AGENT This specifies which agent to run with the
+ ML2 Plugin (either `openvswitch` or `linuxbridge`).
+ Q_ML2_PLUGIN_MECHANISM_DRIVERS The ML2 MechanismDrivers to load. The default
+ is none. Note, ML2 will work with the OVS
+ and LinuxBridge agents by default.
+ Q_ML2_PLUGIN_TYPE_DRIVERS The ML2 TypeDrivers to load. Defaults to
+ all available TypeDrivers.
Q_ML2_PLUGIN_GRE_TYPE_OPTIONS GRE TypeDriver options. Defaults to none.
Q_ML2_PLUGIN_VXLAN_TYPE_OPTIONS VXLAN TypeDriver options. Defaults to none.
Q_ML2_PLUGIN_VLAN_TYPE_OPTIONS VLAN TypeDriver options. Defaults to none.
@@ -262,14 +279,16 @@
# Tempest
-If tempest has been successfully configured, a basic set of smoke tests can be run as follows:
+If tempest has been successfully configured, a basic set of smoke
+tests can be run as follows:
$ cd /opt/stack/tempest
$ nosetests tempest/scenario/test_network_basic_ops.py
# DevStack on Xenserver
-If you would like to use Xenserver as the hypervisor, please refer to the instructions in `./tools/xen/README.md`.
+If you would like to use Xenserver as the hypervisor, please refer
+to the instructions in `./tools/xen/README.md`.
# Additional Projects
@@ -283,8 +302,10 @@
# Multi-Node Setup
-A more interesting setup involves running multiple compute nodes, with Neutron networks connecting VMs on different compute nodes.
-You should run at least one "controller node", which should have a `stackrc` that includes at least:
+A more interesting setup involves running multiple compute nodes, with Neutron
+networks connecting VMs on different compute nodes.
+You should run at least one "controller node", which should have a `stackrc`
+that includes at least:
disable_service n-net
enable_service q-svc
@@ -299,7 +320,8 @@
SCHEDULER=nova.scheduler.simple.SimpleScheduler
-You can then run many compute nodes, each of which should have a `stackrc` which includes the following, with the IP address of the above controller node:
+You can then run many compute nodes, each of which should have a `stackrc`
+which includes the following, with the IP address of the above controller node:
ENABLED_SERVICES=n-cpu,rabbit,g-api,neutron,q-agt
SERVICE_HOST=[IP of controller node]
@@ -310,22 +332,31 @@
# Cells
-Cells is a new scaling option with a full spec at http://wiki.openstack.org/blueprint-nova-compute-cells.
+Cells is a new scaling option with a full spec at:
+http://wiki.openstack.org/blueprint-nova-compute-cells.
To setup a cells environment add the following to your `localrc` section:
enable_service n-cell
-Be aware that there are some features currently missing in cells, one notable one being security groups. The exercises have been patched to disable functionality not supported by cells.
+Be aware that there are some features currently missing in cells, one notable
+one being security groups. The exercises have been patched to disable
+functionality not supported by cells.
# Local Configuration
-Historically DevStack has used ``localrc`` to contain all local configuration and customizations. More and more of the configuration variables available for DevStack are passed-through to the individual project configuration files. The old mechanism for this required specific code for each file and did not scale well. This is handled now by a master local configuration file.
+Historically DevStack has used ``localrc`` to contain all local configuration
+and customizations. More and more of the configuration variables available for
+DevStack are passed-through to the individual project configuration files.
+The old mechanism for this required specific code for each file and did not
+scale well. This is handled now by a master local configuration file.
# local.conf
-The new config file ``local.conf`` is an extended-INI format that introduces a new meta-section header that provides some additional information such as a phase name and destination config filename:
+The new config file ``local.conf`` is an extended-INI format that introduces
+a new meta-section header that provides some additional information such
+as a phase name and destination config filename:
[[ <phase> | <config-file-name> ]]
@@ -339,11 +370,15 @@
The defined phases are:
* **local** - extracts ``localrc`` from ``local.conf`` before ``stackrc`` is sourced
-* **post-config** - runs after the layer 2 services are configured and before they are started
-* **extra** - runs after services are started and before any files in ``extra.d`` are executed
+* **post-config** - runs after the layer 2 services are configured
+ and before they are started
+* **extra** - runs after services are started and before any files
+ in ``extra.d`` are executed
* **post-extra** - runs after files in ``extra.d`` are executed
-The file is processed strictly in sequence; meta-sections may be specified more than once but if any settings are duplicated the last to appear in the file will be used.
+The file is processed strictly in sequence; meta-sections may be specified more
+than once but if any settings are duplicated the last to appear in the file
+will be used.
[[post-config|$NOVA_CONF]]
[DEFAULT]
diff --git a/extras.d/80-opendaylight.sh b/extras.d/80-opendaylight.sh
index bf99866..bfbabc2 100644
--- a/extras.d/80-opendaylight.sh
+++ b/extras.d/80-opendaylight.sh
@@ -47,9 +47,9 @@
ODL_MGR_PORT=${ODL_MGR_PORT:-6640}
read ovstbl <<< $(sudo ovs-vsctl get Open_vSwitch . _uuid)
sudo ovs-vsctl set-manager tcp:$ODL_MGR_IP:$ODL_MGR_PORT
- if [[ -n "$OVS_BRIDGE_MAPPINGS" ]] && [[ "$ENABLE_TENANT_VLANS" == "True" ]]; then
+ if [[ -n "$ODL_PROVIDER_MAPPINGS" ]] && [[ "$ENABLE_TENANT_VLANS" == "True" ]]; then
sudo ovs-vsctl set Open_vSwitch $ovstbl \
- other_config:bridge_mappings=$OVS_BRIDGE_MAPPINGS
+ other_config:provider_mappings=$ODL_PROVIDER_MAPPINGS
fi
sudo ovs-vsctl set Open_vSwitch $ovstbl other_config:local_ip=$ODL_LOCAL_IP
elif [[ "$1" == "stack" && "$2" == "post-extra" ]]; then
diff --git a/files/apts/baremetal b/files/apts/baremetal
index 54e76e0..06ffab6 100644
--- a/files/apts/baremetal
+++ b/files/apts/baremetal
@@ -1,6 +1,5 @@
busybox
dnsmasq
-gcc
ipmitool
make
open-iscsi
diff --git a/files/apts/general b/files/apts/general
index 020d84f..d81ec7a 100644
--- a/files/apts/general
+++ b/files/apts/general
@@ -5,6 +5,7 @@
unzip
wget
psmisc
+gcc
git
lsof # useful when debugging
openssh-server
diff --git a/files/apts/glance b/files/apts/glance
index e80f447..b5d8c77 100644
--- a/files/apts/glance
+++ b/files/apts/glance
@@ -1,4 +1,3 @@
-gcc
libffi-dev
libmysqlclient-dev # testonly
libpq-dev # testonly
diff --git a/files/apts/swift b/files/apts/swift
index 0c27b5b..080ecdb 100644
--- a/files/apts/swift
+++ b/files/apts/swift
@@ -1,5 +1,4 @@
curl
-gcc
libffi-dev
memcached
python-configobj
diff --git a/files/apts/trema b/files/apts/trema
index 09cb7c6..f685ca5 100644
--- a/files/apts/trema
+++ b/files/apts/trema
@@ -1,5 +1,4 @@
# Trema
-gcc
make
ruby1.8
rubygems1.8
diff --git a/files/rpms-suse/general b/files/rpms-suse/general
index ff27a3a..82cb09d 100644
--- a/files/rpms-suse/general
+++ b/files/rpms-suse/general
@@ -3,6 +3,7 @@
ca-certificates-mozilla
curl
euca2ools
+gcc
git-core
iputils
libopenssl-devel # to rebuild pyOpenSSL if needed
diff --git a/files/rpms-suse/glance b/files/rpms-suse/glance
index d9844e9..edd1564 100644
--- a/files/rpms-suse/glance
+++ b/files/rpms-suse/glance
@@ -1,4 +1,3 @@
-gcc
libxml2-devel
python-PasteDeploy
python-Routes
diff --git a/files/rpms-suse/swift b/files/rpms-suse/swift
index f3c95aa..4b14098 100644
--- a/files/rpms-suse/swift
+++ b/files/rpms-suse/swift
@@ -1,5 +1,4 @@
curl
-gcc
memcached
python-PasteDeploy
python-WebOb
diff --git a/files/rpms/general b/files/rpms/general
index 99be725..c940de6 100644
--- a/files/rpms/general
+++ b/files/rpms/general
@@ -2,13 +2,13 @@
curl
dbus
euca2ools # only for testing client
-gcc # dist:rhel6 [2]
+gcc
git-core
openssh-server
openssl
openssl-devel # to rebuild pyOpenSSL if needed
-libxml2-devel # dist:rhel6 [2]
-libxslt-devel # dist:rhel6 [2]
+libxml2-devel
+libxslt-devel
psmisc
pylint
python-setuptools
@@ -28,7 +28,3 @@
# but others have versioned (<=0.7). So if a later version (0.7.1)
# gets installed in response to an unversioned dependency, it breaks.
# This pre-installs a compatible 0.6(ish) version from RHEL
-
-# [2] : RHEL6 rpm versions of python-lxml is old, and has to be
-# removed. Several tools rely on it, so we install the dependencies
-# pip needs to build it here (see tools/install_prereqs.sh)
diff --git a/files/rpms/glance b/files/rpms/glance
index f959c22..fc07fa7 100644
--- a/files/rpms/glance
+++ b/files/rpms/glance
@@ -1,4 +1,3 @@
-gcc
libffi-devel
libxml2-devel # testonly
libxslt-devel # testonly
diff --git a/files/rpms/horizon b/files/rpms/horizon
index 38d349d..92afed2 100644
--- a/files/rpms/horizon
+++ b/files/rpms/horizon
@@ -1,5 +1,4 @@
Django
-gcc
httpd # NOPRIME
mod_wsgi # NOPRIME
pylint
diff --git a/files/rpms/swift b/files/rpms/swift
index ec53424..938d2c8 100644
--- a/files/rpms/swift
+++ b/files/rpms/swift
@@ -1,5 +1,4 @@
curl
-gcc
libffi-devel
memcached
python-configobj
diff --git a/lib/ceilometer b/lib/ceilometer
index 59f572c..a4be7af 100644
--- a/lib/ceilometer
+++ b/lib/ceilometer
@@ -147,9 +147,12 @@
# Install the policy file for the API server
cp $CEILOMETER_DIR/etc/ceilometer/policy.json $CEILOMETER_CONF_DIR
- cp $CEILOMETER_DIR/etc/ceilometer/pipeline.yaml $CEILOMETER_CONF_DIR
iniset $CEILOMETER_CONF DEFAULT policy_file $CEILOMETER_CONF_DIR/policy.json
+ cp $CEILOMETER_DIR/etc/ceilometer/pipeline.yaml $CEILOMETER_CONF_DIR
+ cp $CEILOMETER_DIR/etc/ceilometer/api_paste.ini $CEILOMETER_CONF_DIR
+ cp $CEILOMETER_DIR/etc/ceilometer/event_definitions.yaml $CEILOMETER_CONF_DIR
+
if [ "$CEILOMETER_PIPELINE_INTERVAL" ]; then
sed -i "s/interval:.*/interval: ${CEILOMETER_PIPELINE_INTERVAL}/" $CEILOMETER_CONF_DIR/pipeline.yaml
fi
diff --git a/lib/marconi b/lib/marconi
index 473c8cd..143f38a 100644
--- a/lib/marconi
+++ b/lib/marconi
@@ -154,7 +154,12 @@
# start_marconi() - Start running processes, including screen
function start_marconi {
- screen_it marconi-server "marconi-server --config-file $MARCONI_CONF --daemon"
+ if [[ ${USE_SCREEN,,} == "false" ]];; then
+ screen_it marconi-server "marconi-server --config-file $MARCONI_CONF --daemon"
+ else
+ screen_it marconi-server "marconi-server --config-file $MARCONI_CONF"
+ fi
+
echo "Waiting for Marconi to start..."
if ! timeout $SERVICE_TIMEOUT sh -c "while ! wget --no-proxy -q -O- $MARCONI_SERVICE_PROTOCOL://$MARCONI_SERVICE_HOST:$MARCONI_SERVICE_PORT/v1/health; do sleep 1; done"; then
die $LINENO "Marconi did not start"
diff --git a/lib/nova_plugins/functions-libvirt b/lib/nova_plugins/functions-libvirt
index 1f2b239..f435456 100644
--- a/lib/nova_plugins/functions-libvirt
+++ b/lib/nova_plugins/functions-libvirt
@@ -28,6 +28,23 @@
install_package libvirt-python
install_package python-libguestfs
fi
+
+ # workaround for
+ # https://bugzilla.redhat.com/show_bug.cgi?id=1098376; if we see
+ # the empty Xen proc file then remove the xen/libxl plugin
+ # shared-libraries (yum remove would uninstall libvirt due to
+ # dependencies, so let's avoid that...)
+ if is_fedora && [ -f /proc/xen/capabilities ] && \
+ [ $(stat -c '%s' /proc/xen/capabilities) -eq 0 ]; then
+ sudo rm -f /usr/lib64/libvirt/connection-driver/libvirt_driver_libxl.so
+ sudo rm -f /usr/lib64/libvirt/connection-driver/libvirt_driver_xen.so
+
+ # another bug requires these to be restarted to avoid
+ # potential hang of libvirtd
+ # https://bugzilla.redhat.com/show_bug.cgi?id=1098866
+ sudo service dbus restart
+ sudo service firewalld restart
+ fi
}
# Configures the installed libvirt system so that is accessible by
diff --git a/lib/opendaylight b/lib/opendaylight
index be3db6e..0ac7f2b 100644
--- a/lib/opendaylight
+++ b/lib/opendaylight
@@ -61,6 +61,9 @@
# How long to pause after ODL starts to let it complete booting
ODL_BOOT_WAIT=${ODL_BOOT_WAIT:-60}
+# The physical provider network to device mapping
+ODL_PROVIDER_MAPPINGS=${ODL_PROVIDER_MAPPINGS:-physnet1:eth1}
+
# Set up default directories
diff --git a/lib/swift b/lib/swift
index 6db779a..1e24c2c 100644
--- a/lib/swift
+++ b/lib/swift
@@ -103,6 +103,10 @@
# trace through the logs when looking for its use.
SWIFT_LOG_TOKEN_LENGTH=${SWIFT_LOG_TOKEN_LENGTH:-12}
+# Set ``SWIFT_MAX_HEADER_SIZE`` to configure the maximun length of headers in
+# Swift API
+SWIFT_MAX_HEADER_SIZE=${SWIFT_MAX_HEADER_SIZE:-16384}
+
# Set ``OBJECT_PORT_BASE``, ``CONTAINER_PORT_BASE``, ``ACCOUNT_PORT_BASE``
# Port bases used in port number calclution for the service "nodes"
# The specified port number will be used, the additinal ports calculated by
@@ -404,6 +408,7 @@
cp ${SWIFT_DIR}/etc/swift.conf-sample ${SWIFT_CONF_DIR}/swift.conf
iniset ${SWIFT_CONF_DIR}/swift.conf swift-hash swift_hash_path_suffix ${SWIFT_HASH}
+ iniset ${SWIFT_CONF_DIR}/swift.conf swift-constraints max_header_size ${SWIFT_MAX_HEADER_SIZE}
for node_number in ${SWIFT_REPLICAS_SEQ}; do
swift_node_config=${SWIFT_CONF_DIR}/object-server/${node_number}.conf
diff --git a/lib/tempest b/lib/tempest
index 380c6c2..79412f9 100644
--- a/lib/tempest
+++ b/lib/tempest
@@ -55,7 +55,7 @@
BUILD_TIMEOUT=196
-BOTO_MATERIALS_PATH="$FILES/images/s3-materials/cirros-0.3.1"
+BOTO_MATERIALS_PATH="$FILES/images/s3-materials/cirros-${CIRROS_VERSION}"
# Cinder/Volume variables
TEMPEST_VOLUME_DRIVER=${TEMPEST_VOLUME_DRIVER:-default}
@@ -306,9 +306,9 @@
iniset $TEMPEST_CONFIG boto ec2_url "http://$SERVICE_HOST:8773/services/Cloud"
iniset $TEMPEST_CONFIG boto s3_url "http://$SERVICE_HOST:${S3_SERVICE_PORT:-3333}"
iniset $TEMPEST_CONFIG boto s3_materials_path "$BOTO_MATERIALS_PATH"
- iniset $TEMPEST_CONFIG boto ari_manifest cirros-0.3.1-x86_64-initrd.manifest.xml
- iniset $TEMPEST_CONFIG boto ami_manifest cirros-0.3.1-x86_64-blank.img.manifest.xml
- iniset $TEMPEST_CONFIG boto aki_manifest cirros-0.3.1-x86_64-vmlinuz.manifest.xml
+ iniset $TEMPEST_CONFIG boto ari_manifest cirros-${CIRROS_VERSION}-x86_64-initrd.manifest.xml
+ iniset $TEMPEST_CONFIG boto ami_manifest cirros-${CIRROS_VERSION}-x86_64-blank.img.manifest.xml
+ iniset $TEMPEST_CONFIG boto aki_manifest cirros-${CIRROS_VERSION}-x86_64-vmlinuz.manifest.xml
iniset $TEMPEST_CONFIG boto instance_type "$boto_instance_type"
iniset $TEMPEST_CONFIG boto http_socket_timeout 30
iniset $TEMPEST_CONFIG boto ssh_user ${DEFAULT_INSTANCE_USER:-cirros}
@@ -328,7 +328,10 @@
fi
# Scenario
- iniset $TEMPEST_CONFIG scenario img_dir "$FILES/images/cirros-0.3.1-x86_64-uec"
+ iniset $TEMPEST_CONFIG scenario img_dir "$FILES/images/cirros-${CIRROS_VERSION}-x86_64-uec"
+ iniset $TEMPEST_CONFIG scenario ami_img_file "cirros-${CIRROS_VERSION}-x86_64-blank.img"
+ iniset $TEMPEST_CONFIG scenario ari_img_file "cirros-${CIRROS_VERSION}-x86_64-initrd"
+ iniset $TEMPEST_CONFIG scenario aki_img_file "cirros-${CIRROS_VERSION}-x86_64-vmlinuz"
# Large Ops Number
iniset $TEMPEST_CONFIG scenario large_ops_number ${TEMPEST_LARGE_OPS_NUMBER:-0}
@@ -409,8 +412,8 @@
# init_tempest() - Initialize ec2 images
function init_tempest {
- local base_image_name=cirros-0.3.1-x86_64
- # /opt/stack/devstack/files/images/cirros-0.3.1-x86_64-uec
+ local base_image_name=cirros-${CIRROS_VERSION}-x86_64
+ # /opt/stack/devstack/files/images/cirros-${CIRROS_VERSION}-x86_64-uec
local image_dir="$FILES/images/${base_image_name}-uec"
local kernel="$image_dir/${base_image_name}-vmlinuz"
local ramdisk="$image_dir/${base_image_name}-initrd"
diff --git a/lib/trove b/lib/trove
index 8631470..82c8c96 100644
--- a/lib/trove
+++ b/lib/trove
@@ -149,10 +149,6 @@
iniset $TROVE_CONF_DIR/trove.conf DEFAULT rabbit_password $RABBIT_PASSWORD
iniset $TROVE_CONF_DIR/trove.conf DEFAULT sql_connection `database_connection_url trove`
- iniset $TROVE_CONF_DIR/trove.conf DEFAULT add_addresses True
- iniset $TROVE_CONF_DIR/trove.conf DEFAULT nova_compute_url $NOVA_SERVICE_PROTOCOL://$NOVA_SERVICE_HOST:$NOVA_SERVICE_PORT/v2
- iniset $TROVE_CONF_DIR/trove.conf DEFAULT cinder_url $CINDER_SERVICE_PROTOCOL://$CINDER_SERVICE_HOST:$CINDER_SERVICE_PORT/v1
- iniset $TROVE_CONF_DIR/trove.conf DEFAULT swift_url http://$SERVICE_HOST:8080/v1/AUTH_
iniset $TROVE_LOCAL_CONF_DIR/trove-guestagent.conf.sample DEFAULT rabbit_password $RABBIT_PASSWORD
sed -i "s/localhost/$TROVE_HOST_GATEWAY/g" $TROVE_LOCAL_CONF_DIR/trove-guestagent.conf.sample
@@ -170,9 +166,6 @@
iniset $TROVE_CONF_DIR/trove-taskmanager.conf DEFAULT nova_proxy_admin_user radmin
iniset $TROVE_CONF_DIR/trove-taskmanager.conf DEFAULT nova_proxy_admin_tenant_name trove
iniset $TROVE_CONF_DIR/trove-taskmanager.conf DEFAULT nova_proxy_admin_pass $RADMIN_USER_PASS
- iniset $TROVE_CONF_DIR/trove-taskmanager.conf DEFAULT nova_compute_url $NOVA_SERVICE_PROTOCOL://$NOVA_SERVICE_HOST:$NOVA_SERVICE_PORT/v2
- iniset $TROVE_CONF_DIR/trove-taskmanager.conf DEFAULT cinder_url $CINDER_SERVICE_PROTOCOL://$CINDER_SERVICE_HOST:$CINDER_SERVICE_PORT/v1
- iniset $TROVE_CONF_DIR/trove-taskmanager.conf DEFAULT swift_url http://$SERVICE_HOST:8080/v1/AUTH_
iniset $TROVE_CONF_DIR/trove-taskmanager.conf DEFAULT trove_auth_url $TROVE_AUTH_ENDPOINT
setup_trove_logging $TROVE_CONF_DIR/trove-taskmanager.conf
fi
diff --git a/stack.sh b/stack.sh
index 19d47d6..8fb57c4 100755
--- a/stack.sh
+++ b/stack.sh
@@ -410,7 +410,7 @@
echo "Invalid chars in password. Try again:"
done
if [ ! $pw ]; then
- pw=`openssl rand -hex 10`
+ pw=$(cat /dev/urandom | tr -cd 'a-f0-9' | head -c 20)
fi
eval "$var=$pw"
echo "$var=$pw" >> $localrc
diff --git a/stackrc b/stackrc
index 822403e..6dea983 100644
--- a/stackrc
+++ b/stackrc
@@ -305,12 +305,14 @@
# glance as a disk image. If it ends in .gz, it is uncompressed first.
# example:
# 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/${CIRROS_VERSION}/cirros-${CIRROS_VERSION}-x86_64-rootfs.img.gz
# * OpenVZ image:
# OpenVZ uses its own format of image, and does not support UEC style images
#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
-#IMAGE_URLS="http://download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-disk.img" # cirros full disk image
+#IMAGE_URLS="http://download.cirros-cloud.net/${CIRROS_VERSION}/cirros-${CIRROS_VERSION}-x86_64-disk.img" # cirros full disk image
+
+CIRROS_VERSION=${CIRROS_VERSION:-"0.3.2"}
# Set default image based on ``VIRT_DRIVER`` and ``LIBVIRT_TYPE``, either of
# which may be set in ``localrc``. Also allow ``DEFAULT_IMAGE_NAME`` and
@@ -322,11 +324,11 @@
libvirt)
case "$LIBVIRT_TYPE" in
lxc) # the cirros root disk in the uec tarball is empty, so it will not work for lxc
- 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"};;
+ DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-cirros-${CIRROS_VERSION}-x86_64-rootfs}
+ IMAGE_URLS=${IMAGE_URLS:-"http://download.cirros-cloud.net/${CIRROS_VERSION}/cirros-${CIRROS_VERSION}-x86_64-rootfs.img.gz"};;
*) # otherwise, use the uec style image (with kernel, ramdisk, disk)
- 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"};;
+ DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-cirros-${CIRROS_VERSION}-x86_64-uec}
+ IMAGE_URLS=${IMAGE_URLS:-"http://download.cirros-cloud.net/${CIRROS_VERSION}/cirros-${CIRROS_VERSION}-x86_64-uec.tar.gz"};;
esac
;;
vsphere)
@@ -336,8 +338,8 @@
DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-cirros-0.3.0-x86_64-disk}
IMAGE_URLS=${IMAGE_URLS:-"https://github.com/downloads/citrix-openstack/warehouse/cirros-0.3.0-x86_64-disk.vhd.tgz"};;
*) # Default to Cirros with kernel, ramdisk and disk image
- 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"};;
+ DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-cirros-${CIRROS_VERSION}-x86_64-uec}
+ IMAGE_URLS=${IMAGE_URLS:-"http://download.cirros-cloud.net/${CIRROS_VERSION}/cirros-${CIRROS_VERSION}-x86_64-uec.tar.gz"};;
esac
# Use 64bit fedora image if heat is enabled
diff --git a/tools/create_userrc.sh b/tools/create_userrc.sh
index 5c1c329..a34ad28 100755
--- a/tools/create_userrc.sh
+++ b/tools/create_userrc.sh
@@ -126,12 +126,12 @@
export -n SERVICE_TOKEN SERVICE_ENDPOINT OS_SERVICE_TOKEN OS_SERVICE_ENDPOINT
-EC2_URL=`openstack endpoint show ec2 | grep " ec2.publicURL " | cut -d " " -f4`
+EC2_URL=$(openstack endpoint show -f value -c publicurl ec2)
if [[ -z $EC2_URL ]]; then
- EC2_URL=http://localhost:8773/service/Cloud
+ EC2_URL=http://localhost:8773/services/Cloud
fi
-S3_URL=`openstack endpoint show s3 | grep " s3.publicURL " | cut -d " " -f4`
+S3_URL=$(openstack endpoint show -f value -c publicurl s3)
if [[ -z $S3_URL ]]; then
S3_URL=http://localhost:3333
fi
diff --git a/tools/xen/README.md b/tools/xen/README.md
index 712782b..c8f47be 100644
--- a/tools/xen/README.md
+++ b/tools/xen/README.md
@@ -97,7 +97,7 @@
# Download a vhd and a uec image
IMAGE_URLS="\
https://github.com/downloads/citrix-openstack/warehouse/cirros-0.3.0-x86_64-disk.vhd.tgz,\
- http://download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-uec.tar.gz"
+ http://download.cirros-cloud.net/0.3.2/cirros-0.3.2-x86_64-uec.tar.gz"
# Explicitly set virt driver
VIRT_DRIVER=xenserver
diff --git a/tools/xen/scripts/install_ubuntu_template.sh b/tools/xen/scripts/install_ubuntu_template.sh
index d80ed09..d4d6567 100755
--- a/tools/xen/scripts/install_ubuntu_template.sh
+++ b/tools/xen/scripts/install_ubuntu_template.sh
@@ -14,6 +14,9 @@
# This directory
BASE_DIR=$(cd $(dirname "$0") && pwd)
+# Source the top level functions
+source $BASE_DIR/../../../functions
+
# For default setings see xenrc
source $BASE_DIR/../xenrc