Merge "add the kernel/ramdisk id to driver_info"
diff --git a/doc/source/changes.rst b/doc/source/changes.rst
index 7b75375..19fce0f 100644
--- a/doc/source/changes.rst
+++ b/doc/source/changes.rst
@@ -8,3 +8,5 @@
These are the commits to DevStack for the last six months. For the
complete list see `the DevStack project in
Gerrit <https://review.openstack.org/#/q/status:merged+project:openstack-dev/devstack,n,z>`__.
+
+%GIT_LOG%
diff --git a/doc/source/configuration.rst b/doc/source/configuration.rst
index 5157622..baebe97 100644
--- a/doc/source/configuration.rst
+++ b/doc/source/configuration.rst
@@ -92,7 +92,7 @@
[[post-config|/$Q_PLUGIN_CONF_FILE]]
Also note that the ``localrc`` section is sourced as a shell script
-fragment amd MUST conform to the shell requirements, specifically no
+fragment and MUST conform to the shell requirements, specifically no
whitespace around ``=`` (equals).
Minimal Configuration
@@ -131,7 +131,7 @@
``HOST_IP`` is normally detected on the first run of ``stack.sh`` but
often is indeterminate on later runs due to the IP being moved from an
-Ethernet integace to a bridge on the host. Setting it here also makes it
+Ethernet interface to a bridge on the host. Setting it here also makes it
available for ``openrc`` to set ``OS_AUTH_URL``. ``HOST_IP`` is not set
by default.
@@ -208,7 +208,7 @@
which is useful for watching log and debug output. However, in
automated testing the interactive ``screen`` sessions may not be
available after the fact; setting ``SCREEN_LOGDIR`` enables logging
- of the ``screen`` sessions in the specified diretory. There will be
+ of the ``screen`` sessions in the specified directory. There will be
one file per ``screen`` session named for the session name and a
timestamp.
|
diff --git a/doc/source/guides/neutron.rst b/doc/source/guides/neutron.rst
index 59b7a9d..dc2fc71 100644
--- a/doc/source/guides/neutron.rst
+++ b/doc/source/guides/neutron.rst
@@ -23,7 +23,7 @@
eth1 is manually configured at boot to not have an IP address.
Consult your operating system documentation for the appropriate
-technique. For Ubuntu, the contents of `/etc/networking/interfaces`
+technique. For Ubuntu, the contents of `/etc/network/interfaces`
contains:
::
diff --git a/exercises/horizon.sh b/exercises/horizon.sh
index d62ad52..ad08221 100755
--- a/exercises/horizon.sh
+++ b/exercises/horizon.sh
@@ -36,7 +36,7 @@
is_service_enabled horizon || exit 55
# can we get the front page
-curl http://$SERVICE_HOST 2>/dev/null | grep -q '<h3>Log In</h3>' || die $LINENO "Horizon front page not functioning!"
+curl http://$SERVICE_HOST 2>/dev/null | grep -q '<h3.*>Log In</h3>' || die $LINENO "Horizon front page not functioning!"
set +o xtrace
echo "*********************************************************************"
diff --git a/functions b/functions
index f31a59a..c7a3b9d 100644
--- a/functions
+++ b/functions
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# functions - DevStack-specific functions
#
# The following variables are assumed to be defined by certain functions:
diff --git a/functions-common b/functions-common
index 24507fe..94ab347 100644
--- a/functions-common
+++ b/functions-common
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# functions-common - Common functions used by DevStack components
#
# The canonical copy of this file is maintained in the DevStack repo.
@@ -831,15 +833,14 @@
fi
# Gets user id
local user_id=$(
- # Gets user id
- $os_cmd user show $1 $domain -f value -c id 2>/dev/null ||
- # Creates new user
+ # Creates new user with --or-show
$os_cmd user create \
$1 \
--password "$2" \
--project $3 \
$email \
$domain \
+ --or-show \
-f value -c id
)
echo $user_id
@@ -856,10 +857,8 @@
os_cmd="$os_cmd --os-url=$KEYSTONE_SERVICE_URI/v3 --os-identity-api-version=3"
fi
local project_id=$(
- # Gets project id
- $os_cmd project show $1 $domain -f value -c id 2>/dev/null ||
- # Creates new project if not exists
- $os_cmd project create $1 $domain -f value -c id
+ # Creates new project with --or-show
+ $os_cmd project create $1 $domain --or-show -f value -c id
)
echo $project_id
}
@@ -868,10 +867,8 @@
# Usage: get_or_create_role <name>
function get_or_create_role {
local role_id=$(
- # Gets role id
- openstack role show $1 -f value -c id 2>/dev/null ||
- # Creates role if not exists
- openstack role create $1 -f value -c id
+ # Creates role with --or-show
+ openstack role create $1 --or-show -f value -c id
)
echo $role_id
}
@@ -1165,7 +1162,7 @@
if is_ubuntu; then
apt_get purge "$@"
elif is_fedora; then
- sudo yum remove -y "$@"
+ sudo $YUM remove -y "$@" ||:
elif is_suse; then
sudo zypper rm "$@"
else
@@ -1174,7 +1171,7 @@
}
# Wrapper for ``yum`` to set proxy environment variables
-# Uses globals ``OFFLINE``, ``*_proxy``
+# Uses globals ``OFFLINE``, ``*_proxy``, ``YUM``
# yum_install package [package ...]
function yum_install {
[[ "$OFFLINE" = "True" ]] && return
@@ -1186,7 +1183,7 @@
# https://bugzilla.redhat.com/show_bug.cgi?id=965567
$sudo http_proxy=$http_proxy https_proxy=$https_proxy \
no_proxy=$no_proxy \
- yum install -y "$@" 2>&1 | \
+ $YUM install -y "$@" 2>&1 | \
awk '
BEGIN { fail=0 }
/No package/ { fail=1 }
@@ -1196,7 +1193,7 @@
# also ensure we catch a yum failure
if [[ ${PIPESTATUS[0]} != 0 ]]; then
- die $LINENO "Yum install failure"
+ die $LINENO "$YUM install failure"
fi
}
diff --git a/lib/apache b/lib/apache
index 2c43681..c7d69f2 100644
--- a/lib/apache
+++ b/lib/apache
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/apache
# Functions to control configuration and operation of apache web server
diff --git a/lib/ceilometer b/lib/ceilometer
index cdef422..1f480ea 100644
--- a/lib/ceilometer
+++ b/lib/ceilometer
@@ -1,13 +1,34 @@
+#!/bin/bash
+#
# lib/ceilometer
# Install and start **Ceilometer** service
-# To enable a minimal set of Ceilometer services, add the following to localrc:
+# To enable a minimal set of Ceilometer services, add the following to the
+# localrc section of local.conf:
#
# enable_service ceilometer-acompute ceilometer-acentral ceilometer-anotification ceilometer-collector ceilometer-api
#
-# To ensure Ceilometer alarming services are enabled also, further add to the localrc:
+# To ensure Ceilometer alarming services are enabled also, further add to the
+# localrc section of local.conf:
#
# enable_service ceilometer-alarm-notifier ceilometer-alarm-evaluator
+#
+# To ensure events are stored, add the following section to local.conf:
+#
+# [[post-config|$CEILOMETER_CONF]]
+# [notification]
+# store_events=True
+#
+# Several variables set in the localrc section adjust common behaviors
+# of Ceilometer (see within for additional settings):
+#
+# CEILOMETER_USE_MOD_WSGI: When True, run the api under mod_wsgi.
+# CEILOMETER_PIPELINE_INTERVAL: The number of seconds between pipeline processing
+# runs. Default 600.
+# CEILOMETER_BACKEND: The database backend (e.g. 'mysql', 'mongodb')
+# CEILOMETER_COORDINATION_URL: The URL for a group membership service provided
+# by tooz.
+
# Dependencies:
#
diff --git a/lib/ceph b/lib/ceph
index 5214306..3b62a91 100644
--- a/lib/ceph
+++ b/lib/ceph
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/ceph
# Functions to control the configuration and operation of the **Ceph** storage service
@@ -72,7 +74,7 @@
# ------------
function get_ceph_version {
- local ceph_version_str=$(sudo ceph daemon mon.$(hostname) version | cut -d '"' -f 4)
+ local ceph_version_str=$(sudo ceph daemon mon.$(hostname) version | cut -d '"' -f 4 | cut -f 1,2 -d '.')
echo $ceph_version_str
}
@@ -167,7 +169,7 @@
# pools data and metadata were removed in the Giant release so depending on the version we apply different commands
local ceph_version=$(get_ceph_version)
# change pool replica size according to the CEPH_REPLICAS set by the user
- if [[ ${ceph_version%.*} -eq 0 ]] && [[ ${ceph_version##*.} -lt 87 ]]; then
+ if [[ ${ceph_version%%.*} -eq 0 ]] && [[ ${ceph_version##*.} -lt 87 ]]; then
sudo ceph -c ${CEPH_CONF_FILE} osd pool set rbd size ${CEPH_REPLICAS}
sudo ceph -c ${CEPH_CONF_FILE} osd pool set data size ${CEPH_REPLICAS}
sudo ceph -c ${CEPH_CONF_FILE} osd pool set metadata size ${CEPH_REPLICAS}
diff --git a/lib/cinder b/lib/cinder
index 611e1ca..930119c 100644
--- a/lib/cinder
+++ b/lib/cinder
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/cinder
# Install and start **Cinder** volume service
diff --git a/lib/cinder_backends/ceph b/lib/cinder_backends/ceph
index e9d2a02..415ce94 100644
--- a/lib/cinder_backends/ceph
+++ b/lib/cinder_backends/ceph
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/cinder_backends/ceph
# Configure the ceph backend
diff --git a/lib/cinder_backends/glusterfs b/lib/cinder_backends/glusterfs
index dd772a8..00c62e0 100644
--- a/lib/cinder_backends/glusterfs
+++ b/lib/cinder_backends/glusterfs
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/cinder_backends/glusterfs
# Configure the glusterfs backend
diff --git a/lib/cinder_backends/lvm b/lib/cinder_backends/lvm
index 8f8ab79..a3ab5bf 100644
--- a/lib/cinder_backends/lvm
+++ b/lib/cinder_backends/lvm
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/cinder_backends/lvm
# Configure the LVM backend
diff --git a/lib/cinder_backends/netapp_iscsi b/lib/cinder_backends/netapp_iscsi
index 7a67da7..be9442e 100644
--- a/lib/cinder_backends/netapp_iscsi
+++ b/lib/cinder_backends/netapp_iscsi
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/cinder_backends/netapp_iscsi
# Configure the NetApp iSCSI driver
diff --git a/lib/cinder_backends/netapp_nfs b/lib/cinder_backends/netapp_nfs
index d90b7f7..dc919ad 100644
--- a/lib/cinder_backends/netapp_nfs
+++ b/lib/cinder_backends/netapp_nfs
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/cinder_backends/netapp_nfs
# Configure the NetApp NFS driver
diff --git a/lib/cinder_backends/nfs b/lib/cinder_backends/nfs
index 7648788..fc51b2b 100644
--- a/lib/cinder_backends/nfs
+++ b/lib/cinder_backends/nfs
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/cinder_backends/nfs
# Configure the nfs backend
diff --git a/lib/cinder_backends/solidfire b/lib/cinder_backends/solidfire
index 95ffce1..7cc70fc 100644
--- a/lib/cinder_backends/solidfire
+++ b/lib/cinder_backends/solidfire
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/cinder_backends/solidfire
# Configure the solidfire driver
diff --git a/lib/cinder_backends/vmdk b/lib/cinder_backends/vmdk
index b32c4b2..d5b9453 100644
--- a/lib/cinder_backends/vmdk
+++ b/lib/cinder_backends/vmdk
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/cinder_backends/vmdk
# Configure the VMware vmdk backend
diff --git a/lib/cinder_backends/xiv b/lib/cinder_backends/xiv
index ee5da2d..6eadaae 100644
--- a/lib/cinder_backends/xiv
+++ b/lib/cinder_backends/xiv
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# Copyright 2014 IBM Corp.
# Copyright (c) 2014 OpenStack Foundation
# All Rights Reserved.
@@ -82,4 +84,3 @@
# Local variables:
# mode: shell-script
# End:
-
diff --git a/lib/cinder_plugins/XenAPINFS b/lib/cinder_plugins/XenAPINFS
index fa10715..f730695 100644
--- a/lib/cinder_plugins/XenAPINFS
+++ b/lib/cinder_plugins/XenAPINFS
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/cinder_plugins/XenAPINFS
# Configure the XenAPINFS driver
diff --git a/lib/cinder_plugins/glusterfs b/lib/cinder_plugins/glusterfs
index b4196e4..35ceb27 100644
--- a/lib/cinder_plugins/glusterfs
+++ b/lib/cinder_plugins/glusterfs
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/cinder_plugins/glusterfs
# Configure the glusterfs driver
diff --git a/lib/cinder_plugins/nfs b/lib/cinder_plugins/nfs
index 5f4cc53..83b3993 100644
--- a/lib/cinder_plugins/nfs
+++ b/lib/cinder_plugins/nfs
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/cinder_plugins/nfs
# Configure the nfs driver
diff --git a/lib/cinder_plugins/sheepdog b/lib/cinder_plugins/sheepdog
index 30c60c6..ca343f7 100644
--- a/lib/cinder_plugins/sheepdog
+++ b/lib/cinder_plugins/sheepdog
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/cinder_plugins/sheepdog
# Configure the sheepdog driver
diff --git a/lib/cinder_plugins/vsphere b/lib/cinder_plugins/vsphere
index 436b060..f14ddf0 100644
--- a/lib/cinder_plugins/vsphere
+++ b/lib/cinder_plugins/vsphere
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/cinder_plugins/vsphere
# Configure the vsphere driver
diff --git a/lib/config b/lib/config
index a4d0328..c0756bf 100644
--- a/lib/config
+++ b/lib/config
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/config - Configuration file manipulation functions
# These functions have no external dependencies and the following side-effects:
diff --git a/lib/database b/lib/database
index e226515..366d2b3 100644
--- a/lib/database
+++ b/lib/database
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/database
# Interface for interacting with different database backends
diff --git a/lib/databases/mysql b/lib/databases/mysql
index eab1aa4..d39d966 100644
--- a/lib/databases/mysql
+++ b/lib/databases/mysql
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/databases/mysql
# Functions to control the configuration and operation of the **MySQL** database backend
diff --git a/lib/databases/postgresql b/lib/databases/postgresql
index fb6d304..76491c4 100644
--- a/lib/databases/postgresql
+++ b/lib/databases/postgresql
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/databases/postgresql
# Functions to control the configuration and operation of the **PostgreSQL** database backend
diff --git a/lib/dib b/lib/dib
index 30b31ec..177f4c1 100644
--- a/lib/dib
+++ b/lib/dib
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/dib
# Install and build images with **diskimage-builder**
diff --git a/lib/dstat b/lib/dstat
index 4ec10dc..8f456a8 100644
--- a/lib/dstat
+++ b/lib/dstat
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/dstat
# Functions to start and stop dstat
diff --git a/lib/gantt b/lib/gantt
index 485613f..5bd28c2 100644
--- a/lib/gantt
+++ b/lib/gantt
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/gantt
# Install and start **Gantt** scheduler service
diff --git a/lib/glance b/lib/glance
index 0970f94..8cda6be 100644
--- a/lib/glance
+++ b/lib/glance
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/glance
# Functions to control the configuration and operation of the **Glance** service
diff --git a/lib/heat b/lib/heat
index 3ed9a5f..49ed533 100644
--- a/lib/heat
+++ b/lib/heat
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/heat
# Install and start **Heat** service
@@ -251,17 +253,6 @@
get_or_create_role "heat_stack_user"
if [[ $HEAT_DEFERRED_AUTH == trusts ]]; then
-
- # heat_stack_owner role is given to users who create Heat stacks,
- # it's the default role used by heat to delegate to the heat service
- # user (for performing deferred operations via trusts), see heat.conf
- local heat_owner_role=$(get_or_create_role "heat_stack_owner")
-
- # Give the role to the demo and admin users so they can create stacks
- # in either of the projects created by devstack
- get_or_add_user_role $heat_owner_role demo demo
- get_or_add_user_role $heat_owner_role admin demo
- get_or_add_user_role $heat_owner_role admin admin
iniset $HEAT_CONF DEFAULT deferred_auth_method trusts
fi
diff --git a/lib/horizon b/lib/horizon
index 9fd1b85..3f3b1ca 100644
--- a/lib/horizon
+++ b/lib/horizon
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/horizon
# Functions to control the configuration and operation of the horizon service
diff --git a/lib/infra b/lib/infra
index cd439e7..57df07d 100644
--- a/lib/infra
+++ b/lib/infra
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/infra
#
# Functions to install infrastructure projects needed by other projects
diff --git a/lib/ironic b/lib/ironic
index b329438..fe7b1df 100644
--- a/lib/ironic
+++ b/lib/ironic
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/ironic
# Functions to control the configuration and operation of the **Ironic** service
@@ -60,7 +62,7 @@
IRONIC_SSH_USERNAME=${IRONIC_SSH_USERNAME:-`whoami`}
IRONIC_SSH_KEY_DIR=${IRONIC_SSH_KEY_DIR:-$IRONIC_DATA_DIR/ssh_keys}
IRONIC_SSH_KEY_FILENAME=${IRONIC_SSH_KEY_FILENAME:-ironic_key}
-IRONIC_KEY_FILE=$IRONIC_SSH_KEY_DIR/$IRONIC_SSH_KEY_FILENAME
+IRONIC_KEY_FILE=${IRONIC_KEY_FILE:-$IRONIC_SSH_KEY_DIR/$IRONIC_SSH_KEY_FILENAME}
IRONIC_SSH_VIRT_TYPE=${IRONIC_SSH_VIRT_TYPE:-virsh}
IRONIC_TFTPBOOT_DIR=${IRONIC_TFTPBOOT_DIR:-$IRONIC_DATA_DIR/tftpboot}
IRONIC_TFTPSERVER_IP=${IRONIC_TFTPSERVER_IP:-$HOST_IP}
@@ -460,7 +462,7 @@
# intentional sleep to make sure the tag has been set to port
sleep 10
- local tapdev=$(sudo ip netns exec qdhcp-${ironic_net_id} ip link list | grep tap | cut -d':' -f2 | cut -b2-)
+ local tapdev=$(sudo ip netns exec qdhcp-${ironic_net_id} ip link list | grep " tap" | cut -d':' -f2 | cut -b2-)
local tag_id=$(sudo ovs-vsctl show |grep ${tapdev} -A1 -m1 | grep tag | cut -d':' -f2 | cut -b2-)
# make sure veth pair is not existing, otherwise delete its links
@@ -626,15 +628,16 @@
}
function configure_ironic_ssh_keypair {
- # Generating ssh key pair for stack user
- if [[ ! -d $IRONIC_SSH_KEY_DIR ]]; then
- mkdir -p $IRONIC_SSH_KEY_DIR
- fi
if [[ ! -d $HOME/.ssh ]]; then
mkdir -p $HOME/.ssh
chmod 700 $HOME/.ssh
fi
- echo -e 'n\n' | ssh-keygen -q -t rsa -P '' -f $IRONIC_KEY_FILE
+ if [[ ! -e $IRONIC_KEY_FILE ]]; then
+ if [[ ! -d $(dirname $IRONIC_KEY_FILE) ]]; then
+ mkdir -p $(dirname $IRONIC_KEY_FILE)
+ fi
+ echo -e 'n\n' | ssh-keygen -q -t rsa -P '' -f $IRONIC_KEY_FILE
+ fi
cat $IRONIC_KEY_FILE.pub | tee -a $IRONIC_AUTHORIZED_KEYS_FILE
}
@@ -651,7 +654,7 @@
function configure_ironic_auxiliary {
configure_ironic_ssh_keypair
- ironic_ssh_check $IRONIC_SSH_KEY_DIR/$IRONIC_SSH_KEY_FILENAME $IRONIC_VM_SSH_ADDRESS $IRONIC_VM_SSH_PORT $IRONIC_SSH_USERNAME 10
+ ironic_ssh_check $IRONIC_KEY_FILE $IRONIC_VM_SSH_ADDRESS $IRONIC_VM_SSH_PORT $IRONIC_SSH_USERNAME 10
}
function build_ipa_coreos_ramdisk {
@@ -734,6 +737,9 @@
}
function prepare_baremetal_basic_ops {
+ if ! is_ironic_hardware; then
+ configure_ironic_auxiliary
+ fi
upload_baremetal_ironic_deploy
if ! is_ironic_hardware; then
create_bridge_and_vms
@@ -741,9 +747,6 @@
enroll_nodes
configure_tftpd
configure_iptables
- if ! is_ironic_hardware; then
- configure_ironic_auxiliary
- fi
}
function cleanup_baremetal_basic_ops {
diff --git a/lib/keystone b/lib/keystone
index 72a79be..a218732 100644
--- a/lib/keystone
+++ b/lib/keystone
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/keystone
# Functions to control the configuration and operation of **Keystone**
diff --git a/lib/ldap b/lib/ldap
index 2a3ba64..d69d3f8 100644
--- a/lib/ldap
+++ b/lib/ldap
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/ldap
# Functions to control the installation and configuration of **ldap**
diff --git a/lib/neutron b/lib/neutron
index 5a2bfea..8a63359 100644
--- a/lib/neutron
+++ b/lib/neutron
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/neutron
# functions - functions specific to neutron
@@ -99,6 +101,9 @@
NEUTRON_DIR=$DEST/neutron
+NEUTRON_FWAAS_DIR=$DEST/neutron-fwaas
+NEUTRON_LBAAS_DIR=$DEST/neutron-lbaas
+NEUTRON_VPNAAS_DIR=$DEST/neutron-vpnaas
NEUTRON_AUTH_CACHE_DIR=${NEUTRON_AUTH_CACHE_DIR:-/var/cache/neutron}
# Support entry points installation of console scripts
@@ -596,6 +601,18 @@
function install_neutron {
git_clone $NEUTRON_REPO $NEUTRON_DIR $NEUTRON_BRANCH
setup_develop $NEUTRON_DIR
+ if is_service_enabled q-fwaas; then
+ git_clone $NEUTRON_FWAAS_REPO $NEUTRON_FWAAS_DIR $NEUTRON_FWAAS_BRANCH
+ setup_develop $NEUTRON_FWAAS_DIR
+ fi
+ if is_service_enabled q-lbaas; then
+ git_clone $NEUTRON_LBAAS_REPO $NEUTRON_LBAAS_DIR $NEUTRON_LBAAS_BRANCH
+ setup_develop $NEUTRON_LBAAS_DIR
+ fi
+ if is_service_enabled q-vpn; then
+ git_clone $NEUTRON_VPNAAS_REPO $NEUTRON_VPNAAS_DIR $NEUTRON_VPNAAS_BRANCH
+ setup_develop $NEUTRON_VPNAAS_DIR
+ fi
if [ "$VIRT_DRIVER" == 'xenserver' ]; then
local dom0_ip
diff --git a/lib/neutron_plugins/bigswitch_floodlight b/lib/neutron_plugins/bigswitch_floodlight
index 9e84f2e..4166131 100644
--- a/lib/neutron_plugins/bigswitch_floodlight
+++ b/lib/neutron_plugins/bigswitch_floodlight
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# Neuton Big Switch/FloodLight plugin
# ------------------------------------
diff --git a/lib/neutron_plugins/brocade b/lib/neutron_plugins/brocade
index 511fb71..b8166d9 100644
--- a/lib/neutron_plugins/brocade
+++ b/lib/neutron_plugins/brocade
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# Brocade Neutron Plugin
# ----------------------
diff --git a/lib/neutron_plugins/cisco b/lib/neutron_plugins/cisco
index 95e0ab3..b067aa6 100644
--- a/lib/neutron_plugins/cisco
+++ b/lib/neutron_plugins/cisco
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# Neutron Cisco plugin
# ---------------------------
diff --git a/lib/neutron_plugins/embrane b/lib/neutron_plugins/embrane
index 7dafdc0..6b4819e 100644
--- a/lib/neutron_plugins/embrane
+++ b/lib/neutron_plugins/embrane
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# Neutron Embrane plugin
# ---------------------------
diff --git a/lib/neutron_plugins/ibm b/lib/neutron_plugins/ibm
index 39b0040..3660a9f 100644
--- a/lib/neutron_plugins/ibm
+++ b/lib/neutron_plugins/ibm
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# Neutron IBM SDN-VE plugin
# ---------------------------
diff --git a/lib/neutron_plugins/linuxbridge_agent b/lib/neutron_plugins/linuxbridge_agent
index 2638dd3..ec17c01 100644
--- a/lib/neutron_plugins/linuxbridge_agent
+++ b/lib/neutron_plugins/linuxbridge_agent
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# Neutron Linux Bridge L2 agent
# -----------------------------
diff --git a/lib/neutron_plugins/midonet b/lib/neutron_plugins/midonet
index 6ccd502..eb27ed6 100644
--- a/lib/neutron_plugins/midonet
+++ b/lib/neutron_plugins/midonet
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# Neutron MidoNet plugin
# ----------------------
diff --git a/lib/neutron_plugins/ml2 b/lib/neutron_plugins/ml2
index f9a9774..e3b2c4d 100644
--- a/lib/neutron_plugins/ml2
+++ b/lib/neutron_plugins/ml2
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# Neutron Modular Layer 2 plugin
# ------------------------------
diff --git a/lib/neutron_plugins/nec b/lib/neutron_plugins/nec
index f8d98c3..3b1a257 100644
--- a/lib/neutron_plugins/nec
+++ b/lib/neutron_plugins/nec
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# Neutron NEC OpenFlow plugin
# ---------------------------
diff --git a/lib/neutron_plugins/nuage b/lib/neutron_plugins/nuage
index 70de8fa..7bce233 100644
--- a/lib/neutron_plugins/nuage
+++ b/lib/neutron_plugins/nuage
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# Nuage Neutron Plugin
# ----------------------
diff --git a/lib/neutron_plugins/ofagent_agent b/lib/neutron_plugins/ofagent_agent
index 90b37f1..915badc 100644
--- a/lib/neutron_plugins/ofagent_agent
+++ b/lib/neutron_plugins/ofagent_agent
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# OpenFlow Agent plugin
# ----------------------
diff --git a/lib/neutron_plugins/oneconvergence b/lib/neutron_plugins/oneconvergence
index 4fd8c7c..48a368a 100644
--- a/lib/neutron_plugins/oneconvergence
+++ b/lib/neutron_plugins/oneconvergence
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# Neutron One Convergence plugin
# ------------------------------
diff --git a/lib/neutron_plugins/openvswitch b/lib/neutron_plugins/openvswitch
index 3b6567c..891ab49 100644
--- a/lib/neutron_plugins/openvswitch
+++ b/lib/neutron_plugins/openvswitch
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# Common code used by cisco and embrane plugins
# ---------------------------------------------
diff --git a/lib/neutron_plugins/openvswitch_agent b/lib/neutron_plugins/openvswitch_agent
index e1a6f4a..2ab61b0 100644
--- a/lib/neutron_plugins/openvswitch_agent
+++ b/lib/neutron_plugins/openvswitch_agent
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# Neutron Open vSwitch L2 agent
# -----------------------------
diff --git a/lib/neutron_plugins/ovs_base b/lib/neutron_plugins/ovs_base
index 07aa7cc..cde5298 100644
--- a/lib/neutron_plugins/ovs_base
+++ b/lib/neutron_plugins/ovs_base
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# common functions for ovs based plugin
# -------------------------------------
diff --git a/lib/neutron_plugins/plumgrid b/lib/neutron_plugins/plumgrid
index 7950ac0..0d711fe 100644
--- a/lib/neutron_plugins/plumgrid
+++ b/lib/neutron_plugins/plumgrid
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# PLUMgrid Neutron Plugin
# Edgar Magana emagana@plumgrid.com
# ------------------------------------
diff --git a/lib/neutron_plugins/services/firewall b/lib/neutron_plugins/services/firewall
index b5253db..ce1f93f 100644
--- a/lib/neutron_plugins/services/firewall
+++ b/lib/neutron_plugins/services/firewall
@@ -5,7 +5,7 @@
FW_XTRACE=$(set +o | grep xtrace)
set +o xtrace
-FWAAS_PLUGIN=neutron.services.firewall.fwaas_plugin.FirewallPlugin
+FWAAS_PLUGIN=neutron_fwaas.services.firewall.fwaas_plugin.FirewallPlugin
function neutron_fwaas_configure_common {
_neutron_service_plugin_class_add $FWAAS_PLUGIN
diff --git a/lib/neutron_plugins/services/loadbalancer b/lib/neutron_plugins/services/loadbalancer
index f84b710..bd9dc87 100644
--- a/lib/neutron_plugins/services/loadbalancer
+++ b/lib/neutron_plugins/services/loadbalancer
@@ -7,7 +7,7 @@
AGENT_LBAAS_BINARY="$NEUTRON_BIN_DIR/neutron-lbaas-agent"
-LBAAS_PLUGIN=neutron.services.loadbalancer.plugin.LoadBalancerPlugin
+LBAAS_PLUGIN=neutron_lbaas.services.loadbalancer.plugin.LoadBalancerPlugin
function neutron_agent_lbaas_install_agent_packages {
if is_ubuntu || is_fedora || is_suse; then
diff --git a/lib/neutron_plugins/services/vpn b/lib/neutron_plugins/services/vpn
index 2478c47..07f1f35 100644
--- a/lib/neutron_plugins/services/vpn
+++ b/lib/neutron_plugins/services/vpn
@@ -7,7 +7,7 @@
AGENT_VPN_BINARY="$NEUTRON_BIN_DIR/neutron-vpn-agent"
-VPN_PLUGIN=${VPN_PLUGIN:-"neutron.services.vpn.plugin.VPNDriverPlugin"}
+VPN_PLUGIN=${VPN_PLUGIN:-"neutron_vpnaas.services.vpn.plugin.VPNDriverPlugin"}
IPSEC_PACKAGE=${IPSEC_PACKAGE:-"openswan"}
function neutron_vpn_install_agent_packages {
diff --git a/lib/neutron_plugins/vmware_nsx b/lib/neutron_plugins/vmware_nsx
index f4eb82d..4cbedd6 100644
--- a/lib/neutron_plugins/vmware_nsx
+++ b/lib/neutron_plugins/vmware_nsx
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# Neutron VMware NSX plugin
# -------------------------
diff --git a/lib/neutron_thirdparty/bigswitch_floodlight b/lib/neutron_thirdparty/bigswitch_floodlight
index 033731e..e3f4689 100644
--- a/lib/neutron_thirdparty/bigswitch_floodlight
+++ b/lib/neutron_thirdparty/bigswitch_floodlight
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# Big Switch/FloodLight OpenFlow Controller
# ------------------------------------------
diff --git a/lib/neutron_thirdparty/midonet b/lib/neutron_thirdparty/midonet
index 099a66e..2c82d48 100644
--- a/lib/neutron_thirdparty/midonet
+++ b/lib/neutron_thirdparty/midonet
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# MidoNet
# -------
diff --git a/lib/neutron_thirdparty/ryu b/lib/neutron_thirdparty/ryu
index eaf088b..1f78a21 100644
--- a/lib/neutron_thirdparty/ryu
+++ b/lib/neutron_thirdparty/ryu
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# Ryu SDN Framework
# -----------------
diff --git a/lib/neutron_thirdparty/trema b/lib/neutron_thirdparty/trema
index 3e59ef2..075f013 100644
--- a/lib/neutron_thirdparty/trema
+++ b/lib/neutron_thirdparty/trema
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# Trema Sliceable Switch
# ----------------------
diff --git a/lib/neutron_thirdparty/vmware_nsx b/lib/neutron_thirdparty/vmware_nsx
index 7a20c64..7027a29 100644
--- a/lib/neutron_thirdparty/vmware_nsx
+++ b/lib/neutron_thirdparty/vmware_nsx
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# VMware NSX
# ----------
diff --git a/lib/nova b/lib/nova
index 0e6c6af..4c86d79 100644
--- a/lib/nova
+++ b/lib/nova
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/nova
# Functions to control the configuration and operation of the **Nova** service
@@ -264,9 +266,6 @@
configure_nova_rootwrap
if [[ "$ENABLED_SERVICES" =~ "n-api" ]]; then
- # Remove legacy paste config if present
- rm -f $NOVA_DIR/bin/nova-api-paste.ini
-
# Get the sample configuration file in place
cp $NOVA_DIR/etc/nova/api-paste.ini $NOVA_CONF_DIR
diff --git a/lib/nova_plugins/functions-libvirt b/lib/nova_plugins/functions-libvirt
index d3c4eab..4601eea 100644
--- a/lib/nova_plugins/functions-libvirt
+++ b/lib/nova_plugins/functions-libvirt
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/nova_plugins/functions-libvirt
# Common libvirt configuration functions
diff --git a/lib/nova_plugins/hypervisor-fake b/lib/nova_plugins/hypervisor-fake
index dc93633..3180d91 100644
--- a/lib/nova_plugins/hypervisor-fake
+++ b/lib/nova_plugins/hypervisor-fake
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/nova_plugins/hypervisor-fake
# Configure the fake hypervisor
diff --git a/lib/nova_plugins/hypervisor-ironic b/lib/nova_plugins/hypervisor-ironic
index abf59b8..4c2043b 100644
--- a/lib/nova_plugins/hypervisor-ironic
+++ b/lib/nova_plugins/hypervisor-ironic
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/nova_plugins/hypervisor-ironic
# Configure the ironic hypervisor
diff --git a/lib/nova_plugins/hypervisor-libvirt b/lib/nova_plugins/hypervisor-libvirt
index 123ca82..b1b4400 100644
--- a/lib/nova_plugins/hypervisor-libvirt
+++ b/lib/nova_plugins/hypervisor-libvirt
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/nova_plugins/hypervisor-libvirt
# Configure the libvirt hypervisor
diff --git a/lib/nova_plugins/hypervisor-openvz b/lib/nova_plugins/hypervisor-openvz
index a1636ad..cce36b8 100644
--- a/lib/nova_plugins/hypervisor-openvz
+++ b/lib/nova_plugins/hypervisor-openvz
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/nova_plugins/hypervisor-openvz
# Configure the openvz hypervisor
diff --git a/lib/nova_plugins/hypervisor-vsphere b/lib/nova_plugins/hypervisor-vsphere
index 9933a3c..c406e09 100644
--- a/lib/nova_plugins/hypervisor-vsphere
+++ b/lib/nova_plugins/hypervisor-vsphere
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/nova_plugins/hypervisor-vsphere
# Configure the vSphere hypervisor
diff --git a/lib/nova_plugins/hypervisor-xenserver b/lib/nova_plugins/hypervisor-xenserver
index 0dba471..db19cc2 100644
--- a/lib/nova_plugins/hypervisor-xenserver
+++ b/lib/nova_plugins/hypervisor-xenserver
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/nova_plugins/hypervisor-xenserver
# Configure the XenServer hypervisor
diff --git a/lib/opendaylight b/lib/opendaylight
index 831329a..936a17c 100644
--- a/lib/opendaylight
+++ b/lib/opendaylight
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/opendaylight
# Functions to control the configuration and operation of the opendaylight service
diff --git a/lib/oslo b/lib/oslo
index d00580b..31c9d34 100644
--- a/lib/oslo
+++ b/lib/oslo
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/oslo
#
# Functions to install oslo libraries from git
@@ -21,14 +23,14 @@
# Defaults
# --------
GITDIR["cliff"]=$DEST/cliff
-GITDIR["oslo.config"]=$DEST/oslo.config
GITDIR["oslo.concurrency"]=$DEST/oslo.concurrency
+GITDIR["oslo.config"]=$DEST/oslo.config
GITDIR["oslo.context"]=$DEST/oslo.context
GITDIR["oslo.db"]=$DEST/oslo.db
GITDIR["oslo.i18n"]=$DEST/oslo.i18n
GITDIR["oslo.log"]=$DEST/oslo.log
-GITDIR["oslo.middleware"]=$DEST/oslo.middleware
GITDIR["oslo.messaging"]=$DEST/oslo.messaging
+GITDIR["oslo.middleware"]=$DEST/oslo.middleware
GITDIR["oslo.rootwrap"]=$DEST/oslo.rootwrap
GITDIR["oslo.serialization"]=$DEST/oslo.serialization
GITDIR["oslo.utils"]=$DEST/oslo.utils
@@ -36,6 +38,7 @@
GITDIR["pycadf"]=$DEST/pycadf
GITDIR["stevedore"]=$DEST/stevedore
GITDIR["taskflow"]=$DEST/taskflow
+GITDIR["tooz"]=$DEST/tooz
# Support entry points installation of console scripts
OSLO_BIN_DIR=$(get_python_exec_prefix)
@@ -54,20 +57,22 @@
# install_oslo() - Collect source and prepare
function install_oslo {
_do_install_oslo_lib "cliff"
- _do_install_oslo_lib "oslo.i18n"
- _do_install_oslo_lib "oslo.utils"
- _do_install_oslo_lib "oslo.serialization"
- _do_install_oslo_lib "oslo.config"
_do_install_oslo_lib "oslo.concurrency"
- _do_install_oslo_lib "oslo.log"
- _do_install_oslo_lib "oslo.middleware"
- _do_install_oslo_lib "oslo.messaging"
- _do_install_oslo_lib "oslo.rootwrap"
+ _do_install_oslo_lib "oslo.config"
+ _do_install_oslo_lib "oslo.context"
_do_install_oslo_lib "oslo.db"
+ _do_install_oslo_lib "oslo.i18n"
+ _do_install_oslo_lib "oslo.log"
+ _do_install_oslo_lib "oslo.messaging"
+ _do_install_oslo_lib "oslo.middleware"
+ _do_install_oslo_lib "oslo.rootwrap"
+ _do_install_oslo_lib "oslo.serialization"
+ _do_install_oslo_lib "oslo.utils"
_do_install_oslo_lib "oslo.vmware"
_do_install_oslo_lib "pycadf"
_do_install_oslo_lib "stevedore"
_do_install_oslo_lib "taskflow"
+ _do_install_oslo_lib "tooz"
}
# Restore xtrace
diff --git a/lib/rpc_backend b/lib/rpc_backend
index 14c78fb..4c1efa6 100644
--- a/lib/rpc_backend
+++ b/lib/rpc_backend
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/rpc_backend
# Interface for interactig with different rpc backend
# rpc backend settings
diff --git a/lib/sahara b/lib/sahara
index 4f1ba22..c902d38 100644
--- a/lib/sahara
+++ b/lib/sahara
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/sahara
# Dependencies:
diff --git a/lib/stackforge b/lib/stackforge
index 2d80dad..cc3a689 100644
--- a/lib/stackforge
+++ b/lib/stackforge
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/stackforge
#
# Functions to install stackforge libraries that we depend on so
diff --git a/lib/swift b/lib/swift
index 9e61331..41f9e84 100644
--- a/lib/swift
+++ b/lib/swift
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/swift
# Functions to control the configuration and operation of the **Swift** service
diff --git a/lib/tempest b/lib/tempest
index 46c9e26..12e5213 100644
--- a/lib/tempest
+++ b/lib/tempest
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/tempest
# Install and configure Tempest
@@ -63,6 +65,7 @@
BOTO_MATERIALS_PATH="$FILES/images/s3-materials/cirros-${CIRROS_VERSION}"
+BOTO_CONF=$TEMPEST_DIR/boto.cfg
# Cinder/Volume variables
TEMPEST_VOLUME_DRIVER=${TEMPEST_VOLUME_DRIVER:-default}
@@ -78,6 +81,18 @@
# Functions
# ---------
+# remove_disabled_extension - removes disabled extensions from the list of extensions
+# to test for a given service
+function remove_disabled_extensions {
+ local extensions_list=$1
+ shift
+ local disabled_exts=$*
+ for ext_to_remove in ${disabled_exts//,/ } ; do
+ extensions_list=${extensions_list/$ext_to_remove","}
+ done
+ echo $extensions_list
+}
+
# configure_tempest() - Set config files, create data dirs, etc
function configure_tempest {
setup_develop $TEMPEST_DIR
@@ -247,7 +262,7 @@
fi
fi
- iniset $TEMPEST_CONF DEFAULT use_syslog $SYSLOG
+ iniset $TEMPEST_CONFIG DEFAULT use_syslog $SYSLOG
# Oslo
iniset $TEMPEST_CONFIG DEFAULT lock_path $TEMPEST_STATE_PATH
mkdir -p $TEMPEST_STATE_PATH
@@ -299,12 +314,24 @@
iniset $TEMPEST_CONFIG compute ssh_connect_method $ssh_connect_method
# Compute Features
+ # Run verify_tempest_config -ur to retrieve enabled extensions on API endpoints
+ # NOTE(mtreinish): This must be done after auth settings are added to the tempest config
+ local tmp_cfg_file=$(mktemp)
+ $TEMPEST_DIR/tempest/cmd/verify_tempest_config.py -uro $tmp_cfg_file
+
+ local compute_api_extensions=${COMPUTE_API_EXTENSIONS:-"all"}
+ if [[ ! -z "$DISABLE_COMPUTE_API_EXTENSIONS" ]]; then
+ # Enabled extensions are either the ones explicitly specified or those available on the API endpoint
+ compute_api_extensions=${COMPUTE_API_EXTENSIONS:-$(iniget $tmp_cfg_file compute-feature-enabled api_extensions | tr -d " ")}
+ # Remove disabled extensions
+ compute_api_extensions=$(remove_disabled_extensions $compute_api_extensions $DISABLE_COMPUTE_API_EXTENSIONS)
+ fi
+
iniset $TEMPEST_CONFIG compute-feature-enabled resize True
iniset $TEMPEST_CONFIG compute-feature-enabled live_migration ${LIVE_MIGRATION_AVAILABLE:-False}
iniset $TEMPEST_CONFIG compute-feature-enabled change_password False
iniset $TEMPEST_CONFIG compute-feature-enabled block_migration_for_live_migration ${USE_BLOCK_MIGRATION_FOR_LIVE_MIGRATION:-False}
- iniset $TEMPEST_CONFIG compute-feature-enabled api_extensions ${COMPUTE_API_EXTENSIONS:-"all"}
- iniset $TEMPEST_CONFIG compute-feature-disabled api_extensions ${DISABLE_COMPUTE_API_EXTENSIONS}
+ iniset $TEMPEST_CONFIG compute-feature-enabled api_extensions $compute_api_extensions
# Compute admin
iniset $TEMPEST_CONFIG "compute-admin" username $ADMIN_USERNAME
@@ -319,8 +346,15 @@
iniset $TEMPEST_CONFIG network default_network "$FIXED_RANGE"
iniset $TEMPEST_CONFIG network-feature-enabled ipv6 "$IPV6_ENABLED"
iniset $TEMPEST_CONFIG network-feature-enabled ipv6_subnet_attributes "$IPV6_SUBNET_ATTRIBUTES_ENABLED"
- iniset $TEMPEST_CONFIG network-feature-enabled api_extensions ${NETWORK_API_EXTENSIONS:-"all"}
- iniset $TEMPEST_CONFIG network-feature-disabled api_extensions ${DISABLE_NETWORK_API_EXTENSIONS}
+
+ local network_api_extensions=${NETWORK_API_EXTENSIONS:-"all"}
+ if [[ ! -z "$DISABLE_NETWORK_API_EXTENSIONS" ]]; then
+ # Enabled extensions are either the ones explicitly specified or those available on the API endpoint
+ network_api_extensions=${NETWORK_API_EXTENSIONS:-$(iniget $tmp_cfg_file network-feature-enabled api_extensions | tr -d " ")}
+ # Remove disabled extensions
+ network_api_extensions=$(remove_disabled_extensions $network_api_extensions $DISABLE_NETWORK_API_EXTENSIONS)
+ fi
+ iniset $TEMPEST_CONFIG network-feature-enabled api_extensions $network_api_extensions
# boto
iniset $TEMPEST_CONFIG boto ec2_url "$EC2_SERVICE_PROTOCOL://$SERVICE_HOST:8773/services/Cloud"
@@ -362,12 +396,25 @@
iniset $TEMPEST_CONFIG telemetry too_slow_to_test "False"
# Object storage
- iniset $TEMPEST_CONFIG object-storage-feature-enabled discoverable_apis ${OBJECT_STORAGE_API_EXTENSIONS:-"all"}
- iniset $TEMPEST_CONFIG object-storage-feature-disabled discoverable_apis ${OBJECT_STORAGE_DISABLE_API_EXTENSIONS}
+ local object_storage_api_extensions=${OBJECT_STORAGE_API_EXTENSIONS:-"all"}
+ if [[ ! -z "$DISABLE_OBJECT_STORAGE_API_EXTENSIONS" ]]; then
+ # Enabled extensions are either the ones explicitly specified or those available on the API endpoint
+ object_storage_api_extensions=${OBJECT_STORAGE_API_EXTENSIONS:-$(iniget $tmp_cfg_file object-storage-feature-enabled discoverable_apis | tr -d " ")}
+ # Remove disabled extensions
+ object_storage_api_extensions=$(remove_disabled_extensions $object_storage_api_extensions $DISABLE_STORAGE_API_EXTENSIONS)
+ fi
+ iniset $TEMPEST_CONFIG object-storage-feature-enabled discoverable_apis $object_storage_api_extensions
# Volume
- iniset $TEMPEST_CONFIG volume-feature-enabled api_extensions ${VOLUME_API_EXTENSIONS:-"all"}
- iniset $TEMPEST_CONFIG volume-feature-disabled api_extensions ${DISABLE_VOLUME_API_EXTENSIONS}
+ local volume_api_extensions=${VOLUME_API_EXTENSIONS:-"all"}
+ if [[ ! -z "$DISABLE_VOLUME_API_EXTENSIONS" ]]; then
+ # Enabled extensions are either the ones explicitly specified or those available on the API endpoint
+ volume_api_extensions=${VOLUME_API_EXTENSIONS:-$(iniget $tmp_cfg_file volume-feature-enabled api_extensions | tr -d " ")}
+ # Remove disabled extensions
+ volume_api_extensions=$(remove_disabled_extensions $volume_api_extensions $DISABLE_VOLUME_API_EXTENSIONS)
+ fi
+ iniset $TEMPEST_CONFIG volume-feature-enabled api_extensions $volume_api_extensions
+
if ! is_service_enabled c-bak; then
iniset $TEMPEST_CONFIG volume-feature-enabled backup False
fi
@@ -389,8 +436,8 @@
iniset $TEMPEST_CONFIG volume vendor_name "$TEMPEST_VOLUME_VENDOR"
fi
if [ $TEMPEST_VOLUME_DRIVER != "default" -o \
- $TEMPEST_STORAGE_PROTOCOL != $TEMPEST_DEFAULT_STORAGE_PROTOCOL ]; then
- iniset $TEMPEST_CONFIG volume storage_protocol $TEMPEST_STORAGE_PROTOCOL
+ "$TEMPEST_STORAGE_PROTOCOL" != "$TEMPEST_DEFAULT_STORAGE_PROTOCOL" ]; then
+ iniset $TEMPEST_CONFIG volume storage_protocol "$TEMPEST_STORAGE_PROTOCOL"
fi
# Dashboard
@@ -424,6 +471,12 @@
fi
done
+ if is_ssl_enabled_service "keystone" || is_service_enabled tls-proxy; then
+ # Use the BOTO_CONFIG environment variable to point to this file
+ iniset $BOTO_CONF Boto ca_certificates_file $SSL_BUNDLE_FILE
+ sudo chown $STACK_USER $BOTO_CONF
+ fi
+
# Restore IFS
IFS=$ifs
}
diff --git a/lib/template b/lib/template
index f77409b..2703788 100644
--- a/lib/template
+++ b/lib/template
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/template
# Functions to control the configuration and operation of the XXXX service
# <do not include this template file in ``stack.sh``!>
diff --git a/lib/tls b/lib/tls
index fdb798f..677895b 100644
--- a/lib/tls
+++ b/lib/tls
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/tls
# Functions to control the configuration and operation of the TLS proxy service
diff --git a/lib/trove b/lib/trove
index 60b2bdb..6cc5fa8 100644
--- a/lib/trove
+++ b/lib/trove
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/trove
# Functions to control the configuration and operation of the **Trove** service
diff --git a/lib/zaqar b/lib/zaqar
index 22ef5ef..0d1f6f4 100644
--- a/lib/zaqar
+++ b/lib/zaqar
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# lib/zaqar
# Install and start **Zaqar** service
diff --git a/stack.sh b/stack.sh
index cd1c200..375be28 100755
--- a/stack.sh
+++ b/stack.sh
@@ -780,7 +780,7 @@
git_clone_by_name "python-openstackclient"
setup_dev_lib "python-openstackclient"
else
- pip_install python-openstackclient
+ pip_install 'python-openstackclient>=1.0.0'
fi
diff --git a/stackrc b/stackrc
index ac79889..40cd18e 100644
--- a/stackrc
+++ b/stackrc
@@ -1,3 +1,5 @@
+#!/bin/bash
+#
# stackrc
#
# Find the other rc files
@@ -185,6 +187,18 @@
NEUTRON_REPO=${NEUTRON_REPO:-${GIT_BASE}/openstack/neutron.git}
NEUTRON_BRANCH=${NEUTRON_BRANCH:-master}
+# neutron fwaas service
+NEUTRON_FWAAS_REPO=${NEUTRON_FWAAS_REPO:-${GIT_BASE}/openstack/neutron-fwaas.git}
+NEUTRON_FWAAS_BRANCH=${NEUTRON_FWAAS_BRANCH:-master}
+
+# neutron lbaas service
+NEUTRON_LBAAS_REPO=${NEUTRON_LBAAS_REPO:-${GIT_BASE}/openstack/neutron-lbaas.git}
+NEUTRON_LBAAS_BRANCH=${NEUTRON_LBAAS_BRANCH:-master}
+
+# neutron vpnaas service
+NEUTRON_VPNAAS_REPO=${NEUTRON_VPNAAS_REPO:-${GIT_BASE}/openstack/neutron-vpnaas.git}
+NEUTRON_VPNAAS_BRANCH=${NEUTRON_VPNAAS_BRANCH:-master}
+
# compute service
NOVA_REPO=${NOVA_REPO:-${GIT_BASE}/openstack/nova.git}
NOVA_BRANCH=${NOVA_BRANCH:-master}
@@ -346,6 +360,10 @@
GITREPO["taskflow"]=${TASKFLOW_REPO:-${GIT_BASE}/openstack/taskflow.git}
GITBRANCH["taskflow"]=${TASKFLOW_BRANCH:-master}
+# tooz plugin manager
+GITREPO["tooz"]=${TOOZ_REPO:-${GIT_BASE}/openstack/tooz.git}
+GITBRANCH["tooz"]=${TOOZ_BRANCH:-master}
+
# pbr drives the setuptools configs
GITREPO["pbr"]=${PBR_REPO:-${GIT_BASE}/openstack-dev/pbr.git}
GITBRANCH["pbr"]=${PBR_BRANCH:-master}
@@ -552,7 +570,7 @@
if [[ "$ENABLED_SERVICES" =~ 'h-api' ]]; then
case "$VIRT_DRIVER" in
libvirt|ironic)
- HEAT_CFN_IMAGE_URL=${HEAT_CFN_IMAGE_URL:-"https://download.fedoraproject.org/pub/alt/openstack/20/x86_64/Fedora-x86_64-20-20140618-sda.qcow2"}
+ HEAT_CFN_IMAGE_URL=${HEAT_CFN_IMAGE_URL:-"https://download.fedoraproject.org/pub/fedora/linux/releases/21/Cloud/Images/x86_64/Fedora-Cloud-Base-20141203-21.x86_64.qcow2"}
IMAGE_URLS+=",$HEAT_CFN_IMAGE_URL"
;;
*)
@@ -577,7 +595,7 @@
PRECACHE_IMAGES=$(trueorfalse False $PRECACHE_IMAGES)
if [[ "$PRECACHE_IMAGES" == "True" ]]; then
# staging in update for nodepool
- IMAGE_URL="https://download.fedoraproject.org/pub/alt/openstack/20/x86_64/Fedora-x86_64-20-20140618-sda.qcow2"
+ IMAGE_URL="https://download.fedoraproject.org/pub/fedora/linux/releases/21/Cloud/Images/x86_64/Fedora-Cloud-Base-20141203-21.x86_64.qcow2"
if ! [[ "$IMAGE_URLS" =~ "$IMAGE_URL" ]]; then
IMAGE_URLS+=",$IMAGE_URL"
fi
@@ -621,6 +639,12 @@
# Service startup timeout
SERVICE_TIMEOUT=${SERVICE_TIMEOUT:-60}
+# Support alternative yum -- in future Fedora 'dnf' will become the
+# only supported installer, but for now 'yum' and 'dnf' are both
+# available in parallel with compatible CLIs. Allow manual switching
+# till we get to the point we need to handle this automatically
+YUM=${YUM:-yum}
+
# Following entries need to be last items in file
# Local variables:
diff --git a/tests/test_libs_from_pypi.sh b/tests/test_libs_from_pypi.sh
index 1b576d8..7e96bae 100755
--- a/tests/test_libs_from_pypi.sh
+++ b/tests/test_libs_from_pypi.sh
@@ -27,7 +27,7 @@
fi
done
-ALL_LIBS="python-novaclient oslo.config pbr oslo.context python-troveclient python-keystoneclient taskflow oslo.middleware pycadf python-glanceclient python-ironicclient tempest-lib oslo.messaging oslo.log cliff python-heatclient stevedore python-cinderclient glance_store oslo.concurrency oslo.db oslo.vmware keystonemiddleware oslo.serialization python-saharaclient django_openstack_auth python-openstackclient oslo.rootwrap oslo.i18n python-ceilometerclient oslo.utils python-swiftclient python-neutronclient"
+ALL_LIBS="python-novaclient oslo.config pbr oslo.context python-troveclient python-keystoneclient taskflow oslo.middleware pycadf python-glanceclient python-ironicclient tempest-lib oslo.messaging oslo.log cliff python-heatclient stevedore python-cinderclient glance_store oslo.concurrency oslo.db oslo.vmware keystonemiddleware oslo.serialization python-saharaclient django_openstack_auth python-openstackclient oslo.rootwrap oslo.i18n python-ceilometerclient oslo.utils python-swiftclient python-neutronclient tooz"
# Generate the above list with
# echo ${!GITREPO[@]}
diff --git a/tools/build_docs.sh b/tools/build_docs.sh
index f52b179..929d1e0 100755
--- a/tools/build_docs.sh
+++ b/tools/build_docs.sh
@@ -1,35 +1,19 @@
#!/usr/bin/env bash
-# **build_docs.sh** - Build the gh-pages docs for DevStack
+# **build_docs.sh** - Build the docs for DevStack
#
# - Install shocco if not found on PATH and INSTALL_SHOCCO is set
# - Clone MASTER_REPO branch MASTER_BRANCH
# - Re-creates ``doc/build/html`` directory from existing repo + new generated script docs
# Usage:
-## build_docs.sh [-o <out-dir>] [-g] [master|<repo> [<branch>]]
-## <repo> The DevStack repository to clone (default is DevStack github repo)
-## If a repo is not supplied use the current directory
-## (assumed to be a DevStack checkout) as the source.
-## <branch> The DevStack branch to check out (default is master; ignored if
-## repo is not specified)
-## . Use the current repo and branch (do not use with -p to
-## prevent stray files in the workspace being added tot he docs)
+## build_docs.sh [-o <out-dir>]
## -o <out-dir> Write the static HTML output to <out-dir>
## (Note that <out-dir> will be deleted and re-created to ensure it is clean)
-## -g Update the old gh-pages repo (set PUSH=1 to actually push up to RCB)
# Defaults
# --------
-# Source repo/branch for DevStack
-MASTER_REPO=${MASTER_REPO:-git://git.openstack.org/openstack-dev/devstack}
-MASTER_BRANCH=${MASTER_BRANCH:-master}
-
-# http://devstack.org is a GitHub gh-pages site in the https://github.com/cloudbuilders/devtack.git repo
-GH_PAGES_REPO=git@github.com:cloudbuilders/devstack.git
-
-DOCS_SOURCE=doc/source
HTML_BUILD=doc/build/html
# Keep track of the devstack directory
@@ -60,10 +44,8 @@
fi
# Process command-line args
-while getopts go: c; do
+while getopts o: c; do
case $c in
- g) GH_UPDATE=1
- ;;
o) HTML_BUILD=$OPTARG
;;
esac
@@ -71,55 +53,24 @@
shift `expr $OPTIND - 1`
-if [[ -n "$1" ]]; then
- master="master"
- if [[ "${master/#$1}" != "master" ]]; then
- # Partial match on "master"
- REPO=$MASTER_REPO
- else
- REPO=$1
- fi
- REPO_BRANCH=${2:-$MASTER_BRANCH}
-fi
-
-# Check out a specific DevStack branch
-if [[ -n $REPO ]]; then
- # Make a workspace
- TMP_ROOT=$(mktemp -d work-docs-XXXX)
- echo "Building docs in $TMP_ROOT"
- cd $TMP_ROOT
-
- # Get the master branch
- git clone $REPO devstack
- cd devstack
- if [[ -n "$REPO_BRANCH" ]]; then
- git checkout $REPO_BRANCH
- fi
-fi
-
-# Assumption is we are now in the DevStack workspace to be processed
-
# Processing
# ----------
-# Clean up build dir
-rm -rf $HTML_BUILD
+# Ensure build dir exists
mkdir -p $HTML_BUILD
# Get fully qualified dirs
-FQ_DOCS_SOURCE=$(cd $DOCS_SOURCE && pwd)
FQ_HTML_BUILD=$(cd $HTML_BUILD && pwd)
-# Get repo static
-cp -pr $FQ_DOCS_SOURCE/* $FQ_HTML_BUILD
-
# Insert automated bits
GLOG=$(mktemp gitlogXXXX)
+echo "<ul>" >$GLOG
git log \
--pretty=format:' <li>%s - <em>Commit <a href="https://review.openstack.org/#q,%h,n,z">%h</a> %cd</em></li>' \
--date=short \
- --since '6 months ago' | grep -v Merge >$GLOG
-sed -e $"/%GIT_LOG%/r $GLOG" $FQ_DOCS_SOURCE/changes.html >$FQ_HTML_BUILD/changes.html
+ --since '6 months ago' | grep -v Merge >>$GLOG
+echo "</ul>" >>$GLOG
+sed -i~ -e $"/^.*%GIT_LOG%.*$/r $GLOG" -e $"/^.*%GIT_LOG%.*$/s/^.*%GIT_LOG%.*$//" $FQ_HTML_BUILD/changes.html
rm -f $GLOG
# Build list of scripts to process
@@ -138,28 +89,6 @@
done
echo "$FILES" >doc/files
-if [[ -n $GH_UPDATE ]]; then
- GH_ROOT=$(mktemp -d work-gh-XXXX)
- cd $GH_ROOT
-
- # Pull the latest docs branch from devstack.org repo
- git clone -b gh-pages $GH_PAGES_REPO gh-docs
-
- # Get the generated files
- cp -pr $FQ_HTML_BUILD/* gh-docs
-
- # Collect the new generated pages
- (cd gh-docs; find . -name \*.html -print0 | xargs -0 git add)
-
- # Push our changes back up to the docs branch
- if ! git diff-index HEAD --quiet; then
- git commit -a -m "Update script docs"
- if [[ -n $PUSH ]]; then
- git push
- fi
- fi
-fi
-
# Clean up or report the temp workspace
if [[ -n REPO && -n $PUSH_REPO ]]; then
echo rm -rf $TMP_ROOT
diff --git a/tools/upload_image.sh b/tools/upload_image.sh
index d81a5c8..5d23f31 100755
--- a/tools/upload_image.sh
+++ b/tools/upload_image.sh
@@ -37,6 +37,7 @@
# Glance connection info. Note the port must be specified.
GLANCE_HOSTPORT=${GLANCE_HOSTPORT:-$GLANCE_HOST:9292}
+GLANCE_SERVICE_PROTOCOL=${GLANCE_SERVICE_PROTOCOL:-$SERVICE_PROTOCOL}
for IMAGE in "$*"; do
upload_image $IMAGE $TOKEN
diff --git a/tools/xen/functions b/tools/xen/functions
index c8efd57..4e9fede 100644
--- a/tools/xen/functions
+++ b/tools/xen/functions
@@ -10,7 +10,7 @@
}
function xapi_plugin_location {
- for PLUGIN_DIR in "/etc/xapi.d/plugins/" "/usr/lib/xcp/plugins/" "/usr/lib/xapi/plugins"; do
+ for PLUGIN_DIR in "/etc/xapi.d/plugins/" "/usr/lib/xcp/plugins/" "/usr/lib/xapi/plugins" "/usr/lib64/xapi/plugins"; do
if [ -d $PLUGIN_DIR ]; then
echo $PLUGIN_DIR
return 0
diff --git a/tox.ini b/tox.ini
index c8d3909..a958ae7 100644
--- a/tox.ini
+++ b/tox.ini
@@ -36,5 +36,5 @@
TOP_DIR={toxinidir}
INSTALL_SHOCCO=true
commands =
- bash tools/build_docs.sh
python setup.py build_sphinx
+ bash tools/build_docs.sh