Merge "XenAPI: Add another plugin directory"
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/functions-common b/functions-common
index 24507fe..686b508 100644
--- a/functions-common
+++ b/functions-common
@@ -831,15 +831,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 +855,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 +865,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
}
diff --git a/lib/heat b/lib/heat
index 3ed9a5f..cdbd80c 100644
--- a/lib/heat
+++ b/lib/heat
@@ -251,17 +251,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/oslo b/lib/oslo
index 1fff1f5..79d63ba 100644
--- a/lib/oslo
+++ b/lib/oslo
@@ -36,6 +36,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)
@@ -69,6 +70,7 @@
_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/tempest b/lib/tempest
index 46c9e26..a606944 100644
--- a/lib/tempest
+++ b/lib/tempest
@@ -63,6 +63,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}
@@ -247,7 +248,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
@@ -389,8 +390,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 +425,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/stackrc b/stackrc
index ac79889..81b6067 100644
--- a/stackrc
+++ b/stackrc
@@ -346,6 +346,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}
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[@]}