Merge "Add heat_stack_owner role required by tempest"
diff --git a/data/devstack-plugins-registry.header b/data/devstack-plugins-registry.header
index f105fe9..6119ab5 100644
--- a/data/devstack-plugins-registry.header
+++ b/data/devstack-plugins-registry.header
@@ -1,20 +1,23 @@
..
- Note to patch submitters: this file is covered by a periodic proposal
- job. You should edit the files data/devstack-plugins-registry.footer
- data/devstack-plugins-registry.header instead of this one.
+
+ Note to patch submitters:
+
+ # ============================= #
+ # THIS FILE IS AUTOGENERATED ! #
+ # ============================= #
+
+ ** Plugins are found automatically and added to this list **
+
+ This file is created by a periodic proposal job. You should not
+ edit this file.
+
+ You should edit the files data/devstack-plugins-registry.footer
+ data/devstack-plugins-registry.header to modify this text.
==========================
DevStack Plugin Registry
==========================
-Since we've created the external plugin mechanism, it's gotten used by
-a lot of projects. The following is a list of plugins that currently
-exist. Any project that wishes to list their plugin here is welcomed
-to.
-
-Detected Plugins
-================
-
-The following are plugins that a script has found in the openstack/
-namespace, which includes but is not limited to official OpenStack
-projects.
+The following list is an automatically-generated collection of
+available DevStack plugins. This includes, but is not limited to,
+official OpenStack projects.
diff --git a/doc/source/plugin-registry.rst b/doc/source/plugin-registry.rst
index 999350f..5f38168 100644
--- a/doc/source/plugin-registry.rst
+++ b/doc/source/plugin-registry.rst
@@ -1,23 +1,26 @@
..
- Note to patch submitters: this file is covered by a periodic proposal
- job. You should edit the files data/devstack-plugins-registry.footer
- data/devstack-plugins-registry.header instead of this one.
+
+ Note to patch submitters:
+
+ # ============================= #
+ # THIS FILE IS AUTOGENERATED ! #
+ # ============================= #
+
+ ** Plugins are found automatically and added to this list **
+
+ This file is created by a periodic proposal job. You should not
+ edit this file.
+
+ You should edit the files data/devstack-plugins-registry.footer
+ data/devstack-plugins-registry.header to modify this text.
==========================
DevStack Plugin Registry
==========================
-Since we've created the external plugin mechanism, it's gotten used by
-a lot of projects. The following is a list of plugins that currently
-exist. Any project that wishes to list their plugin here is welcomed
-to.
-
-Detected Plugins
-================
-
-The following are plugins that a script has found in the openstack/
-namespace, which includes but is not limited to official OpenStack
-projects.
+The following list is an automatically-generated collection of
+available DevStack plugins. This includes, but is not limited to,
+official OpenStack projects.
====================================== ===
@@ -56,6 +59,7 @@
freezer-web-ui `git://git.openstack.org/openstack/freezer-web-ui <https://git.openstack.org/cgit/openstack/freezer-web-ui>`__
gce-api `git://git.openstack.org/openstack/gce-api <https://git.openstack.org/cgit/openstack/gce-api>`__
gnocchi `git://git.openstack.org/openstack/gnocchi <https://git.openstack.org/cgit/openstack/gnocchi>`__
+group-based-policy `git://git.openstack.org/openstack/group-based-policy <https://git.openstack.org/cgit/openstack/group-based-policy>`__
ironic `git://git.openstack.org/openstack/ironic <https://git.openstack.org/cgit/openstack/ironic>`__
ironic-inspector `git://git.openstack.org/openstack/ironic-inspector <https://git.openstack.org/cgit/openstack/ironic-inspector>`__
kingbird `git://git.openstack.org/openstack/kingbird <https://git.openstack.org/cgit/openstack/kingbird>`__
@@ -65,6 +69,7 @@
manila `git://git.openstack.org/openstack/manila <https://git.openstack.org/cgit/openstack/manila>`__
mistral `git://git.openstack.org/openstack/mistral <https://git.openstack.org/cgit/openstack/mistral>`__
monasca-api `git://git.openstack.org/openstack/monasca-api <https://git.openstack.org/cgit/openstack/monasca-api>`__
+monasca-log-api `git://git.openstack.org/openstack/monasca-log-api <https://git.openstack.org/cgit/openstack/monasca-log-api>`__
murano `git://git.openstack.org/openstack/murano <https://git.openstack.org/cgit/openstack/murano>`__
networking-6wind `git://git.openstack.org/openstack/networking-6wind <https://git.openstack.org/cgit/openstack/networking-6wind>`__
networking-bagpipe `git://git.openstack.org/openstack/networking-bagpipe <https://git.openstack.org/cgit/openstack/networking-bagpipe>`__
@@ -94,6 +99,7 @@
nova-docker `git://git.openstack.org/openstack/nova-docker <https://git.openstack.org/cgit/openstack/nova-docker>`__
nova-powervm `git://git.openstack.org/openstack/nova-powervm <https://git.openstack.org/cgit/openstack/nova-powervm>`__
octavia `git://git.openstack.org/openstack/octavia <https://git.openstack.org/cgit/openstack/octavia>`__
+openstack-ansible-os_swift_sync `git://git.openstack.org/openstack/openstack-ansible-os_swift_sync <https://git.openstack.org/cgit/openstack/openstack-ansible-os_swift_sync>`__
osprofiler `git://git.openstack.org/openstack/osprofiler <https://git.openstack.org/cgit/openstack/osprofiler>`__
python-freezerclient `git://git.openstack.org/openstack/python-freezerclient <https://git.openstack.org/cgit/openstack/python-freezerclient>`__
rally `git://git.openstack.org/openstack/rally <https://git.openstack.org/cgit/openstack/rally>`__
diff --git a/lib/cinder b/lib/cinder
index 4df7de8..607a6f8 100644
--- a/lib/cinder
+++ b/lib/cinder
@@ -386,6 +386,14 @@
"$CINDER_SERVICE_PROTOCOL://$CINDER_SERVICE_HOST:$CINDER_SERVICE_PORT/v2/\$(project_id)s" \
"$CINDER_SERVICE_PROTOCOL://$CINDER_SERVICE_HOST:$CINDER_SERVICE_PORT/v2/\$(project_id)s" \
"$CINDER_SERVICE_PROTOCOL://$CINDER_SERVICE_HOST:$CINDER_SERVICE_PORT/v2/\$(project_id)s"
+
+ get_or_create_service "cinderv3" "volumev3" "Cinder Volume Service V3"
+ get_or_create_endpoint \
+ "volumev3" \
+ "$REGION_NAME" \
+ "$CINDER_SERVICE_PROTOCOL://$CINDER_SERVICE_HOST:$CINDER_SERVICE_PORT/v3/\$(project_id)s" \
+ "$CINDER_SERVICE_PROTOCOL://$CINDER_SERVICE_HOST:$CINDER_SERVICE_PORT/v3/\$(project_id)s" \
+ "$CINDER_SERVICE_PROTOCOL://$CINDER_SERVICE_HOST:$CINDER_SERVICE_PORT/v3/\$(project_id)s"
fi
}
diff --git a/lib/neutron-legacy b/lib/neutron-legacy
index 084a356..c2729cb 100644
--- a/lib/neutron-legacy
+++ b/lib/neutron-legacy
@@ -946,10 +946,11 @@
# 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 addition plugin config files, set ``Q_PLUGIN_EXTRA_CONF_PATH``,
+ # For addition plugin config files, set ``Q_PLUGIN_EXTRA_CONF_PATH`` and
# ``Q_PLUGIN_EXTRA_CONF_FILES``. For example:
#
- # ``Q_PLUGIN_EXTRA_CONF_FILES=(file1, file2)``
+ # ``Q_PLUGIN_CONF_PATH=/path/to/plugins``
+ # ``Q_PLUGIN_EXTRA_CONF_FILES=(file1 file2)``
neutron_plugin_configure_common
if [[ "$Q_PLUGIN_CONF_PATH" == '' || "$Q_PLUGIN_CONF_FILENAME" == '' || "$Q_PLUGIN_CLASS" == '' ]]; then
diff --git a/lib/nova b/lib/nova
index 8823e1d..7c22910 100644
--- a/lib/nova
+++ b/lib/nova
@@ -466,7 +466,7 @@
if [ "$NOVA_ALLOW_MOVE_TO_SAME_HOST" == "True" ]; then
iniset $NOVA_CONF DEFAULT allow_resize_to_same_host "True"
fi
- iniset $NOVA_CONF DEFAULT api_paste_config "$NOVA_API_PASTE_INI"
+ iniset $NOVA_CONF wsgi api_paste_config "$NOVA_API_PASTE_INI"
iniset $NOVA_CONF DEFAULT rootwrap_config "$NOVA_CONF_DIR/rootwrap.conf"
iniset $NOVA_CONF DEFAULT scheduler_driver "$SCHEDULER"
iniset $NOVA_CONF DEFAULT scheduler_default_filters "$FILTERS"
diff --git a/lib/tempest b/lib/tempest
index 1678c4f..46dc1f8 100644
--- a/lib/tempest
+++ b/lib/tempest
@@ -430,6 +430,8 @@
iniset $TEMPEST_CONFIG volume-feature-enabled incremental_backup_force True
# TODO(ynesenenko): Remove the volume_services flag when Liberty and Kilo will correct work with host info.
iniset $TEMPEST_CONFIG volume-feature-enabled volume_services True
+ # TODO(ameade): Remove the api_v3 flag when Mitaka and Liberty are end of life.
+ iniset $TEMPEST_CONFIG volume-feature-enabled api_v3 True
if ! is_service_enabled c-bak; then
iniset $TEMPEST_CONFIG volume-feature-enabled backup False
diff --git a/tools/worlddump.py b/tools/worlddump.py
index 8c053e0..238a23d 100755
--- a/tools/worlddump.py
+++ b/tools/worlddump.py
@@ -27,6 +27,16 @@
import sys
+GMR_PROCESSES = (
+ 'nova-compute',
+ 'neutron-dhcp-agent',
+ 'neutron-l3-agent',
+ 'neutron-linuxbridge-agent',
+ 'neutron-metadata-agent',
+ 'neutron-openvswitch-agent',
+)
+
+
def get_options():
parser = argparse.ArgumentParser(
description='Dump world state for debugging')
@@ -191,17 +201,18 @@
_dump_cmd("sudo cat %s" % fullpath)
-def guru_meditation_report():
- _header("nova-compute Guru Meditation Report")
+def guru_meditation_reports():
+ for service in GMR_PROCESSES:
+ _header("%s Guru Meditation Report" % service)
- try:
- subprocess.check_call(["pgrep","nova-compute"])
- except subprocess.CalledProcessError:
- print("Skipping as nova-compute does not appear to be running")
- return
+ try:
+ subprocess.check_call(['pgrep', '-f', service])
+ except subprocess.CalledProcessError:
+ print("Skipping as %s does not appear to be running" % service)
+ continue
- _dump_cmd("kill -s USR2 `pgrep nova-compute`")
- print("guru meditation report in nova-compute log")
+ _dump_cmd("killall -e -USR2 %s" % service)
+ print("guru meditation report in %s log" % service)
def main():
@@ -218,7 +229,7 @@
iptables_dump()
ebtables_dump()
compute_consoles()
- guru_meditation_report()
+ guru_meditation_reports()
if __name__ == '__main__':
diff --git a/tox.ini b/tox.ini
index e8e7d7e..dbd1652 100644
--- a/tox.ini
+++ b/tox.ini
@@ -49,3 +49,13 @@
TOP_DIR={toxinidir}
commands =
python setup.py build_sphinx
+
+[testenv:venv]
+deps =
+ pbr>=0.6,!=0.7,<1.0
+ sphinx>=1.1.2,<1.2
+ oslosphinx
+ blockdiag
+ sphinxcontrib-blockdiag
+ sphinxcontrib-nwdiag
+commands = {posargs}