Release-announce
Threads by month
- ----- 2025 -----
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
February 2017
- 1 participants
- 281 discussions
We are psyched to announce the release of:
trove-dashboard 8.0.0: Trove Management Dashboard
This release is part of the ocata release series.
Download the package from:
https://tarballs.openstack.org/trove-dashboard/
For more details, please see below.
8.0.0
^^^^^
Bug Fixes
* Enable cluster grow and shrink panels for pxc.
* The current caching initializes the instance list for the grow
cluster manager each time a new process would instantiate the
manager. Changed to manager to only initialize on creation.
Changes in trove-dashboard 7.0.0.0rc1..8.0.0
--------------------------------------------
27e3dd2 Imported Translations from Zanata
56918bc Imported Translations from Zanata
066d786 Update UPPER_CONSTRAINTS_FILE for stable/ocata
ec23f32 Update .gitreview for stable/ocata
9db7430 Imported Translations from Zanata
b65ab82 Imported Translations from Zanata
ab96a89 Imported Translations from Zanata
0985719 Imported Translations from Zanata
caca9fa Delete the unused LOG code
0ad8436 Remove the redundant "required=True"
22eeee6 Imported Translations from Zanata
6657919 Use 'trimmed' for blocktrans in html page
0a32abc Imported Translations from Zanata
9021ae6 Imported Translations from Zanata
fbc0b57 Imported Translations from Zanata
36a705f Enable pxc grow/shrink
10767f0 Fix grow cluster caching
61eb610 Update home-page in setup.cfg
0c9dab4 Fix Django 1.10 Compatibility
230a112 Add requirement for cross-process cache
aecd970 Imported Translations from Zanata
db411a5 Don't import ceilometer_data
913eb6e Show team and repo badges on README
de0ecc1 Imported Translations from Zanata
4e0cf0a Imported Translations from Zanata
e0011cc make trove-dashboard use upper-constraints
659b26a Imported Translations from Zanata
2c67740 Imported Translations from Zanata
0851511 Imported Translations from Zanata
bd6140d Enable release notes translation
84b3f8a Remove double closing <strong> tag in a template
7df1be0 Imported Translations from Zanata
2842185 Update release notes
ae3479f Update reno for stable/newton
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 1 +
README.rst | 32 +
.../enable-pxc-grow-shrink-17568a1c280f1c42.yaml | 3 +
.../fix-grow-cluster-cache-5625d1a519a4ee01.yaml | 5 +
releasenotes/source/conf.py | 3 +
releasenotes/source/index.rst | 8 +-
.../locale/en_GB/LC_MESSAGES/releasenotes.po | 61 -
.../source/locale/ja/LC_MESSAGES/releasenotes.po | 65 -
.../locale/ko_KR/LC_MESSAGES/releasenotes.po | 76 --
.../locale/zh_CN/LC_MESSAGES/releasenotes.po | 63 -
releasenotes/source/mitaka.rst | 6 -
releasenotes/source/newton.rst | 6 +
setup.cfg | 2 +-
tools/pip_install.sh | 6 +-
tox.ini | 18 +-
trove_dashboard/content/database_backups/tables.py | 9 +-
.../database_backups/_backup_details_help.html | 4 +-
trove_dashboard/content/database_backups/urls.py | 6 +-
.../content/database_clusters/cluster_manager.py | 13 +-
trove_dashboard/content/database_clusters/forms.py | 1 -
.../database_clusters/_reset_password.html | 4 +-
trove_dashboard/content/database_clusters/urls.py | 6 +-
.../content/database_configurations/tables.py | 3 -
.../content/database_configurations/urls.py | 6 +-
trove_dashboard/content/databases/db_capability.py | 3 +-
trove_dashboard/content/databases/logs/urls.py | 15 +-
.../templates/databases/_attach_config.html | 2 +-
.../templates/databases/_launch_advanced_help.html | 2 +-
.../templates/databases/_launch_details_help.html | 4 +-
.../databases/_launch_initialize_help.html | 6 +-
.../templates/databases/_launch_network_help.html | 2 +-
.../templates/databases/logs/_detail_log.html | 1 -
.../templates/databases/logs/_log_contents.html | 1 -
trove_dashboard/content/databases/urls.py | 6 +-
trove_dashboard/locale/cs/LC_MESSAGES/django.po | 35 +-
trove_dashboard/locale/de/LC_MESSAGES/django.po | 584 +++++++-
trove_dashboard/locale/de/LC_MESSAGES/djangojs.po | 39 +
trove_dashboard/locale/fr/LC_MESSAGES/django.po | 398 +++++-
trove_dashboard/locale/fr/LC_MESSAGES/djangojs.po | 39 +
trove_dashboard/locale/id/LC_MESSAGES/django.po | 1434 ++++++++++++++++++++
trove_dashboard/locale/id/LC_MESSAGES/djangojs.po | 39 +
trove_dashboard/locale/ja/LC_MESSAGES/django.po | 241 +++-
trove_dashboard/locale/ko_KR/LC_MESSAGES/django.po | 70 +-
trove_dashboard/locale/pt_BR/LC_MESSAGES/django.po | 35 +-
trove_dashboard/locale/ru/LC_MESSAGES/django.po | 461 ++++++-
trove_dashboard/locale/ru/LC_MESSAGES/djangojs.po | 40 +
trove_dashboard/locale/zh_CN/LC_MESSAGES/django.po | 97 +-
trove_dashboard/test/test_data/utils.py | 2 -
trove_dashboard/test/urls.py | 5 +-
50 files changed, 3364 insertions(+), 632 deletions(-)
1
0
We are pumped to announce the release of:
zaqar-ui 2.0.0: Zaqar User Interface
This release is part of the ocata release series.
The source is available from:
http://git.openstack.org/cgit/openstack/zaqar-ui
Download the package from:
https://tarballs.openstack.org/zaqar-ui/
Please report issues through launchpad:
http://bugs.launchpad.net/zaqar-ui
For more details, please see below.
2.0.0
^^^^^
New Features
************
* Use initAction() instead initScope(). initScope() is deprecated
from Horizon in Ocata and will be removed in Queens.
* Storage pool flavors management panel is added. This panel is
added into Admin dashboard. Also create, update and delete actions
are implemeted. Create action is implemented as globalAction, so it
is callable from other panels.
* Storage pools management panel is added. This panel is added into
Admin dashboard. Also create, update and delete actions are
implemeted. Create action is implemented as globalAction, so it is
callable from other panels.
Other Notes
***********
* Switch to reno for managing release notes.
Changes in zaqar-ui 1.0.0..2.0.0
--------------------------------
440a103 Imported Translations from Zanata
0daee07 Imported Translations from Zanata
aa2486b Add CRUD actions for pool flavor
cfb9805 Imported Translations from Zanata
49fd541 Imported Translations from Zanata
ecb4178 Add CRUD actions for pool
bfd6536 Imported Translations from Zanata
911e6a6 Add release notes for initAction
8c41da4 Updated from global requirements
4f7e348 Add reno for releasenotes management
43c93dc Add pool flavors panel into admin dashboard
13820b1 Add pools panel into admin dashboard
61b638e Add REST APIs for pools and flavors
e524400 Use initAction instead initScope
5a907b8 Updated from global requirements
4c10e97 Show team and repo badges on README
523c05e Remove mox in zaqar_ui/test/helpers.py
23451be Updated from global requirements
b10bb7e Imported Translations from Zanata
6f64ba4 Change "Openstack" to "OpenStack"
aa58970 Imported Translations from Zanata
e49ad36 Updated from global requirements
bcfea7c Imported Translations from Zanata
95c3ad4 Imported Translations from Zanata
0c01ed6 Updated from global requirements
3501299 Updated from global requirements
07b7ef2 Add .mo to .gitignore
f8a7939 Add Apache 2.0 license to source file
b5d31d5 Enable test coverage for python in tox
f6784a2 Fix eslint errors
4264fc3 Setup JavaScript test environment
ee3e366 Update homepage with developer documentation page
62ed853 Remove *openstack/common* in flake8 exclude list
19bca99 Setup python test environment
Diffstat (except docs and test files)
-------------------------------------
.eslintrc | 60 ++++
.gitignore | 15 +-
README.rst | 9 +
package.json | 35 ++
releasenotes/notes/.placeholder | 0
releasenotes/notes/add-reno-73ba99b04ff2e5c8.yaml | 3 +
.../notes/init-action-fe41bfe3e2473364.yaml | 6 +
.../notes/pool-flavor-panel-acf61d32e34246f2.yaml | 8 +
.../notes/pool-panel-020bf94bc34b4cd8.yaml | 8 +
releasenotes/source/_static/.placeholder | 0
releasenotes/source/_templates/.placeholder | 0
releasenotes/source/conf.py | 276 +++++++++++++++
releasenotes/source/index.rst | 10 +
.../source/locale/de/LC_MESSAGES/releasenotes.po | 64 ++++
.../source/locale/id/LC_MESSAGES/releasenotes.po | 40 +++
.../source/locale/ja/LC_MESSAGES/releasenotes.po | 40 +++
releasenotes/source/unreleased.rst | 6 +
requirements.txt | 2 +-
setup.cfg | 8 +-
test-requirements.txt | 11 +-
test-shim.js | 97 ++++++
tox.ini | 49 +--
zaqar_ui/api/rest/zaqar.py | 192 ++++++++++-
zaqar_ui/api/zaqar.py | 52 +++
zaqar_ui/content/pool-flavors/__init__.py | 0
zaqar_ui/content/pool-flavors/panel.py | 22 ++
zaqar_ui/content/pool-flavors/urls.py | 19 ++
zaqar_ui/content/pools/__init__.py | 0
zaqar_ui/content/pools/panel.py | 22 ++
zaqar_ui/content/pools/urls.py | 19 ++
zaqar_ui/enabled/_2510_admin_messaging_group.py | 24 ++
zaqar_ui/enabled/_2520_admin_pools.py | 22 ++
zaqar_ui/enabled/_2530_admin_pool_flavors.py | 23 ++
zaqar_ui/enabled/__init__.py | 0
zaqar_ui/karma.conf.js | 155 +++++++++
zaqar_ui/locale/de/LC_MESSAGES/django.po | 32 ++
zaqar_ui/locale/de/LC_MESSAGES/djangojs.po | 375 +++++++++++++++++++++
zaqar_ui/locale/fr/LC_MESSAGES/django.po | 21 ++
zaqar_ui/locale/fr/LC_MESSAGES/djangojs.po | 180 ++++++++++
zaqar_ui/locale/id/LC_MESSAGES/django.po | 32 ++
zaqar_ui/locale/id/LC_MESSAGES/djangojs.po | 224 ++++++++++++
zaqar_ui/locale/ja/LC_MESSAGES/django.po | 17 +-
zaqar_ui/locale/ja/LC_MESSAGES/djangojs.po | 58 +++-
zaqar_ui/locale/ru/LC_MESSAGES/django.po | 22 ++
zaqar_ui/locale/ru/LC_MESSAGES/djangojs.po | 181 ++++++++++
.../core/openstack-service-api/zaqar.service.js | 66 +++-
.../admin/pool-flavors/actions/actions.module.js | 86 +++++
.../admin/pool-flavors/actions/create.service.js | 84 +++++
.../admin/pool-flavors/actions/delete.service.js | 138 ++++++++
.../admin/pool-flavors/actions/update.service.js | 93 +++++
.../admin/pool-flavors/actions/workflow.service.js | 120 +++++++
.../dashboard/admin/pool-flavors/drawer.html | 5 +
.../static/dashboard/admin/pool-flavors/panel.html | 4 +
.../admin/pool-flavors/pool-flavors.module.js | 101 ++++++
.../dashboard/admin/pool-flavors/pool-flavors.scss | 4 +
.../admin/pool-flavors/pool-flavors.service.js | 61 ++++
.../admin/pools/actions/actions.module.js | 86 +++++
.../admin/pools/actions/create.service.js | 84 +++++
.../admin/pools/actions/delete.service.js | 138 ++++++++
.../admin/pools/actions/update.service.js | 95 ++++++
.../admin/pools/actions/workflow.service.js | 138 ++++++++
zaqar_ui/static/dashboard/admin/pools/drawer.html | 5 +
zaqar_ui/static/dashboard/admin/pools/panel.html | 4 +
.../static/dashboard/admin/pools/pools.module.js | 121 +++++++
.../static/dashboard/admin/pools/pools.service.js | 61 ++++
.../project/queues/actions/create-queue.service.js | 37 +-
.../queues/actions/create-queue.workflow.js | 6 +-
.../queues/actions/create-subscription.service.js | 41 ++-
.../queues/actions/create-subscription.workflow.js | 6 +-
.../project/queues/actions/delete-queue.service.js | 40 ++-
.../project/queues/actions/update-queue.service.js | 43 ++-
.../queues/actions/update-queue.workflow.js | 6 +-
.../dashboard/project/queues/queues.module.js | 4 +
.../queue-details/queue-details.controller.js | 16 +-
.../queue-metadata/queue-metadata.controller.js | 11 +-
.../steps/subscription/subscription.controller.js | 10 +-
.../project/queues/table/queue.controller.js | 4 +-
.../queues/table/subscription.controller.js | 10 +-
.../util/validators/validateSubscriber.js | 3 +-
zaqar_ui/test/__init__.py | 0
zaqar_ui/test/helpers.py | 42 +++
zaqar_ui/test/settings.py | 37 ++
zaqar_ui/test/test_data.py | 24 ++
zaqar_ui/version.py | 12 +
88 files changed, 4202 insertions(+), 133 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 4068b2b..e440d04 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -10 +10 @@
-pbr>=1.6 # Apache-2.0
+pbr>=1.8 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 207b058..d51a106 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -12 +12 @@ hacking<0.11,>=0.10.2
-coverage>=3.6 # Apache-2.0
+coverage>=4.0 # Apache-2.0
@@ -15,2 +15,2 @@ mock>=2.0 # BSD
-mox3>=0.7.0 # Apache-2.0
-nodeenv>=0.9.4 # BSD License # BSD
+mox3!=0.19.0,>=0.7.0 # Apache-2.0
+nodeenv>=0.9.4 # BSD
@@ -22 +22,2 @@ openstack.nose-plugin>=0.7 # Apache-2.0
-oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0
+oslosphinx>=4.7.0 # Apache-2.0
+reno>=1.8.0 # Apache-2.0
@@ -24 +25 @@ selenium>=2.50.1 # Apache-2.0
-sphinx!=1.3b1,<1.3,>=1.2.1 # BSD
+sphinx!=1.3b1,<1.4,>=1.2.1 # BSD
1
0
We are pleased to announce the release of:
trove 7.0.0: OpenStack DBaaS
This release is part of the ocata release series.
Download the package from:
https://tarballs.openstack.org/trove/
For more details, please see below.
7.0.0
^^^^^
New Features
************
* Add 'max-prepared-stmt-cnt' to the list of valid values which can
be used in configuration groups for Mysql, Percona, MariaDB and PXC
* Support attaching and detaching of configuration groups on
clusters.
* Add support for cluster restart.
* Modules can now be applied in a consistent order, based on the new
'priority_apply' and 'apply_order' attributes when creating them.
Blueprint module-management-ordering
* Adds a region property to the instance model and table. This is
the first step in multi-region support.
* Add RBAC (role-based access control) enforcement on all trove
APIs. Allows to define a role-based access rule for every trove API
call (rule definitions are available in /etc/trove/policy.json).
Upgrade Notes
*************
* For module ordering to work, db_upgrade must be run on the Trove
database.
Bug Fixes
*********
* The payload for cluster GET now returns ips for all networks, not
just the first one found for each instance. Bug 1642695
* Module list/show now returns boolean values as True/False instead
of 1/0. Bug 1656398
* Fix race condition in cluster-show that returned erroneous not
found error. Bug 1643002
* Since SafeConfigParser is deprecated in Python version 3.2, Trove
uses ConfigParser for versions of Python >= 3.2 and SafeConfigParser
for earlier versions. (Bug 1618666)
* Fix Postgresql promote (bug 1633515).
* Case where a new instance_modules record is written for each apply
has been fixed. This issue would have potentially made it impossible
to delete a module. Bug 1640010
* Pass instance nic and az to cluster grow. Add specific Fix for
mongodb to use the instance nic and az.
* Improved mountpoint detection by running it as root. This prevents
guests that have undiscoverable mount points from failing to
unmount.
* After upgrading the guestagent was in an inconsistent state. This
became apparent after restarting or resizing the instance after
upgrading.
Other Notes
***********
* Add ephemeral column in flavor-list (Bug 1617980)
* Add Compute ID (server_id) and Volume ID (volume_id) to trove show
output for admin users. Bug
Changes in trove 6.0.0.0rc1..7.0.0
----------------------------------
0faa924 fix requirements file branching for trove guests
8dbfcb5 Update UPPER_CONSTRAINTS_FILE for stable/ocata
5afbaa2 Update .gitreview for stable/ocata
577d43b insulate TroveContext from possible changes in oslo.context
515afe5 Prepare for using standard python tests
49a6f56 unwedge the gate
be5548c Add translation_checks for i18n
e67f63c Add i18n tranlastion to guestagent datastore 2/5
7df52d1 Add i18n translation to guestagent datastore 1/5
c50c065 Add i18n translation to others 3/3
c93ef6d Add i18n translation to extensions 3/3
cdb22e1 Updated from global requirements
9bca402 Add configuration support for clusters
4daa7a9 [gate fix] Handle case where hostname ends in .1
d936d67 [gate fix] Run resize-* for MySQL only
1a06f51 flake8 to ignore releasenotes directory
6f5f107 backoff in poll_until
e6ee606 [fix gate] Change size of MySQL flavors
ca4843c Test to figure out why CONTROLLER_IP is blank
57e4602 Disable wait for force-delete
49d5558 Display boolean module values
6e7fa19 Add support for cluster restart
a7115e2 secure oslo_messaging.rpc
da7b011 Add i18n translation to guestagent datastore 3/5
9c15f86 Add i18n translation to guestagent 3/5
6f604a7 Add i18n translation to guestagent 4/5
a714ead Add i18n translation to extensions 2/3
05b2b5b Enable Redis configuration tests
46f07e5 Fix trovestack clean to remove nova instances
6f0db72 Remove negative backup tests
606c597 Have scenario tests retrive guest log on error
f108c4a Updated from global requirements
42c7a40 Move try-again loop around all data methods
8cc08c7 Remove netifaces useless requirement
8d268fe Skip redis clustering tests
b0d87bd Update method cfg.set_defaults
85339a2 Add support for module ordering on apply
97266f9 Updated from global requirements
773069c Fix Redis cluster grow scenario tests
8d5576a Replace pexpect with processutils in volume.py
07f547a Restrict negative backup tests to Redis only
fb237d1 Updated from global requirements
83c82be get rid of a couple of old oslo-incubator object references
b2b0c2e Add missing LOG mocks to unittests
98093d4 Remove negative backup tests from api run
015b2b0 Trivial: Remove vim header from source files
82cf259 Print error on resize failure
966b777 formalizing configure_nova_kvm
97f2916 Add i18n translation to others 2/3
1f86712 Add i18n translation to guestagent 2/5
324818e Add i18n translation common 5/5
2dea3d6 Fix i18n translation in common 1/5
6c802f4 Add i18n tranlastion to common 3/5
b4ba99e Add i18n translation to common 2/5
7e2d305 Add i18n translation to guestagent 1/5
9f17051 Add i18n translation to others 1/3
28b5d17 Add i18n translation to guestagent 5/5
e730ec3 Add i18n tranlation to common 4/5
706f1d7 Add i18n translation to guestagent datastore 4/5
8458512 Add i18n translation to extenstions 1/3
1923b5f Add i18n translation to guestagent datastore 5/5
ed0c41b Fix Trove tempest plugin
ae74cd0 allow unauthenticated packages to be installed
d9580fc Avoid double-check when waiting for test states
6d1349e trove pylint cleanup(s)
4797115 Tweak trove devstack plugin
cc167fa Have inst-error delete before inst-create-wait
a5ddca5 (fix gate) Remove liberty from the releasenotes
262a9eb Debug code to dump env
48f4fa5 Fix Gate: Force pip2 instead of pip
f5d1cae Fix backup of mysql variants on Centos
eda431d Add support for nic and az in cluster grow
5fde4a5 Clean up trovestack utility (fix kick-start)
d558e5c Stop caching client to fix long-running test fails
c0c0249 Add Xenial support for MariaDB
60d3617 Add DeprecationWarning in test environments
40ab14e Removing reference to trove-integration in doc index
21250cf Add support for Oslo Policies to Trove
5f355a8 Tests skip adding data if instance not exists
77fd701 Fix a typo
d54cd03 (fix troveclient gate) Use alt-demo network
91430cd Show team and repo badges on README
d0adcc8 Updated from global requirements
1911c5f Fix slow nodes causing guest_log to fail
6606baf (fix gate) Don't source openrc in gate run
8bd7aa8 Initial work to support Xenial
c63ca98 Various post-upgrade fixes
91074c6 Fix mountpoint detection
c666032 Create net/subnet for alt_demo tenant
17ba7bc Add compute instance ID and volume ID to trove show output
434a72b Scenario tests wait on helper user creation
3421e71 Have api tests use IPv4
34c9447 Updated from global requirements
93f1ae8 Allow splitting test groups into sub groups
f522209 Removed check for KEYSTONE_CATALOG_BACKEND from trove plugin
fa778af Fix Galera_common.grow/shrink to propogate exceptions
63ff364 trovestack: Better error message for missing arg
873642e Updated from global requirements
937620e Fix log-generator-user-by-row test
1b114c8 Fix race condition in cluster-show
126e121 clean up references to trove-integration and redstack
ac2d1bd Have cluster-show list all ips
2f3703b Fix module apply
7b36391 Have scenario tests use ipv4
0a9b1e4 Enable hacking extensions framework
4895f6b Fix error case where server.fault is missing
f89ecc9 Delete description of the disk
16c6ec8 Fail on deleting non-existing database
c4968ec Install Couchbase SDK for scenario test client
da2dc0a when pylint has an error loading the config, it should fail
467ea80 Files with no code must be left completely empty
0ad544b Updated from global requirements
fb96b61 Add pycrypto to the requirements file
3f93ff1 Multi-Region Support
af0d2bd trovestack clean doesn't delete secgroups
41ef64a Updated from global requirements
bb941f7 Change the way trovestack figures the default network
6932c03 Add reference to OpenStack documentation
36ba1c8 add section on code review priority
d564185 Updated from global requirements
ba91e98 Remove blacklist test volume
357930d Update the Signing Key for Percona Debian and Ubuntu Packages
9e502e8 Update some information
0afac6b Fix a typo in previous commit; missed $
741b86b Remove nic handling in galera cluster grow
28b6f76 Fix incorrect version and release details
156318d Make trovestack able to run in the gate context
e23928b Fix scenario tests
8b7e6e6 Updated from global requirements
b0598f0 allow PATH_TROVE to be specified by gate or defaulted by trovestack
eb51bbe Issue deprecation warning for the use of heat templates in Trove
e01f100 PostgreSQL guest_log test fails intermittently
16bae26 Fix Postgresql pg_rewind call
8b89d26 Updated from global requirements
12f53b7 Drop MANIFEST.in - it's not needed by pbr
1c819c3 Improve guestagent datastore models
0f0843d Updated from global requirements
490492b beginning to change trove-integration
b120be1 Merge trove-integration into trove
18f23a7 Fix RPC Versioning
6593986 Remove downgrade
e587611 Enable release notes translation
268ba88 Extract RPMPackagerMixin
c65d5c0 Removed H237 from tox.ini
0b88795 Delete unnessary i18n
dceb26e Fix some typos in doc and comments
bea853a Cluster Upgrade
d76d855 Fix typos in description
00b3f8a Fix SafeConfigParser DeprecationWarning in Python 3.2
ebbaab9 Updated from global requirements
39bf8d3 Fix Old style classes are deprecated and no longer available in Python 3
ffdb9c5 Fix a typo in service.py and trove_testtools.py
ef2d59b Use more specific asserts in tests
b9d8406 Add Apache 2.0 license to source file
448138c Modify parameters of spelling mistakes
62951f1 Updated from global requirements
7fd8801 Merge Postgresql service modules
c1d2f3d [api-ref] configure LogABug feature
f21032a Delete openstack in flake8
02ec3c6 Taskmgr & guestagent use inconsistent topics
ee4edd4 Make parameter consistent in devstack plugin
931b993 Fixing trove config group request
62a5c3c Remove cfg and logging import unused
489f38e Concentrated test_validate_xx_configuration to a new method
75a6fcc Add max_prepared_stmt_count to validation rules
ca95916 update contributing.rst to reflect release notes and bugs
4573969 Use common methods for cluster validation
550c504 Remove unused variables
616154f Fixup indentation errors
2e34449 Updated from global requirements
e89dfbd Skip 'eject valid master' replication test
8c6d49d Fix the Manager module path in documentation
d5e8e64 Fix Postgresql configuration test and guest-log
2223c83 Perfect the mysql test
36b8605 Repeat definition blacklist
375a18d Fix typos in validation-rules.json & service.py
bf73393 Delete unused method verify_errors
a2d336d improve pylint; generate errors and config in sorted order
a01beb4 Fix pylint Error:PGSQL_RECOVERY_CONFIG
3bf1944 Fix call to to_mb
095c7a1 Missing logging import
469bf6a Display flavor-ephemeral in trove flavor-list command
129fac7 Updated from global requirements
092966a Fix error: option --no-parallel not recognized
dee522d Update reno for stable/newton
9101308 Use assertIn instead of assertTrue(A in B)
d1fd1ac document configure and verify steps
fab4221 Remove unused parameters
07e0330 Config logABug feature for Trove api-ref
583d5cd Use http_proxy_to_wsgi middleware
Diffstat (except docs and test files)
-------------------------------------
.coveragerc | 2 +-
.gitreview | 1 +
CONTRIBUTING.rst | 128 +-
HACKING.rst | 7 +
MANIFEST.in | 12 -
README.rst | 5 +-
api-ref/source/conf.py | 17 +
api-ref/source/flavors.inc | 2 +-
api-ref/source/parameters.yaml | 68 +-
.../db-backup-restore-response-json-http.txt | 2 +-
.../source/samples/db-backup-restore-response.json | 1 +
.../samples/db-create-config-group-request.json | 12 +-
.../db-create-instance-response-json-http.txt | 2 +-
.../samples/db-create-instance-response.json | 1 +
.../db-flavors-by-id-response-json-http.txt | 2 +-
.../source/samples/db-flavors-by-id-response.json | 1 +
.../samples/db-flavors-response-json-http.txt | 2 +-
api-ref/source/samples/db-flavors-response.json | 13 +
...b-instance-status-detail-response-json-http.txt | 2 +-
.../db-instance-status-detail-response.json | 1 +
...stances-index-pagination-response-json-http.txt | 2 +-
.../db-instances-index-pagination-response.json | 2 +
.../db-instances-index-response-json-http.txt | 2 +-
.../samples/db-instances-index-response.json | 1 +
.../samples/db-list-cfg-defaults-response.json | 3 +-
...gmt-get-instance-details-response-json-http.txt | 2 +-
.../db-mgmt-get-instance-details-response.json | 7 +-
.../db-mgmt-instance-index-response-json-http.txt | 2 +-
.../samples/db-mgmt-instance-index-response.json | 7 +-
api-ref/source/user-management.inc | 1 +
...efault-instance-configuration-response-json.txt | 5 +
blacklist-py3.txt | 1 -
devstack/plugin.sh | 233 +-
devstack/settings | 4 +
etc/trove/api-paste.ini | 5 +-
etc/trove/api-paste.ini.test | 5 +-
etc/trove/policy.json | 96 +
etc/trove/trove.conf.sample | 12 +-
install-guide/source/common_configure.txt | 13 +-
install-guide/source/conf.py | 8 +-
install-guide/source/dashboard.rst | 28 +
install-guide/source/index.rst | 1 +
install-guide/source/verify.rst | 6 +
integration/.gitignore | 25 +
integration/README.md | 220 +
integration/apidocs/pom.xml | 193 +
integration/apidocs/src/resources/cdb-devguide.xml | 1675 ++++++++
.../apidocs/src/resources/cdb-getting-started.xml | 1131 +++++
.../apidocs/src/resources/cdb-mgmt-devguide.xml | 1267 ++++++
.../apidocs/src/resources/cdb-releasenotes.xml | 711 +++
.../src/resources/images/Choose_CS_Image.png | Bin 0 -> 85201 bytes
.../src/resources/images/Choose_CS_Image_CCP.png | Bin 0 -> 24996 bytes
.../src/resources/images/Choose_Image_CCP.png | Bin 0 -> 21253 bytes
.../src/resources/images/Choose_Image_CCP.tiff | Bin 0 -> 26244 bytes
.../resources/images/Cloud_DB_Infographic-1.png | Bin 0 -> 66336 bytes
.../resources/images/Cloud_DB_Infographic-1.svg | 4533 ++++++++++++++++++++
.../apidocs/src/resources/images/Create_CS.png | Bin 0 -> 31902 bytes
.../apidocs/src/resources/images/phpMyAdmin.png | Bin 0 -> 257577 bytes
.../apidocs/src/resources/samples/db-auth-20.json | 128 +
.../apidocs/src/resources/samples/db-auth-20.xml | 63 +
.../apidocs/src/resources/samples/db-auth.json | 72 +
.../apidocs/src/resources/samples/db-auth.xml | 50 +
.../samples/db-check-root-user-request.json | 8 +
.../samples/db-check-root-user-request.xml | 8 +
.../samples/db-check-root-user-response.json | 8 +
.../samples/db-check-root-user-response.xml | 6 +
.../db-create-database-instance-response.json | 41 +
.../db-create-database-instance-response.xml | 24 +
.../samples/db-create-databases-request.json | 19 +
.../samples/db-create-databases-request.xml | 13 +
.../samples/db-create-databases-response.json | 4 +
.../samples/db-create-databases-response.xml | 4 +
.../samples/db-create-instance-request.json | 37 +
.../samples/db-create-instance-request.xml | 23 +
.../samples/db-create-instance-response.json | 41 +
.../samples/db-create-instance-response.xml | 19 +
.../resources/samples/db-create-users-request.json | 32 +
.../resources/samples/db-create-users-request.xml | 21 +
.../samples/db-create-users-response.json | 4 +
.../resources/samples/db-create-users-response.xml | 4 +
.../src/resources/samples/db-credentials-20.json | 18 +
.../src/resources/samples/db-credentials-20.xml | 14 +
.../src/resources/samples/db-credentials.json | 13 +
.../src/resources/samples/db-credentials.xml | 11 +
.../samples/db-delete-databases-request.json | 8 +
.../samples/db-delete-databases-request.xml | 8 +
.../samples/db-delete-databases-response.json | 4 +
.../samples/db-delete-databases-response.xml | 4 +
.../samples/db-delete-instance-request.json | 8 +
.../samples/db-delete-instance-request.xml | 8 +
.../samples/db-delete-instance-response.json | 4 +
.../samples/db-delete-instance-response.xml | 4 +
.../resources/samples/db-delete-users-request.json | 8 +
.../resources/samples/db-delete-users-request.xml | 8 +
.../samples/db-delete-users-response.json | 4 +
.../resources/samples/db-delete-users-response.xml | 4 +
.../samples/db-enable-root-user-request.json | 8 +
.../samples/db-enable-root-user-request.xml | 8 +
.../samples/db-enable-root-user-response.json | 11 +
.../samples/db-enable-root-user-response.xml | 7 +
.../resources/samples/db-faults-badRequest.json | 11 +
.../src/resources/samples/db-faults-badRequest.xml | 10 +
.../resources/samples/db-faults-instanceFault.json | 11 +
.../resources/samples/db-faults-instanceFault.xml | 10 +
.../resources/samples/db-faults-itemNotFound.json | 11 +
.../resources/samples/db-faults-itemNotFound.xml | 10 +
.../samples/db-flavors-by-id-request.json | 8 +
.../resources/samples/db-flavors-by-id-request.xml | 8 +
.../samples/db-flavors-by-id-response.json | 22 +
.../samples/db-flavors-by-id-response.xml | 11 +
.../src/resources/samples/db-flavors-request.json | 8 +
.../src/resources/samples/db-flavors-request.xml | 8 +
.../src/resources/samples/db-flavors-response.json | 69 +
.../src/resources/samples/db-flavors-response.xml | 32 +
.../db-gs-create-database-instance-response.json | 41 +
.../db-gs-create-database-instance-response.xml | 22 +
.../resources/samples/db-guest-update-request.json | 10 +
.../resources/samples/db-guest-update-request.xml | 10 +
.../samples/db-guest-update-response.json | 6 +
.../resources/samples/db-guest-update-response.xml | 6 +
.../samples/db-instance-reboot-request.json | 10 +
.../samples/db-instance-reboot-request.xml | 10 +
.../samples/db-instance-reboot-response.json | 6 +
.../samples/db-instance-reboot-response.xml | 6 +
.../samples/db-instance-resize-flavor-request.json | 12 +
.../samples/db-instance-resize-flavor-request.xml | 10 +
.../db-instance-resize-flavor-response.json | 4 +
.../samples/db-instance-resize-flavor-response.xml | 4 +
.../db-instance-resize-instance-request.json | 12 +
.../db-instance-resize-instance-request.xml | 12 +
.../db-instance-resize-instance-response.json | 6 +
.../db-instance-resize-instance-response.xml | 6 +
.../samples/db-instance-resize-volume-request.json | 14 +
.../samples/db-instance-resize-volume-request.xml | 12 +
.../db-instance-resize-volume-response.json | 4 +
.../samples/db-instance-resize-volume-response.xml | 4 +
.../samples/db-instance-restart-request.json | 10 +
.../samples/db-instance-restart-request.xml | 9 +
.../samples/db-instance-restart-response.json | 4 +
.../samples/db-instance-restart-response.xml | 4 +
.../samples/db-instance-status-detail-request.json | 8 +
.../samples/db-instance-status-detail-request.xml | 8 +
.../db-instance-status-detail-response.json | 42 +
.../samples/db-instance-status-detail-response.xml | 20 +
.../samples/db-instance-update-guest-request.json | 11 +
.../samples/db-instance-update-guest-request.xml | 10 +
.../samples/db-instance-update-guest-response.json | 8 +
.../samples/db-instance-update-guest-response.xml | 8 +
.../db-instances-index-pagination-request.json | 8 +
.../db-instances-index-pagination-request.xml | 8 +
.../db-instances-index-pagination-response.json | 45 +
.../db-instances-index-pagination-response.xml | 23 +
.../samples/db-instances-index-request.json | 8 +
.../samples/db-instances-index-request.xml | 8 +
.../samples/db-instances-index-response.json | 71 +
.../samples/db-instances-index-response.xml | 34 +
.../samples/db-instances-paged-index-request.json | 8 +
.../samples/db-instances-paged-index-request.xml | 8 +
.../samples/db-instances-paged-index-response.json | 90 +
.../samples/db-instances-paged-index-response.xml | 41 +
.../samples/db-list-databases-request.json | 8 +
.../samples/db-list-databases-request.xml | 8 +
.../samples/db-list-databases-response.json | 24 +
.../samples/db-list-databases-response.xml | 12 +
.../resources/samples/db-list-users-request.json | 8 +
.../resources/samples/db-list-users-request.xml | 8 +
.../resources/samples/db-list-users-response.json | 28 +
.../resources/samples/db-list-users-response.xml | 24 +
.../db-mgmt-get-account-details-request.json | 8 +
.../db-mgmt-get-account-details-request.xml | 8 +
.../db-mgmt-get-account-details-response.json | 24 +
.../db-mgmt-get-account-details-response.xml | 12 +
.../samples/db-mgmt-get-host-detail-request.json | 8 +
.../samples/db-mgmt-get-host-detail-request.xml | 8 +
.../samples/db-mgmt-get-host-detail-response.json | 29 +
.../samples/db-mgmt-get-host-detail-response.xml | 12 +
.../db-mgmt-get-instance-details-request.json | 8 +
.../db-mgmt-get-instance-details-request.xml | 8 +
.../db-mgmt-get-instance-details-response.json | 51 +
.../db-mgmt-get-instance-details-response.xml | 20 +
.../samples/db-mgmt-get-root-details-request.json | 8 +
.../samples/db-mgmt-get-root-details-request.xml | 8 +
.../samples/db-mgmt-get-root-details-response.json | 12 +
.../samples/db-mgmt-get-root-details-response.xml | 7 +
.../samples/db-mgmt-get-storage-request.json | 8 +
.../samples/db-mgmt-get-storage-request.xml | 8 +
.../samples/db-mgmt-get-storage-response.json | 23 +
.../samples/db-mgmt-get-storage-response.xml | 12 +
.../samples/db-mgmt-host-update-request.json | 12 +
.../samples/db-mgmt-host-update-request.xml | 10 +
.../samples/db-mgmt-host-update-response.json | 6 +
.../samples/db-mgmt-host-update-response.xml | 6 +
.../db-mgmt-instance-diagnostics-request.json | 8 +
.../db-mgmt-instance-diagnostics-request.xml | 8 +
.../db-mgmt-instance-diagnostics-response.json | 16 +
.../db-mgmt-instance-diagnostics-response.xml | 7 +
.../samples/db-mgmt-instance-hwinfo-request.json | 8 +
.../samples/db-mgmt-instance-hwinfo-request.xml | 8 +
.../samples/db-mgmt-instance-hwinfo-response.json | 13 +
.../samples/db-mgmt-instance-hwinfo-response.xml | 15 +
.../samples/db-mgmt-instance-index-request.json | 8 +
.../samples/db-mgmt-instance-index-request.xml | 8 +
.../samples/db-mgmt-instance-index-response.json | 89 +
.../samples/db-mgmt-instance-index-response.xml | 34 +
.../samples/db-mgmt-list-accounts-request.json | 8 +
.../samples/db-mgmt-list-accounts-request.xml | 8 +
.../samples/db-mgmt-list-accounts-response.json | 13 +
.../samples/db-mgmt-list-accounts-response.xml | 9 +
.../samples/db-mgmt-list-hosts-request.json | 8 +
.../samples/db-mgmt-list-hosts-request.xml | 8 +
.../samples/db-mgmt-list-hosts-response.json | 13 +
.../samples/db-mgmt-list-hosts-response.xml | 9 +
.../src/resources/samples/db-request-types.json | 15 +
.../src/resources/samples/db-response-types.xml | 24 +
.../src/resources/samples/db-version-request.json | 8 +
.../src/resources/samples/db-version-request.xml | 8 +
.../src/resources/samples/db-version-response.json | 18 +
.../src/resources/samples/db-version-response.xml | 10 +
.../src/resources/samples/db-versions-request.json | 8 +
.../src/resources/samples/db-versions-request.xml | 8 +
.../resources/samples/db-versions-response.json | 20 +
.../src/resources/samples/db-versions-response.xml | 12 +
integration/scripts/conf.json.example | 12 +
integration/scripts/conf/cassandra.conf | 6 +
integration/scripts/conf/couchbase.conf | 6 +
integration/scripts/conf/couchdb.conf | 6 +
integration/scripts/conf/db2.conf | 6 +
integration/scripts/conf/mariadb.conf | 6 +
integration/scripts/conf/mongodb.conf | 6 +
integration/scripts/conf/mysql.conf | 6 +
integration/scripts/conf/percona.conf | 6 +
integration/scripts/conf/postgresql.conf | 6 +
integration/scripts/conf/pxc.conf | 6 +
integration/scripts/conf/redis.conf | 6 +
integration/scripts/conf/test_begin.conf | 101 +
integration/scripts/conf/test_end.conf | 2 +
integration/scripts/conf/vertica.conf | 6 +
integration/scripts/create_vm | 84 +
.../scripts/files/elements/apt-conf-dir/README.rst | 16 +
.../extra-data.d/99-use-host-apt-confd | 21 +
.../fedora-guest/extra-data.d/15-trove-dep | 48 +
.../fedora-guest/extra-data.d/20-guest-systemd | 21 +
.../elements/fedora-guest/extra-data.d/62-ssh-key | 31 +
.../elements/fedora-guest/install.d/15-trove-dep | 30 +
.../files/elements/fedora-guest/install.d/20-etc | 8 +
.../files/elements/fedora-guest/install.d/50-user | 17 +
.../elements/fedora-guest/install.d/62-ssh-key | 29 +
.../fedora-guest/post-install.d/05-ipforwarding | 5 +
.../post-install.d/62-trove-guest-sudoers | 15 +
.../fedora-guest/post-install.d/90-yum-update | 9 +
.../files/elements/fedora-mariadb/README.md | 3 +
.../elements/fedora-mariadb/install.d/10-mariadb | 9 +
.../fedora-mariadb/pre-install.d/10-percona-copr | 10 +
.../files/elements/fedora-mongodb/README.md | 1 +
.../elements/fedora-mongodb/install.d/10-mongodb | 24 +
.../fedora-mongodb/install.d/25-trove-mongo-dep | 9 +
.../scripts/files/elements/fedora-mysql/README.md | 3 +
.../files/elements/fedora-mysql/install.d/10-mysql | 16 +
.../elements/fedora-mysql/install.d/40-xtrabackup | 10 +
.../post-install.d/30-register-mysql-service | 6 +
.../fedora-percona/install.d/05-percona-server | 17 +
.../elements/fedora-percona/install.d/10-mysql | 16 +
.../fedora-postgresql/install.d/10-postgresql | 83 +
.../scripts/files/elements/fedora-redis/README.md | 1 +
.../files/elements/fedora-redis/install.d/10-redis | 9 +
.../ubuntu-cassandra/install.d/10-cassandra | 25 +
.../ubuntu-couchbase/install.d/10-couchbase | 8 +
.../elements/ubuntu-couchdb/install.d/10-couchdb | 19 +
.../scripts/files/elements/ubuntu-db2/README.md | 36 +
.../ubuntu-db2/extra-data.d/20-copy-db2-pkgs | 25 +
.../files/elements/ubuntu-db2/install.d/10-db2 | 52 +
.../ubuntu-guest/extra-data.d/15-trove-dep | 48 +
.../elements/ubuntu-guest/extra-data.d/62-ssh-key | 31 +
.../elements/ubuntu-guest/install.d/05-base-apps | 10 +
.../elements/ubuntu-guest/install.d/15-trove-dep | 31 +
.../files/elements/ubuntu-guest/install.d/50-user | 18 +
.../elements/ubuntu-guest/install.d/62-ssh-key | 28 +
.../files/elements/ubuntu-guest/install.d/98-ssh | 8 +
.../elements/ubuntu-guest/install.d/99-clean-apt | 11 +
.../ubuntu-guest/post-install.d/05-ipforwarding | 4 +
.../elements/ubuntu-guest/post-install.d/10-ntp | 10 +
.../post-install.d/62-trove-guest-sudoers | 15 +
.../ubuntu-guest/post-install.d/90-apt-get-update | 9 +
.../ubuntu-guest/pre-install.d/04-baseline-tools | 7 +
.../files/elements/ubuntu-mariadb/README.md | 3 +
.../pre-install.d/10-percona-apt-key | 47 +
.../pre-install.d/20-apparmor-mysql-local | 11 +
.../files/elements/ubuntu-mongodb/README.md | 1 +
.../ubuntu-mongodb/install.d/10-mongodb-thp | 42 +
.../elements/ubuntu-mongodb/install.d/20-mongodb | 8 +
.../ubuntu-mongodb/install.d/25-trove-mongo-dep | 9 +
.../ubuntu-mongodb/install.d/30-mongodb-conf | 26 +
.../ubuntu-mongodb/install.d/41-mongod-init | 46 +
.../ubuntu-mongodb/install.d/42-mongos-init | 30 +
.../pre-install.d/10-mongodb-apt-key | 14 +
.../scripts/files/elements/ubuntu-mysql/README.md | 3 +
.../ubuntu-mysql/pre-install.d/10-percona-apt-key | 47 +
.../pre-install.d/20-apparmor-mysql-local | 11 +
.../elements/ubuntu-percona/install.d/30-mysql | 17 +
.../pre-install.d/10-percona-apt-key | 49 +
.../pre-install.d/20-apparmor-mysql-local | 11 +
.../ubuntu-postgresql/install.d/30-postgresql | 79 +
.../pre-install.d/10-postgresql-repo | 14 +
.../files/elements/ubuntu-pxc/install.d/30-mysql | 14 +
.../ubuntu-pxc/pre-install.d/10-percona-apt-key | 49 +
.../pre-install.d/20-apparmor-mysql-local | 11 +
.../scripts/files/elements/ubuntu-redis/README.md | 1 +
.../files/elements/ubuntu-redis/install.d/30-redis | 53 +
.../elements/ubuntu-trusty-cassandra/element-deps | 1 +
.../elements/ubuntu-trusty-couchbase/element-deps | 1 +
.../elements/ubuntu-trusty-couchdb/element-deps | 1 +
.../files/elements/ubuntu-trusty-db2/element-deps | 1 +
.../elements/ubuntu-trusty-guest/element-deps | 1 +
.../extra-data.d/20-guest-upstart | 21 +
.../elements/ubuntu-trusty-guest/install.d/20-etc | 8 +
.../ubuntu-trusty-guest/pre-install.d/01-trim-pkgs | 117 +
.../elements/ubuntu-trusty-mariadb/element-deps | 1 +
.../ubuntu-trusty-mariadb/install.d/30-mariadb | 34 +
.../elements/ubuntu-trusty-mongodb/element-deps | 1 +
.../elements/ubuntu-trusty-mysql/element-deps | 1 +
.../ubuntu-trusty-mysql/install.d/30-mysql | 23 +
.../elements/ubuntu-trusty-percona/element-deps | 1 +
.../elements/ubuntu-trusty-postgresql/element-deps | 1 +
.../files/elements/ubuntu-trusty-pxc/element-deps | 1 +
.../elements/ubuntu-trusty-redis/element-deps | 1 +
.../elements/ubuntu-trusty-vertica/element-deps | 1 +
.../files/elements/ubuntu-vertica/README.md | 1 +
.../extra-data.d/93-copy-vertica-deb | 14 +
.../elements/ubuntu-vertica/install.d/97-vertica | 54 +
.../elements/ubuntu-xenial-guest/element-deps | 1 +
.../extra-data.d/20-guest-systemd | 22 +
.../elements/ubuntu-xenial-guest/install.d/20-etc | 10 +
.../ubuntu-xenial-guest/pre-install.d/01-trim-pkgs | 90 +
.../elements/ubuntu-xenial-mariadb/element-deps | 1 +
.../ubuntu-xenial-mariadb/install.d/30-mariadb | 39 +
.../elements/ubuntu-xenial-mysql/element-deps | 1 +
.../ubuntu-xenial-mysql/install.d/30-mysql | 32 +
.../elements/ubuntu-xenial-postgresql/element-deps | 1 +
.../install.d/31-fix-init-script | 7 +
.../files/elements/ubuntu-xenial-pxc/element-deps | 1 +
.../ubuntu-xenial-pxc/install.d/31-fix-my-cnf | 15 +
.../elements/ubuntu-xenial-redis/element-deps | 1 +
.../ubuntu-xenial-redis/install.d/31-fix-init-file | 28 +
integration/scripts/files/keys/authorized_keys | 1 +
integration/scripts/files/keys/id_rsa | 27 +
integration/scripts/files/keys/id_rsa.pub | 1 +
.../files/requirements/fedora-requirements.txt | 31 +
.../files/requirements/ubuntu-requirements.txt | 30 +
integration/scripts/files/trove-guest.systemd.conf | 32 +
integration/scripts/files/trove-guest.upstart.conf | 40 +
integration/scripts/functions | 330 ++
integration/scripts/functions_qemu | 168 +
integration/scripts/image-projects-list | 2 +
.../scripts/local.conf.d/ceilometer_cinder.conf.rc | 3 +
.../scripts/local.conf.d/ceilometer_nova.conf.rc | 3 +
.../local.conf.d/ceilometer_services.conf.rc | 3 +
integration/scripts/local.conf.d/sample.rc | 42 +
.../scripts/local.conf.d/trove_services.conf.rc | 24 +
integration/scripts/local.conf.d/use_kvm.rc | 4 +
integration/scripts/local.conf.d/use_uuid_token.rc | 3 +
integration/scripts/local.conf.d/using_vagrant.rc | 9 +
integration/scripts/local.conf.rc | 37 +
integration/scripts/localrc.rc | 99 +
integration/scripts/projects-list | 12 +
integration/scripts/reviews.rc | 5 +
integration/scripts/trovestack | 1517 +++++++
integration/scripts/trovestack.rc | 111 +
integration/xsd/common.ent | 72 +
integration/xsd/dbaas.wadl | 1177 +++++
integration/xsd/dbaas.xsd | 613 +++
integration/xsd/management.wadl | 625 +++
integration/xsd/management.xsd | 398 ++
.../notes/add-max-prep-stmts-ac1056e127de7609.yaml | 5 +
...ster-configuration-groups-37f7de9e5a343165.yaml | 3 +
.../cluster_list_show_all_ips-3547635440.yaml | 6 +
.../notes/cluster_restart-bb5abb7372131ee0.yaml | 4 +
...ply_module_bools_properly-571cca9a87f28339.yaml | 5 +
.../notes/fix-cluster-show-346798b3e3.yaml | 5 +
...eprecated-SafeConfigParse-ca3fd3e9f52a8cc8.yaml | 6 +
.../fix-postgres-pg-rewind-6eef0afb568439ce.yaml | 2 +
.../notes/fix_module_apply-042fc6e61f721540.yaml | 6 +
.../flavor-list-ephemeral-edf2dc35d5c247b3.yaml | 4 +
.../grow-cluster-nic-az-0e0fe4083666c300.yaml | 4 +
...instance-show-comp-vol-id-964db9f52a5ac9c1.yaml | 4 +
.../notes/module-ordering-92b6445a8ac3a3bf.yaml | 9 +
.../mountpoint-detection-096734f0097eb75a.yaml | 4 +
.../notes/multi-region-cd8da560bfe00de5.yaml | 3 +
.../notes/post-upgrade-fixes-828811607826d433.yaml | 4 +
.../notes/use-oslo-policy-bbd1b911e6487c36.yaml | 8 +
releasenotes/source/conf.py | 3 +
releasenotes/source/index.rst | 2 +-
releasenotes/source/liberty.rst | 6 -
releasenotes/source/newton.rst | 6 +
requirements.txt | 40 +-
test-requirements.txt | 21 +-
tools/test-setup.sh | 57 +
tools/trove-pylint.README | 22 +-
tools/trove-pylint.config | 2658 ++++--------
tools/trove-pylint.py | 67 +-
tox.ini | 17 +-
trove/backup/service.py | 10 +-
trove/cluster/models.py | 306 +-
trove/cluster/service.py | 36 +-
trove/cluster/tasks.py | 6 +
trove/cluster/views.py | 4 +-
trove/cmd/conductor.py | 8 +-
trove/cmd/fakemode.py | 2 +-
trove/cmd/guest.py | 15 +-
trove/cmd/manage.py | 10 +-
trove/cmd/taskmanager.py | 12 +-
trove/common/apischema.py | 37 +-
trove/common/cfg.py | 119 +-
trove/common/context.py | 42 +-
trove/common/crypto_utils.py | 8 +
trove/common/db/__init__.py | 0
trove/common/db/cassandra/__init__.py | 0
trove/common/db/cassandra/models.py | 45 +
trove/common/db/couchdb/__init__.py | 0
trove/common/db/couchdb/models.py | 32 +
trove/common/db/models.py | 438 ++
trove/common/db/mongodb/__init__.py | 0
trove/common/db/mongodb/models.py | 158 +
trove/common/db/mysql/__init__.py | 0
trove/common/db/mysql/data.py | 244 ++
trove/common/db/mysql/models.py | 170 +
trove/common/db/postgresql/__init__.py | 0
trove/common/db/postgresql/models.py | 70 +
trove/common/exception.py | 18 +-
trove/common/extensions.py | 2 -
trove/common/glance_remote.py | 53 +
trove/common/limits.py | 12 +-
trove/common/models.py | 20 +-
trove/common/notification.py | 59 +-
trove/common/policy.py | 260 ++
trove/common/remote.py | 31 +-
trove/common/rpc/conductor_guest_serializer.py | 60 +
trove/common/rpc/conductor_host_serializer.py | 83 +
trove/common/rpc/secure_serializer.py | 59 +
trove/common/rpc/serializer.py | 86 +
trove/common/rpc/service.py | 11 +-
trove/common/server_group.py | 2 -
trove/common/single_tenant_remote.py | 11 +-
.../cluster/experimental/cassandra/api.py | 34 +-
.../cluster/experimental/cassandra/guestagent.py | 61 +-
.../cluster/experimental/cassandra/taskmanager.py | 7 +
.../cluster/experimental/galera_common/api.py | 85 +-
.../experimental/galera_common/guestagent.py | 30 +-
.../experimental/galera_common/taskmanager.py | 16 +-
.../strategies/cluster/experimental/mongodb/api.py | 65 +-
.../cluster/experimental/mongodb/guestagent.py | 55 +-
.../cluster/experimental/mongodb/taskmanager.py | 3 +-
.../strategies/cluster/experimental/redis/api.py | 48 +-
.../cluster/experimental/redis/guestagent.py | 39 +-
.../cluster/experimental/redis/taskmanager.py | 4 +-
.../strategies/cluster/experimental/vertica/api.py | 55 +-
.../cluster/experimental/vertica/guestagent.py | 39 +-
trove/common/strategies/strategy.py | 3 +-
trove/common/stream_codecs.py | 11 +-
trove/common/trove_remote.py | 56 +
trove/common/utils.py | 6 +-
trove/common/wsgi.py | 5 +-
trove/common/xmlutils.py | 12 +-
trove/conductor/api.py | 57 +-
trove/configuration/models.py | 20 +-
trove/configuration/service.py | 79 +-
trove/datastore/service.py | 15 +
trove/db/models.py | 7 +-
trove/db/sqlalchemy/api.py | 4 -
.../migrate_repo/versions/001_base_schema.py | 6 -
.../migrate_repo/versions/002_service_images.py | 6 -
.../migrate_repo/versions/003_service_statuses.py | 6 -
.../migrate_repo/versions/004_root_enabled.py | 6 -
.../migrate_repo/versions/005_heartbeat.py | 6 -
.../migrate_repo/versions/006_dns_records.py | 6 -
.../migrate_repo/versions/007_add_volume_flavor.py | 11 -
.../versions/008_add_instance_fields.py | 11 -
.../versions/009_add_deleted_flag_to_instances.py | 10 -
.../migrate_repo/versions/010_add_usage.py | 6 -
.../sqlalchemy/migrate_repo/versions/011_quota.py | 6 -
.../sqlalchemy/migrate_repo/versions/012_backup.py | 6 -
.../versions/013_add_security_group_artifacts.py | 7 -
.../versions/014_update_instance_flavor_id.py | 11 -
.../migrate_repo/versions/015_add_service_type.py | 8 -
.../versions/016_add_datastore_type.py | 22 -
.../migrate_repo/versions/017_update_datastores.py | 15 -
.../versions/018_datastore_versions_fix.py | 8 -
.../migrate_repo/versions/019_datastore_fix.py | 31 -
.../migrate_repo/versions/020_configurations.py | 19 -
.../versions/021_conductor_last_seen.py | 6 -
.../versions/022_add_backup_parent_id.py | 9 -
.../versions/023_add_instance_indexes.py | 13 -
.../versions/024_add_backup_indexes.py | 14 -
.../versions/025_add_service_statuses_indexes.py | 9 -
.../versions/026_datastore_versions_unique_fix.py | 7 -
.../versions/027_add_datastore_capabilities.py | 6 -
.../versions/028_recreate_agent_heartbeat.py | 27 -
.../versions/029_add_backup_datastore.py | 19 -
.../migrate_repo/versions/030_add_master_slave.py | 18 -
.../031_add_timestamps_to_configurations.py | 7 -
.../migrate_repo/versions/032_clusters.py | 36 -
.../versions/033_datastore_parameters.py | 6 -
.../versions/034_change_task_description.py | 4 -
.../versions/035_flavor_id_int_to_string.py | 7 -
.../versions/036_add_datastore_version_metadata.py | 6 -
.../migrate_repo/versions/037_modules.py | 6 -
.../migrate_repo/versions/038_instance_faults.py | 6 -
.../sqlalchemy/migrate_repo/versions/039_region.py | 35 +
.../migrate_repo/versions/040_module_priority.py | 48 +
.../migrate_repo/versions/041_instance_keys.py | 30 +
.../versions/042_add_cluster_configuration_id.py | 38 +
trove/db/sqlalchemy/migration.py | 16 -
trove/dns/designate/driver.py | 10 +-
trove/extensions/cassandra/service.py | 4 +-
trove/extensions/common/models.py | 9 +-
trove/extensions/common/service.py | 44 +-
trove/extensions/mgmt/instances/models.py | 8 +-
trove/extensions/mgmt/instances/service.py | 22 +-
trove/extensions/mgmt/volume/models.py | 4 +-
trove/extensions/mgmt/volume/service.py | 4 +-
trove/extensions/mysql/common.py | 12 +-
trove/extensions/mysql/models.py | 38 +-
trove/extensions/mysql/service.py | 93 +-
trove/extensions/postgresql/service.py | 4 +-
trove/extensions/security_group/models.py | 53 +-
trove/extensions/security_group/service.py | 5 +-
trove/flavor/service.py | 5 +
trove/flavor/views.py | 1 +
trove/guestagent/api.py | 284 +-
trove/guestagent/backup/backupagent.py | 6 +-
trove/guestagent/common/configuration.py | 27 +-
trove/guestagent/common/operating_system.py | 20 +
trove/guestagent/common/timeutils.py | 12 +
.../datastore/experimental/cassandra/service.py | 45 +-
.../datastore/experimental/couchbase/service.py | 11 +-
.../datastore/experimental/couchdb/service.py | 14 +-
.../datastore/experimental/db2/service.py | 47 +-
.../datastore/experimental/mariadb/service.py | 2 +-
.../datastore/experimental/mongodb/service.py | 137 +-
.../datastore/experimental/postgresql/manager.py | 254 +-
.../experimental/postgresql/pgsql_query.py | 177 +
.../datastore/experimental/postgresql/pgutil.py | 245 --
.../datastore/experimental/postgresql/service.py | 1044 +++++
.../experimental/postgresql/service/__init__.py | 0
.../experimental/postgresql/service/access.py | 84 -
.../experimental/postgresql/service/config.py | 243 --
.../experimental/postgresql/service/database.py | 112 -
.../experimental/postgresql/service/install.py | 90 -
.../experimental/postgresql/service/process.py | 125 -
.../experimental/postgresql/service/root.py | 93 -
.../experimental/postgresql/service/status.py | 49 -
.../experimental/postgresql/service/users.py | 316 --
.../datastore/experimental/pxc/service.py | 7 -
.../datastore/experimental/redis/manager.py | 2 +-
.../datastore/experimental/vertica/service.py | 23 +-
.../datastore/experimental/vertica/system.py | 3 +-
trove/guestagent/datastore/manager.py | 48 +-
trove/guestagent/datastore/mysql_common/manager.py | 3 +-
trove/guestagent/datastore/mysql_common/service.py | 82 +-
trove/guestagent/datastore/service.py | 13 +-
trove/guestagent/db/__init__.py | 0
trove/guestagent/db/models.py | 1069 -----
trove/guestagent/dbaas.py | 2 +-
trove/guestagent/guest_log.py | 13 +-
trove/guestagent/module/drivers/module_driver.py | 2 -
.../module/drivers/new_relic_license_driver.py | 2 -
trove/guestagent/module/drivers/ping_driver.py | 7 -
trove/guestagent/module/module_manager.py | 23 +-
trove/guestagent/pkg.py | 138 +-
.../strategies/backup/experimental/db2_impl.py | 8 +-
.../backup/experimental/postgresql_impl.py | 48 +-
trove/guestagent/strategies/backup/mysql_impl.py | 10 +-
.../replication/experimental/postgresql_impl.py | 178 +-
.../replication/experimental/redis_sync.py | 3 -
.../strategies/replication/mysql_base.py | 14 +-
.../strategies/replication/mysql_binlog.py | 2 -
.../strategies/replication/mysql_gtid.py | 2 -
.../restore/experimental/couchbase_impl.py | 3 +-
.../restore/experimental/postgresql_impl.py | 46 +-
trove/guestagent/strategies/restore/mysql_impl.py | 2 +-
trove/guestagent/volume.py | 199 +-
trove/hacking/__init__.py | 0
trove/hacking/translation_checks.py | 110 +
trove/instance/models.py | 441 +-
trove/instance/service.py | 82 +-
trove/instance/tasks.py | 3 +
trove/instance/views.py | 11 +-
trove/limits/service.py | 3 +
trove/module/models.py | 162 +-
trove/module/service.py | 40 +-
trove/module/views.py | 32 +-
trove/network/neutron.py | 18 +-
trove/network/nova.py | 15 +-
trove/rpc.py | 85 +-
trove/taskmanager/api.py | 112 +-
trove/taskmanager/manager.py | 57 +-
trove/taskmanager/models.py | 158 +-
trove/templates/mariadb/config.template | 2 +
trove/templates/mariadb/validation-rules.json | 7 +
trove/templates/mysql/validation-rules.json | 7 +
trove/templates/percona/validation-rules.json | 7 +
trove/templates/postgresql/validation-rules.json | 9 +-
trove/templates/pxc/validation-rules.json | 7 +
trove/templates/vertica/validation-rules.json | 6 +-
.../scenario/groups/database_actions_group.py | 12 +-
.../scenario/groups/instance_actions_group.py | 49 +-
.../scenario/groups/instance_upgrade_group.py | 21 +
.../scenario/runners/cluster_actions_runners.py | 451 --
.../scenario/runners/configuration_runners.py | 60 +-
.../scenario/runners/database_actions_runners.py | 50 +-
.../scenario/runners/instance_actions_runners.py | 33 +-
.../scenario/runners/instance_create_runners.py | 135 +-
.../scenario/runners/instance_delete_runners.py | 5 +-
.../runners/instance_error_create_runners.py | 21 +-
.../runners/instance_force_delete_runners.py | 19 +-
.../scenario/runners/instance_upgrade_runners.py | 20 +-
.../runners/negative_cluster_actions_runners.py | 3 +-
.../cluster/test_cluster_pxc_controller.py | 5 +-
.../cluster/test_cluster_redis_controller.py | 7 +-
.../cluster/test_cluster_vertica_controller.py | 5 +-
.../configuration/test_configuration_controller.py | 97 +-
.../guestagent/test_galera_cluster_api.py | 5 +-
761 files changed, 38795 insertions(+), 8665 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index cf9b85c..f68e93a 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4 +4 @@
-pbr>=1.6 # Apache-2.0
+pbr>=1.8 # Apache-2.0
@@ -7 +7 @@ eventlet!=0.18.3,>=0.18.2 # MIT
-keystonemiddleware!=4.1.0,!=4.5.0,>=4.0.0 # Apache-2.0
+keystonemiddleware>=4.12.0 # Apache-2.0
@@ -10 +10 @@ Routes!=2.0,!=2.3.0,>=1.12.3;python_version!='2.7' # MIT
-WebOb>=1.2.3 # MIT
+WebOb>=1.6.0 # MIT
@@ -14,2 +14 @@ sqlalchemy-migrate>=0.9.6 # Apache-2.0
-netaddr!=0.7.16,>=0.7.12 # BSD
-netifaces>=0.10.4 # MIT
+netaddr!=0.7.16,>=0.7.13 # BSD
@@ -17,4 +16,4 @@ httplib2>=0.7.5 # MIT
-lxml>=2.3 # BSD
-passlib>=1.6 # BSD
-python-heatclient>=1.4.0 # Apache-2.0
-python-novaclient!=2.33.0,>=2.29.0 # Apache-2.0
+lxml!=3.7.0,>=2.3 # BSD
+passlib>=1.7.0 # BSD
+python-heatclient>=1.6.1 # Apache-2.0
+python-novaclient!=7.0.0,>=6.0.0 # Apache-2.0
@@ -22,2 +21,2 @@ python-cinderclient!=1.7.0,!=1.7.1,>=1.6.0 # Apache-2.0
-python-keystoneclient!=2.1.0,>=2.0.0 # Apache-2.0
-python-swiftclient>=2.2.0 # Apache-2.0
+python-keystoneclient>=3.8.0 # Apache-2.0
+python-swiftclient>=3.2.0 # Apache-2.0
@@ -25,0 +25 @@ python-neutronclient>=5.1.0 # Apache-2.0
+python-glanceclient>=2.5.0 # Apache-2.0
@@ -28 +28 @@ jsonschema!=2.5.0,<3.0.0,>=2.0.0 # MIT
-Jinja2>=2.8 # BSD License (3 clause)
+Jinja2!=2.9.0,!=2.9.1,!=2.9.2,!=2.9.3,!=2.9.4,>=2.8 # BSD License (3 clause)
@@ -30 +30 @@ pexpect!=3.3,>=3.1 # ISC License
-oslo.config>=3.14.0 # Apache-2.0
+oslo.config!=3.18.0,>=3.14.0 # Apache-2.0
@@ -36 +36 @@ oslo.service>=1.10.0 # Apache-2.0
-oslo.utils>=3.16.0 # Apache-2.0
+oslo.utils>=3.18.0 # Apache-2.0
@@ -38 +38 @@ oslo.concurrency>=3.8.0 # Apache-2.0
-PyMySQL!=0.7.7,>=0.6.2 # MIT License
+PyMySQL>=0.7.6 # MIT License
@@ -41,2 +41,2 @@ six>=1.9.0 # MIT
-stevedore>=1.16.0 # Apache-2.0
-oslo.messaging>=5.2.0 # Apache-2.0
+stevedore>=1.17.1 # Apache-2.0
+oslo.messaging>=5.14.0 # Apache-2.0
@@ -44,2 +44,2 @@ osprofiler>=1.4.0 # Apache-2.0
-oslo.log>=1.14.0 # Apache-2.0
-oslo.db!=4.13.1,!=4.13.2,>=4.10.0 # Apache-2.0
+oslo.log>=3.11.0 # Apache-2.0
+oslo.db>=4.15.0 # Apache-2.0
@@ -47,0 +48,2 @@ xmltodict>=0.10.1 # MIT
+pycrypto>=2.6 # Public Domain
+oslo.policy>=1.17.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index f73ff01..36e260d 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -5 +5 @@
-hacking<0.11,>=0.10.0
+hacking<0.13,>=0.12.0 # Apache-2.0
@@ -7 +7 @@ bandit>=1.1.0 # Apache-2.0
-sphinx!=1.3b1,<1.3,>=1.2.1 # BSD
+sphinx!=1.3b1,<1.4,>=1.2.1 # BSD
@@ -9,3 +9,3 @@ os-api-ref>=1.0.0 # Apache-2.0
-oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0
-reno>=1.8.0 # Apache2
-coverage>=3.6 # Apache-2.0
+oslosphinx>=4.7.0 # Apache-2.0
+reno>=1.8.0 # Apache-2.0
+coverage>=4.0 # Apache-2.0
@@ -17 +17 @@ WebTest>=2.0 # MIT
-wsgi-intercept>=0.6.1 # MIT License
+wsgi-intercept>=1.4.1 # MIT License
@@ -21 +21 @@ mock>=2.0 # BSD
-mox3>=0.7.0 # Apache-2.0
+mox3!=0.19.0,>=0.7.0 # Apache-2.0
@@ -28 +27,0 @@ cassandra-driver!=3.6.0,>=2.1.4 # Apache-2.0
-pycrypto>=2.6 # Public Domain
@@ -30,3 +29,3 @@ couchdb>=0.8 # Apache-2.0
-os-testr>=0.7.0 # Apache-2.0
-astroid<1.4.0 # LGPLv2.1 # breaks pylint 1.4.4
-pylint==1.4.5 # GPLv2
+os-testr>=0.8.0 # Apache-2.0
+astroid<1.4.0 # LGPLv2.1 # breaks pylint 1.4.4
+pylint==1.4.5 # GPLv2
1
0
We are amped to announce the release of:
zaqar 4.0.0: OpenStack Queuing and Notification Service
This release is part of the ocata release series.
Download the package from:
https://tarballs.openstack.org/zaqar/
For more details, please see below.
4.0.0
^^^^^
New Features
* The OSprofiler is integrated to Zaqar in Ocata. It is a library
from oslo. It aims to analyse the performance bottleneck issue by
making possible to generate one trace per request affecting all
involved services and build a tree of calls.
* A new queue action is added so that users can purge a queue
quickly. That means all the messages and subscriptions will be
deleted automatically but the metadata of the queue will be kept.
* Add migration support for Zaqar's sqlalchemy storage driver.
* This feature is the third part of subscription confirmation
feature. Support to send email to subscriber if confirmation is
needed. To use this feature, user need to set the config option
"external_confirmation_url",
"subscription_confirmation_email_template" and
"unsubscribe_confirmation_email_template". The confirmation page url
that will be used in email subscription confirmation before
notification, this page is not hosted in Zaqar server, user should
build their own web service to provide this web page. The
subscription_confirmation_email_template let user to customize the
subscription confimation email content, including topic, body and
sender. The unsubscribe_confirmation_email_template let user to
customize the unsubscribe confimation email content, including
topic, body and sender too.
Changes in zaqar 3.0.0.0rc1..4.0.0
----------------------------------
f196f9a Subscription Confirmation Support-3
5a6823a Update .gitreview for stable/ocata
1ddd9ca Fix sqlalchemy migration
90dedee Enable swift in the gate hook
83bbd7b Updated from global requirements
a7dfeaf Switch to decorators.idempotent_id
8477f95 Add validation of limit value in querying flavors and poolss
ef7110c Add the release note for OSprofiler feature
95b2290 Remove py34 support in favour of py35
dfaa49b Make the log work when deploy Zaqar with uwsgi
8e32ee2 Fix wrong value of require_confirmation
8d9be75 Replace assertTrue(*>*) with assertGreater
4a40387 Use _LW() to wrap the warning message
1a9760d Fix typos in HACKING.rst
40083a7 Swift storage
e22ce5e Fix unit test unstable issue
455cf6e don't allow get/update/delete subscirtions with wrong queue
53f0c9f Removes unnecessary utf-8 encoding
874fd85 Updated from global requirements
39452c9 Use pop in message_delete_many
828bab9 Enable coverage report in console output
649ae23 Add tempest test for purge queue
908d75c Update README.rst
ca1501a Fix CI failure
b41802c Add API ref of purging queue
77af509 insert Apache 2.0 license into source file
5b1f915 Support purge queue -- websocket
d91cfb7 Clean transport logs for API endpoints
fb8da5d Add support for sqlalchemy migration based on alembic
460c345 Support purge queue -- wsgi
5a901c2 Convert user getting started guide to rst
effbf89 Add OSprofiler guide
3851144 Updated from global requirements
75c0279 Updated from global requirements
03b3c6d Show team and repo badges on README
4a1a6b3 Remove startup check from devstack
65a6953 Use KEYSTONE_IDENTITY_BACKEND
e5eee70 Consistent with the project code
35deeef Fix SSL and verbose issue of zaqar bench
4732417 Integrate OSprofiler with Zaqar
308934a Fix an typo in flavors.inc
7fb030e Fix zaqar client gate
00fc1f6 Use build interval and timeout from conf
aa0889a Fix zaqar-ui clone issue
a6ceea7 Add Feature section in doc
160f958 Reword description of grace
5edc11d Add missing policy check for queue stats and share
c19d0a0 Don't send confirmation notification if it's not enabled
1032436 Add some descriptions for resources in API Ref
de075b8 Updated from global requirements
2fae4ec Update .coveragerc after the removal of openstack directory
9d9147a Enanble Zaqar-UI in devstack
f3b4745 Fix doc build if git is absent
4f8470e Enable release notes translation
69df431 Updated from global requirements
885435b Fix a typo: remove redundant 'the'
f0d216b Change assertTrue(isinstance()) by optimal assert
670afbf Subscription Confirmation Support-2
176a3e5 Update reno for stable/newton
d7c16b9 Don't check key format in mongodb
f31a6e2 [api-ref] Remove temporary block in conf.py
993e804 Using oslo_config's min attribute
b5e3980 Add install guide for ubuntu and suse
Diffstat (except docs and test files)
-------------------------------------
.coveragerc | 2 +-
.gitreview | 1 +
HACKING.rst | 2 +-
README.rst | 13 +-
api-ref/source/claims.inc | 6 +-
api-ref/source/conf.py | 38 +-
api-ref/source/flavors.inc | 2 +-
api-ref/source/health.inc | 3 +
api-ref/source/messages.inc | 6 +
api-ref/source/parameters.yaml | 10 +-
api-ref/source/pools.inc | 8 +-
api-ref/source/queues.inc | 46 +-
api-ref/source/samples/purge-queue-request.json | 3 +
api-ref/source/subscription.inc | 4 +
bench-requirements.txt | 4 +-
devstack/gate/gate_hook.sh | 7 +-
devstack/plugin.sh | 41 +-
devstack/settings | 5 +
.../os-zaqar-apiGettingStarted.xml | 1153 --------------------
etc/oslo-config-generator/zaqar.conf | 3 +
etc/policy.json.sample | 2 +
install-guide/source/install-obs.rst | 545 +++++++++
install-guide/source/install-rdo.rst | 48 +-
install-guide/source/install-ubuntu.rst | 529 +++++++++
install-guide/source/install.rst | 2 +
...ate-OSprofiler-with-zaqar-59d0dc3d0326947d.yaml | 6 +
.../notes/purge-queue-6788a249ee59d55a.yaml | 4 +
.../sqlalchemy-migration-6b4eaebb6e02a449.yaml | 3 +
...onfirmation-support-email-0c2a56cfedc5d1e2.yaml | 15 +
releasenotes/source/conf.py | 4 +-
releasenotes/source/index.rst | 1 +
releasenotes/source/newton.rst | 6 +
requirements.txt | 21 +-
samples/html/confirmation_web_service_sample.py | 86 ++
samples/html/subscriptionConfirmation.html | 148 +++
samples/html/unsubscriptionConfirmation.html | 145 +++
setup.cfg | 7 +-
test-requirements.txt | 16 +-
tools/test-setup.sh | 33 +
tox.ini | 3 +-
zaqar/api/v2/endpoints.py | 53 +-
zaqar/api/v2/request.py | 19 +
zaqar/bench/conductor.py | 8 +-
zaqar/bench/config.py | 3 +
zaqar/bench/consumer.py | 2 +-
zaqar/bench/helpers.py | 23 +-
zaqar/bench/observer.py | 2 +-
zaqar/bench/producer.py | 2 +-
zaqar/bootstrap.py | 13 +
zaqar/common/configs.py | 48 +-
zaqar/common/consts.py | 2 +
zaqar/notification/notifier.py | 28 +-
zaqar/notification/tasks/mailto.py | 78 +-
zaqar/profile.py | 116 ++
zaqar/storage/base.py | 31 +
zaqar/storage/mongodb/driver.py | 60 +-
zaqar/storage/mongodb/messages.py | 26 +-
zaqar/storage/mongodb/options.py | 2 +-
zaqar/storage/mongodb/subscriptions.py | 14 +-
zaqar/storage/mongodb/utils.py | 2 -
zaqar/storage/pipeline.py | 15 +-
zaqar/storage/pooling.py | 36 +-
zaqar/storage/redis/driver.py | 31 +-
zaqar/storage/redis/models.py | 9 +-
zaqar/storage/redis/subscriptions.py | 55 +-
zaqar/storage/redis/utils.py | 2 +-
zaqar/storage/sqlalchemy/driver.py | 44 +-
zaqar/storage/sqlalchemy/migration/__init__.py | 0
zaqar/storage/sqlalchemy/migration/alembic.ini | 54 +
.../migration/alembic_migrations/README.md | 73 ++
.../sqlalchemy/migration/alembic_migrations/env.py | 96 ++
.../migration/alembic_migrations/script.py.mako | 34 +
.../alembic_migrations/versions/001_liberty.py | 72 ++
.../alembic_migrations/versions/002_placeholder.py | 30 +
.../alembic_migrations/versions/003_placeholder.py | 30 +
.../alembic_migrations/versions/004_placeholder.py | 30 +
.../alembic_migrations/versions/005_placeholder.py | 30 +
zaqar/storage/sqlalchemy/migration/cli.py | 118 ++
zaqar/storage/swift/__init__.py | 0
zaqar/storage/swift/claims.py | 188 ++++
zaqar/storage/swift/controllers.py | 23 +
zaqar/storage/swift/driver.py | 78 ++
zaqar/storage/swift/messages.py | 352 ++++++
zaqar/storage/swift/options.py | 31 +
zaqar/storage/swift/queues.py | 124 +++
zaqar/storage/swift/subscriptions.py | 159 +++
zaqar/storage/swift/utils.py | 166 +++
zaqar/storage/utils.py | 10 +-
.../services/messaging/json/messaging_client.py | 10 +
.../unit/storage/sqlalchemy_migration/__init__.py | 0
.../sqlalchemy_migration/test_db_manage_cli.py | 89 ++
.../sqlalchemy_migration/test_migrations.py | 173 +++
.../sqlalchemy_migration/test_migrations_base.py | 194 ++++
.../unit/transport/websocket/v2/test_claims.py | 6 +-
.../unit/transport/websocket/v2/test_messages.py | 3 +-
.../transport/websocket/v2/test_queue_lifecycle.py | 53 +
.../unit/transport/wsgi/v2_0/test_subscriptions.py | 4 +
.../unit/transport/wsgi/v2_0/test_validation.py | 22 +
zaqar/transport/validation.py | 55 +-
zaqar/transport/wsgi/app.py | 3 +
zaqar/transport/wsgi/driver.py | 7 +-
zaqar/transport/wsgi/v2_0/__init__.py | 13 +-
zaqar/transport/wsgi/v2_0/flavors.py | 16 +-
zaqar/transport/wsgi/v2_0/health.py | 2 +
zaqar/transport/wsgi/v2_0/homedoc.py | 13 +
zaqar/transport/wsgi/v2_0/ping.py | 3 +
zaqar/transport/wsgi/v2_0/pools.py | 15 +-
zaqar/transport/wsgi/v2_0/purge.py | 82 ++
zaqar/transport/wsgi/v2_0/queues.py | 9 +-
zaqar/transport/wsgi/v2_0/stats.py | 4 +
zaqar/transport/wsgi/v2_0/subscriptions.py | 39 +-
zaqar/transport/wsgi/v2_0/urls.py | 4 +
146 files changed, 6616 insertions(+), 1647 deletions(-)
Requirements updates
--------------------
diff --git a/bench-requirements.txt b/bench-requirements.txt
index 5cc80af..2026a02 100644
--- a/bench-requirements.txt
+++ b/bench-requirements.txt
@@ -3,2 +3,2 @@ marktime>=0.2.0
-python-zaqarclient>=0.0.2
-os-client-config!=1.6.2,>=1.4.0
\ No newline at end of file
+python-zaqarclient>=1.1.0
+os-client-config>=1.13.1 # Apache-2.0
\ No newline at end of file
diff --git a/requirements.txt b/requirements.txt
index 5b913db..361ce53 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4 +4 @@
-pbr>=1.6 # Apache-2.0
+pbr>=1.8 # Apache-2.0
@@ -5,0 +6 @@ pbr>=1.6 # Apache-2.0
+alembic>=0.8.10 # MIT
@@ -10 +11 @@ iso8601>=0.1.11 # MIT
-keystonemiddleware!=4.1.0,!=4.5.0,>=4.0.0 # Apache-2.0
+keystonemiddleware>=4.12.0 # Apache-2.0
@@ -13,2 +14,2 @@ python-memcached>=1.56 # PSF
-WebOb>=1.2.3 # MIT
-stevedore>=1.16.0 # Apache-2.0
+WebOb>=1.6.0 # MIT
+stevedore>=1.17.1 # Apache-2.0
@@ -17 +18 @@ oslo.cache>=1.5.0 # Apache-2.0
-oslo.config>=3.14.0 # Apache-2.0
+oslo.config!=3.18.0,>=3.14.0 # Apache-2.0
@@ -20 +21,2 @@ oslo.i18n>=2.1.0 # Apache-2.0
-oslo.log>=1.14.0 # Apache-2.0
+oslo.log>=3.11.0 # Apache-2.0
+oslo.messaging>=5.14.0 # Apache-2.0
@@ -22,2 +24,3 @@ oslo.serialization>=1.10.0 # Apache-2.0
-oslo.utils>=3.16.0 # Apache-2.0
-oslo.policy>=1.9.0 # Apache-2.0
+oslo.utils>=3.18.0 # Apache-2.0
+oslo.policy>=1.17.0 # Apache-2.0
+osprofiler>=1.4.0 # Apache-2.0
@@ -28 +31 @@ autobahn>=0.10.1 # MIT License
-requests>=2.10.0 # Apache-2.0
+requests!=2.12.2,>=2.10.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 93fe258..30aa62c 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -12,0 +13 @@ pymongo!=3.1,>=3.0.2 # Apache-2.0
+python-swiftclient>=3.2.0 # Apache-2.0
@@ -13,0 +15 @@ websocket-client>=0.32.0 # LGPLv2+
+PyMySQL>=0.7.6 # MIT License
@@ -16 +18 @@ websocket-client>=0.32.0 # LGPLv2+
-coverage>=3.6 # Apache-2.0
+coverage>=4.0 # Apache-2.0
@@ -19,0 +22 @@ python-subunit>=0.0.18 # Apache-2.0/BSD
+testscenarios>=0.4 # Apache-2.0/BSD
@@ -21,0 +25,2 @@ testtools>=1.4.0 # MIT
+oslo.db>=4.15.0 # Apache-2.0
+testresources>=0.2.4 # Apache-2.0/BSD
@@ -24,2 +29,2 @@ testtools>=1.4.0 # MIT
-sphinx!=1.3b1,<1.3,>=1.2.1 # BSD
-oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0
+sphinx!=1.3b1,<1.4,>=1.2.1 # BSD
+oslosphinx>=4.7.0 # Apache-2.0
@@ -28 +33 @@ oslotest>=1.10.0 # Apache-2.0
-reno>=1.8.0 # Apache2
+reno>=1.8.0 # Apache-2.0
@@ -32,0 +38,3 @@ tempest>=12.1.0 # Apache-2.0
+
+#OSprofiler
+osprofiler>=1.4.0 # Apache-2.0
1
0
We high-spiritedly announce the release of:
nova 15.0.0: Cloud computing fabric controller
This release is part of the ocata release series.
Download the package from:
https://tarballs.openstack.org/nova/
For more details, please see below.
15.0.0
^^^^^^
Neutron is now the default configuration for new deployments.
The 15.0.0 release includes many new features and bug fixes. It is
difficult to cover all the changes that have been introduced. Please
at least read the upgrade section which describes the required actions
to upgrade your cloud from 14.0.0 (Newton) to 15.0.0 (Ocata).
That said, a few major changes are worth mentioning. This is not an
exhaustive list:
* The latest API microversion supported for Ocata is v2.42. Details
on REST API microversions added since the 14.0.0 Newton release can
be found in the REST API Version History page.
* The Nova FilterScheduler driver is now able to make scheduling
decisions based on the new Placement RESTful API endpoint that
becomes mandatory in Ocata. Accordingly, the compute nodes will
refuse to start if you do not amend the configuration to add the
"[placement]" section so they can provide their resource usage. For
the moment, only CPU, RAM and disk resource usage are verified by
the Placement API, but we plan to add more resource classes in the
next release. You will find further details in the features and
upgrade sections below, and the Placement API page.
* Ocata contains a lot of new CellsV2 functions, but not all of it
is fully ready for production. All deployments must set up their
existing nodes as a cell, with database connection and MQ
transport_url config items matching that cell. In a subsequent
release, additional cells will be fully supported, as will a
migration path for CellsV1 users. By default, an Ocata deployment
now needs to configure at least one new "Cell V2" (not to be
confused with the first version of cells). In Newton, it was
possible to deploy a single cell V2 and schedule on it but this was
optional. Now in Ocata, single CellsV2 deployments are mandatory.
More details to be found when reading the release notes below.
* There is a new nova-status command that gives operators a better
view of their cloud. In particular, a new subcommand called
"upgrade" allows operators to run a pre-flight check on their
deployment before upgrading. This helps them to proactively identify
potential upgrade issues that could occur.
(http://docs.openstack.org/developer/nova/api_microversion_history.h
tml) (http://docs.openstack.org/developer/nova/placement.html)
New Features
************
* Updates the network metadata that is passed to configdrive by the
Ironic virt driver. The metadata now includes network information
about port groups and their associated ports. It will be used to
configure port groups on the baremetal instance side.
* Adding aarch64 to the list of supported architectures for NUMA and
hugepage features. This requires libvirt>=1.2.7 for NUMA,
libvirt>=1.2.8 for hugepage and qemu v2.1.0 for both.
* OSProfiler support was added. This cross-project profiling library
allows to trace various OpenStack requests through all OpenStack
services that support it. To initiate OpenStack request tracing
*--profile <HMAC_KEY>* option needs to be added to the CLI command.
This key needs to present one of the secret keys defined in
nova.conf configuration file with *hmac_keys* option under the
*[profiler]* configuration section. To enable or disable Nova
profiling the appropriate *enabled* option under the same section
needs to be set either to *True* or *False*. By default Nova will
trace all API and RPC requests, but there is an opportunity to trace
DB requests as well. For this purpose *trace_sqlalchemy* option
needs to be set to *True*. As a prerequisite OSProfiler library and
its storage backend needs to be installed to the environment. If so
(and if profiling is enabled in nova.conf) the trace can be
generated via following command, for instance - *$ nova --profile
SECRET_KEY boot --image <image> --flavor <flavor> <name>*. At the
end of output there will be message with <trace_id>, and to plot
nice HTML graphs the following command should be used - *$
osprofiler trace show <trace_id> --html --out result.html*
* The following versioned swap volume notifications have been added
in the compute manager:
* instance.volume_swap.start
* instance.volume_swap.end
* instance.volume_swap.error
* Support for archiving all deleted rows from the database has been
added to the "nova-manage db archive_deleted_rows" command. The "--
until-complete" option will continuously run the process until no
more rows are available for archiving.
* Virtuozzo hypervisor now supports ephemeral disks for containers.
* Support versioned notifications for flavor operations like create,
delete, update access and update extra_specs.
* The Hyper-V driver now supports the following quota flavor extra
specs, allowing to specify IO limits applied for each of the
instance local disks, individually.
* quota:disk_total_bytes_sec
* quota:disk_total_iops_sec - those are normalized IOPS, thus each
IO request is accounted for as 1 normalized IO if the size of the
request is less than or equal to a predefined base size (8KB).
Also, the following Cinder front-end QoS specs are now supported for
SMB Cinder backends:
* total_bytes_sec
* total_iops_sec - normalized IOPS
* The Hyper-V driver now uses os-brick for volume related
operations, introducing the following new features:
* Attaching volumes over fibre channel on a passthrough basis.
* Improved iSCSI MPIO support, by connecting to multiple iSCSI
targets/portals when available and allowing using a predefined
list of initiator HBAs.
* Adds trigger crash dump support to ironic virt driver. This
feature requires the Ironic service to support API version 1.29 or
later. It also requires python-ironicclient >= 1.11.0.
* Adds soft reboot support to Ironic virt driver. If hardware driver
in Ironic doesn't support soft reboot, hard reboot is tried. This
feature requires the Ironic service to support API version 1.27 or
later. It also requires python-ironicclient >= 1.10.0.
* Adds soft power off support to Ironic virt driver. This feature
requires the Ironic service to support API version 1.27 or later. It
also requires python-ironicclient >= 1.10.0.
* Virtuozzo hypervisor now supports libvirt callback to set admin
password. Requires libvirt>=2.0.0.
* The XenServer compute driver now supports hot-plugging virtual
network interfaces.
* The same policy rule (os_compute_api:os-server-groups) was being
used for all actions (show, index, delete, create) for server_groups
REST APIs. It was thus impossible to provide different RBAC for
specific actions based on roles. To address this changes were made
to have separate policy rules for each action. The original rule
(os_compute_api:os-server-groups) is left unchanged for backward
compatibility.
* The libvirt driver now has a "live_migration_scheme" configuration
option which should be used where the "live_migration_uri" would
previously have been configured with non-default scheme.
* The nova Hyper-V driver can now plug OVS VIFs. This means that
neutron-ovs-agent can be used as an L2 agent instead of neutron-
hyperv-agent. In order to plug OVS VIFs, the configuration option
"vswitch_name" from the "hyperv" section must be set to the vSwitch
which has the OVS extension enabled. Hot-plugging is only supported
on Windows / Hyper-V Server 2016 + Generation 2 VMs. Older Hyper-V
versions only support attaching vNICs while the VM is turned off.
* The nova Hyper-V driver now supports adding PCI passthrough
devices to Hyper-V instances (discrete device assignment). This
feature has been introduced in Windows / Hyper-V Server 2016 and
offers the possibility to attach some of the host's PCI devices
(e.g.: GPU devices) directly to Hyper-V instances. In order to
benefit from this feature, Hyper-V compute nodes must support SR-IOV
and must have assignable PCI devices. This can easily be checked by
running the following powershell commands:
Start-BitsTransfer https://raw.githubusercontent.com/Microsoft/Virtualization-Documentation/ma…
.\survey-dda.ps1
The script above will print a list of assignable PCI devices
available on the host, and if the host supports SR-IOV.
If the host supports this feature and it has at least an assignable
PCI device, the host must be configured to allow those PCI devices
to be assigned to VMs. For information on how to do this, follow
this guide [1].
After the compute nodes have been configured, the nova-api, nova-
scheduler, and the nova-compute services will have to be configured
next [2].
[1] https://blogs.technet.microsoft.com/heyscriptingguy/2016/07/14
/passing-through-devices-to-hyper-v-vms-by-using-discrete-device-
assignment/ [2] http://docs.openstack.org/admin-guide/compute-pci-
passthrough.html
* Added boot order support in the Hyper-V driver. The HyperVDriver
can now set the requested boot order for instances that are
Generation 2 VMs (the given image has the property
"hw_machine_type=hyperv- gen2"). For Generation 1 VMs, the spawned
VM's boot order is changed only if the given image is an ISO,
booting from ISO first.
* The nova Hyper-V driver now supports symmetric NUMA topologies.
This means that all the NUMA nodes in the NUMA topology must have
the same amount of vCPUs and memory. It can easily be requested by
having the flavor extra_spec "hw:numa_nodes", or the image property
"hw_numa_nodes". An instance with NUMA topology cannot have dynamic
memory enabled. Thus, if an instance requires a NUMA topology, it
will be spawned without dynamic memory, regardless of the value set
in the "dynamic_memory_ratio" config option in the compute node's
"nova.conf" file. In order to benefit from this feature, the host's
NUMA spanning must be disabled. Hyper-V does not guarantee CPU
pinning, thus, the nova Hyper-V driver will not spawn instances with
the flavor extra_spec "hw:cpu_policy" or image property
"hw_cpu_policy" set to "dedicated".
* Added support for Hyper-V VMs with UEFI Secure Boot enabled. In
order to create such VMs, there are a couple of things to consider:
* Images should be prepared for Generation 2 VMs. The image
property "hw_machine_type=hyperv-gen2" is mandatory.
* The guest OS type must be specified in order to properly spawn
the VMs. It can be specifed through the image property "os_type",
and the acceptable values are "windows" or "linux".
* The UEFI Secure Boot feature can be requested through the image
property "os_secure_boot" (acceptable values: "disabled",
"optional", "required") or flavor extra spec "os:secure_boot"
(acceptable values: "disabled", "required"). The flavor extra spec
will take precedence. If the image property and the flavor extra
spec values are conflicting, then an exception is raised.
* This feature is supported on Windows / Hyper-V Server 2012 R2
for Windows guests, and Windows / Hyper-V Server 2016 for both
Windows and Linux guests.
* Encryption provider constants have been introduced detailing the
supported encryption formats such as LUKs along with their
associated in-tree provider implementations. These constants should
now be used to identify an encryption provider implementation for a
given encryption format.
* Adds serial console support to Ironic driver. Nova now supports
serial console to Ironic bare metals for Ironic "socat" console
driver. In order to use this feature, serial console must be
configured in Nova and the Ironic "socat" console driver must be
used and configured in Ironic. Ironic serial console configuration
is documented in
http://docs.openstack.org/developer/ironic/deploy/console.html.
* Live migration is supported for both Virtuozzo containers and
virtual machines when using virt_type=parallels.
* The following legacy notifications have been transformed to a new
versioned payload:
* aggregate.create
* aggregate.delete
* instance.create
* instance.finish_resize
* instance.power_off
* instance.resume
* instance.shelve_offload
* instance.shutdown
* instance.snapshot
* instance.unpause
* instance.unshelve
Every versioned notification has a sample file stored under
doc/notification_samples directory. Consult
http://docs.openstack.org/developer/nova/notifications.html for more
information.
* A new "nova-status upgrade check" CLI is provided for checking the
readiness of a deployment when preparing to upgrade to the latest
release. The tool is written to handle both fresh installs and
upgrades from an earlier release, for example upgrading from the
14.0.3 Newton release. There can be multiple checks performed with
varying degrees of success. More details on the command and how to
interpret results are in the nova-status man page.
(http://docs.openstack.org/developer/nova/man/nova-status.html)
* All deployments will function as a single-cell environment.
Multiple v2 cells are technically possible, but should only be used
for testing as many other things will not work across cell
boundaries yet. For details on cells v2 and the setup required for
Nova with cells v2, see the cells documentation. [1]
[1] http://docs.openstack.org/developer/nova/cells.html
* Added microversion v2.40 which introduces pagination support for
usage with the help of new optional parameters 'limit' and 'marker'.
If 'limit' isn't provided, it will default to the configurable max
limit which is currently 1000.
/os-simple-tenant-usage?limit={limit}&marker={instance_uuid}
/os-simple-tenant-usage/{tenant}?limit={limit}&marker={instance_uuid}
Older microversions will not accept these new paging query
parameters, but they will start to silently limit by the max limit
to encourage the adoption of this new microversion, and circumvent
the existing possibility DoS-like usage requests on systems with
thousands of instances.
* Enhance pci.passthrough_whitelist to support regular expression
syntax. The 'address' field can be regular expression syntax. The
old pci.passthrough_whitelist, glob sytnax, is still valid config.
* A new Placement API microversion 1.3 is added with support for
filtering the list of resource providers to include only those
resource providers which are members of any of the aggregates listed
by uuid in the *member_of* query parameter. The parameter is used
when making a *GET /resource_providers* request. The value of the
parameter uses the *in:* syntax to provide a list of aggregate uuids
as follows:
/resource_providers?member_of=in:09c931b0-c0d7-4e80-8e01-9e6511db8259,f8ab4fa2-804f-402e-b675-7918bd04b173
If other filtering query parameters are present, the results are a
boolean AND of all the filters.
* A new Placement API microversion 1.4 is added. Users may now query
the Placement REST API for resource providers that have the ability
to meet a set of requested resource amounts. The *GET
/resource_providers* API call can have a "resources" query string
parameter supplied that indicates the requested amounts of various
resources that a provider must have the capacity to serve. The
"resources" query string parameter takes the form:
"?resources=$RESOURCE_CLASS_NAME:$AMOUNT,$RESOURCE_CLASS_NAME:$AMOU
NT"
For instance, if the user wishes to see resource providers that can
service a request for 2 vCPUs, 1024 MB of RAM and 50 GB of disk
space, the user can issue a request of:
``GET /resource_providers?resources=VCPU:2,MEMORY_MB:1024,DISK_GB:50``
The placement API is only available to admin users.
* A new administrator-only resource endpoint was added to the
OpenStack Placement REST API for managing custom resource classes.
Custom resource classes are specific to a deployment and represent
types of quantitative resources that are not interoperable between
OpenStack clouds. See the Placement REST API Version History
documentation for usage details.
(http://docs.openstack.org/developer/nova/placement.html#id2)
* nova-scheduler process is now calling the placement API in order
to get a list of valid destinations before calling the filters. That
works only if all your compute nodes are fully upgraded to Ocata. If
some nodes are not upgraded, the scheduler will still lookup from
the DB instead which is less performant.
* A new 2.41 microversion was added to the Compute API. Users
specifying this microversion will now see the 'uuid' attribute of
aggregates when calling the *os-aggregates* REST API endpoint.
* As new hosts are added to Nova, the *nova-manage cell_v2
discover_hosts* command must be run in order to map them into their
cell. For deployments with proper automation, this is a trivial
extra step in that process. However, for smaller or non-automated
deployments, there is a new configuration variable for the scheduler
process which will perform this discovery periodically. By setting
*scheduler.discover_hosts_in_cells_interval* to a positive value,
the scheduler will handle this for you. Note that this process
involves listing all hosts in all cells, and is likely to be too
heavyweight for large deployments to run all the time.
* VLAN tags associated with instance network interfaces are now
exposed via the metadata API and instance config drives and can be
consumed by the instance. This is an extension of the device tagging
mechanism added in past releases. This is useful for instances
utilizing SR-IOV physical functions (PFs). The VLAN configuration
for the guest's virtual interfaces associated with these devices
cannot be configured inside the guest OS from the host, but
nonetheless must be configured with the VLAN tags of the device to
ensure packet delivery. This feature makes this possible.
Note: VLAN tags are currently only supported via the Libvirt
driver.
* Added support for Keystone middleware feature where if service
token is sent along with the user token, then it will ignore the
expiration of user token. This helps deal with issues of user tokens
expiring during long running operations, such as live-migration
where nova tries to access Cinder and Neutron at the end of the
operation using the user token that has expired. In order to use
this functionality a service user needs to be created. Add service
user configurations in "nova.conf" under "service_user" group and
set "send_service_user_token" flag to "True". The minimum Keytone
API version 3.8 and Keystone middleware version 4.12.0 is required
to use this functionality. This only currently works with Nova -
Cinder and Nova - Neutron API interactions.
* The vendordata metadata system now caches boot time roles. Some
external vendordata services want to provide metadata based on the
role of the user who started the instance. It would be confusing if
the metadata returned changed later if the role of the user changed,
so we cache the boot time roles and then pass those to the external
vendordata service.
* The vendordata metadata system now supports a hard failure mode.
This can be enabled using the "api.vendordata_dynamic_failure_fatal"
configuration option. When enabled, an instance will fail to start
if the instance cannot fetch dynamic vendordata.
* The nova-manage online_data_migrations command now prints a
tabular summary of completed and remaining records. The goal here is
to get all your numbers to zero. The previous execution return code
behavior is retained for scripting.
* When using libvirt driver, vrouter VIFs (OpenContrail) now
supports multiqueue mode, which allows to scale network performance
across number of vCPUs. To use this feature one needs to create
instance with more than 1 vCPU from an image with
"hw_vif_multiqueue_enabled" property set to "true".
* A list of valid vif models is extended for Virtuozzo hypervisor
(virt_type=parallels) with VIRTIO, RTL8139 and E1000 models.
Known Issues
************
* Flavor.projects (access) will not be present in the instance
versioned notifications since notifications currently do not lazy-
load fields. This limitation is being tracked with bug 1653221.
(https://bugs.launchpad.net/nova/+bug/1653221)
* Ironic nodes that were deleted from ironic's database during
Newton may result in orphaned resource providers causing incorrect
scheduling decisions, leading to a reschedule. If this happens, the
orphaned resource providers will need to be identified and removed.
See also https://bugs.launchpad.net/nova/+bug/1661258
* The live-migration progress timeout controlled by the
configuration option "[libvirt]/live_migration_progress_timeout" has
been discovered to frequently cause live-migrations to fail with a
progress timeout error, even though the live-migration is still
making good progress. To minimize problems caused by these checks we
have changed the default to 0, which means do not trigger a timeout.
To modify when a live-migration will fail with a timeout error,
please now look at "[libvirt]/live_migration_completion_timeout" and
"[libvirt]/live_migration_downtime".
* When generating Libvirt XML to attach network interfaces for the
*tap*, *ivs*, *iovisor*, *midonet*, and *vrouter* virtual interface
types Nova previously generated an empty path attribute to the
script element (*<script path=''/>*) of the interface.
As of Libvirt 1.3.3 (commit) and later Libvirt no longer accepts an
empty path attribute to the script element of the interface. Notably
this includes Libvirt 2.0.0 as provided with RHEL 7.3 and CentOS
7.3-1611. The creation of virtual machines with offending interface
definitions on a host with Libvirt 1.3.3 or later will result in an
error "libvirtError: Cannot find '' in path: No such file or
directory".
Additionally, where virtual machines already exist that were created
using earlier versions of Libvirt interactions with these virtual
machines via Nova or other utilities (e.g. *virsh*) may result in
similar errors.
To mitigate this issue Nova no longer generates an empty path
attribute to the script element when defining an interface. This
resolves the issue with regards to virtual machine creation. To
resolve the issue with regards to existing virtual machines a change
to Libvirt is required, this is being tracked in Bugzilla 1412834
(https://libvirt.org/git/?p=libvirt.git;a=commit;h=9c17d665fdc5f0a
b74500a14c30627014c11b2c0)
(https://bugzilla.redhat.com/show_bug.cgi?id=1412834)
* Once fully upgraded, if you create multiple real cells with hosts,
the scheduler will utilize them, but those instances will likely be
unusable because not all API functions are cells-aware yet.
* Listing instances across multiple cells with a sort order will
result in barber-pole sorting, striped across the cell boundaries.
Upgrade Notes
*************
* API configuration options have been moved to the 'api' group. They
should no longer be included in the 'DEFAULT' group. Options
affected by this change:
* "auth_strategy"
* "use_forwarded_for"
* "config_drive_skip_versions"
* "vendordata_providers"
* "vendordata_dynamic_targets"
* "vendordata_dynamic_ssl_certfile"
* "vendordata_dynamic_connect_timeout"
* "vendordata_dynamic_read_timeout"
* "metadata_cache_expiration"
* "vendordata_jsonfile_path"
* "max_limit" (was "osapi_max_limit")
* "compute_link_prefix" (was "osapi_compute_link_prefix")
* "glance_link_prefix" (was "osapi_glance_link_prefix")
* "allow_instance_snapshots"
* "hide_server_address_states" (was
"osapi_hide_server_address_states")
* "fping_path"
* "use_neutron_default_nets"
* "neutron_default_tenant_id"
* "enable_instance_password"
* The "console_token_ttl" configuration option has been moved to the
"consoleauth" group and renamed "token_ttl". It should no longer be
included in the "DEFAULT" group.
* To allow access to the versions REST API from diverse origins,
CORS support has been added to the 'oscomputeversions' pipeline in
'/etc/nova/api-paste.ini'. Existing deployments that wish to enable
support should add the 'cors' filter at the start of the
'oscomputeversions' pipeline.
* The ivs-ctl command has been added to the rootwrap filters in
compute.filters. Deployments needing support for BigSwitch no longer
need to add the filters manually nor include network.filters at
installation.
* All pci configuration options have been added to the 'pci' group.
They should no longer be included in the 'DEFAULT' group. These
options are as below:
* pci_alias (now pci.alias)
* pci_passthrough_whitelist (now pci.passthrough_whitelist)
* All general scheduler configuration options have been added to the
"scheduler" group.
* "scheduler_driver" (now "driver")
* "scheduler_host_manager" (now "host_manager")
* "scheduler_driver_task_period" (now "periodic_task_interval")
* "scheduler_max_attempts" (now "max_attempts")
In addition, all filter scheduler configuration options have been
added to the "filter_scheduler" group.
* "scheduler_host_subset_size" (now "host_subset_size")
* "scheduler_max_instances_per_host" (now
"max_instances_per_host")
* "scheduler_tracks_instance_changes" (now
"track_instance_changes")
* "scheduler_available_filters" (now "available_filters")
* "scheduler_default_filters" (now "enabled_filters")
* "baremetal_scheduler_default_filters" (now
"baremetal_enabled_filters")
* "scheduler_use_baremetal_filters" (now "use_baremetal_filters")
* "scheduler_weight_classes" (now "weight_classes")
* "ram_weight_multiplier"
* "disk_weight_multipler"
* "io_ops_weight_multipler"
* "soft_affinity_weight_multiplier"
* "soft_anti_affinity_weight_multiplier"
* "isolated_images"
* "isolated_hosts"
* "restrict_isolated_hosts_to_isolated_images"
* "aggregate_image_properties_isolation_namespace"
* "aggregate_image_properties_isolation_separator"
These options should no longer be included in the "DEFAULT" group.
* The filter and sort query parameters for server list API are now
limited according to whitelists. The whitelists are different for
admin and non-admin users.
**Filtering**
The whitelist for REST API filters for admin users:
* access_ip_v4
* access_ip_v6
* all_tenants
* auto_disk_config
* availability_zone
* config_drive
* changes-since
* created_at
* deleted
* description
* display_description
* display_name
* flavor
* host
* hostname
* image
* image_ref
* ip
* ip6
* kernel_id
* key_name
* launch_index
* launched_at
* limit
* locked_by
* marker
* name
* node
* not-tags (available in 2.26+)
* not-tags-any (available in 2.26+)
* power_state
* progress
* project_id
* ramdisk_id
* reservation_id
* root_device_name
* sort_dir
* sort_key
* status
* tags (available in 2.26+)
* tags-any (available in 2.26+)
* task_state
* tenant_id
* terminated_at
* user_id
* uuid
* vm_state
For non-admin users, there is a whitelist for filters already. That
whitelist is unchanged.
**Sorting**
The whitelist for sort keys for admin users:
* access_ip_v4
* access_ip_v6
* auto_disk_config
* availability_zone
* config_drive
* created_at
* display_description
* display_name
* host
* hostname
* image_ref
* instance_type_id
* kernel_id
* key_name
* launch_index
* launched_at
* locked_by
* node
* power_state
* progress
* project_id
* ramdisk_id
* root_device_name
* task_state
* terminated_at
* updated_at
* user_id
* uuid
* vm_state
For non-admin users, the sort key "host" and "node" will be
excluded.
**Other**
*HTTP Bad Request 400* will be returned for the filters/sort keys
which are on joined tables or internal data model attributes. They
would previously cause a *HTTP Server Internal Error 500*, namely:
* block_device_mapping
* info_cache
* metadata
* pci_devices
* security_groups
* services
* system_metadata
In order to maintain backward compatibility, filter and sort
parameters which are not mapped to the REST API *servers* resource
representation are ignored.
* The three configuration options "cpu_allocation_ratio",
"ram_allocation_ratio" and "disk_allocation_ratio" for the nova
compute are now checked against negative values. If any of these
three options is set to negative value then nova compute service
will fail to start.
* The default value for the "[xenserver]/vif_driver" configuration
option has been changed to
"nova.virt.xenapi.vif.XenAPIOpenVswitchDriver" to match the default
configuration of "[DEFAULT]/use_neutron=True".
* Support for **hw_watchdog_action** as a flavor extra spec has been
removed. The valid flavor extra spec is **hw:watchdog_action** and
the image property, which takes precedence, is
**hw_watchdog_action**.
* The Ironic driver now requires python-ironicclient>=1.9.0, and
requires Ironic service to support API version 1.28 or higher. As
usual, Ironic should be upgraded before Nova for a smooth upgrade
process.
* As of Ocata, the minimum version of VMware vCenter that nova
compute will interoperate with will be 5.1.0. Deployments using
older versions of vCenter should upgrade. Running with vCenter
version less than 5.5.0 is also now deprecated and 5.5.0 will become
the minimum version in the 16.0.0 Pike release of Nova.
* "console_public_hostname" console options under the "DEFAULT"
group have been moved to the "xenserver" group.
* Following Notifications related configuration options have been
moved from the "DEFAULT" group to the "notifications" group:
* "notify_on_state_change"
* "notify_on_api_faults" (was "notify_api_faults")
* "default_level" (was "default_notification_level")
* "default_publisher_id"
* "notification_format"
* When making connections to Ceph-backed volumes via the Libvirt
driver, the auth values (rbd_user, rbd_secret_uuid) are now pulled
from the backing cinder.conf rather than nova.conf. The nova.conf
values are only used if set and the cinder.conf values are not set,
but this fallback support is considered accidental and will be
removed in the Nova 16.0.0 Pike release. See the Ceph documentation
for configuring Cinder for RBD auth.
(http://docs.ceph.com/docs/master/rbd/rbd-openstack/#configuring-
cinder)
* Nova no longer supports the deprecated Cinder v1 API.
* Ocata requires that your deployment have created the cell and host
mappings in Newton. If you have not done this, Ocata's *db sync*
command will fail. Small deployments will want to run *nova-manage
cell_v2 simple_cell_setup* on Newton before upgrading. Operators
must create a new database for cell0 before running *cell_v2
simple_cell_setup*. The simple cell setup command expects the name
of the cell0 database to be *<main database name>_cell0* as it will
create a cell mapping for cell0 based on the main database
connection, sync the cell0 database, and associate existing hosts
and instances with the single cell.
* The nova-network service was deprecated in the 14.0.0 Newton
release. In the 15.0.0 Ocata release, nova-network will only work in
a Cells v1 deployment. The Neutron networking service is now the
default configuration for new deployments based on the "use_neutron"
configuration option.
* Most quota options have been moved into their own configuration
group. The exception is quota_networks as it is an API flag not a
quota flag. These options are as below:
* "quota_instances" (now "instances")
* "quota_cores" (now "cores")
* "quota_ram" (now "ram")
* "quota_floating_ips" (now "floating_ips")
* "quota_fixed_ips" (now "fixed_ips")
* "quota_metadata_items" (now "metadata_items")
* "quota_injected_files" (now "injected_files")
* "quota_injected_file_content_bytes" (now
"injected_file_content_bytes")
* "quota_injected_file_path_length" (now
"injected_file_path_length")
* "quota_security_groups" (now "security_groups")
* "quota_security_group_rules" (now "security_group_rules")
* "quota_key_pairs" (now "key_pairs")
* "quota_server_groups" (now "server_groups")
* "quota_server_group_members" (now "server_group_members")
* "reservation_expire"
* "until_refresh"
* "max_age"
* "quota_driver" (now "driver")
* The nova-all binary to launch all services has been removed after
a deprecation period. It was only intended for testing purposes and
not production use. Please use the individual Nova binaries to
launch services.
* The "compute_stats_class" configuration option was deprecated
since the 13.0.0 Mitaka release and has been removed. Compute
statistics are now always generated from the
"nova.compute.stats.Stats" class within Nova.
* "use_glance_v1" option was removed due to plans to remove Glance
V1 support during Ocata development.
* The deprecated S3 image backend has been removed.
* XenServer users must now set the value of
xenserver.ovs_integration_bridge before they can use the system.
Previously this had a default of "xapi1", which has now been
removed, because it is dependent on the environment. The xapi<n> are
internal bridges that are incrementally defined from zero and
"xapi1" may not be the correct bridge. Operators should set this
config value to the integration bridge used between all guests and
the compute host in their environment.
* The "scheduler_json_config_location" configuration option has not
been used since the 13.0.0 Mitaka release and has been removed.
* Configuration options related to the Barbican were deprecated and
now completly removed from "barbican" group. These options are
available in the Castellan library. Following are the affected
options:
* "barbican.catalog_info"
* "barbican.endpoint_template"
* "barbican.os_region_name"
* "driver" configuration option has been removed from "cells" group.
There is only one possible driver for cells (CellsRPCDriver), which
makes this option redundant.
* The deprecated "cert_topic" configuration option has been removed.
* "fatal_exception_format_errors" configuration option has been
removed, as it was only used for internal testing.
* Ironic configuration options that were used for a deprecated
Identity v2 API have been removed from "ironic" group. Below is the
detailed list of removed options:
* admin_usernale
* admin_password
* admin_url
* admin_tenant_name
* The concept that "service manager" were replaceable components was
deprecated in Mitaka, so following config options are removed.
* "metadata_manager"
* "compute_manager"
* "console_manager"
* "consoleauth_manager"
* "cert_manager"
* "scheduler_manager"
* "conductor.manager"
* In mitaka, an online migration was added to migrate older SRIOV
parent device information from extra_info to a new column. Since two
releases have gone out with that migration, it is removed in Ocata
and operators are expetected to have run it as part of either of the
previous two releases, if applicable.
* Since the Placement service is now mandatory in Ocata, you need to
deploy it and amend your compute node configuration with correct
placement instructions before restarting nova-compute or the compute
node will refuse to start.
* If by Newton (14.0.0), you don't use any of the CoreFilter,
RamFilter or DiskFilter, then please modify all your compute node's
configuration by amending either "cpu_allocation_ratio" (if you
don't use CoreFilter) or "ram_allocation_ratio" (if you don't use
RamFilter) or "disk_allocation_ratio" (if you don't use DiskFilter)
by putting a 9999.0 value for the ratio before upgrading the nova-
scheduler to Ocata.
* The ''use_local'' option, which made it possible to perform nova-
conductor operations locally, has been removed. This legacy mode was
introduced to bridge a gap during the transition to the conductor
service. It no longer represents a reasonable alternative for
deployers.
* The deprecated compute config option "snapshot_name_template" has
been removed. It is not used anywhere and has no effect on any code,
so there is no impact.
* The deprecated config option "compute_available_monitors" has been
removed from the "DEFAULT" config section. Use setuptools entry
points to list available monitor plugins.
* The following deprecated nova-manage commands have been removed:
* "nova-manage account scrub"
* "nova-manage fixed *"
* "nova-manage project scrub"
* "nova-manage vpn *"
* The following deprecated nova-manage commands have been removed:
* nova-manage vm list
* As of Ocata, the minimum version of Virtuozzo that nova compute
will interoperate with will be 7.0.0. Deployments using older
versions of Virtuozzo should upgrade.
* XenServer plugins have been renamed to include a '.py' extension.
Code has been included to handle plugins with and without the
extension, but this will be removed in the next release. The plugins
with the extension should be deployed on all compute nodes to
mitigate any upgrade issues.
Deprecation Notes
*****************
* Implemented microversion v2.39 that deprecates *image-metadata*
proxy API, removes image metadata quota checks for 'createImage' and
'createBackup' actions. After this version Glance configuration
option *image_property_quota* should be used to control the quota of
image metadatas. Also, removes the *maxImageMeta* field from *os-
limits* API response.
* The config options "multi_instance_display_name_template" and
"null_kernel" in the "DEFAULT" group are now deprecated and may be
removed as early as the 16.0.0 release. These options are deprecated
to keep API behaviour consistent across deployments.
* The "console_driver" config opt in the "DEFAULT" group has been
deprecated and will be removed in a future release. This option no
longer does anything. Previously this option had only two valid, in-
tree values: "nova.console.xvp.XVPConsoleProxy" and
"nova.console.fake.FakeConsoleProxy". The latter of these was only
used in tests and has since been replaced.
* "[libvirt]/live_migration_progress_timeout" has been deprecated as
this feature has been found not to work. See bug 1644248 for more
details.
* The following options, found in "DEFAULT", were only used for
configuring nova-network and are, like nova-network itself, now
deprecated.
* "flat_network_bridge"
* "flat_network_dns"
* "flat_interface"
* "vlan_interface"
* "vlan_start"
* "num_networks"
* "vpn_ip"
* "vpn_start"
* "network_size"
* "fixed_range_v6"
* "gateway"
* "gateway_v6"
* "cnt_vpn_clients"
* "fixed_ip_disassociate_timeout"
* "create_unique_mac_address_attempts"
* "teardown_unused_network_gateway"
* "l3_lib"
* "network_driver"
* "multi_host"
* "force_dhcp_release"
* "update_dns_entries"
* "dns_update_periodic_interval"
* "dhcp_domain"
* "use_neutron"
* "auto_assign_floating_ip"
* "floating_ip_dns_manager"
* "instance_dns_manager"
* "instance_dns_domain"
The following options, found in "quota", are also deprecated.
* "floating_ips"
* "fixed_ips"
* "security_groups"
* "security_group_rules"
* The "remap_vbd_dev" option is deprecated and will be removed in a
future release.
* The "topic" config options are now deprecated and will be removed
in the next release. The deprecated options are as below:
* cells.topic
* compute_topic
* conductor.topic
* console_topic
* consoleauth_topic
* network_topic
* scheduler_topic
* Deprecate the VMware driver's "wsdl_location" config option. This
option pointed to the location of the WSDL files required when using
vCenter versions earlier than 5.1. Since the minimum supported
version of vCenter is 5.1, there is no longer a need for this option
and its value is ignored.
* The "[xenserver]/vif_driver" configuration option is deprecated
for removal. The "XenAPIOpenVswitchDriver" vif driver is used for
Neutron and the "XenAPIBridgeDriver" vif driver is used for nova-
network, which itself is deprecated. In the future, the
"use_neutron" configuration option will be used to determine which
vif driver to load.
* The "live_migration_uri" option in the [libvirt] configuration
section is deprecated, and will be removed in a future release. The
"live_migration_scheme" should be used to change scheme used for
live migration, and "live_migration_inbound_addr" should be used to
change target URI.
* The XenServer driver provides support for downloading images via
torrents. This feature has not been tested, and it's not clear
whether there's a clear use case for such a feature. As a result,
this feature is now deprecated as are the following config options.
* "torrent_base_url"
* "torrent_seed_chance"
* "torrent_seed_duration"
* "torrent_max_last_accessed"
* "torrent_listen_port_start"
* "torrent_listen_port_end"
* "torrent_download_stall_cutoff"
* "torrent_max_seeder_processes_per_host"
* The direct use of the encryption provider classes such as
nova.volume.encryptors.luks.LuksEncryptor is now deprecated and will
be blocked in the Pike release of Nova. The use of out of tree
encryption provider classes is also deprecated and will be blocked
in the Pike release of Nova.
* Nova network was deprecated in Newton and is no longer supported
for regular deployments in Ocata. The network service binary will
now refuse to start, except in the special case of CellsV1 where it
is still required to function.
Security Issues
***************
* OSProfiler support requires passing of trace information between
various OpenStack services. This information is securely signed by
one of HMAC keys, defined in nova.conf configuration file. To allow
cross-project tracing user should use the key, that is common among
all OpenStack services he or she wants to trace.
Bug Fixes
*********
* Prior to Newton, volumes encrypted by the CryptsetupEncryptor and
LuksEncryptor encryption providers used a mangled passphrase
stripped of leading zeros per hexadecimal. When opening encrypted
volumes, LuksEncryptor now attempts to replace these mangled
passphrases if detected while CryptsetupEncryptor simply uses the
mangled passphrase.
* Fixes bug 1662699 which was a regression in the v2.1 API from the
"block_device_mapping_v2.boot_index" validation that was performed
in the legacy v2 API. With this fix, requests to create a server
with "boot_index=None" will be treated as if "boot_index" was not
specified, which defaults to meaning a non-bootable block device.
(https://bugs.launchpad.net/nova/+bug/1662699)
* The Hyper-V driver no longer accepts cold migrating instances to
the same host. Note that this does not apply to resizes, in which
case this is still allowed.
* The "nova-manage cell_v2 simple_cell_setup" command now creates
the default cell0 database connection using the "[database]"
connection configuration option rather than the "[api_database]"
connection. The cell0 database schema is the *main* database, i.e.
the *instances* table, rather than the *api* database schema. In
other words, the cell0 database would be called something like
"nova_cell0" rather than "nova_api_cell0".
* In the context of virtual device role tagging at server create
time, the 2.42 microversion restores the tag attribute to networks
and block_device_mapping_v2. A bug has caused the tag attribute to
no longer be accepted starting with version 2.33 for
block_device_mapping_v2 and starting with version 2.37 for networks.
In other words, block devices could only be tagged in version 2.32
and network interfaces between versions 2.32 and 2.36 inclusively.
Starting with 2.42, both network interfaces and block devices can be
tagged again.
* To make live-migration consistent with resize, confirm-resize and
revert-resize operations, the migration status is changed to 'error'
instead of 'failed' in case of live-migration failure. With this
change the periodic task '_cleanup_incomplete_migrations' is now
able to remove orphaned instance files from compute nodes in case of
live-migration failures. There is no impact since migration status
'error' and 'failed' refer to the same failed state.
* The nova metadata service will now pass a nove service token to
the external vendordata server. These options can be configured
using various Keystone-related options available in the
"vendordata_dynamic_auth" group. A new service token has been
created for this purpose. Previously, the requesting user's keystone
token was passed through to the external vendordata server if
available, otherwise no token is passed. This resolves issues with
scenarios such as cloud-init's use of the metadata server on first
boot to determine configuration information. Refer to the
blueprints at http://specs.openstack.org/openstack/nova-
specs/specs/ocata/approved/vendordata-reboot-ocata.html for more
information.
Other Notes
***********
* The Placement API can be set to connect to a specific keystone
endpoint interface using the "os_interface" option in the
"[placement]" section inside "nova.conf". This value is not required
but can be used if a non-default endpoint interface is desired for
connecting to the Placement service. By default, keystoneauth will
connect to the "public" endpoint.
Changes in nova 14.0.0.0rc1..15.0.0
-----------------------------------
babdb32 Deprecate xenserver.vif_driver config option and change default
ef0c679 Fix live migrate with XenServer
7d0c5998 Enable defaults for cell_v2 update_cell command
a3089b4 Cleanup some issues with CONF.placement.os_interface
b0530b7 Allow placement endpoint interface to be set
b257e5a allocations.consumer_id is not used in query.
18fb0a1 Skip test_stamp_pattern in cells v1 job
681e377 Remove straggling use of main db flavors in cellsv1 code
e818403 Add Cells V1 -> Cells V2 step-by-step example
8384c15 Edits for Cells V2 step-by-step examples
883d8e8 Prepare for using standard python tests
679d78a Default live_migration_progress_timeout to off
ff1925a Allow None for block_device_mapping_v2.boot_index
bf346ae Add an update_cell command to nova-manage
75fc059 Add step-by-step examples for Cells V2 setup
55f2230 Clarify the deployment of placement for cellsv1 users
ee09893 Update the upgrades part of devref
98733a6 Update UPPER_CONSTRAINTS_FILE for stable/ocata
3e9aacd Update .gitreview for stable/ocata
965fffc Delete a compute node's resource provider when node is deleted
887bcea Mark compute/placement REST API max microversions for Ocata
d6691d1 Add release note for filter/sort whitelist
e846c32 Clarify the language in the apache wsgi sample
c2e1133 Stop swap allocations being wrong due to MB vs GB
014b119 Clarify the [cells] config option help
d4502e1 Report reserved_host_disk_mb in GB not KB
cd29a4e Fix access_ip_v4/6 filters params for servers filter
f6a419a Fix typo in cells v2 ocata reno
21a04c8 doc: add upgrade notes to the placement devref
9fb375b Fix typo in help for discover_hosts_in_cells_interval
1bbecbd Fix the terminated_at field in the server query params schema
790313c Add release note for nova-status upgrade check CLI
9f1ffd6 Add prelude section for Ocata
e282187 Collected release notes for Ocata CellsV2
4f05f06 reno for notification-transformation-ocata
9eb7bce Allow scheduler to run cell host discovery periodically
a8aa093 doc: update the man page entry for nova-manage db sync
a3563ed doc: refer to the cell_v2 man pages from the cells v2 doc
9ca2a51 doc: add some detail to the map_cell0 man page
466769e Remove pre-cellsv2 short circuit in instance get
f09d112 Continue processing build requests even if one is gone already
8ba9277 Ensure build request exists before creating instance
03eced1 placement-api: fix ResourceProviderList query
a954bab nova-status: relax the resource providers check
826df45 Read instances from API cell for cells v1
193b584 Fix map_cell_and_hosts help
29f3d8b Fresh resource provider in RT must have generation 0
67aa277 libvirt: Limit destroying disks during cleanup to spawn
1848860 Ignore IOError when creating 'console.log'
dec7505 nova-manage docs: cell_v2 delete_cell
218d26c nova-manage docs: cell_v2 list_cells
fb7599d nova-manage docs: cell_v2 discover_hosts
94687a9 nova-manage docs: cell_v2 create_cell
4d5998f nova-manage docs: cell_v2 verify_instance
42b7df0 nova-manage docs: cell_v2 map_cell_and_hosts
e80e251 Fix tag attribute disappearing in 2.33 and 2.37
4660333 Scheduler calling the Placement API
d486315 Block starting compute unless placement conf is provided
cce20d1 Added instance.reboot.error to the legacy notifications
b2a4fcf Avoid redundant call to update_resource_stats from RT
070656a api-ref: Fix path parameters in os-hypervisors.inc
2fdab3b libvirt: fix vCPU usage reporing for LXC/QEMU guests
1a0778d Adding vlans field to Device tagging metadata
18a23b7 libvirt: expose virtual interfaces with vlans to metadata
2ace671 objects: vlan field to NetworkInterfaceMetadata object
3c2ce94 Move instance creation to conductor
a43a463 Updated from global requirements
6a914e8 Fix server group functional test by using all filters
9d6f9e9 Hyper-V PCI Passthrough
bcd584f Change exponential function to linear
6d8b58d Cache boot time roles for vendordata.
5ca61e4 Optionally make dynamic vendordata failures fatal.
1f53bfc Use a service account to make vendordata requests.
b1d575f libvirt: ephemeral disk support for virtuozzo containers
b1556c2 ironic: Add trigger crash dump support to ironic driver
f781409 Only warn about hostmappings during ocata upgrade
e5c41e5 nova-manage docs: cell_v2 map_instances
30ea0f8 nova-manage docs: cell_v2 map_cell0
919bee6 nova-manage docs: cell_v2 simple_cell_setup
df334b4 Add new configuration option live_migration_scheme
189a4a7 Fix race condition in instance.update sample test
9ed7826 libvirt: Use the mirror element to detect job completion
0195759 libvirt: Mock is_job_complete in test_driver
8d11cba PCI: Check pci_requests object is empty before passing to support_requests
cf02e51 Ironic: Add soft power off support to Ironic driver.
3421dde Add sort_key white list for server list/detail
747bc61 Trivial-fix: replace "json" with "yaml" in policy README
af08620 objects: add new field cpuset_reserved in NUMACell
4e3b2ab Make api_samples tests use simple cell environment
582321c conf: Deprecate 'console_driver'
8479529 libvirt: avoid generating script with empty path
81defe6 placement: minor refactor _allocate_for_instance()
78d439d placement: report client handle InventoryInUse
5555ecc Multicell support for instance listing
bff2030 scheduler: Don't modify RequestSpec.numa_topology
5ba6900 Fix and add some notes to the cells v2 first time setup doc
608ba01 Updated from global requirements
bc55e8e Amend the PlacementFixture
4dbc0dd Prevent compute crash on discovery failure
f3c774a Ironic: Add soft reboot support to ironic driver
67868cf os-vif: convert libvirt driver to use os-vif for fast path vhostuser
9385eaf Updated from global requirements
98936fb Add a PlacementFixture
cc5fde4 libvirt: make coherent logs when reboot success
58719f5 Add ComputeNodeList.get_all_by_uuids method
7d04c78 placement: create aggregate map in report client
c7b46c4 Support Ironic interface attach/detach in nova virt
8856ad3 Generate necessary network metadata for ironic port groups
b34809d Ensure we mark baremetal links as phy links
cf3ff76 os-vif-util: set vif_name for vhostuser ovs os-vif port
fe9bd52 Move migration_downtime_steps to libvirt/migration
539d381 libvirt: fix nova can't delete the instance with nvram
68456f4 Remove mox in libvirt destory tests
841916d Strict pattern match query parameters
0a7f3ce Raise InvalidInput exception
377f400 Fix Nova to allow using cinder v3 endpoint
8727770 [py35] Fixes to get more tempest tests working
7c66d41 api-ref: Fix a parameter in os-availability-zone.inc
ecc8de8 Integrate OSProfiler and Nova
7af405c Remove mox from unit/virt/libvirt/test_imagebackend.py (5)
6eda844 Enable virt.vmwareapi test cases on Python
7d67cdf Enable virt.test_virt_drivers.AbstractDriverTestCase on Python 3
d28ca27 Port compute.test_user_data.ServersControllerCreateTest to Python 3
2207dcf XenAPI: Fix vif plug problem during VM rescue/unrescue
161799e Handle oslo.serialization type error and binascii error
26db003 Remove invalid URL in gabbi tests
aa7b6eb nova-manage cell_v2 map_cell0 exit 0
134c19f Add query parameters white list for server list/detail
ce56fe4 nova-manage docs: add cells commands prep
2f721c9 Add --verbose option to discover_hosts command
5713e5c Add more details when test_create_delete_server_with_instance_update fails
209a42d Updated from global requirements
db79c53 Add some cellsv2 setup docs
5b44737 Fix the generated cell0 default database name
1c96759 rt: use a single ResourceTracker object instance
3e04a32 Add nova-manage cell_v2 delete_cell command
90cd8ac Add InstanceMappingList.get_by_cell_id
8677aca Create HostMappingList object
4bfc550 Add nova-manage cell_v2 list_cells command
f7e9f31 Add nova-manage cell_v2 create_cell command
86b361d libvirt: workaround findmnt behaviour change
8892be0 api-ref: Fix parameters whose values are 'null'
b5790dd Fix broken link of Doc
69f27a7 api-ref: Fix parameters and response in os-quota-sets.inc
e88c0bb Remove nova-manage image from man pages
3f0b023 Updated from global requirements
c78a86c Fixes to get all functional tests working on py35
9dd48cf [placement] Add a bit about extraction plans to placement_dev
88a456b [placement] Add an "Adding a Handler" section to placement_dev
4aae9d5 [placement] placement_dev info for testing and gabbi
2d0dfc6 [placement] placement_dev info for microversion handling
eb7c736 Updated from global requirements
c17772e placement: validate member_of values are uuids
4590308 Make metadata server know about cell mappings
a649311 Remove redundant arg check in nova-manage cell_v2 verify_instance
a5dc7f1 Expose a REST API for a specific list of RPs
a04ffdc copy pasta error
e0a8582 Set sysinfo_serial="none" in LibvirtDriverTestCase
584969a [py35] Fixes to get rally scenarios working
ac01ba5 Fix missing RP generation update
596e8de Add service_token for nova-neutron interaction
7b95b4d rt: explicitly pass compute node to _update()
d33a2b1 Make unit tests work with os-vif 1.4.0
9d8ed85 Updated from global requirements
d8d8138 libvirt: make live migration possible with Virtuozzo
112b462 Small improvements to placement.rst
a42de05 Better black list for py35 tests
f918281 Fix class type error in attach_interface() function
2195e4d Hyper-V: Adds vNUMA implementation
b8e1276 Don't bypass cellsv1 replication if cellsv2 maps are in place
07b6580 Adds Hyper-V OVS ViF driver
3e0daeb docs - Connect to placement service & retries
af17b95 Improve flavor sample in notification sample tests
5dedd0b xenapi: support the hotplug of a neutron port
e05f678 Update notification for flavor
9e54b29 Add service_token for nova-cinder interaction
938cbf1 Make allocate_for_instance take consistent args
2114958 XenAPI Remove useless files when use os-xenapi lib
062065c XenAPI Use os-xenapi lib for nova
bbf9b43 Make placement client keep trying to connect
5593d74 releasenotes: Add missing releasenote for encryption provider constants
cd82f8e Stop using mox stubs in test_attach_interfaces.py
8d8adac Remove mox from api/openstack/compute/test_floating_ip_dns.py
105c28f Remove mox in nova/tests/unit/compute/test_shelve.py (end)
b1eb954 Remove mox in unit/api/openstack/test_wsgi.py
816b1c9 Document testing process for zero downtime upgrade
9a85f15 Remove mox in nova/tests/unit/compute/test_shelve.py (2)
8d9b3d6 Notifications for flavor operations
0e1734b conf: Deprecate yet more nova-net options
115d322 conf: Resolve formatting issues with 'quota'
70730c0 [2/3]Replace six.iteritems() with .items()
d631ac0 Port xenapi test_vm_utils to Python 3
0e2b3ba Make the SingleCellSimple fixture a little more comprehensive
cf1d3f8 Fix non-parameterized service id in hypervisors sample tests
2f1245a Fix TypeError in _update_from_compute_node race
be2893e Trivial indentation fix
dda01c5 Add missing CLI commands in support-matrix.ini
dbbad4f tests: Replace use of CONF with monkey patching
e4ae7e9 correct misleading wording
5d3f0a6 Fix a typo in documents
28fe229 Don't translate exceptions w/ no message
5593049 Fix ksa mocking in test_cinderclient_unsupported_v1
aeecfe0 [placement] fix typo in call to create auth middleware
ea5d057 HTTP interface for resource providers by aggregates
03c2776 Return uuid attribute for aggregates
2c6fb02 Update docstring of _schema_validation_helper
29c6e08 api-ref: use the examples with paging links
6a6457b Port libvirt.test_vif to Python 3
83923ad Port libvirt.test_firewall to Python 3
de0eff4 Move quota options to a config group.
180e634 Handle Unauthorized exception in report client's safe_connect()
b6574ad Remove mox from unit/virt/libvirt/test_imagebackend.py (4)
cf6ac7a Remove mox from unit/virt/libvirt/test_imagebackend.py (3)
daf9e98 Remove mox from unit/virt/libvirt/test_imagebackend.py (2)
200666a Do not post allocations that are zero
58d068d Add aggregate notification related enum values
ce17c3d Transform aggregate.delete notification
8ee3e30 Transform aggregate.create notification
6198fc7 Added missing decorator for instance.create.error
6627de4 Enable Neutron by default
91f8a02 Port virt.libvirt.test_imagebackend to Python 3
95441ef move gate hooks to gate/
6977d4c Use JSON-Schema to validate query parameters for keypairs API
77ad8b8 Adds support for versioned schema validation for query parameters
ac22bda Remove mox from api/openstack/compute/test_extended_hypervisors.py
612134c Stop using mox in compute/test_server_actions.py
3da16fa Remove mox from unit/api/openstack/compute/test_cloudpipe.py
88609d2 Add support matrix for attach and detach interfaces
41b4e45 Make last remaining unit tests work with Neutron by default
a5a9713 Make test_metadata pass with CONF.use_neutron=True by default
b1b46c0 Make test_nova_manage pass with CONF.use_neutron=True by default
b3b9217 Stub out os_vif.unplug in libvirt instance destroy tests
9a949a7 Make test_attach_interfaces work with use_neutron=True by default
da9ea09 Make test_floating_ip* pass with CONF.use_neutron=True by default
55df51b Make several API unit tests pass with CONF.use_neutron=True by default
d1982bd Make test_server_usage work with CONF.use_neutron=True by default
cc75ca3 Make test_security_group_default_rules work with use_neutron=True by default
432556d Make test_tenant_networks pass with CONF.use_neutron=True by default
a507856 Make test_security_groups work with CONF.use_neutron=True by default
531d54e Make test_virtual_interfaces work with CONF.use_neutron=True by default
ee46f09 Make test_user_data and test_multiple_create work with use_neutron=True
6361be1 Make test_quota work with CONF.use_neutron=True by default
5b4758c Make test_compute pass with CONF.use_neutron=True by default
1278b1f api-ref: Fix parameters in os-server-groups.inc
d155365 Remove mox in test_block_device_mapping_v1.py
3c217ac placement: Do not save 0-valued inventory
98d9319 Add 'disabled' to WatchdogAction field
15e962b Remove more deprecated nova-manage commands
a9a2bca Make servers api view load instance fault from proper cell
d68c042 Add support for setting boot order in Hyper-V
f82b3fa Create schema generation for NetworkModel
c5cb7e4 conf: added notifications group
38a1edf Missing usage next links in api-ref
692e596 [placement] start a placement_dev doc
4173e41 Enable TestOSAPIFixture.test_responds_to_version on Python 3
b691125 pci: Clarify SR-IOV ports vs direct passthrough ports
c0a90ea nova-status: check for compute resource providers
65ad654 doc: add recomendation for delete notifications
6817d22 Move FlavorPayload to a seperate file
c316aaa Remove Rules.load_json warning
539d351 Handle unicode when dealing with duplicate aggregate errors during migration
eda54b1 Handle unicode when dealing with duplicate flavors during online migrations
641f5f4 Actually test online flavor migrations
46923c7 Remove unused init_only kwarg from wsgi app init
f9bfb72 api-ref: add notes about POST/DELETE errors for os-tenant-networks
20743d0 Remove unnecessary attrs from TenantNetworksDeprecationTest
2335b02 api-ref: microversion 2.40 overview
dc911b8 Fix assertion in test_instance_fault_get_by_instance
5c796cb Add more field's in InstancePayload
39cac35 objects: add new field cpu_emulator_threads_policy
a29b1ee Support filtering resource providers by aggregate membership
25bc5a6 Resource tracker doesn't free resources on confirm resize
c9de74a Stop using mox stubs in nova/tests/unit/cells
521cd72 Add release note to PCI passthrough whitelist regex support
e7f5f02 api-ref: Fix parameter type in servers-admin-action.inc
99757f8 Port security group related tests to Python 3
45cb6df Add create image functional negative tests
fb3b2d9 Don't apply multi-queue to SRIOV ports
1870c75 placement: correct improper test case inheritance
e4f6689 Remove mox in tests/unit/objects/test_instance_info_cache
e31af46 Port compute unit tests to Python 3
f516e5a Fix urllib.urlencode issue in functional tests on Python 3
cf4b2e7 Trival fix typo
f110339 Enble network.test_neutronv2.TestNeutronv2 on Python 3
9a8a670 Enble compute.test_compute_mgr.ComputeManagerUnitTestCase on Python 3
282dd9a Port api.openstack.compute.test_disk_config to Python 3
71c4360 Updated from global requirements
8ea3c83 Ignore 404s when deleting allocation records
7a69da4 nova-status: return 255 for unexpected errors
05cc20b VMware: Update supported OS types for ESX 6.5
d0f3817 Replace "Openstack" with "OpenStack"
9cc564e Use bdm destination type allowed values hard coded
a65551e Fix BDM JSON-Schema validation
df2fd4a [TrivialFix] Fix comment and function name typo error
10fdc07 [TrivialFix] Fix comment typo error
1a2db4c Fix python3 issues with devstack
ff8a2b2 [1/3]Replace six.iteritems() with .items()
b2be1c7 Fix typo
1980942 Fix misleading port delete description
a63aef8 conf: remove deprecated barbican options
c2511e4 conf: Remove 'virt' file
2507995 Trival fix typos in api-ref
271d9f6 make 2.31 microversion wording better
5eb8297 Add soft delete wrinkle to api-ref
db7360b Add document update for get console usage
972d01b Trivial: add ability to define action description
bc2073c Added missed "raises:" docstrings into numa_get_constraints() method
d99fd59 Removes unnecessary utf-8 encoding
8f4dfdb Port test_matchers.TestDictMatches.test__str__ to Python 3
4c05cb0 Skip network.test_manager.LdapDNSTestCase on Python 3
fc0e8bb Remove mox in tests/unit/objects/test_security_group
7049afd Remove v2.40 from URL string in usage API docs
5978013 nova-status: add basic placement status checking
4103f5e nova-status: check for cells v2 upgrade readiness
a1f3a59 Add nova-status upgrade check command framework
1872eef rt: remove fluff from test_resource_tracker
3397987 rt: pass the nodename to public methods
bd8a9ed conf: make 'default' upper case
ffcdb42 conf: move few console opts to xenserver group
05c0d47 conf: remove deprecated ironic options
0e90396 conf: refactor conf_fixture.py
7cc0576 Add unit test for extract_snapshot with compression enabled
a0d47fd Refactor the code to add generic schema validation helper
d657690 Updated from global requirements
58bf5d0 Fix error if free_disk_gb is None in CellStateManager
f6b947a nova-manage: squash oslo_policy debug logging
4fce45f Pre-load info_cache when handling external events and handle NotFound
446d9fe Make nova-manage cell_v2 discover_hosts tests use DBs
93a9aaa Fix nova-manage cell_v2 discover_hosts RequestContext
928f046 Make nova-manage emit a traceback when things blow up
c4a88d5 XenAPI: Remove ovs_integration_bridge default value
27bec15 rt: pass nodename to internal methods
543bf18 Failing test (mac osx) - test_cache_ephemeral
d679f9a Catch VolumeEncryptionNotSupported during spawn
f981bc4 Updated from global requirements
7fe8333 Fix exception message formatting error in test
c8b631b osapi_max_limit -> max_limit
06de083 Add more detail to help text for reclaim_instance_interval option
48c18ff Added PRSM to HVType class for support PR/SM hypervisor
463a2b6 conf: Deprecate more nova-net options
9abcf5a [test]Change fake image info to fit instance xml
453e9cb Cleanup Newton Release Notes
ba81d24 Port libvirt.storage.test_rbd to Python 3
ad1c7ac libvirt: Stop misusing NovaException
8341e19 Fix the file permissions of test_compute_mgr.py
7c76863 Add detail to cellsv2-related release notes
12d782a Revert "Use liberty-eol tag for liberty release notes"
9281164 Fix some release notes in preparation for the o-2 beta release
bcbfee1 Add schedule_and_build_instances conductor method
d55c513 libvirt: Detach volumes from a domain before detaching any encryptors
0f26569 libvirt: Flatten 'get_domain' function
3167f74 fakelibvirt: Remove unused functions
49753c0 libvirt: Remove slowpath listing of instances
176c5c8 Only return latest instance fault for instances
223475f Remove dead begin/end code from InstanceUsageAuditLogController
4a237c0 Use liberty-eol tag for liberty release notes
be379e3 api-ref: Fix description of os-instance-usage-audit-log
822057d conf: fix formatting in base
5fd0128 Merge v20 view builder for limit API
7cad745 Stop allowing tags as empty string
9c0cb54 libvirt: remove hack for dom.vcpus() returning None
2738e25 Add Python 3.5 functional tests in tox.ini
8340401 Simple tenant usage pagination
e091b38 Modify mistake of scsi adapter type class
3fe0faa Port virt vmwareapi tests to Python 3
9f12b59 Mark sibling CPUs as 'used' for cpu_thread_policy = 'isolated'
d2f12e2 Added missed "raises:" docstrings into numa_get_constraints() method
9d2ce8f Changed NUMACell to InstanceNUMACell in test_stats.py
6c8b49c TrivialFix: changed log message
6ab20bc api-ref: Fix 'id' (attachment_id) parameters
8f61868 Move tags validation code to json schema
4560d11 Let nova-manage cell_v2 commands use transport_url from CONF
5d3ae79 Make test_create_delete_server_with_instance_update deterministic
9fd8014 restore locking in notification tests
807e055 Remove mox from unit/compute/test_compute_api.py(2)
6a8924a Deprecate compute options
84f5c61 Remove support for the Cinder v1 API
34761e6 Make simple_cell_setup fully idempotent
a2d7ebd Corrects the type of a base64 encoded string
6764ff0 Fix instructions for running simple_cell_setup
2346e64 Quiet unicode warnings in functional test_resource_provider
a753bab conf: Detail the 'injected_network_template' opt
5c55442 Add more description for rx and tx param
521d049 move rest_api_version_history.rst to compute layer
ce102be Enhance PCI passthrough whitelist to support regex
deac17c Better wording for micorversion 2.36
29030c3 Port test_servers to py3
83e6dbf Catch InstanceNotFound exception
e5c1762 Remove mox in tests/unit/objects/test_compute_node
117fad8 Refactor REGEX filters to eliminate 500 errors
15564eb Fix crashing during guest config with pci_devices=None
ab05b90 Provide an online data migration to cleanup orphaned build requests
5ce65fa Add SecurityGroup.identifier to prefer uuid over name
979639b Setup CellsV2 environment in base test
50a7d5e conf: add warning for vm's max delete attempts
5e7f765 Cleanup after any failed libvirt spawn
ce57744 Guestfs handle no passwd or group in image
874e666 Return 400 when name is more than 255 characters
9630b51 Check that all JSON files don't have \r\n in line
d7d19a2 Enable test_bdm.BlockDeviceMappingEc2CloudTestCase on Python 3
c262584 network id is uuid instead of id
4a5ecf1 fix for auth during live-migration
2bb70e7 Don't trace on ImageNotFound in delete_image_on_error
693a535 Cascade deletes of RP aggregate associations
bea29e6 Make resource provider objects not remotable
b78b1f8 Bump prlimit cpu time for qemu from 2 to 8
06a990c test: drop unused config option fake_manager
d9a7c16 conf: Remove config option compute_ manager
38c6a84 Extend get_all_by_filters to support resource criteria
6882b97 Port test_virt_drivers to Python 3
594b1b1 Don't use 'updated_at' to check service's status
de5bb0c libvirt: Fix initialising of LVM ephemeral disks
5ae26f3 Remove extra ^M for json file
1b4d279 Port virt.disk.mount.test_nbd to Python 3
eff63c4 Remove unnecessary comment of BDM validation
1506c36 Update ironic driver get_available_nodes docstring
a35de0c api-ref: note that os-virtual-interfaces is nova-network only
fa4cde9 Fix up non-cells-aware context managers in test_db_api
419bbc8 Add SingleCellSimple fixture
df6e2d3 [proxy-api] microversion 2.39 deprecates image-metadata proxy API
9dcab12 Make RPCFixture support multiple connections
c719e22 tests: avoid starting compute service twice in sriov functional test
624e10f tests: generate correct pci addresses for fake pci devices
c49e050 Fix nova-serialproxy when registering cli options
4b0f2b3 Updated from global requirements
b8c88c6 Revert "reduce pep8 requirements to just hacking"
416d798 conf: Improve help text for network options
b19511a conf: Deprecate all nova-net related opts
6edf11a libvirt: Mock imagebackend template funcs in ImageBackendFixture
fbfaa81 libvirt: Combine injection info in InjectionInfo
71dcb52 Fix misuse of assertTrue
9bbce28 Return 400 when name is more than 200 characters
d2925b9 Replace the assertEqual(None,A) with assertIsNone(A)
d72aa30 Rename few tests as per new config options
72d28cc Handle MarkerNotFound from cell0 database
7f6f968 Removed unused ComputeNode create/update_inventory methods
b7e9b18 Fix a typo in a comment in microversion history
cc5d343 Handle ImageNotFound exception during instance backup
f920589 Add a CellDatabases test fixture
b26db17 Pass context as kwarg instead of positional arg to get_engine
2d92ab7 Transform instance.snapshot notifications
1f65925 libvirt: virtlogd: use virtlogd for char devices
e718aad libvirt: create consoles in an understandable/extensible way
bc44d66 Add more log when delete orphan node
2973597 libvirt: Add comments in _hard_reboot
87b9c2b Update cors-to-versions-pipeline release note
ca4715c Unity the comparison of hw_qemu_guest_agent
a152434 Add metadata functional negative tests
ff6b999 Require cellsv2 setup before migrating to Ocata
fbbcd31 Improving help text for xenapi_vmops_opts
77dee95 convert libvirt driver to use os-vif for vhost-user with ovs.
f0d44c5 Handle ComputeHostNotFound when listing hypervisors
ce417b6 Improve the error message for failed RC deletion
5aee293 refactor: move down ``dev_number`` in xenapi
d9ec369 Fix placement API version history 1.1 title
332abf2 placement: Perform build list of standard classes once
1067c44 placement: REST API for resource classes
0ec1114 Add a retry loop to ResourceClass creation
694fee9 conf: Remove deprecated service manager opts
705b3d0 support polling free notification testing
4c59559 conf: Standardize formatting of virt
b212b9f Updated from global requirements
1fda12a Merge v21 view builder for ips API
59a07a1 Merge v21 view builder for flavor API
c7df051 Remove invalid tests for config option osapi_compute_workers
83a586e placement: adds ResourceClass.save()
706f104 Add CORS filter to versions pipeline
7f9e86b Create hyperv fake images under proper directory
5b158df Some improvement to the process doc
ed994bb libvirt: Improve _is_booted_from_volume implementation
033d4d2 libvirt: Delete duplicate check when live-migrating
9a5c20a Add block_device_mapping_v2.uuid to api-ref
ba27ae7 Correct the sorting of datetimes for migrations
9b88e75 Fix pci_alias that include white spaces
63b2c89 Raise DeviceNotFound detaching volume from persistent domain
b05e996 Always use python2.7 for docs target
75b6d53 objects: Removes base code that already exists in o.vo
f780b1d libvirt: Don't re-resize disks in finish_migration()
842a641 libvirt: Never copy a swap disk during cold migration
c802bf3 libvirt: Rename Backend snapshot and image
2d886ec libvirt: Cleanup test_create_configdrive
a475b12 libvirt: Test disk creation in test_hard_reboot
dc9b19a libvirt: Rewrite _test_finish_migration
e604946 guestfs: Don't report exception if there's read access to kernel
e83a357 Fix for live-migration job
6af4b9b Handle maximum limit in schema for int and float type parameters
88746b8 Port compute.test_extended_ip* to Python 3
6969a18 Remove more tests from tests-py3.txt
a5c38cc Support detach interface with same MAC from instance
d1c75df placement: adds ResourceClass.destroy()
e01eec4 Make test_shelve work with CONF.use_neutron=True by default
002f893 Restrict test_compute_cells to nova-network
bacce31 Make test_compute_mgr work with CONF.use_neutron=True by default
eda26f9 Make test_compute_api work with CONF.use_neutron=True by default
4caae1c Make nova.tests.unit.virt pass with CONF.use_neutron=True by default
6a5d936 Make xenapi tests work with CONF.use_neutron=True by default
405d9fa Make libvirt unit tests work with CONF.use_neutron=True by default
5969b63 Make vmware unit tests work with CONF.use_neutron=True
6d594bf Explicitly use nova-network in nova-network network tests
1986f94 Make test_serversV21 tests work with neutron by default
2e6aa7c neutron: handle no_allocate in create_pci_requests_for_sriov_ports
7d77fe0 Add a releasenote for bug#1633518
b89efa3 libvirt: prefer cinder rbd auth values over nova.conf
5595b46 libvirt: cleanup network volume driver auth config
d079f37 Fix wait for detach code to handle 'disk not found error'
dc1433b [api-ref] Minor text clean-up, formatting
90f5a72 Convert live migration uri back to string
496c403 conf: improve libvirt lvm
7418f79 conf: Trivial fix of indentation in 'api'
ada7155 config options: improve libvirt utils
69ff7e5 Never pass boolean deleted to instance_create()
a54c1bc Port xenapi test_xenapi to Python 3
0ae8cbf Port libvirt test_driver to Python 3
bee269c conf: Deprecate 'torrent_' options
a862aa0 hacking: Use uuidutils or uuidsentinel to generate UUID
fd99bd7 Replace uuid4() with uuidsentinel
bcb9a5e Replace uuid4() with uuidsentinel
7bb82e2 Replace uuid4() with uuidsentinel
8b8a29c Add os-start/stop functional negative tests
9bfeecd Port ironic unit tests to Python 3
a4466d5 Port test_keypairs to Python 3
67af1ee Port test_metadata to Python 3
cbcff11 Fix expected_attrs kwarg in server_external_events
f3a2809 Check deleted flag in Instance.create()
cf72bb8 Revert "Revert "Make n-net refuse to start unless using CellsV1""
ade1cfc Revert "Log a warning when starting nova-net in non-cellsv1 deployments"
37ec9b9 Default deleted if the instance from BuildRequest is not having it
2f80a62 docs: cleanup wording for 'SOFT_DELETED' in api-guide
898bb13 libvirt: Acquire TCP ports for console during live migration
310562f conf: Deprecate 'remap_vbd_dev' option
c5a76f9 conf: Covert StrOpt -> PortOpt
8d0c195 Check Config Options Consistency for xenserver.py
f853a5c Add description for 2.9 microversion
015378b Remove AdminRequired usage in flavor
0c1e2fa Optional name in Update Server description in api-ref
f2992f9 List support for force-completing a live migration in Feature support matrix
c07caac Remove mox from nova/tests/unit/compute/test_virtapi.py
d5fece1 Remove mox from nova/tests/unit/virt/test_virt.py
806c480 Catch ImageNotAuthorized during boot instance
8d4eac2 Remove require_admin_context
243c08c remove NetworkDuplicated exception
d9ad364 InstanceGroupPolicyNotFound not used anymore
3333990 UnsupportedBDMVolumeAuthMethod is not used
5bed61d Port virt.xenapi.client.test_session to Python 3
146accf vif: allow for creation of multiqueue taps in vrouter
b7b282e conf: Move api options to a group
efcc911 [scheduler][tests]: Fix incorrect aggr mock values
4a7502a objects: Move 'vm_mode' to 'fields.VMMode'
747c0d0 objects: Move 'hv_type' to 'fields.HVType'
33a52cd objects: Move 'cpumodel' to 'fields.CPU*'
4440d10 objects: Move 'arch' to 'fields.Architecture'
3e0cad9 Show team and repo badges on README
a05c4a9 Remove config option snapshot_name_template
d304690 Remove deprecated compute_available_monitors option
def4af2 Improve help text for interval_opts
ce16fa8 config options: improve libvirt remotefs
0502c30 Improve consistency in libvirt
12485c7 Fix root_device_name for Xen
af673db Move tag schema to parameter_types.py
a338274 Remove tests from tests-py3.txt
3f0711c hardware: Flatten functions
4b5b3c2 add host to vif.py set_config_* functions
41d6018 linux_net: allow for creation of multiqueue taps
b8897ab Fix notification doc generator
5920402 Config options: improve libvirt help text (2)
6a422d2 Placement api: Add informative message to 404 response.
646151f Remove sata bus for virtuozzo hypervisor
ce0be98 Fix a typo in nova/api/openstack/compute/volumes.py
2e32ed1 Fix race in test_volume_swap_server_with_error
14199b7 libvirt: Call host connection callbacks asynchronously
52f108c conf: remove deprecated cert_topic option
3e46a44 Return build_requests instead of instances
4bac18b conf: remove deprecated exception option
3d39613 doc: Add guidline about notification payload
bacd717 Port libvirt test_imagecache to Python 3
d830fd8 Port test_serversV21 to Python 3
cbbc218 encryptors: Introduce encryption provider constants
1552aeb Add TODO for returning a 202 from the volume attach API
8ff16ca Fix typo in image_meta.py & checks.py & flavor.py
65c43cf Refactor two nearly useless secgroup tests
4f75a50 Transform instance.finish_resize notifications
fdd4d1c Remove redundant VersionedObject Fields
94563ad Transform instance.create.error notification
80bf21d Transform instance.create notification
dba04d5 api-ref: add missing os-server-groups parameters
6a85a98 libvirt: prepare domain XML update for serial ports
a941891 [placement] increase gabbi coverage of handlers.resource_provider
d8d00d1 [placement] increase gabbi coverage of handlers.inventory
efb0df6 [placement] increase gabbi coverage of handlers.allocation
e4ed3a3 libvirt: do not return serial address if disabled on destination
2aee4e9 Remove mox from api/openstack/compute/test_fping.py
887cc52 Add index on instances table across project_id and updated_at
2ecbbd8 Complete verification for os-floating-ips
57f46c1 libvirt: handle os-brick InvalidConnectorProtocol on init
91f350f placement: adds ResourceClass.get_by_name()
624f184 placement: adds ResourceClass.create()
ef19089 Improve help text for libvirt options
11d8dde Use byte string or utf8 depending on python version for wsgi
4a09c22 Separate CRUD policy for server_groups
86e1478 Stop using mox stubs in nova/tests/unit/virt/disk
97d13c6 Remove the description of compute_api_class option
cef86ec Remove mox in virt/xenapi/image/test_bittorrent.py
41bf42a Add context param to confirm_migration virt call
9ffa622 Use pick_context_manager throughout DB APIs
128318d Database poison note
dde40c8 tests: verify cpu pinning with prefer policy
2fff8a0 api-ref: Body verification for os-simple-tenant-usage.inc
9434abb remove additional param
f46cae8 Fix typo for 'infomation'.
b95b6d8 Remove unused code in nova/api/openstack/wsgi.py
f8c69ef conf: remove deprecated cells driver option
383e795 Fix detach_interface() call from external event handler
44ca84a Implement get and set aggregates in the placement API
b3745f9 Add {get_,set_}aggregates to objects.ResourceProvider
215dc29 Log a warning when starting nova-net in non-cellsv1 deployments
dbf0b2c Revert "Make n-net refuse to start unless using CellsV1"
758a32f HyperV: use os-brick for volume related operations
a586b6d INFO level logging should be useful in resource tracker
00fdf28 hyper-v: wait for neutron vif plug events
4b43e27 Remove mox in nova/tests/unit/api/openstack/compute (1)
a67af1f Use available port binding constants
b957534 Rename PCS to Virtuozzo in error message
0f152eb [PY3] byte/string conversions and enable PY3 test
f80163d Fix mock arg list order in test_driver.py
01e2c5c Add handle for 2 exceptions in force_delete
490078d Typo error about help libvirt.py
5f137df Updated from global requirements
198d166 Introduce PowerVMLiveMigrateData
c07046e Make n-net refuse to start unless using CellsV1
b26ef56 Store security groups in RequestSpec
e975603 api-ref: body verification for abort live migration
512ebfb Fix data error in api samples doc
90f3959 Typo error servers.py
0b053ca Typo error allocations.yaml
f84ae10 Refactor console checks in live migration process
fb50ff3 Remove mox in tests/unit/objects/test_pci_device
a4a7853 Add microversion cap information
42110d9 No return for flavor destroy
f8e35e5 neutron: actually populate list in populate_security_groups
5665831 Clarify the approval process of specless blueprints
ce600f7 Add uuid field to SecurityGroup object
3e210b4 api-ref: body verification for force_complete server migration
c0774e6 api-ref: body verification for show server migration
ca09cbd api-ref: body verification for list server migrations
6c6df6a api-ref: example verification for server-migrations
7d33dc8 api-ref: parameter verification for server-migrations
925dc7a api-ref: method verification for server-migrations
b000989 [placement] Enforce min_unit, max_unit and step_size
19a52c9 Remove ceph install/config functions from l-m hook
b71ceda Ceph bits for live-migration job
7c51cf9 Avoid unnecessary db_calls in objects.Instance._from_db_object()
f1cd928 placement: genericize on resource providers
633c817 api-ref: fix server_id in metadata docs
310d66c Add the initial documentation for the placement API
168a500 API Ref: update server_id params
9535634 conf: fix formatting in wsgi
4058471 Transform requested secgroup names to uuids
971047b conf: fix formatting in availability_zone
f25579c libvirt: Cleanup spawn tests
c53d948 Rename security_group parameter in compute.API:create
3a01178 Change database poison warning to an exception
1078ebd Fix database poison warnings, part 25
ad2ea36 Updated from global requirements
00bc0cb Correct wrong max_unit in placement inventory
da1148a Add flavor extra_spec info link to api_ref
fcc8263 Fix database poison warnings in resource providers
f87af91 Placement api: 404 response do not indicate what was not found
9345ed4 Instance obj_clone leaves metadata as changed
1b351ef Add a no-op wait method to NetworkInfo
03d8e51 Move driver_dict_from_config to libvirt driver
3921224 Create schema generation for AddressBase
e759a07 conf: Improve help text for ldap_dns_opts
059872e conf: Fix indentation of network
c3ac2a3 Fix config option types
50ad9d4 libvirt: Fix incorrect libvirt library patching in tests
f11188f libvirt: refactor console device creation methods
e781123 libvirt: read rotated "console.log" files
54a400e libvirt: change get_console_output as prep work for bp/libvirt-virtlogd
cd15b70 Updated from global requirements
cc84595 api-ref: Fix a 'port' parameter in os-consoles.inc
a672176 Update nova api.auth tests to work with newer oslo.context
62b21ef Remove ironic instance resize from support matrix doc
b761ea4 [placement] add a placement_aggregates table to api_db
b05a32e libvirt: remove py26 compat code in "get_console_output"
6140821 Change RPC post_live_migration_at_destination from cast to call.
a6053dd libvirt: add migration flag VIR_MIGRATE_PERSIST_DEST
f67d110 Revert MTU hacks for bug 1623876
43565ff Pass MTU into os-vif Network object
0dc1bc3 Updated from global requirements
0f26e68 api-ref: fix addFloatingIp action docs
569e463 Fix a TypeError in notification_sample_base.py
1e4178b Add functional api_samples test for addFloatingIp action
ce25736 Fix qemu-img convert image incompatability in alpine linux
b816e3c migration.source_compute should be unchanged after finish_revert_resize.
dfa2b62 Add explicit dependency on testscenarios
0132cc8 Updated from global requirements
086b7a7 cors: update default configuration in config
be11fab api-ref: remove user_id from keypair list response and fix 2.10
53ab606 Don't parse PCI whitelist every time neutron ports are created
02fa59d conf: Remove deprecated 'compute_stats_class' opt
c3353b8 conf: Remove extraneous whitespace
58db7d9 hardware: Split '_add_cpu_pinning_constraint'
d442c1a libvirt: Delete the lase_device of find_disk_dev_for_disk_bus
03e2f04 EventReporterStub
077a909 Catch all local/catch-all addresses for IPv6
328c45b placement: add ResourceClass and ResourceClassList
69bac2f placement: raise exc when resource class not found
419cd6a fix connection context manager in rc cache
6689c96 pci: remove pci device from claims and allocations when freeing it
d38d576 PCI: Fix PCI with fully qualified address
079396d Log warning when user set improper config option value
6683bf9 libvirt: fix incorrect host cpus giving to emulator threads when RT
42b6716 Transform instance.shutdown notifications
2010c13 encryptors: Workaround mangled passphrases
d7b831e Fix cold migration with qcow2 ephemeral disks
74fadb4 Updated from global requirements
a873375 config options: Improve help for SPICE
6d026c1 Remove manual handling of old context variables
1d54428 api-ref: cleanup bdm.delete_on_termination field
c175c8d api-ref: document the power_state enum values
36322fd libvirt: Pass Host instead of Driver to volume drivers
cf8b1e5 conf: Attempt to resolve TODOs in scheduler.py
41ad9ea conf: Remove 'scheduler_json_config_location'
6789335 Remove unreachable code
414afad [api-ref] Fix path parameter console_id
3e89c0f doc: add a note about conditional support for xenserver change password
cb9300f Replace admin check with policy check in placement API
6fba36a Fix import statement order
f7ed4b1 Fix database poison warnings, part 24
cd1af7a libvirt: sync time on resumed from suspend instances
b85f235 Fix database poison warnings, part 23
54686bb Add RPC version aliases for Newton
2c68148 Transform instance.unpause notifications
d32d8c0 Catch NUMA related exceptions in create server API method
0ac7c98 Notification object version test depends on SCHEMA
f23646d Updated from global requirements
41591c9 Virt: add context to attach and detach interface
621470f Imported Translations from Zanata
64e3e2f Stop using mox stubs in test_shelve.py
2e9548c Fix SAWarning in TestResourceProvider
39bf87a Transform instance.unshelve notifications
e9cd4ba TrivialFix: Fixed typo in 'MemoryPageSizeInvalid' exception name in docstrings
fd7b3d6 Make build_requests.instance MediumText
94587dc Use six.wraps
eca23d4 Transform instance.resume notifications
b1b86c8 Transform instance.shelve_offload notifications
07e6507 api-ref: fix image GET response example
f98e4aa Fix exception raised in exception wrapper
7e36553 Add missing compat routine for Usage object
e875f24 Updated from global requirements
865f0d2 Transform instance.power_off notifications
a59de48 conf: Removed TODO note and updated desc
95d56a8 Set 'last_checked' flag if start to check scheduler file
e351cb6 Remove bandit.yaml in favor of defaults
960996d Pre-add instance actions to avoid merge conflicts
70b01c9 Add swap volume notifications (error)
e5e4dfc libvirt: add supported vif types for virtuozzo virt_type
758307c fix testcase test_check_can_live_migrate_dest_fills_listen_addrs
864f65e doc: Integrate oslo_policy.sphinxpolicygen
d3c7396 Using get() method to prevent KeyError
61bcb83 tests: verify pci passthrough with numa
b0a451d tests: Adding functional tests to cover VM creation with sriov
77a8e5d [placement] Add support for a version_handler decorator
da58ad9 pci: in free_device(), compare by device id and not reference
200d50b Mention API V2 should no longer be used
f8a8180 doc: Update libvirt-numa guide
94a28d3 Remove deprecated nova-manage vm list command
44e7f6e Remove block_migration from LM rollback
ab2653d PCI: Avoid looping over PCI devices twice
a5bd35f Update docs for serial console support
c36dbe1 Remove conductor local api:s and 'use_local' config option
0360e4c Cleanup before removal of conductor local apis
e6593d3 compute: fixes python 3 related unit tests
22b8ae0 XenAPI: Fix VM live-migrate with iSCSI SR volume
db23224 Fix the scope of cm in ServersTestV219
b09d99d Explicitly name commands target environments
67ceb74 _run_pending_deletes does not need info_cache/security_groups
f77d07c Updated from global requirements
48e0c00 hardware: Standarized flavor/image meta extraction
5e9add3 api-ref: Fix wrong parameters in os-volumes.inc
dfe4259 Remove mox from unit/virt/libvirt/test_imagebackend.py (1)
a5b920a Send events to all relevant hosts if migrating
53da313 Catch error and log warning when not able to update mtimes
03f8f5a Clarify what changed with scheduler_host_manager.
046922c Add related options to floating ip config options
98d629a Correct bug in microversion headers in placement
c9a6499 Ironic Driver: override get_serial_console()
dd99692 Updated from global requirements
fa4ad0a Drop deprecated support for hw_watchdog_action flavor extra spec
50f7b06 Remove watchdog_actions module
b07efcc Removal of tests with different result depending on testing env
df4cf3e Add debug to tox environment
26826bc Document experimental pipeline in Nova CI
c0e8aa8 Update rolling upgrade steps from upgrades documentation
94f89e9 Add migrate_uri for invoking the migration
f022d57 Fix bug in "nova/tests/unit/virt/test_virt_drivers.py" for os-vif
3fa6583 Remove redundant req setting
16f4bad Changed the name of the standard resource classes
5661f87 placement: change resource class to a StringField
a2fbe44 Remove nova/openstack/* from .coveragerc
c07c0d4 Remove deprecated nova-all binary
c12d388 Fix issue with not removing rbd rescue disk
41adb9f Require WebOb>=1.6.0
97e7b97 conf: Remove deprecated ``use_glance_v1``
50e0106 Adding hugepage and NUMA support check for aarch64
09e2bcf hacking: Use assertIs(Not), assert(True|False)
03b9937 Use more specific asserts in tests
c632c93 Add quota related tables to the api database.
0a99fc1 doc: add dev policy about no new metrics monitors
32e533d Always use python2.7 for functional tests
610293f doc: note the future of out of tree support
77b23da docs: update the Public Contractual API link
bf9fae9 Remove _set_up_controller() from attach tests
21961e7 Add InvalidInput handling for attach-volume
c46b469 placement: add cache for resource classes
d79d6f6 placement: add new resource_classes table
e4141c1 hardware: Rework docstrings
608a01e doc: Comment on latin1 vs utf8 charsets
b78f549 Improve help text for libvirt options
b83cae0 block_device: Make refresh_conn_infos py3 compatible
47fb8b7 Add swap volume notifications (start, end)
4eb89c2 Add a hacking rule for string interpolation at logging
3be6e8d Stop using mox stubs in test_snapshots.py
a11e750 Stop using mox from compute/test_multiple_create.py
87530b6 Don't attempt to escalate nova-manage privileges
7ab3063 Improve help text for upgrade_levels options
39af8d5 Remove dead link from notification devref
493a313 Stop using mox stubs in test_evacuate.py
e263558 Tests: fix a typo
5c608ab ENOENT error on '/dev/log'
b90df7c Patch mkisofs calls
7d0381c conf: Group scheduler options
2640f1f conf: Move consoleauth options to a group
66246c4 Fix exception due to BDM race in get_available_resource()
d8e695c Delete traces of in-progress snapshot on VM being deleted
2afc4e4 Add error handling for delete-volume API
6051499 Catch DevicePathInUse in attach_volume
f9a0f6f Enable release notes translation
2f073fd Fix drop_move_claim() on revert resize
9c39f37 Updated from global requirements
d04e41e Fix API doc for os-console-auth-tokens
1f66c2e tests: avoid creation of instances dir in the working directory
5271aa5 config options: improve libvirt imagebackend
407e659 libvirt: fix DiskSmallerThanImage when block migrate ephemerals
b713a62 Remove unnecessary credential sanitation for logging
5041bdd Replace uuid4() with uuidsentinel
f085fbd Change log level to debug for migrations pairing
ff14503 Remove the duplicated test function
bf38f0d Move get_instance() calls from try-except block
6f00d3b Allow running db archiving continuously
453e71d Add some extra logging around external event handling
285e1cc Fix a typo in driver.py
b2c9666 Avoid Forcing the Translation of Translatable Variables
5767220 Fix database poison warnings, part 21
0f4bd24 libvirt: Fix BlockDevice.wait_for_job when qemu reports no job
d4cbc2b Updated from global requirements
be49897 Remove mox from tests/unit/conductor/tasks/test_live_migrate.py(3)
ff486f3 Remove mox from tests/unit/conductor/tasks/test_live_migrate.py(2)
39cefb9 Remove mox from tests/unit/conductor/tasks/test_live_migrate.py(1)
7e4082d Fix calling super function in setUp method
1af73d1 refresh instances_path when shared storage used
c8e3cbc Prevent us from sleeping during DB retry tests
edd86d9 Fix error status code on update-volume API
d3194c6 conf: Trivial cleanup of console.py
bd995da conf: Trivial cleanup of compute.py
c7d0db4 conf: Trivial cleanup of 'cells'
6460303 conf: Deprecate all topic options
1f0d3e0 Updated from global requirements
e60e95f Disable 'supports_migrate_to_same_host' HyperV driver capability
951dee3 Fix periodic-nova-py{27,35}-with-oslo-master
1a80c88 Report actual request_spec when MaxRetriesExceeded raised
85bf71b Make db archival return a meaningful result code
d17a20d Remove the sample policy file
0a6d05a libvirt/guest.py: Update docstrings of block device methods
e5f379f Fix small RST markup errors
4b95b03 [Trivial] changes tiny RST markup error
5fe5185 Add get_context helper method
f6b7225 Use gabbi inner_fixtures for better error capture
aaf2532 Hyper-V: Fixes os_type image property requirement
62555e2 conf: Cleanup of glance.py
4e5ed1c conf: Move PCI options to a PCI group
9a5748d Add Apache 2.0 license to source file
cd99758 Updated from global requirements
7c3fd3c Make releasenotes reminder detect added and untracked notes
0b9b898 [placement] reorder middleware to correct logging context
a0b85d6 Fixes RST markup error to create a code-box.
4445d48 libvirt: support user password settings in virtuozzo
dc7c21f Removing duplicates from columns_to_join list
9b090ae Ignore BuildRequest during an instance reschedule
4f6f239 Remove stale pyc files when running the cover job
6f98810 Add a post-test-hook to run the archive command
5fdb922 [placement] ensure that allow headers are native strings
935bea2 Fix a few typos in API reference
4a6bf43 Fix typo on api-ref parameters
cca7c7da Fix typo in comment
3d57c41 Remove mox in nova/tests/unit/compute/test_shelve.py (1)
c5915eb Let schema validate image metadata type and key lengths
77d3619 Remove scheduled_at attribute from instances table
993a815 Fix database poison warnings, part 22
ceaf853 Archive instance-related rows when the parent instance is deleted
6686a3e Unwind circular import issue with api / utils
e71f706 Fix database poison warnings, part 18
b3d58ed Remove context object in oslo.log method
9dc07a2 libvirt: pick future min libvirt/qemu versions
bd0dc61 Improve consistency in serial_console
6832a41 conf: Improve consistency in scheduler opts
c04c1a9 Move notification_format and delete rpc.py
d896b62 config options: improve libvirt smbfs
8c753e9 Fix database poison warnings, part 17
c5c24f1 Updated from global requirements
2f670bf Fix database poison warnings, part 16
29dab99 Hyper-V: Adds Hyper-V UEFI Secure Boot
d218f0d Stop overwriting thread local context in ClientRouter
8f74906 Cleanup some redundant USES_DB_SELF usage
9544906 Fix database poison warnings, part 20
62e818a Fix database poison warnings, part 19
7637d4a use proper context in libvirt driver unit test
456c8f7 Renamed parameters name in config.py
f21e7e3 [placement] Allow both /placement and /placement/ to work
fd6085f numa: Fixes NUMA topology related unit tests
5901455 libvirt: fixes python 3 related unit tests
6181398 Clean up stdout/stderr leakage in cmd testing
ffaf1b6 Capture stdout in for test_wsgi:test_debug
5aa6c87 Add destroy method to the RequestSpec object
146499f Remove last sentence
2851cea VMware: Enforce minimum vCenter version of 5.5
d353645 test:Remove unused method _test_get_test_network_info
2fe5dae Determine disk_format for volume-backed snapshot from schema
0ada84c Fix database poison warnings, part 15
760629b Fix CONTAINER_FORMATS_ALL to have ova insteadk of vmdk
87426ef Config options consistency of ephemeral_storage.py
81dff50 docs: Clarify sections & note on filter scheduler
8e989bd Fixes python 3 unit tests
802a0af Add Hyper-V storage QoS support
be8242c Add blocker migration to ensure for newton online migrations
ebc0219 hacking: Always use 'assertIs(Not)None'
8c40c42 Hyper-V: fix image handling when shared storage is being used
3ddedc5 Annotate online db migrations with cycle added
f75c06a properly capture logging during db functional tests
1c85944 [placement] 404 responses do not cause exception logs
bbe3939 Fix pep8 E501 line too long
e53f3ed Remove unused code
ebb51d5 Replace uuid4() with generate_uuid() from oslo_utils
a6e9463 Return instance of Guest from method write_instance_config
d1662d5 Mock.side_effects does not exist, use Mock.side_effect instead
2a5b777 Remove redundant str typecasting
fe98f68 VMware: deprecate wsdl_location conf option
8a21584 Remove nova.image.s3 and configs
94d5c88 Remove internal_id attribute from instances table
0f5edd6 Fix stdout leakage during opportunistic db tests
2ddcb58 Updated from global requirements
9eb9f99 Improve help text for glance options
2ce193e libvirt: ignore conflict when defining network filters
05304b5 Add placeholder DB migrations for Ocata
15cda71 Remove PCI parent_addr online migration
7e71a4e Make nova-manage online migrations more verbose
8ddf174 Fix check_config_option_in_central_place
6b3b729 Skip malformed cookies
d98096b Fix database poison warnings, part 14
c0addfa Standardize output capture for nova-manage tests
759dfc0 Work around tests that don't use nova.test as a base
15b392a Don't print to stdout when executing hacking checks
dc2f4f8 Make test logging setup fixture disable future setup
56703c6 Fix typo in docsting in test_migrations.py
fe3d6db Remove support for deprecated driver import
c1dd240 conf: Add 'deprecated_reason' to osapi opts
059d257 Add hacking checks for xrange()
7a20438 Using assertIsNone() instead of assertEqual(None)
735f710 move os_vif.initialize() to nova-compute start
e9515ba Add deprecated_since parameter
687984b [placement] Manage log and other output in gabbi fixure
87494fd Reduce duplication and complexity in format_dom
bf6280e Fix invalid exception mock for InvalidNUMANodesNumber
dccaf9c libvirt: fix serial console not correctly defined after live-migration
f81e32c Add more description when service delete
3e92d21 trivial: Rewrap guide at 79 characters
6bb1fd7 plugins/xenserver: Add '.py' extension
c4ce5f1 conf: Fix opt indentation for scheduler.py
9723864 conf: Reorder scheduler opts
29f065d Updated from global requirements
ee2c0a0 Revert "Set 'serial' to new volume ID in swap volumes"
5f887d8 [placement] Adjust the name of the gabbi tests
a6cfc68 placement: refactor instance translate function
d3dfeb4 Move wsgi-intercept to test-requirements.txt
859de9c Add missing slash to dir path
bfe42de Expand feature classification matrix with gate checks
995d283 [placement] Stringify class and provider uuid in error
a68cd91 [api-ref] Correct parameter type
13a5fc6 Remove default=None for config options
0fafb81 libvirt: cleanup never used migratable flag checking
a468f8c Remove unnecessary setUp and tearDown
5e8f66d Remove unused parameters
4720fdf Remove duplicate key from dictionary
b535632 Updated from global requirements
310e4dc placement: refactor translate from node to dict
dc4d1a6 stub out instances_path in unit tests
a7c0a84 Add a new release note
7f7324c XenAPI: add unit test for plugin test_pluginlib_nova.py
b2ee12c Add link ref to nova api concept doc
8795b20 libvirt: Use the recreated disk.config.rescue during a rescue
43826e4 Add members in InstanceGroup object members field
2f202bb Updates URL and removes trailing characters
fc0e281 Stop ovn networking failing on mtu
57bd7b9 Update reno for stable/newton
103f13e Don't pass argument sqlite_db in method set_defaults
e202a01 Add is_cell0 helper method
836747b [placement] consolidate json handling in util module
644d310 Fix unnecessary string interpolation
0683fcd Handle TypeError when disabling host service
c95c2f2 Remove deprecated flag in neutron.py
2b4ac81 Body Verification of api-ref os-volume-attachments.inc
845adc6 Add functional regression test for bug 1595962
a836139 Use tempest tox with regex first
58be202 Doc fix for Nova API Guide, added missing word.
5af99c7 conf: Make list->dict conversion more specific
67b19e8 Improve help text for xenapi_session_opts
e843628 Improve help text for service options.
5982b94 Use assertEqual() instead of assertDictEqual()
8568cb4 Fixed suspend for PCI passthrough
6bd8029 Switching expression order within if condition
304bc20 Use to_policy_values for policy credentials
41aa264 Doc fix for Nova API Guide, fixed wording
32be810 Nova shelve creates duplicated images in cells
2dd231c HyperV: ensure config drives are copied as well during resizes
3ec1eca Fill destination check data with VNC/SPICE listen addresses
b6b31c2 Using assertIsNotNone() instead of assertIsNot(None,)
f8c1ee3 Fix SafeConfigParser DeprecationWarning in Python 3.2
e4c8084 Remove RateLimitFault class
3e29e55 Rate limit is removed , update doc accordingly
9a5ec4b Fix a typo from ID to Id
2e64261 context: change the name 'rule' to 'action' in context.can
a4c8680 Add description for v2.20 changes in api-ref
7b9e340 Add keypairs_links into resp
6178700 Add hypervisor_links into hypervisor v2.33
c1a8b89 Add reserved param for v2.4
3634270 Add more description on v2.9 history
d7376df Pin maximum API version of microversion
676babb XenAPI: resolve the fetch_bandwidth failure
174f5a0 [api-ref] Update configuration file
054e3a5 Trivial fix remove not used var in parameters
e12fe76 Trival fix a typo
bd2ccb9 Enable py3 tests for unit.api.openstack.compute.test_console_output
76b5379 [placement] clean up some nits in the requestlog middleware
a2ff3aa Stop using mox in virt/libvirt/test_imagecache.py
876d408 Stop using mox in unit/fake_processutils.py
4d052f2 ironic: Rename private methods for instance info
5db0545 Remove mox from api/openstack/compute/test_networks.py
7d1ab19 Remove mox from api/openstack/compute/test_rescue.py
83fe182 Remove mox from api/openstack/compute/test_image_size.py
752a13f Remove mox from api/openstack/compute/test_extended_ips.py
eed029d Remove mox from nova/tests/unit/virt/xenapi/test_driver.py
9f2f999 Remove mox from unit/api/openstack/compute/test_hide_server_addresses.py
58de262 Add bigswitch command to compute rootwrap filters
39bd43b Remove unused conf
8361d8d Allow linear packing of cores
4483d02 [placement] remove a comment that is no longer a todo
fd58a6a Fix a typo in the driver.py file
fcf2a64 Not allow overcommit ratios to be negative
0be9298 Use cls in class method instead of self _delete_domain is a class method, so cls should be used instead of self.
d8fdeac TrivialFix: Remove cfg import unused
1b7b098 Update link in general purpose feature matrix
e59ba69 Add warning if metadata_proxy_shared_secret is not configured
d2abe0b TrivialFix: removed useless storing of sample directory
47275d0 Fix link reference in Nova API version
9d08e80 doc: fix disk=0 use case in flavor doc
3157861 Move some flavor fakes closer to where they are being used
55f3f98 Replace flavors.get_all_flavors_sorted_list() with object call
62c7eb8 Refactor and objectify flavor fakes used in api tests
754adc4 [vncproxy] log for closing web is misleading
99b30d8 VIF: add in missing translation
aeb17fd Clean imports in code
4ca189a modify description of "Inject guest networking config"
d60ff73 Remove unnecessary debug logs of normal API ops
63b781d Replace fake_utils by using Fixture
c1a30f8 docs: update code-review guide for config options
7e6e336 use the HostPortGroupSpec.vswitchName instead of HostPortGroup.vswitch.split
1c04e18 Fix require thread policy for multi-NUMA computes
131686f Fix database poison warnings, part 13
36a0ba9 Avoid update resource if compute node not updated
3edc02d Document update_task_state for ComputeDriver.snapshot
e245086 Fix database poison warnings, part 12
af9aa1c Fix database poison warnings, part 11
54b122c Update instance node on rebuild only when it is recreate
0d814ac Fix database poison warnings, part 10
46cf8af Fix database poison warnings, part 9
dce1f71 Fix invalid import order and remove import *
ab5e67f XenAPI: add unit test for plugin bandwidth
65bcd21 Complete verification for os-virtual-interfaces
1e3e730 Do not try to backport when db has older object version
da0dbd7 Cleanup instance device metadata object code
41c651e Remove mox from nova/tests/unit/virt/libvirt/test_utils.py
531b401 Stop using mox in test_firewall
8b199c6 Fix exception when vcpu_pin_set is set to ""
6701af8 VMware: add in context for log messages
Diffstat (except docs and test files)
-------------------------------------
.coveragerc | 2 +-
.gitignore | 1 +
.gitreview | 1 +
.testr.conf | 2 +-
HACKING.rst | 11 +-
README.rst | 9 +
api-guide/source/conf.py | 2 -
api-guide/source/faults.rst | 12 +-
api-guide/source/limits.rst | 52 +-
api-guide/source/server_concepts.rst | 8 +-
api-guide/source/versions.rst | 5 +-
api-ref/source/conf.py | 7 +-
api-ref/source/diagnostics.inc | 7 +-
api-ref/source/images.inc | 4 +-
api-ref/source/index.rst | 7 +-
api-ref/source/ips.inc | 9 +-
api-ref/source/limits.inc | 2 +-
api-ref/source/metadata.inc | 30 +-
api-ref/source/os-aggregates.inc | 9 +-
api-ref/source/os-availability-zone.inc | 2 +-
api-ref/source/os-baremetal-nodes.inc | 2 +-
api-ref/source/os-certificates.inc | 2 +-
api-ref/source/os-consoles.inc | 41 +-
api-ref/source/os-fixed-ips.inc | 3 +-
api-ref/source/os-flavor-extra-specs.inc | 5 +
api-ref/source/os-floating-ip-dns.inc | 2 +-
api-ref/source/os-floating-ip-pools.inc | 2 +-
api-ref/source/os-floating-ips-bulk.inc | 2 +-
api-ref/source/os-floating-ips.inc | 56 +-
api-ref/source/os-fping.inc | 2 +-
api-ref/source/os-hypervisors.inc | 34 +-
api-ref/source/os-instance-usage-audit-log.inc | 19 +-
api-ref/source/os-keypairs.inc | 6 +-
api-ref/source/os-networks.inc | 2 +-
api-ref/source/os-quota-sets.inc | 2 +
api-ref/source/os-security-group-default-rules.inc | 2 +-
api-ref/source/os-security-group-rules.inc | 2 +-
api-ref/source/os-security-groups.inc | 2 +-
api-ref/source/os-server-groups.inc | 13 +-
api-ref/source/os-server-password.inc | 10 +-
api-ref/source/os-server-tags.inc | 2 +
api-ref/source/os-services.inc | 6 +-
api-ref/source/os-simple-tenant-usage.inc | 52 +-
api-ref/source/os-tenant-network.inc | 12 +-
api-ref/source/os-virtual-interfaces.inc | 27 +-
api-ref/source/os-volume-attachments.inc | 18 +-
api-ref/source/os-volumes.inc | 22 +-
api-ref/source/parameters.yaml | 616 ++--
api-ref/source/server-migrations.inc | 231 ++
api-ref/source/server-security-groups.inc | 4 +-
api-ref/source/servers-action-console-output.inc | 20 +-
api-ref/source/servers-action-evacuate.inc | 7 +-
api-ref/source/servers-action-fixed-ip.inc | 10 +-
api-ref/source/servers-action-shelve.inc | 31 +-
api-ref/source/servers-actions.inc | 162 +-
api-ref/source/servers-admin-action.inc | 58 +-
api-ref/source/servers.inc | 71 +-
api-ref/source/urls.inc | 14 +-
api-ref/source/versions.inc | 12 +-
bandit.yaml | 129 -
devstack/tempest-dsvm-cells-rc | 3 +
.../keypairs/v2.35/keypairs-list-user2-resp.json | 2 +-
.../v2.41/aggregate-add-host-post-req.json | 5 +
.../v2.41/aggregate-metadata-post-req.json | 9 +
.../os-aggregates/v2.41/aggregate-post-req.json | 7 +
.../os-aggregates/v2.41/aggregate-post-resp.json | 12 +
.../v2.41/aggregate-remove-host-post-req.json | 5 +
.../v2.41/aggregate-update-post-req.json | 7 +
.../v2.41/aggregate-update-post-resp.json | 16 +
.../v2.41/aggregates-add-host-post-resp.json | 18 +
.../os-aggregates/v2.41/aggregates-get-resp.json | 16 +
.../v2.41/aggregates-list-get-resp.json | 20 +
.../v2.41/aggregates-metadata-post-resp.json | 17 +
.../v2.41/aggregates-remove-host-post-resp.json | 16 +
.../v2.40/simple-tenant-usage-get-detail.json | 35 +
.../v2.40/simple-tenant-usage-get-specific.json | 33 +
.../v2.40/simple-tenant-usage-get.json | 19 +
.../server-migrations/v2.23/migrations-get.json | 4 +-
.../server-migrations/v2.23/migrations-index.json | 4 +-
.../servers/server-action-addfloatingip.json | 6 +
.../servers/v2.42/server-create-req.json | 18 +
.../servers/v2.42/server-create-resp.json | 22 +
.../aggregate-create-start.json | 17 +
.../aggregate-delete-start.json | 19 +
.../instance-create-error.json | 70 +
.../instance-create-start.json | 60 +
.../instance-delete-start.json | 19 +-
.../instance-power_off-end.json | 73 +
.../instance-power_off-start.json | 73 +
.../instance-power_on-end.json | 19 +-
.../instance-power_on-start.json | 19 +-
.../instance-resize-start.json | 17 +-
.../instance-resize_finish-end.json | 73 +
.../instance-resize_finish-start.json | 73 +
.../instance-restore-start.json | 19 +-
.../instance-resume-start.json | 73 +
.../instance-shelve-start.json | 17 +-
.../instance-shelve_offload-end.json | 73 +
.../instance-shelve_offload-start.json | 74 +
.../instance-shutdown-end.json | 73 +
.../instance-shutdown-start.json | 73 +
.../instance-snapshot-end.json | 73 +
.../instance-snapshot-start.json | 73 +
.../instance-suspend-start.json | 17 +-
.../instance-unpause-start.json | 73 +
.../instance-unshelve-end.json | 73 +
.../instance-unshelve-start.json | 73 +
.../instance-volume_swap-end.json | 75 +
.../instance-volume_swap-error.json | 85 +
.../instance-volume_swap-start.json | 75 +
etc/nova/README-policy.yaml.txt | 4 +
etc/nova/api-paste.ini | 13 +-
etc/nova/policy.json | 2 -
etc/nova/rootwrap.d/compute.filters | 6 +
gate/README | 4 +
gate/post_test_hook.sh | 21 +
nova/api/auth.py | 14 +-
nova/api/metadata/base.py | 69 +-
nova/api/metadata/handler.py | 26 +-
nova/api/metadata/password.py | 4 +
nova/api/metadata/vendordata_dynamic.py | 71 +-
nova/api/metadata/vendordata_json.py | 4 +-
nova/api/openstack/__init__.py | 5 +-
nova/api/openstack/api_version_request.py | 17 +-
nova/api/openstack/auth.py | 2 +-
nova/api/openstack/common.py | 41 +-
nova/api/openstack/compute/__init__.py | 8 +-
nova/api/openstack/compute/admin_actions.py | 4 +-
nova/api/openstack/compute/aggregates.py | 26 +-
nova/api/openstack/compute/attach_interfaces.py | 1 -
nova/api/openstack/compute/block_device_mapping.py | 14 +-
nova/api/openstack/compute/cells.py | 2 +-
nova/api/openstack/compute/create_backup.py | 7 +-
nova/api/openstack/compute/deferred_delete.py | 4 +
nova/api/openstack/compute/evacuate.py | 2 +-
nova/api/openstack/compute/extension_info.py | 6 +-
nova/api/openstack/compute/flavor_access.py | 4 -
nova/api/openstack/compute/flavor_manage.py | 2 +-
nova/api/openstack/compute/flavors.py | 5 +-
nova/api/openstack/compute/flavors_extraspecs.py | 2 +-
nova/api/openstack/compute/fping.py | 8 +-
.../api/openstack/compute/hide_server_addresses.py | 2 +-
nova/api/openstack/compute/hypervisors.py | 42 +-
nova/api/openstack/compute/image_metadata.py | 12 +-
.../openstack/compute/instance_usage_audit_log.py | 19 +-
nova/api/openstack/compute/keypairs.py | 10 +
nova/api/openstack/compute/limits.py | 23 +-
nova/api/openstack/compute/migrate_server.py | 2 +-
nova/api/openstack/compute/quota_classes.py | 4 +-
nova/api/openstack/compute/quota_sets.py | 12 +-
nova/api/openstack/compute/remote_consoles.py | 6 +-
nova/api/openstack/compute/rescue.py | 2 +-
.../openstack/compute/rest_api_version_history.rst | 479 +++
.../compute/schemas/block_device_mapping.py | 26 +-
.../compute/schemas/block_device_mapping_v1.py | 2 +-
.../api/openstack/compute/schemas/create_backup.py | 4 +-
nova/api/openstack/compute/schemas/keypairs.py | 23 +
nova/api/openstack/compute/schemas/server_tags.py | 16 +-
nova/api/openstack/compute/schemas/servers.py | 154 +-
nova/api/openstack/compute/security_groups.py | 9 +-
.../openstack/compute/server_external_events.py | 10 +-
nova/api/openstack/compute/server_groups.py | 12 +-
nova/api/openstack/compute/server_metadata.py | 6 +-
nova/api/openstack/compute/server_tags.py | 42 +-
nova/api/openstack/compute/servers.py | 86 +-
nova/api/openstack/compute/simple_tenant_usage.py | 115 +-
nova/api/openstack/compute/suspend_server.py | 4 +-
nova/api/openstack/compute/tenant_networks.py | 6 +-
nova/api/openstack/compute/used_limits.py | 3 +-
nova/api/openstack/compute/versions.py | 4 -
nova/api/openstack/compute/views/addresses.py | 24 +-
nova/api/openstack/compute/views/flavors.py | 17 +-
nova/api/openstack/compute/views/limits.py | 25 +-
nova/api/openstack/compute/views/servers.py | 26 +-
nova/api/openstack/compute/views/usages.py | 28 +
nova/api/openstack/compute/volumes.py | 27 +-
nova/api/openstack/extensions.py | 2 +-
nova/api/openstack/placement/deploy.py | 20 +-
nova/api/openstack/placement/handler.py | 52 +-
nova/api/openstack/placement/handlers/aggregate.py | 76 +
.../api/openstack/placement/handlers/allocation.py | 42 +-
nova/api/openstack/placement/handlers/inventory.py | 88 +-
.../openstack/placement/handlers/resource_class.py | 199 ++
.../placement/handlers/resource_provider.py | 197 +-
nova/api/openstack/placement/handlers/root.py | 3 +-
nova/api/openstack/placement/handlers/usage.py | 18 +-
nova/api/openstack/placement/microversion.py | 98 +
nova/api/openstack/placement/policy.py | 75 +
nova/api/openstack/placement/requestlog.py | 20 +-
.../placement/rest_api_version_history.rst | 83 +
nova/api/openstack/placement/util.py | 36 +-
nova/api/openstack/rest_api_version_history.rst | 417 ---
nova/api/openstack/wsgi.py | 64 +-
nova/api/validation/__init__.py | 160 +-
nova/api/validation/parameter_types.py | 28 +
nova/api/validation/validators.py | 33 +-
nova/availability_zones.py | 8 +-
nova/block_device.py | 20 +-
nova/cells/manager.py | 10 +-
nova/cells/messaging.py | 4 +-
nova/cells/rpcapi.py | 5 +-
nova/cells/state.py | 16 +-
nova/cells/utils.py | 4 +-
nova/cert/manager.py | 1 -
nova/cert/rpcapi.py | 9 +-
nova/cloudpipe/pipelib.py | 2 +-
nova/cmd/all.py | 91 -
nova/cmd/api.py | 3 +-
nova/cmd/api_metadata.py | 4 +-
nova/cmd/cert.py | 2 +-
nova/cmd/common.py | 18 +-
nova/cmd/compute.py | 16 +-
nova/cmd/conductor.py | 3 +-
nova/cmd/dhcpbridge.py | 11 +-
nova/cmd/manage.py | 583 ++--
nova/cmd/network.py | 19 +-
nova/cmd/scheduler.py | 1 +
nova/cmd/status.py | 460 +++
nova/common/config.py | 39 +-
nova/compute/api.py | 486 +++-
nova/compute/arch.py | 162 --
nova/compute/cells_api.py | 13 +-
nova/compute/claims.py | 18 +-
nova/compute/cpumodel.py | 45 -
nova/compute/flavors.py | 16 +-
nova/compute/hv_type.py | 106 -
nova/compute/manager.py | 422 ++-
nova/compute/resource_tracker.py | 411 +--
nova/compute/rpcapi.py | 13 +-
nova/compute/utils.py | 100 +-
nova/compute/vm_mode.py | 87 -
nova/conductor/__init__.py | 21 +-
nova/conductor/api.py | 115 +-
nova/conductor/manager.py | 326 ++-
nova/conductor/rpcapi.py | 26 +-
nova/conf/__init__.py | 14 +-
nova/conf/api.py | 215 +-
nova/conf/availability_zone.py | 8 +-
nova/conf/base.py | 21 +-
nova/conf/cache.py | 3 +-
nova/conf/cells.py | 263 +-
nova/conf/cert.py | 40 -
nova/conf/cinder.py | 8 +-
nova/conf/compute.py | 826 ++++--
nova/conf/conductor.py | 31 +-
nova/conf/console.py | 103 +-
nova/conf/consoleauth.py | 43 +-
nova/conf/database.py | 20 +-
nova/conf/ephemeral_storage.py | 45 +-
nova/conf/exceptions.py | 39 -
nova/conf/flavors.py | 3 +-
nova/conf/floating_ips.py | 47 +-
nova/conf/glance.py | 114 +-
nova/conf/hyperv.py | 34 +-
nova/conf/image_file_url.py | 3 +
nova/conf/ironic.py | 34 +-
nova/conf/key_manager.py | 50 +-
nova/conf/libvirt.py | 577 ++--
nova/conf/network.py | 584 ++--
nova/conf/neutron.py | 3 -
nova/conf/notifications.py | 49 +-
nova/conf/opts.py | 11 -
nova/conf/osapi_v21.py | 32 +-
nova/conf/pci.py | 66 +-
nova/conf/placement.py | 5 +
nova/conf/quota.py | 365 ++-
nova/conf/rpc.py | 56 -
nova/conf/s3.py | 73 -
nova/conf/scheduler.py | 1064 +++----
nova/conf/serial_console.py | 120 +-
nova/conf/service.py | 172 +-
nova/conf/service_token.py | 66 +
nova/conf/spice.py | 163 +-
nova/conf/ssl.py | 3 +-
nova/conf/upgrade_levels.py | 179 +-
nova/conf/vendordata.py | 42 +
nova/conf/virt.py | 326 ---
nova/conf/vmware.py | 5 +
nova/conf/wsgi.py | 43 +-
nova/conf/xenserver.py | 410 ++-
nova/config.py | 5 +
nova/console/fake.py | 52 -
nova/console/manager.py | 11 +-
nova/console/rpcapi.py | 9 +-
nova/console/websocketproxy.py | 20 +-
nova/consoleauth/manager.py | 2 +-
nova/consoleauth/rpcapi.py | 7 +-
nova/context.py | 39 +-
nova/db/api.py | 12 +-
nova/db/sqlalchemy/api.py | 591 ++--
.../migrate_repo/versions/021_placeholder.py | 23 +
.../migrate_repo/versions/022_placeholder.py | 23 +
.../migrate_repo/versions/023_placeholder.py | 23 +
.../migrate_repo/versions/024_placeholder.py | 23 +
.../migrate_repo/versions/025_placeholder.py | 23 +
.../versions/026_add_resource_classes.py | 36 +
.../migrate_repo/versions/027_quotas.py | 124 +
.../028_build_requests_instance_mediumtext.py | 24 +
.../versions/029_placement_aggregates.py | 37 +
.../versions/030_require_cell_setup.py | 60 +
nova/db/sqlalchemy/api_models.py | 143 +-
.../migrate_repo/versions/335_placeholder.py | 23 +
.../migrate_repo/versions/336_placeholder.py | 23 +
.../migrate_repo/versions/337_placeholder.py | 23 +
.../migrate_repo/versions/338_placeholder.py | 23 +
.../migrate_repo/versions/339_placeholder.py | 23 +
.../migrate_repo/versions/340_placeholder.py | 23 +
.../migrate_repo/versions/341_placeholder.py | 23 +
.../migrate_repo/versions/342_placeholder.py | 23 +
.../migrate_repo/versions/343_placeholder.py | 23 +
.../migrate_repo/versions/344_placeholder.py | 23 +
.../345_require_online_migration_completion.py | 68 +
.../versions/346_remove_scheduled_at_column.py | 29 +
.../versions/347_add_updated_at_index.py | 58 +
nova/db/sqlalchemy/models.py | 19 +-
nova/db/sqlalchemy/resource_class_cache.py | 139 +
nova/db/sqlalchemy/utils.py | 20 -
nova/exception.py | 73 +-
nova/exception_wrapper.py | 4 +-
nova/hacking/checks.py | 166 +-
nova/image/api.py | 2 +
nova/image/glance.py | 109 +-
nova/image/s3.py | 410 ---
nova/locale/cs/LC_MESSAGES/nova-log-error.po | 33 +-
nova/locale/cs/LC_MESSAGES/nova-log-info.po | 12 +-
nova/locale/cs/LC_MESSAGES/nova-log-warning.po | 45 +-
nova/locale/cs/LC_MESSAGES/nova.po | 107 +-
nova/locale/de/LC_MESSAGES/nova-log-error.po | 33 +-
nova/locale/de/LC_MESSAGES/nova-log-info.po | 12 +-
nova/locale/de/LC_MESSAGES/nova.po | 192 +-
nova/locale/es/LC_MESSAGES/nova-log-error.po | 33 +-
nova/locale/es/LC_MESSAGES/nova-log-info.po | 12 +-
nova/locale/es/LC_MESSAGES/nova-log-warning.po | 30 +-
nova/locale/es/LC_MESSAGES/nova.po | 114 +-
nova/locale/fr/LC_MESSAGES/nova-log-error.po | 33 +-
nova/locale/fr/LC_MESSAGES/nova-log-info.po | 9 +-
nova/locale/fr/LC_MESSAGES/nova-log-warning.po | 30 +-
nova/locale/fr/LC_MESSAGES/nova.po | 115 +-
nova/locale/it/LC_MESSAGES/nova-log-error.po | 25 +-
nova/locale/it/LC_MESSAGES/nova-log-info.po | 8 +-
nova/locale/it/LC_MESSAGES/nova.po | 113 +-
nova/locale/ja/LC_MESSAGES/nova.po | 112 +-
nova/locale/ko_KR/LC_MESSAGES/nova-log-error.po | 46 +-
nova/locale/ko_KR/LC_MESSAGES/nova-log-info.po | 72 +-
nova/locale/ko_KR/LC_MESSAGES/nova-log-warning.po | 51 +-
nova/locale/ko_KR/LC_MESSAGES/nova.po | 126 +-
nova/locale/pt_BR/LC_MESSAGES/nova-log-error.po | 46 +-
nova/locale/pt_BR/LC_MESSAGES/nova-log-info.po | 12 +-
nova/locale/pt_BR/LC_MESSAGES/nova.po | 114 +-
nova/locale/ru/LC_MESSAGES/nova.po | 113 +-
nova/locale/tr_TR/LC_MESSAGES/nova-log-error.po | 33 +-
nova/locale/tr_TR/LC_MESSAGES/nova-log-info.po | 12 +-
nova/locale/tr_TR/LC_MESSAGES/nova-log-warning.po | 30 +-
nova/locale/tr_TR/LC_MESSAGES/nova.po | 96 +-
nova/locale/zh_CN/LC_MESSAGES/nova-log-error.po | 33 +-
nova/locale/zh_CN/LC_MESSAGES/nova-log-info.po | 12 +-
nova/locale/zh_CN/LC_MESSAGES/nova-log-warning.po | 26 +-
nova/locale/zh_CN/LC_MESSAGES/nova.po | 108 +-
nova/locale/zh_TW/LC_MESSAGES/nova.po | 108 +-
nova/manager.py | 23 +
nova/network/api.py | 2 +
nova/network/floating_ips.py | 2 +-
nova/network/ldapdns.py | 2 +-
nova/network/linux_net.py | 21 +-
nova/network/manager.py | 34 +-
nova/network/model.py | 22 +-
nova/network/neutronv2/api.py | 118 +-
nova/network/os_vif_util.py | 69 +-
nova/network/rpcapi.py | 9 +-
nova/network/security_group/neutron_driver.py | 8 +-
nova/network/security_group/security_group_base.py | 16 +-
nova/notifications/base.py | 25 +-
nova/notifications/objects/aggregate.py | 53 +
nova/notifications/objects/base.py | 6 +-
nova/notifications/objects/exception.py | 4 +-
nova/notifications/objects/flavor.py | 91 +
nova/notifications/objects/instance.py | 135 +-
nova/objects/aggregate.py | 19 +-
nova/objects/base.py | 87 +-
nova/objects/build_request.py | 77 +-
nova/objects/cell_mapping.py | 3 +
nova/objects/compute_node.py | 110 +-
nova/objects/fields.py | 424 ++-
nova/objects/flavor.py | 44 +-
nova/objects/host_mapping.py | 76 +
nova/objects/hv_spec.py | 5 +-
nova/objects/image_meta.py | 11 +-
nova/objects/instance.py | 83 +-
nova/objects/instance_fault.py | 12 +-
nova/objects/instance_group.py | 2 +-
nova/objects/instance_mapping.py | 16 +-
nova/objects/instance_numa_topology.py | 30 +-
nova/objects/keypair.py | 4 +-
nova/objects/migrate_data.py | 64 +-
nova/objects/numa.py | 12 +
nova/objects/pci_device.py | 37 +-
nova/objects/pci_device_pool.py | 2 +-
nova/objects/request_spec.py | 37 +-
nova/objects/resource_provider.py | 740 ++++-
nova/objects/security_group.py | 39 +-
nova/objects/service.py | 5 +-
nova/objects/virt_device_metadata.py | 17 +-
nova/pci/devspec.py | 245 +-
nova/pci/manager.py | 27 +-
nova/pci/request.py | 16 +-
nova/pci/stats.py | 4 +-
nova/pci/utils.py | 6 +-
nova/pci/whitelist.py | 5 -
nova/policies/server_groups.py | 13 +
nova/policy.py | 9 +-
nova/profiler.py | 73 +
nova/quota.py | 46 +-
nova/rpc.py | 56 +-
nova/scheduler/caching_scheduler.py | 2 +-
nova/scheduler/client/report.py | 594 +++-
nova/scheduler/driver.py | 2 +-
nova/scheduler/filter_scheduler.py | 81 +-
.../aggregate_image_properties_isolation.py | 14 +-
.../filters/aggregate_instance_extra_specs.py | 4 +-
.../filters/compute_capabilities_filter.py | 2 +-
nova/scheduler/filters/image_props_filter.py | 10 +-
nova/scheduler/filters/io_ops_filter.py | 8 +-
nova/scheduler/filters/isolated_hosts_filter.py | 8 +-
nova/scheduler/filters/num_instances_filter.py | 16 +-
nova/scheduler/filters/numa_topology_filter.py | 27 +-
nova/scheduler/filters/pci_passthrough_filter.py | 5 +-
nova/scheduler/filters/trusted_filter.py | 10 +-
nova/scheduler/host_manager.py | 47 +-
nova/scheduler/ironic_host_manager.py | 20 +-
nova/scheduler/manager.py | 46 +-
nova/scheduler/rpcapi.py | 5 +-
nova/scheduler/scheduler_options.py | 98 -
nova/scheduler/utils.py | 11 +-
nova/scheduler/weights/affinity.py | 19 +-
nova/scheduler/weights/disk.py | 2 +-
nova/scheduler/weights/io_ops.py | 2 +-
nova/scheduler/weights/ram.py | 2 +-
nova/service.py | 56 +-
nova/service_auth.py | 39 +
nova/servicegroup/drivers/db.py | 4 +-
nova/servicegroup/drivers/mc.py | 2 +-
nova/test.py | 105 +-
.../functional/api/openstack/placement/fixtures.py | 44 +-
.../api/openstack/placement/gabbits/aggregate.yaml | 104 +
.../openstack/placement/gabbits/allocations.yaml | 29 +-
.../api/openstack/placement/gabbits/inventory.yaml | 170 +-
.../openstack/placement/gabbits/microversion.yaml | 4 +-
.../placement/gabbits/resource-classes.yaml | 217 ++
.../gabbits/resource-provider-aggregates.yaml | 106 +
.../gabbits/resource-provider-resources-query.yaml | 136 +
.../placement/gabbits/resource-provider.yaml | 36 +-
.../api/openstack/placement/gabbits/unicode.yaml | 32 -
.../api/openstack/placement/gabbits/usage.yaml | 2 +
.../placement/gabbits/with-allocations.yaml | 9 +-
.../api/openstack/placement/test_placement_api.py | 14 +
.../api/openstack/placement/test_report_client.py | 30 +-
.../v2.35/keypairs-list-user2-resp.json.tpl | 2 +-
.../limits/v2.39/limit-get-resp.json.tpl | 20 +
.../v2.41/aggregate-add-host-post-req.json.tpl | 5 +
.../v2.41/aggregate-metadata-post-req.json.tpl | 9 +
.../v2.41/aggregate-post-req.json.tpl | 7 +
.../v2.41/aggregate-post-resp.json.tpl | 12 +
.../v2.41/aggregate-remove-host-post-req.json.tpl | 5 +
.../v2.41/aggregate-update-post-req.json.tpl | 7 +
.../v2.41/aggregate-update-post-resp.json.tpl | 16 +
.../v2.41/aggregates-add-host-post-resp.json.tpl | 18 +
.../v2.41/aggregates-get-resp.json.tpl | 16 +
.../v2.41/aggregates-list-get-resp.json.tpl | 20 +
.../v2.41/aggregates-metadata-post-resp.json.tpl | 17 +
.../aggregates-remove-host-post-resp.json.tpl | 16 +
.../hypervisors-detail-resp.json.tpl | 2 +-
.../os-hypervisors/hypervisors-show-resp.json.tpl | 2 +-
.../v2.28/hypervisors-detail-resp.json.tpl | 2 +-
.../v2.28/hypervisors-show-resp.json.tpl | 2 +-
.../v2.40/simple-tenant-usage-get-detail.json.tpl | 35 +
.../simple-tenant-usage-get-specific.json.tpl | 33 +
.../v2.40/simple-tenant-usage-get.json.tpl | 19 +
.../v2.23/migrations-get.json.tpl | 4 +-
.../v2.23/migrations-index.json.tpl | 4 +-
.../servers/server-action-addfloatingip.json.tpl | 6 +
.../servers/server-create-req-v237.json.tpl | 2 +-
.../servers/v2.42/server-create-req.json.tpl | 18 +
.../servers/v2.42/server-create-resp.json.tpl | 22 +
.../test_assisted_volume_snapshots.py | 2 +-
.../functional/db/test_resource_class_cache.py | 99 +
.../functional/libvirt/test_pci_sriov_servers.py | 332 +++
.../notification_sample_base.py | 52 +-
.../test_exception_notification.py | 6 +-
.../functional/regressions/test_bug_1522536.py | 10 +-
.../functional/regressions/test_bug_1541691.py | 4 -
.../functional/regressions/test_bug_1548980.py | 10 +-
.../functional/regressions/test_bug_1554631.py | 10 +-
.../functional/regressions/test_bug_1558866.py | 1 +
.../functional/regressions/test_bug_1595962.py | 145 +
.../functional/regressions/test_bug_1620248.py | 5 +-
.../functional/regressions/test_bug_1627838.py | 32 +
.../unit/api/openstack/compute/test_access_ips.py | 3 +-
.../api/openstack/compute/test_admin_password.py | 2 +-
.../unit/api/openstack/compute/test_aggregates.py | 29 +-
.../openstack/compute/test_attach_interfaces.py | 77 +-
.../openstack/compute/test_availability_zone.py | 38 +-
.../openstack/compute/test_block_device_mapping.py | 61 +
.../compute/test_block_device_mapping_v1.py | 79 +-
.../unit/api/openstack/compute/test_cloudpipe.py | 153 +-
.../api/openstack/compute/test_config_drive.py | 40 +-
.../api/openstack/compute/test_console_output.py | 3 +-
.../unit/api/openstack/compute/test_consoles.py | 6 +-
.../api/openstack/compute/test_create_backup.py | 32 +
.../api/openstack/compute/test_deferred_delete.py | 25 +
.../unit/api/openstack/compute/test_disk_config.py | 20 +-
.../unit/api/openstack/compute/test_evacuate.py | 22 +-
.../compute/test_extended_availability_zone.py | 21 +-
.../openstack/compute/test_extended_hypervisors.py | 76 +-
.../api/openstack/compute/test_extended_ips.py | 10 +-
.../api/openstack/compute/test_extended_ips_mac.py | 5 +-
.../compute/test_extended_server_attributes.py | 10 +-
.../api/openstack/compute/test_extended_status.py | 12 +-
.../api/openstack/compute/test_extended_volumes.py | 4 +-
.../unit/api/openstack/compute/test_extensions.py | 3 -
.../api/openstack/compute/test_flavor_disabled.py | 61 +-
.../api/openstack/compute/test_flavor_manage.py | 11 +-
.../unit/api/openstack/compute/test_flavor_rxtx.py | 62 +-
.../unit/api/openstack/compute/test_flavor_swap.py | 60 +-
.../api/openstack/compute/test_flavorextradata.py | 86 +-
.../unit/api/openstack/compute/test_flavors.py | 219 +-
.../openstack/compute/test_flavors_extra_specs.py | 2 +-
.../api/openstack/compute/test_floating_ip_dns.py | 95 +-
.../openstack/compute/test_floating_ip_pools.py | 12 +-
.../api/openstack/compute/test_floating_ips.py | 15 +-
.../compute/test_hide_server_addresses.py | 31 +-
.../unit/api/openstack/compute/test_hypervisors.py | 81 +-
.../api/openstack/compute/test_image_metadata.py | 25 +
.../unit/api/openstack/compute/test_image_size.py | 22 +-
.../unit/api/openstack/compute/test_images.py | 5 +-
.../api/openstack/compute/test_instance_actions.py | 10 +-
.../unit/api/openstack/compute/test_keypairs.py | 48 +-
.../unit/api/openstack/compute/test_limits.py | 33 +
.../api/openstack/compute/test_microversions.py | 32 +-
.../api/openstack/compute/test_migrate_server.py | 2 +-
.../unit/api/openstack/compute/test_migrations.py | 8 +-
.../api/openstack/compute/test_multiple_create.py | 66 +-
.../unit/api/openstack/compute/test_networks.py | 12 +-
.../compute/test_neutron_security_groups.py | 26 +-
.../api/openstack/compute/test_plugin_framework.py | 2 +-
.../unit/api/openstack/compute/test_quotas.py | 59 +-
.../unit/api/openstack/compute/test_rescue.py | 63 +-
.../api/openstack/compute/test_scheduler_hints.py | 4 +-
.../compute/test_security_group_default_rules.py | 1 +
.../api/openstack/compute/test_security_groups.py | 20 +-
.../api/openstack/compute/test_server_actions.py | 293 +-
.../openstack/compute/test_server_diagnostics.py | 3 +-
.../compute/test_server_external_events.py | 9 +-
.../openstack/compute/test_server_group_quotas.py | 2 +-
.../api/openstack/compute/test_server_groups.py | 140 +-
.../api/openstack/compute/test_server_metadata.py | 15 +-
.../openstack/compute/test_server_migrations.py | 14 +-
.../unit/api/openstack/compute/test_server_tags.py | 14 +-
.../api/openstack/compute/test_server_usage.py | 3 +-
.../unit/api/openstack/compute/test_serversV21.py | 376 ++-
.../unit/api/openstack/compute/test_shelve.py | 59 +-
.../openstack/compute/test_simple_tenant_usage.py | 141 +-
.../unit/api/openstack/compute/test_snapshots.py | 21 +-
.../api/openstack/compute/test_tenant_networks.py | 75 +-
.../unit/api/openstack/compute/test_urlmap.py | 21 +-
.../unit/api/openstack/compute/test_used_limits.py | 4 +-
.../unit/api/openstack/compute/test_user_data.py | 17 +-
.../unit/api/openstack/compute/test_versions.py | 23 +-
.../openstack/compute/test_virtual_interfaces.py | 4 +
.../unit/api/openstack/compute/test_volumes.py | 189 +-
.../unit/api/openstack/placement/test_handler.py | 47 +-
.../api/openstack/placement/test_microversion.py | 107 +
.../api/openstack/placement/test_requestlog.py | 15 +-
.../unit/api/openstack/placement/test_util.py | 93 +
.../unit/conductor/tasks/test_live_migrate.py | 237 +-
.../network/security_group/test_neutron_driver.py | 6 +-
.../unit/notifications/objects/test_flavor.py | 142 +
.../notifications/objects/test_notification.py | 31 +-
.../unit/objects/test_instance_device_metadata.py | 13 +-
.../unit/objects/test_instance_numa_topology.py | 47 +-
.../scheduler/filters/test_affinity_filters.py | 11 +-
...aggregate_image_properties_isolation_filters.py | 39 +-
.../test_aggregate_instance_extra_specs_filters.py | 8 +-
.../filters/test_availability_zone_filters.py | 6 +-
.../unit/scheduler/filters/test_disk_filters.py | 3 -
.../scheduler/filters/test_image_props_filters.py | 174 +-
.../unit/scheduler/filters/test_io_ops_filters.py | 8 +-
.../filters/test_isolated_hosts_filter.py | 7 +-
.../filters/test_num_instances_filters.py | 8 +-
.../filters/test_numa_topology_filters.py | 21 +-
.../filters/test_pci_passthrough_filters.py | 22 +-
.../unit/scheduler/test_ironic_host_manager.py | 60 +-
.../scheduler/weights/test_weights_affinity.py | 18 +-
.../unit/scheduler/weights/test_weights_disk.py | 6 +-
.../scheduler/weights/test_weights_ioopsweight.py | 3 +-
.../unit/scheduler/weights/test_weights_ram.py | 6 +-
.../unit/servicegroup/test_db_servicegroup.py | 34 +-
.../unit/virt/hyperv/test_block_device_manager.py | 69 +
.../unit/virt/hyperv/test_livemigrationops.py | 13 +-
.../unit/virt/libvirt/storage/test_dmcrypt.py | 1 -
.../unit/virt/libvirt/volume/test_fibrechannel.py | 14 +-
.../unit/virt/libvirt/volume/test_glusterfs.py | 17 +-
.../unit/virt/libvirt/volume/test_vzstorage.py | 17 +-
.../unit/virt/xenapi/image/test_bittorrent.py | 21 +-
.../unit/virt/xenapi/image/test_vdi_through_dev.py | 2 +-
.../xenapi/plugins/test_nova_plugin_version.py | 28 -
.../virt/xenapi/plugins/test_partition_utils.py | 108 -
.../unit/volume/encryptors/test_cryptsetup.py | 40 +-
nova/utils.py | 34 +-
nova/virt/block_device.py | 32 +-
nova/virt/configdrive.py | 5 +
nova/virt/diagnostics.py | 3 +-
nova/virt/disk/api.py | 6 +-
nova/virt/disk/vfs/guestfs.py | 24 +-
nova/virt/driver.py | 32 +-
nova/virt/fake.py | 32 +-
nova/virt/hardware.py | 720 ++---
nova/virt/hyperv/block_device_manager.py | 42 +
nova/virt/hyperv/constants.py | 23 +-
nova/virt/hyperv/driver.py | 27 +-
nova/virt/hyperv/hostops.py | 55 +-
nova/virt/hyperv/imagecache.py | 37 +-
nova/virt/hyperv/livemigrationops.py | 6 +-
nova/virt/hyperv/migrationops.py | 22 +-
nova/virt/hyperv/vif.py | 54 +-
nova/virt/hyperv/vmops.py | 294 +-
nova/virt/hyperv/volumeops.py | 557 ++--
nova/virt/images.py | 14 +-
nova/virt/ironic/client_wrapper.py | 24 +-
nova/virt/ironic/driver.py | 452 ++-
nova/virt/ironic/patcher.py | 8 +-
nova/virt/libvirt/blockinfo.py | 73 +-
nova/virt/libvirt/config.py | 96 +-
nova/virt/libvirt/designer.py | 5 +-
nova/virt/libvirt/driver.py | 1597 +++++-----
nova/virt/libvirt/firewall.py | 16 +-
nova/virt/libvirt/guest.py | 237 +-
nova/virt/libvirt/host.py | 231 +-
nova/virt/libvirt/imagebackend.py | 126 +-
nova/virt/libvirt/imagecache.py | 15 +-
nova/virt/libvirt/migration.py | 121 +-
nova/virt/libvirt/storage/lvm.py | 6 +-
nova/virt/libvirt/storage/rbd_utils.py | 30 +-
nova/virt/libvirt/utils.py | 67 +-
nova/virt/libvirt/vif.py | 209 +-
nova/virt/libvirt/volume/aoe.py | 4 +-
nova/virt/libvirt/volume/disco.py | 4 +-
nova/virt/libvirt/volume/fibrechannel.py | 4 +-
nova/virt/libvirt/volume/fs.py | 4 +-
nova/virt/libvirt/volume/hgst.py | 4 +-
nova/virt/libvirt/volume/iscsi.py | 4 +-
nova/virt/libvirt/volume/net.py | 76 +-
nova/virt/libvirt/volume/quobyte.py | 4 +-
nova/virt/libvirt/volume/scaleio.py | 4 +-
nova/virt/libvirt/volume/scality.py | 8 +-
nova/virt/libvirt/volume/volume.py | 22 +-
nova/virt/libvirt/volume/vzstorage.py | 2 +-
nova/virt/netutils.py | 10 +
nova/virt/vmwareapi/constants.py | 26 +-
nova/virt/vmwareapi/driver.py | 26 +-
nova/virt/vmwareapi/host.py | 12 +-
nova/virt/vmwareapi/images.py | 7 +-
nova/virt/vmwareapi/network_util.py | 2 +-
nova/virt/vmwareapi/vim_util.py | 4 +-
nova/virt/vmwareapi/vm_util.py | 9 +-
nova/virt/vmwareapi/vmops.py | 26 +-
nova/virt/watchdog_actions.py | 24 -
nova/virt/xenapi/agent.py | 18 +-
nova/virt/xenapi/client/__init__.py | 0
nova/virt/xenapi/client/objects.py | 148 -
nova/virt/xenapi/client/session.py | 351 ---
nova/virt/xenapi/driver.py | 72 +-
nova/virt/xenapi/fake.py | 74 +-
nova/virt/xenapi/firewall.py | 5 +-
nova/virt/xenapi/host.py | 20 +-
nova/virt/xenapi/image/bittorrent.py | 2 +-
nova/virt/xenapi/image/glance.py | 10 +-
nova/virt/xenapi/pool.py | 2 +-
nova/virt/xenapi/vif.py | 126 +-
nova/virt/xenapi/vm_utils.py | 46 +-
nova/virt/xenapi/vmops.py | 150 +-
nova/virt/xenapi/volume_utils.py | 7 +-
nova/virt/xenapi/volumeops.py | 13 +-
nova/volume/cinder.py | 47 +-
nova/volume/encryptors/__init__.py | 44 +-
nova/volume/encryptors/cryptsetup.py | 25 +-
nova/volume/encryptors/luks.py | 44 +
nova/wsgi.py | 4 +-
nova/wsgi/nova-api.py | 6 +
plugins/xenserver/xenapi/README | 8 -
.../xenapi/etc/xapi.d/plugins/_bittorrent_seeder | 129 -
plugins/xenserver/xenapi/etc/xapi.d/plugins/agent | 266 --
.../xenserver/xenapi/etc/xapi.d/plugins/bandwidth | 53 -
.../xenserver/xenapi/etc/xapi.d/plugins/bittorrent | 327 ---
.../xenapi/etc/xapi.d/plugins/config_file | 34 -
.../xenserver/xenapi/etc/xapi.d/plugins/console | 89 -
plugins/xenserver/xenapi/etc/xapi.d/plugins/glance | 632 ----
plugins/xenserver/xenapi/etc/xapi.d/plugins/ipxe | 140 -
plugins/xenserver/xenapi/etc/xapi.d/plugins/kernel | 143 -
.../xenserver/xenapi/etc/xapi.d/plugins/migration | 84 -
.../xenapi/etc/xapi.d/plugins/nova_plugin_version | 43 -
.../xenapi/etc/xapi.d/plugins/partition_utils.py | 87 -
.../xenapi/etc/xapi.d/plugins/pluginlib_nova.py | 147 -
.../xenserver/xenapi/etc/xapi.d/plugins/utils.py | 519 ----
.../xenapi/etc/xapi.d/plugins/workarounds | 53 -
.../xenserver/xenapi/etc/xapi.d/plugins/xenhost | 626 ----
.../xenapi/etc/xapi.d/plugins/xenstore.py | 218 --
...d-api-config-to-api-group-af20a57a9e3e1b85.yaml | 26 +
...nfig-to-consoleauth-group-aaa4d9ab8db7c78a.yaml | 6 +
...cors-to-versions-pipeline-56277ca66e796569.yaml | 7 +
...figdrive-network-metadata-4e8f06dfd6d6d6d4.yaml | 7 +
...add-ivs-filter-to-compute-093734c1c5348e99.yaml | 5 +
...epage-support-for-aarch64-14279c307e44b147.yaml | 4 +
.../add-osprofiler-support-b04f1e4cfa550440.yaml | 27 +
...d-pci-config-to-pci-group-5648cc0f307f24f8.yaml | 9 +
...config-to-scheduler-group-c83bc770e67ac115.yaml | 35 +
...swap-volume-notifications-bb7e14230fccfd6e.yaml | 9 +
...r-list-filter-sort-params-2ae766d03ba895e5.yaml | 115 +
.../notes/archive-all-db-aadf2ce0394c24fa.yaml | 7 +
...cate-image-meta-proxy-api-7f21e1e6a94944ee.yaml | 9 +
.../bp-ephemeral-disk-ploop-a9b3af1f36ae42ed.yaml | 3 +
.../bp-flavor-notifications-7b3a56509c3f138d.yaml | 11 +
.../bp-hyperv-storage-qos-d559634e5df0f1d4.yaml | 17 +
.../bp-hyperv-use-os-brick-bf576a5bc97f0ea2.yaml | 11 +
.../bp-inject-nmi-ironic-be5405065b6dd890.yaml | 5 +
.../bp-soft-reboot-poweroff-203e0f33e3b8042e.yaml | 6 +
.../bp-soft-reboot-poweroff-6215d216a6aedafa.yaml | 5 +
...o-instance-admin-password-8278cad73f3be98d.yaml | 4 +
.../bp-xenapi-vif-hotplug-2a2b913c49123fe0.yaml | 4 +
.../notes/bug-1604116-87a823c3c165d057.yaml | 7 +
.../notes/bug-1633518-0646722faac1a4b9.yaml | 7 +
.../notes/bug-1636157-2148ea3675969a5d.yaml | 10 +
.../notes/bug-1661258-ee202843157f6a27.yaml | 9 +
.../notes/bug-1662699-06203e7262e02aa6.yaml | 10 +
.../notes/bug-hyperv-1629040-e1eb35a7b31d9af8.yaml | 5 +
...ll-id-db-sync-nova-manage-8504b54dd115a2e9.yaml | 5 +-
...-single-migration-command-0e98d66e31e02a50.yaml | 7 +-
...deprecate-compute-options-011c9a454182a8bf.yaml | 7 +
...recate-console_driver-opt-26475263aad3b655.yaml | 9 +
...igration-progress-timeout-b4640047dc5c8eed.yaml | 16 +
...precate-nova-network-opts-b6da6af4497ef4ca.yaml | 41 +
...precate-remap_vbd_dev-opt-c1690c5b447f0053.yaml | 5 +
.../deprecate-topic-opts-68b1a752dba1eb24.yaml | 13 +
...cate-vmware-wsdl-location-97af576f53fef771.yaml | 7 +
...nserver-vif-driver-option-12eb279c0c93c157.yaml | 13 +
...recate_live_migration_uri-8ae6656664db5ba0.yaml | 13 +
...xenapi_torrent_downloader-ebcbb3d5f929d893.yaml | 16 +
...fault-cell0-db-connection-f9717053cc34778e.yaml | 10 +
...rtual-device-role-tagging-7cfdb14f2ba4fbcf.yaml | 10 +
...flavor_hw_watchdog_action-512d79155c91cb84.yaml | 6 +
.../notes/hyper-v-ovs-vif-348fca68db4918fe.yaml | 10 +
.../hyper-v-pci-passthrough-babf104d6bc2baa6.yaml | 27 +
.../hyper-v-set-boot-order-1e76b08ca6783add.yaml | 8 +
.../hyper-v-vnuma-support-ffedfaadac91bbac.yaml | 15 +
.../hyperv-uefi-secure-boot-a2a617ac2c313afd.yaml | 20 +
...yption-provider-constants-a7cd0ce58da2bae8.yaml | 14 +
...ic-serial-console-support-82632bd4db6d1fda.yaml | 9 +
...itch-to-vif-attach-detach-cc8583c604510f95.yaml | 6 +
...rt-script-with-empty-path-2b49caa68b05278d.yaml | 27 +
.../notes/live-migration-vz-3236af37a522e411.yaml | 4 +
.../notes/minimum_vc_version-0695a79dc1df3caa.yaml | 7 +
...sole-opt-to-console-group-de693ac26bc9b090.yaml | 5 +
...ts-to-notifications-group-7dc9e76673472b8b.yaml | 11 +
...tion-transformation-ocata-ec42281e9df6019c.yaml | 23 +
...-network-only-for-cellsv1-dfb72fb1d3339bb3.yaml | 6 +
...nova-status-upgrade-check-8190e6061680ff1f.yaml | 12 +
...-bug-1635008-rbd-vol-auth-83277b02ea87e16e.yaml | 11 +
.../ocata-cellsv2-support-4b3b5e70e76bc756.yaml | 17 +
...ta-drop-cinder-v1-support-e383bc3623dbdb21.yaml | 3 +
.../ocata-requires-cellv2-96bd243be874d77f.yaml | 12 +
...ta-use-neutron-by-default-7a836e65e1c3ccaf.yaml | 9 +
.../notes/ocata_prelude-cfa8793d07f963e7.yaml | 41 +
.../pagination-for-usage-a313397f9a7e9a70.yaml | 17 +
...h-whitelist-regex-support-5004c5db4fbe09c8.yaml | 5 +
...pi-endpoint-interface-set-29af8b9400ce7775.yaml | 9 +
.../placement-api-member-of-d8a08d0d0c5700d7.yaml | 14 +
...er-providers-by-resources-0ab51c9766fe654f.yaml | 19 +
...t-custom-resource-classes-a3f2175772983b0a.yaml | 10 +
.../policy-discover-cli-a14a115cacbdc9c6.yaml | 2 +-
.../notes/quota-config-group-8028127074d43c48.yaml | 26 +
...remove-deprecated-cmd-all-c91c8fc2f3a56a97.yaml | 5 +
...eprecated-compute-options-dbf2be75d6bdbcc8.yaml | 6 +
...-deprecated-glance-v1-opt-976e680457f8b2c7.yaml | 5 +
.../notes/remove-image-s3-ae6164a0d524602f.yaml | 3 +
...ntegration-bridge-default-0b838f0816829b68.yaml | 9 +
...on_config_location-option-c669e8c9867ce0fb.yaml | 5 +
...ated_barbican_config_opts-7eb4e801d0ac252f.yaml | 10 +
...ted_cells_driver_conf_opt-dbb80137b3632500.yaml | 6 +
...cated_cert_topic_conf_opt-6402aeca8629da95.yaml | 4 +
...ecated_exception_conf_opt-94bfea599c2ebf5c.yaml | 5 +
...eprecated_ironic_conf_opt-0bff87f16412d4b8.yaml | 11 +
...ce_manager_config_options-2e1eaae92ea82d84.yaml | 15 +
...pci-parent_addr-migration-f7dfa2b441cf30e8.yaml | 7 +
...ders_scheduler_db_filters-16b2ed3da00c51dd.yaml | 18 +
...-attribute-for-aggregates-70d9f733f86fb1a3.yaml | 5 +
.../rm-conductor-local-apis-f121afaee99f6fa4.yaml | 9 +
...on-snapshot_name_template-1d8b1ee431d30e4d.yaml | 6 +
...available_monitors-option-c8d0b81304452786.yaml | 6 +
...nova-manage-cmds-ocata-b3-813d3bcecfb939e2.yaml | 9 +
...ed-nova-manage-cmds-ocata-bada0a4dbbc50eb6.yaml | 6 +
...sched-host-mgr-class-load-2a86749a38f0688d.yaml | 4 +-
...d_remove_classpath_import-5d0f48eb388e6948.yaml | 6 +
...eduler-can-discover-hosts-4b799cbd14dbc7dc.yaml | 13 +
...on_live-migration_failure-d1f6f29ceafdd598.yaml | 9 +
...through-neutron-port-vlan-7d19df7ac6e2730a.yaml | 13 +
...pported-virtuozzo-version-569db9259a7ee579.yaml | 5 +
...idate-expired-user-tokens-57a265cb4ee4ba6f.yaml | 14 +
...a-reboot-cache-boot-roles-6051fabcd4981928.yaml | 8 +
...rdata-reboot-hard-failure-42beeb1044680a50.yaml | 7 +
...vendordata-service-tokens-876505167395a56d.yaml | 14 +
...verbose-online-migrations-bd6f57e43328d554.yaml | 6 +
.../vif-vrouter-multiqueue-077785e1a2d242a0.yaml | 7 +
.../virtuozzo_vif_types-6e50217b295a1589.yaml | 5 +
...nserver-plugin-extensions-57e01c9473073d0a.yaml | 6 +
releasenotes/source/conf.py | 7 +-
releasenotes/source/index.rst | 9 +-
releasenotes/source/newton.rst | 7 +
requirements.txt | 48 +-
setup.cfg | 6 +-
test-requirements.txt | 28 +-
tools/hooks/post_test_hook.sh | 1 +
tools/pretty_tox3.sh | 8 +-
tools/releasenotes_tox.sh | 2 +-
tools/test-setup.sh | 54 +
tools/xenserver/destroy_cached_images.py | 14 +-
tools/xenserver/stress_test.py | 12 +
tox.ini | 56 +-
1151 files changed, 47065 insertions(+), 29127 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index a728c7e..3183f7a 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5 +5 @@
-pbr>=1.6 # Apache-2.0
+pbr>=1.8 # Apache-2.0
@@ -7 +6,0 @@ SQLAlchemy<1.1.0,>=1.0.10 # MIT
-boto>=2.32.1 # MIT
@@ -10,3 +9,3 @@ eventlet!=0.18.3,>=0.18.2 # MIT
-Jinja2>=2.8 # BSD License (3 clause)
-keystonemiddleware!=4.1.0,!=4.5.0,>=4.0.0 # Apache-2.0
-lxml>=2.3 # BSD
+Jinja2!=2.9.0,!=2.9.1,!=2.9.2,!=2.9.3,!=2.9.4,>=2.8 # BSD License (3 clause)
+keystonemiddleware>=4.12.0 # Apache-2.0
+lxml!=3.7.0,>=2.3 # BSD
@@ -16 +15 @@ cryptography!=1.3.0,>=1.0 # BSD/Apache-2.0
-WebOb>=1.2.3 # MIT
+WebOb>=1.6.0 # MIT
@@ -20 +19 @@ Paste # MIT
-PrettyTable<0.8,>=0.7 # BSD
+PrettyTable<0.8,>=0.7.1 # BSD
@@ -25,0 +25 @@ Babel>=2.3.4 # BSD
+enum34;python_version=='2.7' or python_version=='2.6' or python_version=='3.3' # BSD
@@ -29 +29 @@ python-cinderclient!=1.7.0,!=1.7.1,>=1.6.0 # Apache-2.0
-keystoneauth1>=2.10.0 # Apache-2.0
+keystoneauth1>=2.18.0 # Apache-2.0
@@ -31,2 +31,2 @@ python-neutronclient>=5.1.0 # Apache-2.0
-python-glanceclient!=2.4.0,>=2.3.0 # Apache-2.0
-requests>=2.10.0 # Apache-2.0
+python-glanceclient>=2.5.0 # Apache-2.0
+requests!=2.12.2,>=2.10.0 # Apache-2.0
@@ -34 +34 @@ six>=1.9.0 # MIT
-stevedore>=1.16.0 # Apache-2.0
+stevedore>=1.17.1 # Apache-2.0
@@ -39 +39 @@ oslo.concurrency>=3.8.0 # Apache-2.0
-oslo.config>=3.14.0 # Apache-2.0
+oslo.config!=3.18.0,>=3.14.0 # Apache-2.0
@@ -41 +41 @@ oslo.context>=2.9.0 # Apache-2.0
-oslo.log>=1.14.0 # Apache-2.0
+oslo.log>=3.11.0 # Apache-2.0
@@ -44,2 +44,2 @@ oslo.serialization>=1.10.0 # Apache-2.0
-oslo.utils>=3.16.0 # Apache-2.0
-oslo.db!=4.13.1,!=4.13.2,>=4.10.0 # Apache-2.0
+oslo.utils>=3.18.0 # Apache-2.0
+oslo.db>=4.15.0 # Apache-2.0
@@ -47,2 +47,2 @@ oslo.rootwrap>=5.0.0 # Apache-2.0
-oslo.messaging>=5.2.0 # Apache-2.0
-oslo.policy>=1.9.0 # Apache-2.0
+oslo.messaging>=5.14.0 # Apache-2.0
+oslo.policy>=1.17.0 # Apache-2.0
@@ -52 +52 @@ oslo.service>=1.10.0 # Apache-2.0
-rfc3986>=0.2.2 # Apache-2.0
+rfc3986>=0.3.1 # Apache-2.0
@@ -54,5 +54,5 @@ oslo.middleware>=3.0.0 # Apache-2.0
-psutil<2.0.0,>=1.1.1 # BSD
-oslo.versionedobjects>=1.13.0 # Apache-2.0
-os-brick>=1.6.1 # Apache-2.0
-os-vif>=1.1.0 # Apache-2.0
-os-win>=0.2.3 # Apache-2.0
+psutil>=3.0.1 # BSD
+oslo.versionedobjects>=1.17.0 # Apache-2.0
+os-brick>=1.8.0 # Apache-2.0
+os-vif>=1.4.0 # Apache-2.0
+os-win>=1.4.0 # Apache-2.0
@@ -61 +61 @@ microversion-parse>=0.1.2 # Apache-2.0
-wsgi_intercept>=0.6.1 # MIT License
+os-xenapi>=0.1.1 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 249bca6..0af1013 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -6 +6,2 @@ hacking<0.11,>=0.10.0
-coverage>=3.6 # Apache-2.0
+coverage>=4.0 # Apache-2.0
+ddt>=1.0.1 # MIT
@@ -9 +10 @@ mock>=2.0 # BSD
-mox3>=0.7.0 # Apache-2.0
+mox3!=0.19.0,>=0.7.0 # Apache-2.0
@@ -11 +12 @@ psycopg2>=2.5 # LGPL/ZPL
-PyMySQL!=0.7.7,>=0.6.2 # MIT License
+PyMySQL>=0.7.6 # MIT License
@@ -13 +14 @@ python-barbicanclient>=4.0.0 # Apache-2.0
-python-ironicclient>=1.6.0 # Apache-2.0
+python-ironicclient>=1.11.0 # Apache-2.0
@@ -15,2 +16,2 @@ python-subunit>=0.0.18 # Apache-2.0/BSD
-requests-mock>=1.0 # Apache-2.0
-sphinx!=1.3b1,<1.3,>=1.2.1 # BSD
+requests-mock>=1.1 # Apache-2.0
+sphinx!=1.3b1,<1.4,>=1.2.1 # BSD
@@ -18 +19 @@ os-api-ref>=1.0.0 # Apache-2.0
-oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0
+oslosphinx>=4.7.0 # Apache-2.0
@@ -20 +21,2 @@ oslotest>=1.10.0 # Apache-2.0
-os-testr>=0.7.0 # Apache-2.0
+os-testr>=0.8.0 # Apache-2.0
+osprofiler>=1.4.0 # Apache-2.0
@@ -22,0 +25 @@ testresources>=0.2.4 # Apache-2.0/BSD
+testscenarios>=0.4 # Apache-2.0/BSD
@@ -27 +30 @@ openstackdocstheme>=1.5.0 # Apache-2.0
-gabbi>=1.24.0 # Apache-2.0
+gabbi>=1.26.1 # Apache-2.0
@@ -30 +33 @@ gabbi>=1.24.0 # Apache-2.0
-oslo.vmware>=2.11.0 # Apache-2.0
+oslo.vmware>=2.17.0 # Apache-2.0
@@ -33 +36,4 @@ oslo.vmware>=2.11.0 # Apache-2.0
-reno>=1.8.0 # Apache2
+reno>=1.8.0 # Apache-2.0
+
+# placement functional tests
+wsgi-intercept>=1.4.1 # MIT License
1
0
We are gleeful to announce the release of:
mistral 4.0.0: Mistral Project
This release is part of the ocata release series.
Download the package from:
https://pypi.python.org/pypi/mistral
For more details, please see below.
4.0.0
^^^^^
New Features
************
* New function, called tasks, available from within an expression
(Yaql, Jinja2). This function allows to filter all tasks of a user
by workflow execution id and/or state. In addition it is possible to
get tasks recursively and flatten the tasks list.
* It is now possible to use the Bare metal (Ironic) API features
introduced in API version 1.10 to 1.22.
* Aodh actions are now supported.
* Gnocchi actions are now supported.
* Senlin actions are now supported.
Upgrade Notes
*************
* Required Ironic API version was bumped to '1.22' (corresponding to
Ironic 6.2.0 - Newton final release).
* Due to the default Ironic API version change to '1.22', new bare
metal nodes created with 'node_create' action appears in "enroll"
provision state instead of "available". Please update your workflows
accordingly.
Critical Issues
***************
* Due to bug https://bugs.launchpad.net/mistral/+bug/1631140,
Mistral was not considering retry with value 1. After this bug is
fixed, Mistral now considers count value 1 as a value for retry.
* Mistral does not consider the initial task run as a retry but only
considers the retry value after the failure of initial task
execution.
Bug Fixes
*********
* [bug 1633345 (https://bugs.launchpad.net/mistral/+bug/1633345)
User now could define the target region for the openstack actions.
It could be done via API in X-Region-Name and X-Target-Region-Name
in case of multi-vim feature is used.
Changes in mistral 3.0.0.0rc1..4.0.0
------------------------------------
b8927d8 Fix for coverage job showing 0% coverage for kombu
8749353 Refactor RPC serialization: add polymophic serializer
f3dff12 Add Keycloak authentication doc for client side
1e15010 Add details into docs about semantics of 'on-XXX' clauses.
5a3dae3 Add Keycloak authentication doc for server side
bb3a4fb Add reno for tasks function
c333576 Remove '__task_execution' from task outbound context
e86619c Fix for failing services on py3 with kombu driver
6d014c7 Remove support for py34
2abe892 Remove wrong licensing
de2bd4a Refactor RPC serialization: remove JsonPayloadSerializer class
02c9475 Update reno for stable/ocata
3332fe7 Enforce style check for xrange()
9f5214b Fix doc build if git is absent
443d7aa Prepare for using standard python tests
b26f2fd Update UPPER_CONSTRAINTS_FILE for stable/ocata
bf1c363 Update .gitreview for stable/ocata
672f466 Fix for failing gates
1562d15 Fix for failing services on py3 with kombu driver
bc18ecb Fix try import of openstack client modules
f16f4a3 Remove some profiler traces, logs, use utils.cut() where needed
4b6cca4 Remove unnecessary evaluation of outbound context
a3c07e0 Optimizing utils.cut() for big dictionaries and lists
47efc0f Updated from global requirements
0ee5433 Add support for Rabbit HA
5341fb2 Refactor rpc configuration loading
ab2919e Updated from global requirements
5267e1e Invalid jinja pattern regex corrected
e36d7f8 Add script for unit test coverage job
101ff40 Updated from global requirements
74f4778 In Python 3.7 "async" and "await" will become reserved keywords
b8d94ee Allow hyphens in Workflow and ad-hoc action names
5e41fc7 External OpenStack action mapping file support added
9d462e9 Make 'task' function work w/o a task name
fb384c9 using utcnow instead of now in expiration policy
8aedd49 Enforce style check for assertIsNone
0653e40 Add action "std.test_dict"
f190b5e Register Javascript action additionally as 'js' action
002ba71 Role based resource access control - update workflows
76f20ee Remove insecure flag from the Baremetal Introspection client
9f8a7c8 Updated from global requirements
498e69c Make kombu driver work in multi-thread manner
2b45567 Fix unit test that rely on order of return from DB
f78b0a6 Use utcnow() instead of now()
50b1228 Stop excpecting to have rabbit flags set when using fake driver
9b66d05 Updated from global requirements
600dd47 Insecure flag added to openstack context
51279dd Initial commit for mistral api-ref
285beb6 Removed unnecessary utf-8 encoding
08f186a Python3 common patterns
7b96269 Updated from global requirements
0c8fce2 Fix unit test that rely on order of return from DB
a4b8355 Fix for failing kombu dsvm gate
0cb0532 Move mock requirement to test-requirements.txt
d597dab Using sys.exit(main()) instead of main()
8629a58 Use i18n for help text
6d9b53e Added gnocchi action pack
4a86e96 Add 'retry_on_deadlock' decorator
2d13eab Fix two failing test cases in test_tasks
815c4a7 Add the "has" DB filter
0d4adc4 Use assertGreater() or assertLess()
bff0a36 Fix version response from root controller
de38c41 Adding releasenotes for aodh action support
96dc308 Updated from global requirements
9cf365f Refactor 'stress_test' to fit the current layout better
75f8894 Add rally tests for 'join': 100 and 500 parallel tasks
4aa186c Add a test for 'with-items' task: count=100, concurrency=10
4476873 Add aodh actions to mistral
a962ef4 Disable invalid API test till it's fixed
462cbf1 Copy _50_mistral.py file from enabled folder
581f6a1 Fix doc for missing dashboard config file
965db53 Role based resource access control - get workflows
4cea9bd Make body of std.email optional
62862ca Refresh object state after lock acquisition in WithItemsTask
aeb3ac5 Small adjustments in WithItemsTask
7ec56f5 Fix 'with-items' task completion condition
221bd0b Apply locking to control 'with-items' concurrency
2cacd26 Slightly improve 'with-items' tests
bfe9122 Get rid of with_items.py module in favor of WithItemsTask class
73ee6ce Refactor and improve 'with-items' algorithms
f90c2c9 Fix docs in README.rst
83e2431 Fix configuration generator
4293e40 Fix version response from root controller
8a51b6b Exclude .tox folder from coverage report
b22de94 Updated from global requirements
c019c09 Add more tests to mistral rally
3b1ed4e Replace six.iteritems() with .items()
8a52e9e Display all the possible server values.
a95a7cd Correct missspellings of secret
8f7153f Minor changes in the document
52c20c4 Added test cases for a few possible scenarios
85be004 change the cron-trigger execution time from localtime to UTC
d7fcd4e Use the with keyword dealing with file objects
de1db60 Modify the link in 'README.rst'
7a8beba Modify the function "_get_spec_version(spec_dict)"
24405a4 Update the wording in the actions terminology docs
74bca2d Remove commented-out Apache 2 classifier from setup.cfg
f6e4e23 Updated from global requirements
a5be14f Fix for failing kombu gate
8fc65d7 modify something in 'dsl_v2.rst'
769c3fe Fix two errors in YAML example and a error in action doc
5fd47d5 Handling MistralException in default executor
9c20b15 Fix a syntax error in yaml example
2059691 std.email action requires a smtp_password
33e8889 Change version '1.0' to '2.0'
ea062f0 Add descriptions for on_task_state_change parameters.
b922fe2 Updated from global requirements
fd5db96 Added releasenote for retry policy update
8425154 Cleanup obvious issues in 'with-items' tests
ff01014 Updated from global requirements
ba67b3a Allow "version" to be within workflow names in workbooks
d11405d Updated from global requirements
eb6c051 Yaql Tasks Function
57e4614 Bump Ironic API version to 1.22 when creating the Ironic client
26f5658 Small changes to docs to comply with openstack document style
a5d284a Fix launch process of Mistral components
a80e09a Modify import style in code
eb812f3 Some spelling errors
bdece6e Initial commit for mistral-i18n support
a24941a Add timestamp at the bottom of every page
ab5fe56 Show team and repo badges on README
eaf5058 Make CI gate for unit tests on mysql work
50cb85b Fix the default configuration file path
c19513c Updated from global requirements
2f89396 Mock the HTTP action in the with_items tests
196ee5a Fix devstack plugin compatibility
2842415 Updated the retries_remain statement
f26c150 Updated from global requirements
28e633f Add Ironic RAID actions
4e2e46a Revert "Remove unused scripts in tools"
9ddc32e Add a test for invalid task input expression
da7798b Fix config import in javascript action module
764f529 Make Jinja evaluator catch and wrap all underlying exceptions
1ae3359 Make YAQL evaluator catch and wrap all underlying exceptions
f7eb3e7 Replace 'assertFalse(a in b)' with 'assertNotIn(a, b)'
6094642 Updated from global requirements
c8cb137 Replace retrying with tenacity
ab2c23a Add cancelled state to action executions
1374566 Updated from global requirements
ae06418 Fix possible DB race conditions in REST controller
d66f271 Remove unused pylintrc
1312852 Added releasenote for Senlin Action Pack
db289f2 Migrated to the new oslo.db enginefacade
84f3c1f Added senlin action pack
d914e28 Few changes in the doc
f7501a8 Use mock for a bad HTTP call in unit tests
912056d Few changes related to the doc blueprint
c707790 Fix REST API dangling transactions
f1071f5 Fix error message format in action handler
88047af Fix error message format in other task handler methods
4f07468 Migrate mistral task_type
07039d3 Fix error message format for task run and continue
28d1675 Fix missing exception decorators in REST API
1bf9ca5 Remove unused scripts in tools
e9ba374 Replace uuid4() with generate_uuid() from oslo_utils
b08f1a5 Updated from global requirements
553c2b7 Add type to tasks API
603cd48 Handle region_name in openstack actions
c89c635 Add more tests to mistral rally
e9e7c42 Replace oslo_utils.timeutils.isotime
4e5ca38 Adding Variables to Log Messages
7fd509d Updated from global requirements
3cf9e5e cors: update default configuration
17b892d Added unit tests for workflow executions and task executions filtering
90460cb Fix DB API transaction()
6b229d3 Run actions without Scheduer
455e12e Get correct inbound tasks context for retry policy
acce19e Updated from global requirements
854aa45 Adding tests for workbook execution and execution list to Rally
bffb247 Use service catalog from authentication response
88cd04f Updated from global requirements
78514f8 Fix a bug in the algo that determines if a route is possible
6173a03 Enable DeprecationWarning in test environments
b749522 Added additional info in devstack/readme.rst
9ce3a75 Fixing 'join' task completion logic
e6cfe2b Updated from global requirements
2a6f470 Removal of unneccessary directory in run_tests.sh
b766e0d Get service catalog from token info
f9c85bf Add one more test for YAQL error message format
91068b5 Change format of YAQL errors
20c3bcc Updated from global requirements
9dc9d65 Update .coveragerc after the removal of openstack directory
474bf2e Enable code coverage report in console output
fe55c39 Updated from global requirements
195f697 Remove logging import unused
6beae4d Cleanup Newton Release Notes
3f5092d Publish/output in case of task/workflow failure
169d983 Don't include openstack/common in flake8 exclude list
ca3e51b Fix PEP8 issue
422def6 Change task() function to return 'null' if task doesn't exist
fc2f0be Enable release notes translation
8122c6f Updated from global requirements
8bf1da2 Describe vital details for debugging in PyCharm
798c459 Update documentation for multi-vim support
362c229 Add Jinja evaluator
6ca6e78 Minor changes to the documentation
539d15a Minor changes in the installation guides
0ed4f05 Add a way to save action executions that run synchronously
26f7d62 Import haskey from keys module
c707c43 Declare the encoding of file
c07cf48 Changes made to comply with OpenStack writing style
e6134ee Cleanup the Quickstart Documentation
cab2734 Stop adding ServiceAvailable group option
8279976 Updated from global requirements
ce7fcac Update heat actions in mapping.json
559ead4 Updated from global requirements
9ebf329 Accept service catalog from client side
2277b29 Using assertIsNone() instead of assertEqual(None, ...)
c9db0f7 Updated from global requirements
ac486f2 Make deafult executor use async messaging when returning action results
ff4f95f Disable Client Caching
068ab6f Updated from global requirements
bb257de Revert "Update UPPER_CONSTRAINTS_FILE for stable/newton"
bdf49b7 Remove environment data from task inbound context
6d5cd66 Use parenthesis to wrap strings over multiple lines
e0aa5d4 Updated from global requirements
1827e54 Using sys.exit(main()) instead of main()
ea9fece Do not include project name in the client cache key
acaafb4 Updated from global requirements
a7830dc Add tests to check deletion of delayed calls on WF execution delete
2f817e9 Delete all necessary delayed calls on WF stop
26894df Update UPPER_CONSTRAINTS_FILE for stable/newton
cca13bb Fix for timeouting actions on run-action
6252ded Fix a typo in access_control.py
259868e Adding a script for fast mistralclient help generation
03e3ebe Make Javascript implementation configurable
50671ea Add unit test case for deletion of execution in case of (error and cancelled)
a4287a5 Avoid storing workflow input in task inbound context
8ba7de9 Replace assertEqual(None, *) with assertIsNone in tests
2ad512a Updated from global requirements
6b88627 Add __ne__ built-in function
92b9010 Update reno for stable/newton
7d03d18 Remove context.spawn
6e6461f Correct documentation about task attributes 'action' and 'workflow'
b1acf3d Updating mistralclient docs
f9c9ca8 Abstract authentication function
22244e0 Fix for raising excepton from kombu
211456a Fixed task in_bound context when retrying
2085102 Enable changing of rpc driver from devstack
e89f4e7 Take os_actions_endpoint_type into use
Diffstat (except docs and test files)
-------------------------------------
.coveragerc | 4 +-
.gitignore | 5 +-
.gitreview | 1 +
.pylintrc | 49 -
HACKING.rst | 12 +
README.rst | 65 +-
api-ref/source/conf.py | 131 +++
api-ref/source/index.rst | 8 +
api-ref/source/v2/action.inc | 0
api-ref/source/v2/cron-trigger.inc | 0
api-ref/source/v2/execution.inc | 0
api-ref/source/v2/task.inc | 0
api-ref/source/v2/workbook.inc | 0
api-ref/source/v2/workflow.inc | 0
devstack/README.rst | 13 +-
devstack/plugin.sh | 20 +-
etc/policy.json | 1 +
mistral/_i18n.py | 36 +
mistral/actions/base.py | 2 -
mistral/actions/generator_factory.py | 2 +-
mistral/actions/openstack/action_generator/base.py | 17 +-
mistral/actions/openstack/actions.py | 200 +++-
mistral/actions/openstack/base.py | 9 +-
mistral/actions/openstack/mapping.json | 106 ++
mistral/actions/std_actions.py | 31 +-
mistral/api/access_control.py | 4 +-
mistral/api/app.py | 3 +-
mistral/api/controllers/resource.py | 3 +-
mistral/api/controllers/root.py | 32 +-
mistral/api/controllers/v2/action.py | 9 +-
mistral/api/controllers/v2/action_execution.py | 45 +-
mistral/api/controllers/v2/cron_trigger.py | 1 +
mistral/api/controllers/v2/environment.py | 1 +
mistral/api/controllers/v2/event_trigger.py | 13 +-
mistral/api/controllers/v2/execution.py | 75 +-
mistral/api/controllers/v2/member.py | 23 +-
mistral/api/controllers/v2/resources.py | 11 +-
mistral/api/controllers/v2/service.py | 4 +-
mistral/api/controllers/v2/task.py | 36 +-
mistral/api/controllers/v2/workbook.py | 1 +
mistral/api/controllers/v2/workflow.py | 23 +-
mistral/api/hooks/content_type.py | 2 -
mistral/api/service.py | 9 +-
mistral/auth/__init__.py | 50 +
mistral/auth/keycloak.py | 56 ++
mistral/auth/keystone.py | 45 +
mistral/cmd/launch.py | 102 +-
mistral/config.py | 172 ++--
mistral/context.py | 157 ++-
mistral/coordination.py | 209 ----
mistral/db/sqlalchemy/base.py | 7 +-
.../sqlalchemy/migration/alembic_migrations/env.py | 2 -
.../versions/020_add_type_to_task_execution.py | 73 ++
mistral/db/sqlalchemy/migration/cli.py | 3 +-
mistral/db/sqlalchemy/model_base.py | 7 +-
mistral/db/sqlalchemy/types.py | 2 -
mistral/db/utils.py | 74 ++
mistral/db/v2/api.py | 8 +
mistral/db/v2/sqlalchemy/api.py | 229 +++--
mistral/db/v2/sqlalchemy/filters.py | 8 +-
mistral/db/v2/sqlalchemy/models.py | 8 +-
mistral/engine/action_handler.py | 12 +-
mistral/engine/action_queue.py | 82 ++
mistral/engine/actions.py | 44 +-
mistral/engine/base.py | 30 +-
mistral/engine/default_engine.py | 79 +-
mistral/engine/default_executor.py | 38 +-
mistral/engine/dispatcher.py | 2 +-
mistral/engine/engine_server.py | 242 +++++
mistral/engine/executor_server.py | 98 ++
mistral/engine/policies.py | 38 +-
mistral/engine/rpc_backend/base.py | 27 +-
mistral/engine/rpc_backend/kombu/base.py | 45 +-
.../engine/rpc_backend/kombu/examples/client.py | 4 +-
.../engine/rpc_backend/kombu/examples/server.py | 4 +-
mistral/engine/rpc_backend/kombu/kombu_client.py | 200 ++--
mistral/engine/rpc_backend/kombu/kombu_hosts.py | 58 ++
mistral/engine/rpc_backend/kombu/kombu_listener.py | 109 +++
mistral/engine/rpc_backend/kombu/kombu_server.py | 205 ++--
mistral/engine/rpc_backend/oslo/oslo_client.py | 5 +-
mistral/engine/rpc_backend/oslo/oslo_server.py | 27 +-
mistral/engine/rpc_backend/rpc.py | 296 +-----
mistral/engine/task_handler.py | 72 +-
mistral/engine/tasks.py | 377 ++++++--
mistral/engine/utils.py | 3 +-
mistral/engine/workflow_handler.py | 16 +-
mistral/engine/workflows.py | 92 +-
mistral/event_engine/__init__.py | 0
mistral/event_engine/event_engine.py | 377 ++++++++
mistral/event_engine/event_engine_server.py | 91 ++
mistral/exceptions.py | 27 +-
mistral/expressions.py | 210 ----
mistral/expressions/__init__.py | 103 ++
mistral/expressions/base_expression.py | 55 ++
mistral/expressions/jinja_expression.py | 152 +++
mistral/expressions/yaql_expression.py | 126 +++
mistral/hacking/checks.py | 24 +
mistral/serialization.py | 192 ++++
mistral/service/__init__.py | 0
mistral/service/base.py | 63 ++
mistral/service/coordination.py | 209 ++++
mistral/services/event_engine.py | 377 --------
mistral/services/expiration_policy.py | 8 +-
mistral/services/periodic.py | 2 -
mistral/services/scheduler.py | 30 +-
mistral/services/security.py | 2 -
mistral/services/triggers.py | 63 +-
mistral/services/workbooks.py | 2 -
mistral/services/workflows.py | 1 +
.../workbook/v2/workbook_schema_test.yaml | 52 +
.../actions/openstack/test_openstack_actions.py | 58 +-
.../unit/engine/rpc_backend/kombu/fake_kombu.py | 4 +
.../engine/rpc_backend/kombu/test_kombu_client.py | 154 +--
.../rpc_backend/kombu/test_kombu_listener.py | 222 +++++
.../engine/rpc_backend/kombu/test_kombu_server.py | 69 +-
.../unit/engine/test_direct_workflow_rerun.py | 277 ++++--
.../engine/test_direct_workflow_rerun_cancelled.py | 662 +++++++++++++
.../test_execution_fields_size_limitation.py | 12 +-
.../unit/engine/test_reverse_workflow_rerun.py | 133 ++-
.../test_reverse_workflow_rerun_cancelled.py | 196 ++++
.../unit/expressions/test_jinja_expression.py | 430 +++++++++
mistral/utils/__init__.py | 129 ++-
mistral/utils/expression_utils.py | 263 +++++
mistral/utils/filter_utils.py | 9 +-
mistral/utils/javascript.py | 23 +-
mistral/utils/openstack/keystone.py | 104 +-
mistral/utils/profiler.py | 3 +-
mistral/utils/rest_utils.py | 64 +-
mistral/utils/rpc_utils.py | 89 +-
mistral/utils/serializers.py | 41 -
mistral/utils/ssh_utils.py | 2 -
mistral/utils/yaql_utils.py | 132 ---
mistral/version.py | 2 -
mistral/workbook/base.py | 19 +-
mistral/workbook/parser.py | 11 +-
mistral/workbook/types.py | 37 +-
mistral/workbook/v2/actions.py | 6 +-
mistral/workbook/v2/policies.py | 20 +-
mistral/workbook/v2/retry_policy.py | 16 +-
mistral/workbook/v2/task_defaults.py | 4 +-
mistral/workbook/v2/tasks.py | 43 +-
mistral/workbook/v2/workbook.py | 17 +-
mistral/workbook/v2/workflows.py | 13 +-
mistral/workflow/base.py | 16 +-
mistral/workflow/data_flow.py | 158 ++-
mistral/workflow/direct_workflow.py | 48 +-
mistral/workflow/lookup_utils.py | 6 +-
mistral/workflow/reverse_workflow.py | 5 +-
mistral/workflow/states.py | 6 +-
mistral/workflow/utils.py | 26 +-
mistral/workflow/with_items.py | 194 ----
.../actions/v2/test_multi_vim_authentication.py | 125 ++-
.../scenario/engine/actions/v2/test_ssh_actions.py | 2 +-
rally-jobs/extra/nested_wb.yaml | 73 ++
.../scenarios/complex_wf/complex_wf_params.json | 12 +
.../extra/scenarios/complex_wf/complex_wf_wb.yaml | 895 +++++++++++++++++
rally-jobs/extra/scenarios/join/join_100_wb.yaml | 212 ++++
rally-jobs/extra/scenarios/join/join_500_wb.yaml | 1012 ++++++++++++++++++++
.../with_items/count_100_concurrency_10.json | 4 +
rally-jobs/extra/scenarios/with_items/wb.yaml | 16 +
rally-jobs/task-mistral.yaml | 116 +++
...vailable-in-an-expression-17ca83d797ffb3ab.yaml | 8 +
.../notes/ironic-api-newton-9397da8135bb97b4.yaml | 10 +
.../mistral-aodh-actions-e4c2b7598d2e39ef.yaml | 3 +
.../mistral-gnocchi-actions-f26fd76b8a4df40e.yaml | 3 +
.../mistral-senlin-actions-f3fe359c4e91de01.yaml | 3 +
.../region-name-support-9e4b4ccd963ace88.yaml | 8 +
.../update-retry-policy-fb5e73ce717ed066.yaml | 8 +
releasenotes/source/conf.py | 5 +-
releasenotes/source/index.rst | 2 +
releasenotes/source/newton.rst | 7 +
releasenotes/source/ocata.rst | 6 +
requirements.txt | 50 +-
setup.cfg | 30 +-
test-requirements.txt | 14 +-
tools/cover.sh | 66 ++
tools/generate_mistralclient_help.sh | 42 +
tools/get_action_list.py | 18 +
tools/install_venv.py | 2 +-
tools/sync_db.py | 4 +-
tools/test-setup.sh | 54 ++
tox.ini | 30 +-
299 files changed, 16107 insertions(+), 5709 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 3a9683e..088b372 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5 +5,2 @@
-alembic>=0.8.4 # MIT
+alembic>=0.8.10 # MIT
+aodhclient>=0.7.0 # Apache-2.0
@@ -9,0 +11,2 @@ eventlet!=0.18.3,>=0.18.2 # MIT
+gnocchiclient>=2.7.0 # Apache-2.0
+Jinja2!=2.9.0,!=2.9.1,!=2.9.2,!=2.9.3,!=2.9.4,>=2.8 # BSD License (3 clause)
@@ -11,2 +14 @@ jsonschema!=2.5.0,<3.0.0,>=2.0.0 # MIT
-keystonemiddleware!=4.1.0,!=4.5.0,>=4.0.0 # Apache-2.0
-mock>=2.0 # BSD
+keystonemiddleware>=4.12.0 # Apache-2.0
@@ -15,3 +17,4 @@ oslo.concurrency>=3.8.0 # Apache-2.0
-oslo.config>=3.14.0 # Apache-2.0
-oslo.db!=4.13.1,!=4.13.2,>=4.10.0 # Apache-2.0
-oslo.messaging>=5.2.0 # Apache-2.0
+oslo.config!=3.18.0,>=3.14.0 # Apache-2.0
+oslo.db>=4.15.0 # Apache-2.0
+oslo.i18n>=2.1.0 # Apache-2.0
+oslo.messaging>=5.14.0 # Apache-2.0
@@ -19,3 +22,3 @@ oslo.middleware>=3.0.0 # Apache-2.0
-oslo.policy>=1.9.0 # Apache-2.0
-oslo.utils>=3.16.0 # Apache-2.0
-oslo.log>=1.14.0 # Apache-2.0
+oslo.policy>=1.17.0 # Apache-2.0
+oslo.utils>=3.18.0 # Apache-2.0
+oslo.log>=3.11.0 # Apache-2.0
@@ -26,2 +29,2 @@ paramiko>=2.0 # LGPLv2.1+
-pbr>=1.6 # Apache-2.0
-pecan!=1.0.2,!=1.0.3,!=1.0.4,>=1.0.0 # BSD
+pbr>=1.8 # Apache-2.0
+pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.0.0 # BSD
@@ -32,3 +35,3 @@ python-designateclient>=1.5.0 # Apache-2.0
-python-glanceclient!=2.4.0,>=2.3.0 # Apache-2.0
-python-heatclient>=1.4.0 # Apache-2.0
-python-keystoneclient!=2.1.0,>=2.0.0 # Apache-2.0
+python-glanceclient>=2.5.0 # Apache-2.0
+python-heatclient>=1.6.1 # Apache-2.0
+python-keystoneclient>=3.8.0 # Apache-2.0
@@ -39,3 +42,4 @@ python-neutronclient>=5.1.0 # Apache-2.0
-python-novaclient!=2.33.0,>=2.29.0 # Apache-2.0
-python-swiftclient>=2.2.0 # Apache-2.0
-python-tackerclient>=0.6.0 # Apache-2.0
+python-novaclient!=7.0.0,>=6.0.0 # Apache-2.0
+python-senlinclient>=1.1.0 # Apache-2.0
+python-swiftclient>=3.2.0 # Apache-2.0
+python-tackerclient>=0.8.0 # Apache-2.0
@@ -43 +47 @@ python-troveclient>=2.2.0 # Apache-2.0
-python-ironicclient>=1.6.0 # Apache-2.0
+python-ironicclient>=1.11.0 # Apache-2.0
@@ -46,3 +50,3 @@ python-zaqarclient>=1.0.0 # Apache-2.0
-PyYAML>=3.1.0 # MIT
-requests>=2.10.0 # Apache-2.0
-retrying!=1.3.0,>=1.2.3 # Apache-2.0
+PyYAML>=3.10.0 # MIT
+requests!=2.12.2,>=2.10.0 # Apache-2.0
+tenacity>=3.2.1 # Apache-2.0
@@ -52 +56 @@ SQLAlchemy<1.1.0,>=1.0.10 # MIT
-stevedore>=1.16.0 # Apache-2.0
+stevedore>=1.17.1 # Apache-2.0
@@ -55 +59 @@ yaql>=1.1.0 # Apache 2.0 License
-tooz>=1.28.0 # Apache-2.0
+tooz>=1.47.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 0671158..e1d8dfe 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -4 +4 @@
-coverage>=3.6 # Apache-2.0
+coverage>=4.0 # Apache-2.0
@@ -8 +8 @@ nose # LGPL
-oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0
+oslosphinx>=4.7.0 # Apache-2.0
@@ -9,0 +10 @@ oslotest>=1.10.0 # Apache-2.0
+os-api-ref>=1.0.0 # Apache-2.0
@@ -11,3 +12,3 @@ pyflakes==0.8.1 # MIT
-pylint==1.4.5 # GPLv2
-requests-mock>=1.0 # Apache-2.0
-sphinx!=1.3b1,<1.3,>=1.2.1 # BSD
+mock>=2.0 # BSD
+requests-mock>=1.1 # Apache-2.0
+sphinx!=1.3b1,<1.4,>=1.2.1 # BSD
@@ -15,0 +17 @@ sphinxcontrib-pecanwsme>=0.8 # Apache-2.0
+openstackdocstheme>=1.5.0 # Apache-2.0
@@ -19 +21 @@ unittest2 # BSD
-reno>=1.8.0 # Apache2
+reno>=1.8.0 # Apache-2.0
1
0
We are gleeful to announce the release of:
searchlight-ui 2.0.0: Horizon panels and libraries for Searchlight
This release is part of the ocata release series.
The source is available from:
http://git.openstack.org/cgit/openstack/searchlight-ui
Download the package from:
https://tarballs.openstack.org/searchlight-ui/
Please report issues through launchpad:
http://bugs.launchpad.net/searchlight
For more details, please see below.
Changes in searchlight-ui 1.0.0.0rc1..2.0.0
-------------------------------------------
ffb7e7c Imported Translations from Zanata
a956790 Imported Translations from Zanata
21d4c15 Update .gitreview for stable/ocata
a4bf436 Add ironic resource types
457eaf4 Replace 'filtered' queries with 'bool'
2920a48 Imported Translations from Zanata
1a6c85a Imported Translations from Zanata
2398bc2 Add horizon tox based instructions
5765c2b Update horizon version compatibility matrix
a3b3702 Imported Translations from Zanata
686ffdd UI-Bootstrap services use $uib prefix
b49a723 Use urlparse.urljoin to join searchlight url
6f2a2d3 Show team and repo badges on README
2d57b93 Imported Translations from Zanata
b170730 Modify development doc url in CONTRIBUTING.rst
6e7617b Clean imports in code
e69ab1a Imported Translations from Zanata
b2a240d Imported Translations from Zanata
2fbce89 Make manage.py executable
c8f05aa Enable release notes translation
0704a1a Honor 'nested' in facets
55d3b51 Add 'More Actions...' Actions
8a3a60b Update homepage with developer documentation page
5fdd379 Do not display Visibility column when All Projects option shown
574c8e0 Update reno for stable/newton
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 1 +
CONTRIBUTING.rst | 2 +-
README.rst | 32 +-
manage.py | 0
releasenotes/source/conf.py | 3 +
releasenotes/source/index.rst | 1 +
releasenotes/source/newton.rst | 6 +
searchlight_ui/api/rest/searchlight.py | 7 +-
searchlight_ui/locale/ca/LC_MESSAGES/django.po | 18 +
searchlight_ui/locale/cs/LC_MESSAGES/django.po | 18 +
searchlight_ui/locale/cs/LC_MESSAGES/djangojs.po | 804 ++++++++++++
searchlight_ui/locale/de/LC_MESSAGES/django.po | 18 +
searchlight_ui/locale/de/LC_MESSAGES/djangojs.po | 1261 +++++++++++++++++++
searchlight_ui/locale/en_AU/LC_MESSAGES/django.po | 18 +
searchlight_ui/locale/en_GB/LC_MESSAGES/django.po | 18 +
searchlight_ui/locale/es/LC_MESSAGES/django.po | 18 +
searchlight_ui/locale/fr/LC_MESSAGES/django.po | 18 +
searchlight_ui/locale/fr/LC_MESSAGES/djangojs.po | 766 ++++++++++++
searchlight_ui/locale/id/LC_MESSAGES/django.po | 18 +
searchlight_ui/locale/id/LC_MESSAGES/djangojs.po | 1283 ++++++++++++++++++++
searchlight_ui/locale/it/LC_MESSAGES/django.po | 18 +
searchlight_ui/locale/ja/LC_MESSAGES/djangojs.po | 927 ++++++++++++++
searchlight_ui/locale/ko_KR/LC_MESSAGES/django.po | 18 +
.../locale/ko_KR/LC_MESSAGES/djangojs.po | 960 +++++++++++++++
searchlight_ui/locale/pt_BR/LC_MESSAGES/django.po | 18 +
searchlight_ui/locale/ru/LC_MESSAGES/django.po | 19 +
searchlight_ui/locale/ru/LC_MESSAGES/djangojs.po | 1195 ++++++++++++++++++
searchlight_ui/locale/tr_TR/LC_MESSAGES/django.po | 18 +
searchlight_ui/locale/zh_CN/LC_MESSAGES/django.po | 18 +
.../locale/zh_CN/LC_MESSAGES/djangojs.po | 1222 +++++++++++++++++++
searchlight_ui/locale/zh_TW/LC_MESSAGES/django.po | 18 +
.../os-cinder-snapshots/actions/actions.module.js | 61 +
.../os-cinder-snapshots.module.js | 3 +-
.../os-cinder-volumes/actions/actions.module.js | 61 +
.../os-cinder-volumes/os-cinder-volumes.module.js | 3 +-
.../os-ironic-chassis/os-ironic-chassis.module.js | 78 ++
.../resources/os-ironic-chassis/summary.html | 7 +
.../os-ironic-nodes/os-ironic-nodes.module.js | 132 ++
.../static/resources/os-ironic-nodes/summary.html | 8 +
.../os-ironic-ports/os-ironic-ports.module.js | 89 ++
.../static/resources/os-ironic-ports/summary.html | 7 +
.../os-neutron-nets/actions/actions.module.js | 61 +
.../os-neutron-nets/os-neutron-nets.module.js | 1 +
.../os-neutron-ports/actions/actions.module.js | 61 +
.../os-neutron-ports/os-neutron-ports.module.js | 1 +
.../os-neutron-routers/actions/actions.module.js | 61 +
.../os-neutron-routers/os-neutron-router.module.js | 1 +
.../os-neutron-subnets/actions/actions.module.js | 61 +
.../os-neutron-subnets.module.js | 1 +
.../os-nova-hypervisors/actions/actions.module.js | 61 +
.../os-nova-hypervisors/os-nova-hypervisors.js | 1 +
.../resources/os-nova-hypervisors/summary.html | 1 +
.../os-nova-servers/actions/actions.module.js | 14 +
.../actions/create-snapshot.controller.js | 8 +-
.../actions/create-snapshot.controller.spec.js | 2 +-
.../actions/create-snapshot.service.js | 6 +-
.../actions/create-snapshot.service.spec.js | 10 +-
.../static/resources/resources.module.js | 3 +
.../settings/search-settings.controller.js | 8 +-
.../settings/search-settings.service.js | 8 +-
.../syntax/search-syntax.controller.js | 6 +-
.../static/searchlight-ui/table/search-table.html | 6 +-
.../util/modified-item-cache.service.spec.js | 2 +-
.../static/searchlight-ui/util/redirect.action.js | 48 +
.../searchlight-ui/util/redirect.controller.js | 50 +
.../util/redirect.controller.spec.js | 56 +
.../util/searchlight-facet-utils.service.js | 11 +-
.../util/searchlight-query-generator.service.js | 11 +-
.../searchlight-query-generator.service.spec.js | 82 +-
.../util/searchlight-query-utils.service.js | 15 +-
setup.cfg | 2 +-
71 files changed, 9758 insertions(+), 91 deletions(-)
1
0
We joyfully announce the release of:
sahara-image-elements 6.0.0: Image elements for Sahara
This release is part of the ocata release series.
Download the package from:
https://tarballs.openstack.org/sahara-image-elements/
For more details, please see below.
Changes in sahara-image-elements 5.0.0.0rc1..6.0.0
--------------------------------------------------
35f7276 Remove support for MapR 5.0.0 images
c704533 Upgrade packages for MapR 5.2 according to latest versions pack MEP 2.0
3dfcb64 Set DIB_CDH_MINOR_VERSION when required
42d79a9 Disable firewalld (also on centos7) when it is enabled
3ba71be fix firstboot script
27c908b Fix pep8 issues (environment file should not be executable)
88b00f9 Add Constraints support
6e4afa4 include netcat package for centos images
6a293ea Remove the older versions from the builder
a71277b use latest ambari in images
604857a [DOC] Update support plugin version into doc
4cc289b [CDH] Support CDH 5.9
d4aef36 fix error that can't open home url
43cdc3b Add four spaces before url.
bdd0c5c Force scala 2.11.6 for Ubuntu Trusty
9ac38b9 Force trusty on Spark, Vanilla and Storm Ubuntu images
aea6db7 Show team and repo badges on README
ca7d2ea Do not call `set -x` in an environment (element) file
8ae39ce Updated from global requirements
bfce834 Don't include openstack directory in exclude list for flake8
9da9f50 use latest build of hadoop openstack from tarballs
3446f21 Adding rhel7 to elements checks
Diffstat (except docs and test files)
-------------------------------------
README.rst | 9 +++
diskimage-create/README.rst | 14 +++-
diskimage-create/diskimage-create.sh | 89 +++++++++++++---------
elements/ambari/post-install.d/10-disable-ambari | 2 +-
elements/ambari/pre-install.d/90-ambari-repo-conf | 4 +-
.../post-install.d/30-disable-firewalld | 4 +-
.../post-install.d/31-disable-ip6tables | 4 +-
.../post-install.d/32-disable-iptables | 4 +-
.../environment.d/01-set-java-distro | 0
elements/hadoop-cloudera/install.d/34-java | 2 +-
.../hadoop-cloudera/install.d/50-install-cloudera | 14 ++++
.../hadoop-cloudera/pre-install.d/10-add-mirror | 74 ++++++++++++++++++
elements/hadoop-mapr/README.rst | 2 +-
.../hadoop-mapr/install.d/40-mapr-dependencies | 2 +-
elements/hadoop-mapr/install.d/41-scala | 15 ++--
.../hadoop-mapr/install.d/43-mapr-core-repository | 2 +-
.../hadoop-mapr/install.d/44-mapr-eco-repository | 12 ++-
elements/hadoop-mapr/post-install.d/99-requiretty | 2 +-
.../post-install.d/99-update-repository | 2 +-
elements/hadoop-mapr/resources/package_utils.sh | 10 +--
elements/hadoop-mapr/resources/packages.json | 37 +++++----
elements/hadoop-mapr/resources/spec_5.0.0.json | 47 ------------
elements/hadoop-mapr/resources/spec_5.2.0.json | 17 ++++-
.../hadoop-mapr/resources/spec_5.2.0_ubuntu.json | 17 ++++-
elements/hadoop-mapr/resources/versions.py | 2 +-
elements/hadoop/install.d/40-setup-hadoop | 4 +-
elements/hadoop/install.d/firstboot | 3 +
elements/hadoop/package-installs.yaml | 1 +
elements/hadoop/pkg-map | 10 +++
elements/hadoop/root.d/50-download-hadoop | 2 +-
.../environment.d/99-set-up-default-apache-dir | 10 +--
.../hdp-local-mirror/install.d/10-enable-apache | 2 +-
elements/java/bin/setup-java-home | 2 +-
elements/mysql/install.d/10-mysql | 2 +-
elements/nc/elements-deps | 1 +
elements/nc/package-installs.yaml | 1 +
elements/nc/pkg-map | 10 +++
elements/openjdk/environment.d/00-set-java-distro | 0
elements/openjdk/install.d/33-java | 4 +-
.../oracle-java/environment.d/00-set-java-distro | 0
elements/ssh/install.d/33-ssh | 2 +-
elements/swift_hadoop/post-install.d/81-add-jar | 7 +-
requirements.txt | 2 +-
setup.cfg | 2 +-
tools/gate/build-images | 2 +-
tox.ini | 4 +-
46 files changed, 296 insertions(+), 162 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index a75679f..b793cab 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5 +5 @@
-pbr>=1.6 # Apache-2.0
+pbr>=1.8 # Apache-2.0
1
0
We are jazzed to announce the release of:
searchlight 2.0.0: OpenStack Search Service
This release is part of the ocata release series.
Download the package from:
https://tarballs.openstack.org/searchlight/
For more details, please see below.
2.0.0
^^^^^
Add support for the new Neutron tenant RBAC policy functionality. This
allows networks to be shared across tenants.
Introduce a pipeline architecture to configure publishers for resource
plugins.
Added 'size' and 'from' as synonyms of 'limit' and 'offset', to closer
match the Elasticsearch API.
When user requests a reindex by specifying --type parameter,
searchlight may copy existing Elasticsearch data to reindex, if these
old indices or type mappings are missing, newly created indices will
have incomplete resource data.
Some Neutron ports that do not send notificatons to Searchlight. Do
not initially index them.
In Elasticsearch 2.x field names cannot contain '.', so when indexing
document with property contains '.' in field name, it will fail with
error "cannot contain '.'".
New Features
************
* Adds notification handler for nova server group.
* Notifications for flavor are now supported.
* Adds ironic plugin with nodes, ports and chassis support.
* Add support for the new Neutron tenant RBAC policy functionality.
This allows networks to be shared across tenants.
* Publishers can be configured at plugin level or top level in
configuration file. When Searchlight does incremental updates via
notifications, configured publishers will receive information about
modified resources and publish them to subscribers outside
Searchlight.
* Adds on option "--notification-less" to "searchlight-manage index
sync" to re-sync only plugins that don't have notifications.
* In order to more closely match the Elasticsearch API, 'size' and
'from' can be used in place of 'limit' and 'offset'.
* Add "error" notification level processing to listener.
Known Issues
************
* The projects list will not present in the flavor related versioned
notifications if you update the flavor access only because of a
lazy-loaded bug in nova.
Upgrade Notes
*************
* To enable the notifications for flavor you need to config
*notifications_topics_exchanges = versioned_notifications,nova*
under section *resource_plugin:os_nova_flavor*
* If you want to search field contains '.', you need to replace '.'
with '++', e.g. 'sahara_tag_2.7.1' -> 'sahara_tag_2++7++1'.
* Need to specify auth_type or auth_plugin(deprecated) to v2password
in service_credentials group to make index work properly if you were
using keystone v2 auth.
Bug Fixes
*********
* Fix a bug that incomplete types may be copyed during reindex. Add
checks about data integrity before copying existing Elasticsearch
data, warn user if there is any missing index or type mapping and
exit. Users can suppress exit behavior by using force parameter.
* Searchlight is indexing unused Neutron ports. Some Neutron ports
do not result in notifications to Searchlight. We do not want to
initially index them.
* Replace '.' with '++' when saving documents to Elasticsearch, and
convert back when searching results.
Changes in searchlight 1.0.0.0rc1..2.0.0
----------------------------------------
30e64ae Updated from global requirements
9eacee8 Update UPPER_CONSTRAINTS_FILE for stable/ocata
5b4536d Update .gitreview for stable/ocata
6ba886b Use keystoneauth1 session instead of keystoneclient
1157d5c Handle ironic service not being present
c823ebe Disable ironic plugin by default in devstack
c7e9e69 Fix filtered queries for Elasticsearch 5
28b2701 Searchlight ironic plugin
741f419 Handle nova rename events
174284c Fix search policy unit test failure
1544a6c Implement flavor notification handler
f2a3ce0 Fix server group rbac test
3593e3c Fix typo in utils.py
4b45f22 Updated from global requirements
5252235 Add a hacking to check double word typo automatically
3bd009f Fix HACKING.rst with hacking checks
4e1e6fd Update nova config reference file.
56a9add Removing Unused imports
dd4f5ce Implement pipeline
afc5ed8 Add metadata field and updated_at field to server group index
4e2ab07 Add server group notification handler
c6664ec Support tests coverage report
efab8bc Fix multi-typo in searchlight
19ba6ff Fix typo
bfdb08e Updated from global requirements
aef31cc Fix dot issue in field name
9ee9d89 Remove unused using_elasticsearch_v2 function
97b11aa Trival fix api-ref
10485a1 Updated from global requirements
a8be92a Delete deprecated Hacking in tox.ini
f974cbc Updated from global requirements
527706f Warn user if types using es to reindex don't exist
231780e Updated from global requirements
706a3fd Add alt text for badges
a497b76 Use default jdk in devstack setup
f44a90f Add tools/test-setup.sh script to setup test environment
ba05d5f Fix typo in Helper.py
6126674 Use ConfigParser instead of SafeConfigParser in Python 3
6fca79e Show team and repo badges on README
1b6ca1a Replace six.iteritems() with .items()
019d33b Duplicated ES reindex when plugins in different groups
b471409 Add option to reindex notification-less plugins
3cd5834 Remove uneccessary "in" from CONTRIBUTING.rst
0adbf58 Use messagingv2 by default
ddab5e9 Replaces uuid.uuid4 with uuidutils.generate_uuid()
837a61c Modify variable's using method in Log Messages
6571bc6 Fix a typo in manage.py & utils.py
c8b328e Fix typo in helper.py
61c2fd1 Allow notification handler cls to be None
f9b2d67 Updated from global requirements
556e62e Updated from global requirements
682a7e6 Comment 'man_pages' config in conf.py
362bb12 Fix the issue that plugins list not shown on Searchlight Indexing page
3d1823e Change "Openstack" to "OpenStack"
db19cd5 Remove mox3 in test-requirement.txt
6335ec7 Allow 'size' and 'from' as search parameters
cfb7fdf Allow listener to process "error" notification priority
dbed7e5 Drop MANIFEST.in - it's not needed by pbr
8ba8008 Remove html_static_path from doc
ecf68bf Tool to translate a *.po file.
0128b2f Add http_proxy_to_wsgi to api-paste
0eaadd4 Don't include openstack/common in flake8 exclude list
84cb0e2 Enable release notes translation
171733a Fix typo: remove redundant 'the'
f903665 Fix typo in notification_handlers.py
d987b7f Fix typo in docstring
4b8ff3b Use upper constraints for all jobs in tox.ini
f1804f2 Updated from global requirements
0a35be8 Fix a typo in documentation
5f34e51 Fix a typo in authoring-plugins.rst,etc
97b8bcd api-ref: Add Searchlight api-ref
3c60230 Use upper-constraints for tox envs
80a728c Docstrings should not start with a space
eabdaf2 TrivialFix: Remove default=None when set value in Config
aef7fed RBAC for network sharing
f0a4630 Return __searchlight-user-role with highlighting
10d47a0 Restrict image member list
5d50149 Support X_IS_ADMIN_PROJECT header on auth response
f9ad0ea Don't listen for dns.zone.exists
13e9cfa Security group rule race condition
be5ef61 Log indexing exceptions at 'exception' level
4387547 Updated from global requirements
33a14d4 Do not index some Neutron ports.
c15df25 'deleted_at' Date field needed for get_version
88fa016 Cinder mapping incorrect.
60d2b52 Update reno for stable/newton
09dc0f1 Remove duplicate project facets from cinder plugins Closes-Bug: #1558606
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 1 +
CONTRIBUTING.rst | 2 +-
HACKING.rst | 33 +-
MANIFEST.in | 16 -
README.rst | 14 +
api-ref/source/http-codes.yaml | 55 ++
api-ref/source/index.rst | 7 +-
.../samples/create-search-admin-request.json | 6 +
.../samples/create-search-aggregation-request.json | 11 +
.../create-search-aggregation-response.json | 64 ++
.../source/samples/create-search-all-request.json | 5 +
.../source/samples/create-search-all-response.json | 61 ++
.../create-search-complex-boolean-request.json | 25 +
.../create-search-complex-boolean-response.json | 93 +++
.../samples/create-search-free-text-request.json | 9 +
.../samples/create-search-free-text-response.json | 45 ++
.../create-search-multiple-type-request.json | 6 +
.../create-search-phrase-field-request.json | 8 +
.../create-search-phrase-field-response.json | 45 ++
.../samples/create-search-single-type-request.json | 6 +
.../create-search-single-type-response.json | 44 ++
.../list-facets-all-response-exclude-options.json | 78 +++
.../source/samples/list-facets-all-response.json | 90 +++
.../list-facets-include-fields-response.json | 11 +
.../source/samples/list-facets-type-response.json | 27 +
api-ref/source/samples/list-plugins-response.json | 14 +
api-ref/source/search-parameters.yaml | 170 +++++
api-ref/source/searchlight-v1.inc | 696 +++++++++++++++++++++
devstack/local.conf | 11 +-
devstack/plugin.sh | 20 +-
etc/api-paste.ini | 6 +-
etc/policy.json | 9 +-
...roup-notification-handler-d10aed78bede2c12.yaml | 3 +
...nfigurable-index-settings-59e00230f669c1a8.yaml | 2 +-
.../bp-flavor-notifications-c9454eb39ab8f567.yaml | 11 +
.../notes/bp-ironic-plugin-922204f24ecb2f16.yaml | 3 +
.../bp-neutron-tenant-rbac-0922f23111965f7c.yaml | 9 +
.../bp-pipeline-architecture-dc2d10d5609af1f9.yaml | 11 +
.../bp-reindex-interval-a43c37189e948d28.yaml | 4 +
...bug-1568923-add-size-from-4dd681d72bc0ef6c.yaml | 8 +
.../notes/bug-1596710-6a5287f0cd77cba0.yaml | 15 +
...bug-1621914-neutron-ports-58cf966264c09ce4.yaml | 8 +
.../notes/bug-1622343-648b6b2b85e67209.yaml | 11 +
.../notes/bug-1653752-a34a9a85deb92ed2.yaml | 5 +
.../listener-error-level-582765d9d48d4e01.yaml | 3 +
releasenotes/source/conf.py | 3 +
releasenotes/source/index.rst | 1 +
releasenotes/source/newton.rst | 6 +
requirements.txt | 27 +-
searchlight/api/middleware/context.py | 9 +-
searchlight/api/v1/search.py | 94 +--
searchlight/cmd/manage.py | 125 ++--
searchlight/common/config.py | 2 -
searchlight/common/property_utils.py | 9 +-
searchlight/common/resource_types.py | 4 +
searchlight/common/utils.py | 29 +-
searchlight/common/wsgi.py | 12 +-
searchlight/elasticsearch/__init__.py | 30 +-
searchlight/elasticsearch/plugins/base.py | 118 +++-
.../elasticsearch/plugins/cinder/__init__.py | 4 +-
.../elasticsearch/plugins/cinder/snapshots.py | 1 -
.../cinder/snapshots_notification_handler.py | 19 +-
.../elasticsearch/plugins/cinder/volumes.py | 3 +-
.../plugins/cinder/volumes_notification_handler.py | 23 +-
.../plugins/designate/notification_handlers.py | 75 ++-
.../elasticsearch/plugins/glance/__init__.py | 7 +-
searchlight/elasticsearch/plugins/glance/images.py | 39 +-
.../plugins/glance/images_notification_handler.py | 37 +-
.../elasticsearch/plugins/glance/metadefs.py | 23 +-
.../glance/metadefs_notification_handler.py | 306 +++++----
searchlight/elasticsearch/plugins/helper.py | 52 +-
.../elasticsearch/plugins/ironic/__init__.py | 43 ++
.../elasticsearch/plugins/ironic/chassis.py | 61 ++
searchlight/elasticsearch/plugins/ironic/nodes.py | 71 +++
.../plugins/ironic/notification_handlers.py | 187 ++++++
searchlight/elasticsearch/plugins/ironic/ports.py | 71 +++
.../elasticsearch/plugins/ironic/resources.py | 113 ++++
.../elasticsearch/plugins/neutron/__init__.py | 19 +
.../elasticsearch/plugins/neutron/networks.py | 57 +-
.../plugins/neutron/notification_handlers.py | 342 +++++++---
searchlight/elasticsearch/plugins/neutron/ports.py | 44 +-
.../elasticsearch/plugins/neutron/subnets.py | 23 +-
searchlight/elasticsearch/plugins/nova/__init__.py | 53 +-
searchlight/elasticsearch/plugins/nova/flavors.py | 16 +-
.../elasticsearch/plugins/nova/hypervisors.py | 3 -
.../plugins/nova/notification_handler.py | 251 ++++++--
.../elasticsearch/plugins/nova/servergroups.py | 4 +-
searchlight/elasticsearch/plugins/nova/servers.py | 2 +
.../elasticsearch/plugins/openstack_clients.py | 96 +--
.../elasticsearch/plugins/swift/__init__.py | 7 +-
.../elasticsearch/plugins/swift/containers.py | 16 +-
searchlight/elasticsearch/plugins/swift/objects.py | 28 +-
.../plugins/swift/swift_notification_handler.py | 84 ++-
searchlight/elasticsearch/plugins/utils.py | 46 +-
searchlight/hacking/checks.py | 16 +
searchlight/listener.py | 58 +-
searchlight/opts.py | 8 +-
searchlight/pipeline.py | 120 ++++
searchlight/publisher/__init__.py | 0
searchlight/publisher/log.py | 29 +
searchlight/service_policies.py | 3 +-
.../unit/test_neutron_securitygroup_plugin.py | 126 +++-
setup.cfg | 5 +
test-requirements.txt | 13 +-
tools/check_translate.sh | 127 ++++
tools/test-setup.sh | 14 +
tox.ini | 15 +-
162 files changed, 6741 insertions(+), 1340 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index b90f6f9..9d189ea 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5 +5 @@
-pbr>=1.6 # Apache-2.0
+pbr>=1.8 # Apache-2.0
@@ -16,2 +16,2 @@ Routes!=2.0,!=2.3.0,>=1.12.3;python_version!='2.7' # MIT
-WebOb>=1.2.3 # MIT
-oslo.config>=3.14.0 # Apache-2.0
+WebOb>=1.6.0 # MIT
+oslo.config!=3.18.0,>=3.14.0 # Apache-2.0
@@ -22,3 +22,3 @@ oslo.service>=1.10.0 # Apache-2.0
-oslo.utils>=3.16.0 # Apache-2.0
-stevedore>=1.16.0 # Apache-2.0
-keystonemiddleware!=4.1.0,!=4.5.0,>=4.0.0 # Apache-2.0
+oslo.utils>=3.18.0 # Apache-2.0
+stevedore>=1.17.1 # Apache-2.0
+keystonemiddleware>=4.12.0 # Apache-2.0
@@ -30 +30 @@ Paste # MIT
-python-keystoneclient!=2.1.0,>=2.0.0 # Apache-2.0
+python-keystoneclient>=3.8.0 # Apache-2.0
@@ -36,3 +36,3 @@ oslo.i18n>=2.1.0 # Apache-2.0
-oslo.log>=1.14.0 # Apache-2.0
-oslo.messaging>=5.2.0 # Apache-2.0
-oslo.policy>=1.9.0 # Apache-2.0
+oslo.log>=3.11.0 # Apache-2.0
+oslo.messaging>=5.14.0 # Apache-2.0
+oslo.policy>=1.17.0 # Apache-2.0
@@ -47,2 +47,2 @@ python-designateclient>=1.5.0 # Apache-2.0
-python-glanceclient!=2.4.0,>=2.3.0 # Apache-2.0
-python-novaclient!=2.33.0,>=2.29.0 # Apache-2.0
+python-glanceclient>=2.5.0 # Apache-2.0
+python-novaclient!=7.0.0,>=6.0.0 # Apache-2.0
@@ -51 +51,2 @@ python-cinderclient!=1.7.0,!=1.7.1,>=1.6.0 # Apache-2.0
-python-swiftclient>=2.2.0 # Apache-2.0
+python-swiftclient>=3.2.0 # Apache-2.0
+python-ironicclient>=1.11.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 2459aff..63f85cc 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -12 +12 @@ Babel>=2.3.4 # BSD
-coverage>=3.6 # Apache-2.0
+coverage>=4.0 # Apache-2.0
@@ -14 +13,0 @@ fixtures>=3.0.0 # Apache-2.0/BSD
-mox3>=0.7.0 # Apache-2.0
@@ -16,2 +15,2 @@ mock>=2.0 # BSD
-sphinx!=1.3b1,<1.3,>=1.2.1 # BSD
-requests>=2.10.0 # Apache-2.0
+sphinx!=1.3b1,<1.4,>=1.2.1 # BSD
+requests!=2.12.2,>=2.10.0 # Apache-2.0
@@ -20 +19 @@ testtools>=1.4.0 # MIT
-psutil<2.0.0,>=1.1.1 # BSD
+psutil>=3.0.1 # BSD
@@ -22 +21 @@ oslotest>=1.10.0 # Apache-2.0
-reno>=1.8.0 # Apache2
+reno>=1.8.0 # Apache-2.0
@@ -28 +27 @@ os-api-ref>=1.0.0 # Apache-2.0
-oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0
+oslosphinx>=4.7.0 # Apache-2.0
1
0
We contentedly announce the release of:
heat 8.0.0: OpenStack Orchestration
This release is part of the ocata release series.
Download the package from:
https://tarballs.openstack.org/heat/
For more details, please see below.
8.0.0
^^^^^
New Features
************
* OS::Aodh::CompositeAlarm resource plugin is added to manage Aodh
composite alarm, aim to replace OS::Aodh::CombinationAlarm which has
been deprecated in Newton release.
* OS::Cinder::QoSAssociation resource plugin is added to support
cinder QoS Specs Association with Volume Types, which is provided by
cinder "qos-specs" API extension.
* Designate v2 resource plugins OS::Designate::Zone and
OS::Designate::RecordSet are newly added.
* A new resource plugin "OS::Keystone::Domain" is added to support
the lifecycle of keystone domain.
* The "resource mark unhealthy" command now accepts either a logical
resource name (as it did previously) or a physical resource ID to
identify the resource to be marked unhealthy.
* New resource "OS::Neutron::Quota" is added to manage neutron
quotas.
* New resource "OS::Nova::Quota" is added to enable an admin to
manage Compute service quotas for a specific project.
* A new resource "OS::Sahara::Job" has been added, which allows to
create and launch sahara jobs. Job can be launched with resource-
signal.
* Custom constraints for all sahara resources added -
sahara.cluster, sahara.cluster_template, sahara.data_source,
sahara.job_binary, sahara.job_type.
* OS::Nova::Server now supports ephemeral_size and ephemeral_format
properties for block_device_mapping_v2 property. Property
ephemeral_size is integer, that require flavor with ephemeral disk
size greater that 0. Property ephemeral_format is string with
allowed values ext2, ext3, ext4, xfs and ntfs for Windows guests; it
is optional and if has no value, uses default, defined in nova
config file.
* New "OS::Zaqar::Notification" and "OS::Zaqar::MistralTrigger"
resource types allow users to attach to Zaqar queues (respectively)
notifications in general, and notifications that trigger Mistral
workflow executions in particular.
Deprecation Notes
*****************
* Designate v1 resource plugins OS::Designate::Domain and
OS::Designate::Record are deprecated.
Bug Fixes
*********
* 'CEPHFS' can be used as a share protocol when using
OS::Manila::Share resource.
Changes in heat 7.0.0.0rc1..8.0.0
---------------------------------
b79195d Add CEPHFS manila share protocol
82aabe9 Just to migrate existing resource to backup stack
b38ff79 Use region_name when creating keystone client
8ef4566 Prepare for using standard python tests
59cad62 Update UPPER_CONSTRAINTS_FILE for stable/ocata
d8f851f Update .gitreview for stable/ocata
01580af Fix restore_prev_rsrc assert weakref
057f563 ResourceGroup fix issue with batch create and zero count
aee1099 Move CFN pseudo functions out of Parameters base class
2b69e0e Don't try to store i18n messages
00e3e16 Don't mock internal method of ceilometerclient
cb7aeb6 Fix ceilometerclient mocks for 2.8.0 release
49f316b Fix i18n issue in event.py
e873228 Add attribute 'collect' to senlin cluster
8065962 Keystone::Project observe reality implementation
e7ad297 Add missing import for zaqar client
197febd Improve resource.NoActionRequired
57c5aae De-duplicate properties_data between events, resources
8496d98 Updated from global requirements
a1835e6 Delete accidental artifact
d6a90cc Fix for resources stuck in progress after engine crash
b340c13 Don't make client calls when adding dependencies
4b25dd6 Don't override _show_resource() for image
78d1f4c Remove py26 support
e6c88a0 Updated from global requirements
0549ee2 Always replace DELETE_COMPLETE resources on update
bbb7b21 Don't look at convergence_engine conf option in Resource
54f1304 Updated from global requirements
10ddb89 Provide unified _show_resource() for senlin resources
60cfa2a Fix nits of server tag test
b075ae7 Fix handle_create() of senlin cluster resource
6a64578 Use os_cache in place of no_cache
d33ade9 Fix MistralClientPluginTest.test_create
a9db263 Skip integration tests when not configured
91a7a41 Add policies property to cluster resource
efabef6 Efficient passing of attrs during traversals
ef176f3 Add reno for OS::Sahara::Job
166ad02 Add translation rules for OS::Sahara::Job
0266de6 Add sahara constraints
c4acd52 Refactor _show_resource() for neutron resources
65790f6 Add translation rules to senlin policy resource
76450e6 Add reality support to senlin node resource
d566f0f Add translation rules to senlin node resource
936b3c3 Change order of init _facade and osprofiler
9014a2b Updated from global requirements
cfe4e9e Add port_security_enabled property to ProviderNet
5ce7978 Add gabbi tests for resource REST API
8434563 Add cluster property to senlin node resource
e950bbb Don't load resources in dep_attrs
4507322 Don't load non-referenced resources from DB
c4c5dfd Allow admins to get resource by physical resource id
f0f58a8 Remove handle_delete() for keystone group
25f2a7b Avoid to use internal attribute '_info'
03708d5 Release notes for designate v2 support
6ef5fa9 Make API services with apache the default
e943d08 Make number of workers configurable with apache
3593545 Set content-type when signaling deployment
af6fb8a Use super method _show_resource() for alarms
c1d6ee1 Fix validate_external()
3227b1d Don't use MagicMock for stacks in tests
e1aeaba Ignore dependency errors with conditions
20cadfb Fix errors resulting from over-long Zaqar queue names
80e2fba Unit tests: Don't mock client_plugin for Zaqar subscription
f08e592 Allow query types other than string in Aodh alarms
16a4637 Deprecate OS::Glance::Image
e8a5ce0 Sort JSON output in intrinsic functions
d6f6bfc Mark nested stacks unhealthy by refid
fc0f4a1 Add OS::Neutron::Quota resource
6813a76 Default to Glance v2
09fc044 Allow to scale when group is in CHECK_COMPLETE
53690ff Add reality support for senlin cluster resource
e1124b2 Include an OS::stack_id output when generating a template
5553a6f Correct output values when generating templates
fbc6911 Correct to 'heat_config_notify_script'
71ca073 Add translate rules for senlin cluster
52de872 Don't replace failed neutron resources always
116158a Check `resource_validate` before validate external
f92a3c8 Deprecate designate v1 resource plugin
d615066 Add designate recordset support
55f26d7 Add designate zone support
9087f24 Add note for env prepare of `Custom image script`
82a11ce Do not replace failed server always
2a6dc1a Check if image_identifier is UUID
600a448 Do nothing in prepare_for_replace if server not created
19632db Fix senlin resources update failure
75b68fb Updated from global requirements
def894c Release notes for OS::Keystone::Domain
a7616c3 Remove greenlet useless requirement
557eff5 Replace always if resource is in CHECK_FAILED
7bf4595 Don't try detach interface when server not found
88b15d1 Remove repeat entity defination
c31343f Enable resource _show_resource with dict type
587d128 Use correct charset when create a text/* type MIME
5b04acb To reset metadata for resources when mark unhealthy
27a99d5 Fix a small nit of docs
241b02e Add more gabbi REST API tests
172fe35 Initial heat REST API tests with gabbi
bd3199c make the rabbitmq configuration simpler
75595ec Set access_policy for messaging's dispatcher
23f6ea3 Updated from global requirements
1a7881f Use heat.engine.resource.UpdateReplace
24d820d Enable coverage report
35a4981 Don't use keystone_authtoken section for trust
da864c8 Use 'openstack' commands instead in docs
18178ce Make sure heat works with novaclient 7.0.0
e6aed1b Add OS::Sahara::Job resource
b40115b Use _show_resource() of super class
745c155 Avoid to use same code for aodh resources
0a66b77 Sanitize newly added heat-manage command
94bdbee Trivial fix some typos in api-ref
ae1ebcc Fix for validating firewall resource status
a658a18 Updated from global requirements
92c2454 Fix string declaration in environment_util.py
eaca4eb Returns project info while getting sd with admin context
791c245 Add resource_properties_data assoc. to resource, event objs
1ea6bb8 Add the ResourcePropertiesData object
d80c23f Add resource_properties_data data migration
f3e6f47 One transaction per encrypt/decrypt batch
c540293 map_replace allow noop colliding replacements
13d2560 Make *_id/name_url required for api-ref
922f51e Skip test_server_signal_userdata_format_software_config
3f683ab Recreate db only if db service is enabled
2f317af Use metadata and personality with server rebuild
ee2cdd3 Make subnet required for lbaasv2 member resource
b84e31b Correct the order of assertEqual
eb7b5a3 Don't validate rsrc properties with external_id
798bb10 Several improvements of pluginguide.rst
a6f34dd Avoid Forcing the Translation of Translatable Variables
c669955 Update the constraint value of schema 'ACCESS_TYPE' for Manila share
d4307b5 Allows to create x509 keypair
2d66f74 Allow to create admin context for tests
3bc38ee Updated from global requirements
1e5f5ca Use urllib to correctly escape URLs for Zaqar queues
52cbc83 Add convenience properties for alarm queue actions
626d7fc Add a zaqar.queue custom constraint
1b64098 Nova Flavor Resource Update
c2c55ba Updated from global requirements
6647354 Refactor batch encrypt/decrpyts of params, props
2310d0b Update fedora image in devstack
5807064 Updated from global requirements
c0f051b Refactor BaseAlarm.actions_to_urls()
aee97eb Fix inconsistencies in updating alarms
8933667 Default implementation parse_live_resource_data
a3b1b17 Correct response of template-version-list
9ee3a7e Updated from global requirements
f2fb0c1 Add DeployedServer resource
6959f4b Use BaseServer base class for Nova Server resource
84067db Remove db.api wrapper
d9021d3 Support composite alarm
5cf81b2 Set default value for 'metadata' of cinder volume
0fc8e63 Set default value for 'metadata' of nova server
5360729 Cleanup test env after tests
dbd6784 Refactor port tests
4a610e6 Support new osprofiler API
e42f1b3 Remove unused mock for server check tests
c38f68e Use assertIsNone(...) instead of assertEqual(None, ...)
ca71c69 Don't replace failed volume always
3e633fb Include API version in Zaqar URLs
563bbe8 Updated from global requirements
d5f1e90 Ephemeral disk size support for server bdm_v2
82478c2 Use mock instead of mox for keypair test
8d25dc6 Updated from global requirements
14fe913 Fix typo in plugin.sh
bebe21a Revert "Fix devstack plugin" workaround
698d703 Add policy for Keystone resource types
549285c Don't use hardcoded flavors in tests
4e46540 Allow mark-unhealthy by physical resource ID
f310a1f Handle ambiguous physical resource IDs
780f4dc Updated from global requirements
b158dcf More efficient db resources-per-stack count
510a37b Updated from global requirements
636b6c7 Don't validate address when using get_attr
a5e0da1 Updated from global requirements
c93e44d Use __slots__ for dependencies.Node
ec7abd0 Add an OS::Zaqar::MistralTrigger resource type
9d282ed Use keystone session with zaqar client plugin
35c6ee5 Use both domain id and name
6c26eb8 Fix a small nit
01487eb Make the name of a Zaqar queue optional
015c3c2 Don't return the signed queue URL from get_resource
6afc7a6 Includes project info while admin getting stacks
63318f4 Supports 'direct-physical' and 'baremetal' vnic type for port
1b05208 Add validation for conflicting merge strategies
f3302c3 Do not count events for every event created
a673ee2 Refactor, add encrypt/decrypt data dict functions to crypt
0925692 Minor encrypt/decrypt unittest refactor
882a640 Refactor purge_deleted, operate on batches of stacks
ced6f78 Avoid re-validating resources in nested stacks
ffdf485 Fix typo
77f6c5a Show team and repo badges on README
16be8ba Do not set the mime-type for userdata
0225ff7 Updated from global requirements
da1af07 Keystone::User observe reality implementation
e0ff43e Refactor _needs_update() for resource
1c714d9 Use i18n to translate msg in LOG.xxx()
9b7c72b Updated from global requirements
f1bc509 More efficient pruning of events
3aebdab Avoid redundant validations
39eaa84 Allow 'mac_address' updatable for neutron port
dfcb265 Use more specific asserts in tests
7780f7a Use both endpoint and endpoint_override
0fb991c Move call trove cluster delete to check complete
ea3eb60 Skip test_cancel_update_server_with_port
bdcedf2 Use endpoint_override with heat client plugin
2045a8d Remove oslo-incubator use in other client plugins
536eb28 Use apache config templates from local tree
af4086b Docs of configuring Devstack to enable heat
bc989cd Remove extra resource definition loading
6282332 Fix get all attributes with cache data
0ee5aa1 Updated from global requirements
8bec657 Remove unused pylintrc
b579d9f Give correct example for translation_rules definition
e1237f4 Don't use oslo-incubator in glance client plugin
551b185 Don't try to delete trust if trustor not found
756dda7 Replace retrying with tenacity
ddd5556 Use timeout as whole seconds in swift plugin
e1d8eb7 Cleanup heat apache wsgi configs
0fe4bc7 Update .coveragerc after the removal of openstack directory
349e67b Do not throw an exception if stack outputs is not set
65b3f84 Add OS::Nova::Quota resource
25f44b5 Add tags property to OS::Nova::Server
ce64d23 Add support different versions for nova client
0ab60b0 Observe reality for OS::Keystone::Domain
98f2372 Don't include openstack/common in flake8 exclude list
f20c53b Updated from global requirements
5734f52 Updated from global requirements
87d0ca5 Adds Keystone Domain resource plugin
0f2f9c2 Remove oslo-incubator modules
aa000b2 m1.tiny is not always there
892a4ea Do not load templates in stop_traversal
498ee45 Initial PropertiesGroup implementation
0725399 Updated from global requirements
d5ef455 Make FloatingIP depend on all RouterInterfaces again
df674a7 Add filter function
073222e Add OS::Zaqar::Subscription resource
34f6ff9 Cleanup service usage
4239a95 Fix resource-list with nested_depth in convergence
18fb531 Updated from global requirements
571740f Support Zaqar signed queue URLs
c28c314 Updated from global requirements
96faa97 Speed up lbaasv2 test
26aa33e Fix resource_signal with convergence
2407c86 Ignore merged env if environment files are specified
d30965a Imported Translations from Zanata
5d2ff48 Don't operate queue if it was not found
99edb79 Updated from global requirements
c2cde5a Keystone::Group observe reality implementation
a7c7945 Add info to docs about heat devstack plugin
96cec39 Keystone::Region observe reality implementation
049a6a9 Updated from global requirements
0fed810 Updated from global requirements
0c92216 Use osc commands for creating neutron resources
4794cf2 Raise TypeError when a bool property has int value
a408ccd dd missing memory.resident to NOVA_METERS
d3828e8 Updated from global requirements
ad4329d Remove unnecessary install_heat_other
c598658 Don't query raw_template in stacks uselessly
eab9a33 Prevent template validate from scanning ports
9037221 Updated from global requirements
7dd06fc Adds 5 backport db migration place holder for newton
f9fe6ab Squash database patches
4ca2950 Don't resolve attribute pre-storage
b53e9ef Remove the deprecated Stack.resolve_static_data() method
2c6fc7b Remove support for accessing ResourceDefinition like a dict
53482b0 Unit tests: Don't use ResourceDefinition as cfn snippet
5b6aa66 Remove the Resource.parsed_template() method
58c0bbf Get rid of cfn-compatibility in ResourceDefinition.Diff
62f6045 Return condition functions based on the filter param
43af5e4 Add noauth middleware
1486289 heat-all: all-in-one heat launcher
45076fb Updated from global requirements
e099af6 Change credentials.create argument
cc98596 Add OS::Aodh::EventAlarm resource
3a3e6a8 Use RPC to retrieve nested stack output
df88948 Avoid loading nested stacks in memory where possible
7bf5527 Keep same physical_resource_name in backup stack
b1144b2 Add a modulo core constraint
9180d7b Add networking-sfc port-chain resource plug-in
aac3e7a Add new hot function str_replace_strict
f7a0cd4 Keystone::Endpoint observe reality implementation
6ad6ca3 Add http_proxy_to_wsgi middleware to Heat CFN endpoint
cd69fe3 Fix typo in documentation
741ee95 Updated from global requirements
f09a37e Correct invalid git URL in LogABug config
413a114 Enable release notes translation
2199065 Use __slots__ in Parameter classes
bca740a Avoid double init of classes with __new__
9a76d19 Add networking-sfc flow-classifier resource plug-in
df71486 Pass region_name to session client
8b7e5be Create a root Yaql context
6396d7c Add workaround for functions in translation
f2881d4 Resolve all functions before RESOLVE translation
adb8629 Use __slots__ in ResourceInfo classes
de319d2 Add implicit deps after calculation of all explicit deps
260b79e Don't always eagerly load the raw_template for a stack
1e92462 Properly compute resource_properties pickle
89526b5 Use empty list for None values in repeat function
0830318 Don't create yaql context
74dde02 Make nova server user_data format configurable
58a88d9 Correct deleting of role assignments
1c1948b Updated from global requirements
5fc3e01 Don't get derived config if resource ID unset
bc3c16a Remove unnecessary setUp and tearDown
279ad22 Fix a typo in engine_wrapper.py
d17144d Use minimal image wherever possible
4e5b0ce Updated from global requirements
2e40bcc Add Apache 2.0 license to source file
5c0b9d4 Switch fedora mirror
8b3308c Allow policies for resource_types with wildcard
513f409 Fix typo in docstring
2a5dbdc Using assertIsNone() instead of assertEqual(None, ...)
ada0a1a Enforce policy before resource.validate
c3021de Break cycle between Resource and Attributes
8de00cd Keystone role assignment observe reality method
2993aac Hidden policies property of OS::Mistral::Workflow
fa2f4fa Small refactoring translation mechanism
794cf5c Speed up environment test
7bc114b Using assertIsNotNone() instead of assertIsNot(None)
9e7ac66 Using assertIsNone() instead of assertIs(None)
a7106c9 Updated from global requirements
23f68fa Run integration tests with tempest before upgrade
eaedf85 Fix indentation in get_param example
b3733f1 Fix typo 'duplcate' to 'duplicate' in status.yaml
2793421 Fix create/update keystone endpoint with service name
38483c5 Avoid circular refs more aggressively in DependencyTaskGroup
4d10955 Use save_and_reraise_exception() in HeatException
82b8fd8 Get rid of circular reference in Event class
e56fc68 Increase the timeout for the stop_stack message
ec45f0e Return error with path in function validate
d4a9cdb Wait for deletion_time in integration tests
1061ba7 Updated from global requirements
c9ceacf Nova::Server observe reality implementation
e1f161a Do not attempt deletion of a DELETE_COMPLETE stack in service api
aa90b5a Add a new HOT template version for Ocata
e5cec71 Don't use cast() to do StackResource delete
55c21c1 Don't delete RawTemplate if it referenced by a stack
0dbe25a Add networking-sfc port-pair-group resource plug-in
65e7e59 Set hooks before storing events
4ddb703 Use neutron cli command instead of osc
2ca07d1 Add Ocata version '8.0.0' in doc
f34a7bb Trivial:Standardize the output format of 'help' in some files
c056352 Remove unnecessary __init__
5c74723 Add missing %s in print message
584efe3 Fix cancel update for nova server with defined port
99b055b Re-trigger on update-replace
a5eb936 Trivial refactor of session var in reset_stack_status
b75407f Updated from global requirements
cd09078 Add resource OS::Cinder::QoSAssociation
3000f90 Legacy delete attempt thread cancel before stop
2a66246 Raise NotImplementedError instead of NotImplemented
e2ba339 Don't acquire the lock when cancelling a stack
676281d Use correct schema for SoftwareDeploymentGroup rolling_update
728646e delete python bytecode including pyo before every test run
d5cd398 Example for "Replace" function should use self.fn_name
353e731 Allow update inplace for allowed_address_pairs
bc2e136 Cancel traversal of nested stack
1b47a59 Update reno for stable/newton
7f5bd76 Don't log locked resource ERROR level
7b6ac8a Update link reference
2e281df Fix sync point delete
bf5ce6a Correct the response info of template-version-list
6552396 Trivial: Replace 'assertTrue(a not in b)' with 'assertNotIn(a, b)'
4bd9b81 Release resource lock when executing reset_stack_status
e6da5b5 Use enginefacade instead of db_session
2a16c58 Using oslo_config's min attribute in heat
cfb07cb Use upper constraints for all jobs in tox.ini
57c2af3 Functional test for asg cooldown property
886b99e Functional test for asg max_size and min_size
Diffstat (except docs and test files)
-------------------------------------
.coveragerc | 2 +-
.gitreview | 1 +
HACKING.rst | 3 +
README.rst | 9 +
api-ref/source/conf.py | 4 +-
api-ref/source/v1/events.inc | 2 +-
api-ref/source/v1/parameters.yaml | 21 +-
api-ref/source/v1/resources.inc | 4 +-
.../v1/samples/template-versions-response.json | 21 +-
api-ref/source/v1/stack-templates.inc | 2 +-
api-ref/source/v1/stacks.inc | 4 +-
api-ref/source/v1/status.yaml | 2 +-
bin/heat-keystone-setup-domain | 21 +-
contrib/heat_docker/setup.cfg | 1 -
contrib/rackspace/README.md | 4 +-
contrib/rackspace/setup.cfg | 1 -
devstack/files/apache-heat-api-cfn.template | 5 +-
devstack/files/apache-heat-api-cloudwatch.template | 5 +-
devstack/files/apache-heat-api.template | 5 +-
devstack/lib/heat | 114 +---
devstack/plugin.sh | 14 +-
devstack/upgrade/resources.sh | 8 +-
devstack/upgrade/upgrade.sh | 2 +-
etc/heat/api-paste.ini | 15 +-
etc/heat/policy.json | 6 +-
heat/api/aws/exception.py | 1 +
heat/api/middleware/fault.py | 1 +
heat/api/middleware/ssl.py | 8 +-
heat/api/openstack/v1/stacks.py | 18 +-
heat/cmd/all.py | 91 +++
heat/cmd/api.py | 37 +-
heat/cmd/api_cfn.py | 39 +-
heat/cmd/api_cloudwatch.py | 41 +-
heat/cmd/engine.py | 15 +-
heat/cmd/manage.py | 27 +-
heat/common/config.py | 27 +-
heat/common/context.py | 37 +-
heat/common/crypt.py | 73 +-
heat/common/environment_util.py | 37 +-
heat/common/exception.py | 47 +-
heat/common/messaging.py | 5 +-
heat/common/noauth.py | 70 ++
heat/common/pluginutils.py | 6 +-
heat/common/policy.py | 19 +-
heat/common/profiler.py | 16 +-
heat/common/urlfetch.py | 3 +-
heat/common/wsgi.py | 9 +-
heat/db/api.py | 463 -------------
heat/db/sqlalchemy/api.py | 757 +++++++++++++--------
heat/db/sqlalchemy/migrate_repo/manage.py | 13 +
.../sqlalchemy/migrate_repo/versions/062_kilo.py | 362 ----------
.../versions/063_properties_data_encrypted.py | 25 -
.../versions/064_raw_template_predecessor.py | 52 --
.../migrate_repo/versions/065_liberty.py | 368 ++++++++++
.../migrate_repo/versions/065_root_resource.py | 48 --
.../migrate_repo/versions/074_placeholder.py | 20 +
.../migrate_repo/versions/075_placeholder.py | 20 +
.../migrate_repo/versions/076_placeholder.py | 20 +
.../migrate_repo/versions/077_placeholder.py | 20 +
.../migrate_repo/versions/078_placeholder.py | 20 +
.../versions/079_resource_properties_data.py | 55 ++
heat/db/sqlalchemy/migration.py | 2 +-
heat/db/sqlalchemy/models.py | 20 +
heat/db/sqlalchemy/utils.py | 10 +-
heat/db/utils.py | 57 --
heat/engine/api.py | 16 +-
heat/engine/attributes.py | 21 +-
heat/engine/cfn/parameters.py | 52 ++
heat/engine/cfn/template.py | 7 +-
heat/engine/check_resource.py | 27 +-
heat/engine/clients/__init__.py | 3 +-
heat/engine/clients/client_exception.py | 27 +
heat/engine/clients/client_plugin.py | 7 +-
heat/engine/clients/os/aodh.py | 3 +-
heat/engine/clients/os/barbican.py | 3 +-
heat/engine/clients/os/ceilometer.py | 8 +-
heat/engine/clients/os/cinder.py | 1 +
heat/engine/clients/os/designate.py | 33 +-
heat/engine/clients/os/glance.py | 44 +-
heat/engine/clients/os/heat_plugin.py | 5 +-
.../clients/os/keystone/heat_keystoneclient.py | 17 +-
heat/engine/clients/os/magnum.py | 5 +-
heat/engine/clients/os/manila.py | 5 +-
heat/engine/clients/os/neutron/__init__.py | 63 +-
.../clients/os/neutron/neutron_constraints.py | 26 +
heat/engine/clients/os/nova.py | 106 ++-
heat/engine/clients/os/sahara.py | 95 ++-
heat/engine/clients/os/senlin.py | 40 ++
heat/engine/clients/os/swift.py | 2 +-
heat/engine/clients/os/trove.py | 5 +-
heat/engine/clients/os/zaqar.py | 32 +-
heat/engine/constraints.py | 79 +++
heat/engine/dependencies.py | 2 +
heat/engine/environment.py | 28 +-
heat/engine/event.py | 68 +-
heat/engine/function.py | 26 +-
heat/engine/hot/functions.py | 121 +++-
heat/engine/hot/parameters.py | 78 ++-
heat/engine/hot/template.py | 50 +-
heat/engine/notification/__init__.py | 6 +-
heat/engine/output.py | 4 +-
heat/engine/parameters.py | 35 +-
heat/engine/properties.py | 15 +-
heat/engine/properties_group.py | 84 +++
heat/engine/resource.py | 330 +++++----
heat/engine/resources/alarm_base.py | 115 +++-
.../resources/aws/autoscaling/autoscaling_group.py | 7 +-
heat/engine/resources/aws/cfn/wait_condition.py | 3 -
heat/engine/resources/aws/lb/loadbalancer.py | 4 +-
heat/engine/resources/openstack/aodh/alarm.py | 150 +++-
.../resources/openstack/aodh/composite_alarm.py | 101 +++
.../resources/openstack/aodh/gnocchi/alarm.py | 16 +-
.../resources/openstack/barbican/container.py | 2 +
heat/engine/resources/openstack/barbican/order.py | 2 +
heat/engine/resources/openstack/barbican/secret.py | 2 +
.../engine/resources/openstack/cinder/qos_specs.py | 94 +++
heat/engine/resources/openstack/cinder/volume.py | 13 +
.../resources/openstack/cinder/volume_type.py | 5 +-
.../engine/resources/openstack/designate/domain.py | 13 +-
.../engine/resources/openstack/designate/record.py | 9 +-
.../resources/openstack/designate/recordset.py | 175 +++++
heat/engine/resources/openstack/designate/zone.py | 180 +++++
heat/engine/resources/openstack/glance/image.py | 43 +-
.../resources/openstack/heat/deployed_server.py | 118 ++++
heat/engine/resources/openstack/heat/multi_part.py | 11 +-
.../resources/openstack/heat/remote_stack.py | 2 +
.../resources/openstack/heat/resource_group.py | 3 +-
.../resources/openstack/heat/scaling_policy.py | 7 +-
.../openstack/heat/software_deployment.py | 30 +-
.../resources/openstack/heat/wait_condition.py | 3 -
heat/engine/resources/openstack/keystone/domain.py | 102 +++
.../resources/openstack/keystone/endpoint.py | 29 +
heat/engine/resources/openstack/keystone/group.py | 29 +-
.../engine/resources/openstack/keystone/project.py | 37 +-
heat/engine/resources/openstack/keystone/region.py | 19 +
.../openstack/keystone/role_assignments.py | 105 +--
heat/engine/resources/openstack/keystone/user.py | 76 ++-
heat/engine/resources/openstack/manila/share.py | 6 +-
.../resources/openstack/manila/share_network.py | 2 +
.../resources/openstack/mistral/cron_trigger.py | 2 +
.../engine/resources/openstack/mistral/workflow.py | 63 +-
.../openstack/monasca/alarm_definition.py | 5 -
.../resources/openstack/monasca/notification.py | 15 +-
.../resources/openstack/neutron/extraroute.py | 4 +-
.../engine/resources/openstack/neutron/firewall.py | 17 +
.../resources/openstack/neutron/floatingip.py | 24 +-
.../openstack/neutron/lbaas/pool_member.py | 8 +-
heat/engine/resources/openstack/neutron/neutron.py | 36 +
heat/engine/resources/openstack/neutron/port.py | 19 +-
.../resources/openstack/neutron/provider_net.py | 14 +-
heat/engine/resources/openstack/neutron/quota.py | 159 +++++
heat/engine/resources/openstack/neutron/router.py | 11 +-
.../openstack/neutron/sfc/flow_classifier.py | 190 ++++++
.../resources/openstack/neutron/sfc/port_chain.py | 140 ++++
.../openstack/neutron/sfc/port_pair_group.py | 112 +++
heat/engine/resources/openstack/nova/flavor.py | 69 +-
heat/engine/resources/openstack/nova/floatingip.py | 2 +
heat/engine/resources/openstack/nova/keypair.py | 41 +-
heat/engine/resources/openstack/nova/quota.py | 249 +++++++
heat/engine/resources/openstack/nova/server.py | 528 +++++++-------
.../openstack/nova/server_network_mixin.py | 129 ++--
heat/engine/resources/openstack/sahara/cluster.py | 7 +-
heat/engine/resources/openstack/sahara/job.py | 314 +++++++++
.../resources/openstack/sahara/job_binary.py | 1 -
heat/engine/resources/openstack/senlin/cluster.py | 283 ++++++--
heat/engine/resources/openstack/senlin/node.py | 119 +++-
heat/engine/resources/openstack/senlin/policy.py | 28 +-
heat/engine/resources/openstack/senlin/profile.py | 16 +-
heat/engine/resources/openstack/senlin/receiver.py | 17 +-
heat/engine/resources/openstack/senlin/res_base.py | 44 ++
heat/engine/resources/openstack/trove/cluster.py | 26 +-
.../resources/openstack/trove/os_database.py | 2 +
heat/engine/resources/openstack/zaqar/queue.py | 148 +++-
.../resources/openstack/zaqar/subscription.py | 233 +++++++
heat/engine/resources/server_base.py | 309 +++++++++
heat/engine/resources/signal_responder.py | 1 +
heat/engine/resources/stack_resource.py | 114 ++--
heat/engine/resources/stack_user.py | 15 +-
heat/engine/resources/template_resource.py | 30 +-
heat/engine/rsrc_defn.py | 187 +----
heat/engine/scheduler.py | 79 ++-
heat/engine/service.py | 259 ++++---
heat/engine/service_software_config.py | 13 +-
heat/engine/stack.py | 224 +++---
heat/engine/stack_lock.py | 7 +-
heat/engine/template_files.py | 2 +-
heat/engine/translation.py | 14 +-
heat/engine/worker.py | 100 ++-
heat/locale/de/LC_MESSAGES/heat.po | 318 ++++-----
heat/locale/es/LC_MESSAGES/heat.po | 166 +----
heat/locale/fr/LC_MESSAGES/heat-log-error.po | 141 ----
heat/locale/fr/LC_MESSAGES/heat.po | 170 +----
heat/locale/it/LC_MESSAGES/heat.po | 167 +----
heat/locale/ja/LC_MESSAGES/heat.po | 162 +----
heat/locale/ko_KR/LC_MESSAGES/heat-log-error.po | 43 +-
heat/locale/ko_KR/LC_MESSAGES/heat-log-warning.po | 12 +-
heat/locale/ko_KR/LC_MESSAGES/heat.po | 159 +----
heat/locale/pt_BR/LC_MESSAGES/heat.po | 164 +----
heat/locale/ru/LC_MESSAGES/heat.po | 161 +----
heat/locale/zh_CN/LC_MESSAGES/heat.po | 141 +---
heat/locale/zh_TW/LC_MESSAGES/heat.po | 141 +---
heat/objects/event.py | 21 +-
heat/objects/raw_template.py | 2 +-
heat/objects/raw_template_files.py | 2 +-
heat/objects/resource.py | 75 +-
heat/objects/resource_data.py | 2 +-
heat/objects/resource_properties_data.py | 70 ++
heat/objects/service.py | 2 +-
heat/objects/snapshot.py | 2 +-
heat/objects/software_config.py | 2 +-
heat/objects/software_deployment.py | 2 +-
heat/objects/stack.py | 21 +-
heat/objects/stack_lock.py | 2 +-
heat/objects/stack_tag.py | 2 +-
heat/objects/sync_point.py | 2 +-
heat/objects/user_creds.py | 2 +-
heat/objects/watch_data.py | 2 +-
heat/objects/watch_rule.py | 2 +-
heat/openstack/__init__.py | 0
heat/openstack/common/README | 16 -
heat/openstack/common/__init__.py | 0
heat/openstack/common/_i18n.py | 45 --
heat/openstack/common/crypto/__init__.py | 0
heat/openstack/common/crypto/utils.py | 198 ------
heat/rpc/api.py | 9 +-
heat/rpc/client.py | 13 +-
heat/scaling/cooldown.py | 39 +-
.../scenarios/update_remove_rollback.py | 2 +-
.../convergence/scenarios/update_user_replace.py | 2 +-
.../heat/test_instance_group_update_policy.py | 6 +-
.../openstack/heat/test_software_deployment.py | 28 +
.../openstack/keystone/test_role_assignments.py | 79 +++
.../openstack/monasca/test_alarm_definition.py | 8 -
.../openstack/neutron/lbaas/test_pool_member.py | 42 --
.../openstack/neutron/test_neutron_firewall.py | 38 +-
.../openstack/neutron/test_neutron_floating_ip.py | 11 -
.../openstack/neutron/test_neutron_provider_net.py | 9 +-
.../neutron/test_sfc/test_flow_classifier.py | 206 ++++++
.../openstack/neutron/test_sfc/test_port_chain.py | 173 +++++
.../neutron/test_sfc/test_port_pair_group.py | 186 +++++
.../api/gabbits/environments.yaml | 55 ++
.../api/gabbits/resourcetypes.yaml | 24 +
.../functional/test_autoscaling.py | 44 +-
.../functional/test_cancel_update.py | 61 ++
.../functional/test_conditional_exposure.py | 7 +-
.../functional/test_conditions.py | 3 -
.../functional/test_create_update.py | 6 -
.../functional/test_create_update_neutron_port.py | 116 +---
.../test_create_update_neutron_subnet.py | 34 +-
.../functional/test_default_parameters.py | 3 -
.../functional/test_encrypted_parameter.py | 3 -
.../functional/test_event_sinks.py | 6 +-
.../functional/test_heat_autoscaling.py | 118 +++-
.../functional/test_instance_group.py | 42 +-
.../functional/test_reload_on_sighup.py | 21 +-
.../functional/test_resource_chain.py | 8 +-
.../functional/test_resource_group.py | 12 -
.../functional/test_software_config.py | 2 +-
.../functional/test_stack_events.py | 5 +-
.../functional/test_swiftsignal_update.py | 3 -
.../functional/test_template_resource.py | 21 -
.../functional/test_unicode_template.py | 3 -
.../scenario/templates/test_server_signal.yaml | 5 +-
.../templates/test_volumes_create_from_backup.yaml | 1 -
.../templates/test_volumes_delete_snapshot.yaml | 1 -
.../scenario/test_autoscaling_lbv2.py | 2 +
.../scenario/test_server_cfn_init.py | 4 +
.../scenario/test_server_signal.py | 17 +-
.../scenario/test_server_software_config.py | 11 +-
install-guide/source/install-obs.rst | 10 +-
install-guide/source/install-rdo.rst | 10 +-
install-guide/source/install-ubuntu.rst | 10 +-
openstack-common.conf | 7 -
pylintrc | 29 -
.../add-aodh-composite-alarm-f8eb4f879fe0916b.yaml | 5 +
...add-cephfs-share-protocol-033e091e7c6c5166.yaml | 5 +
...p-update-cinder-resources-e23e62762f167d29.yaml | 5 +
.../designate-v2-support-0f889e9ad13d4aa2.yaml | 7 +
.../keystone-domain-support-e06e2c65c5925ae5.yaml | 4 +
.../mark-unhealthy-phys-id-e90fd669d86963d1.yaml | 3 +
.../neutron-quota-resource-7fa5e4df8287bf77.yaml | 3 +
.../nova-quota-resource-84350f0467ce2d40.yaml | 4 +
.../sahara-job-resource-84aecc11fdf1d5af.yaml | 7 +
.../server-ephemeral-bdm-v2-55e0fe2afc5d8b63.yaml | 8 +
.../notes/zaqar-notification-a4d240bbf31b7440.yaml | 3 +
releasenotes/source/conf.py | 3 +
releasenotes/source/index.rst | 1 +
releasenotes/source/newton.rst | 6 +
requirements.txt | 55 +-
setup.cfg | 16 +-
test-requirements.txt | 15 +-
tools/subunit-trace.py | 2 +-
tools/test-setup.sh | 57 ++
tox.ini | 24 +-
451 files changed, 15930 insertions(+), 7744 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 8b61d36..98a3e42 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5 +5 @@
-pbr>=1.6 # Apache-2.0
+pbr>=1.8 # Apache-2.0
@@ -11,5 +11,4 @@ eventlet!=0.18.3,>=0.18.2 # MIT
-greenlet>=0.3.2 # MIT
-keystoneauth1>=2.10.0 # Apache-2.0
-keystonemiddleware!=4.1.0,!=4.5.0,>=4.0.0 # Apache-2.0
-lxml>=2.3 # BSD
-netaddr!=0.7.16,>=0.7.12 # BSD
+keystoneauth1>=2.18.0 # Apache-2.0
+keystonemiddleware>=4.12.0 # Apache-2.0
+lxml!=3.7.0,>=2.3 # BSD
+netaddr!=0.7.16,>=0.7.13 # BSD
@@ -17 +16 @@ oslo.cache>=1.5.0 # Apache-2.0
-oslo.config>=3.14.0 # Apache-2.0
+oslo.config!=3.18.0,>=3.14.0 # Apache-2.0
@@ -20 +19 @@ oslo.context>=2.9.0 # Apache-2.0
-oslo.db!=4.13.1,!=4.13.2,>=4.10.0 # Apache-2.0
+oslo.db>=4.15.0 # Apache-2.0
@@ -22,2 +21,2 @@ oslo.i18n>=2.1.0 # Apache-2.0
-oslo.log>=1.14.0 # Apache-2.0
-oslo.messaging>=5.2.0 # Apache-2.0
+oslo.log>=3.11.0 # Apache-2.0
+oslo.messaging>=5.14.0 # Apache-2.0
@@ -25 +24 @@ oslo.middleware>=3.0.0 # Apache-2.0
-oslo.policy>=1.9.0 # Apache-2.0
+oslo.policy>=1.17.0 # Apache-2.0
@@ -29 +28 @@ oslo.service>=1.10.0 # Apache-2.0
-oslo.utils>=3.16.0 # Apache-2.0
+oslo.utils>=3.18.0 # Apache-2.0
@@ -31 +30 @@ osprofiler>=1.4.0 # Apache-2.0
-oslo.versionedobjects>=1.13.0 # Apache-2.0
+oslo.versionedobjects>=1.17.0 # Apache-2.0
@@ -34 +33 @@ pycrypto>=2.6 # Public Domain
-aodhclient>=0.5.0 # Apache-2.0
+aodhclient>=0.7.0 # Apache-2.0
@@ -39,3 +38,3 @@ python-designateclient>=1.5.0 # Apache-2.0
-python-glanceclient!=2.4.0,>=2.3.0 # Apache-2.0
-python-heatclient>=1.4.0 # Apache-2.0
-python-keystoneclient!=2.1.0,>=2.0.0 # Apache-2.0
+python-glanceclient>=2.5.0 # Apache-2.0
+python-heatclient>=1.6.1 # Apache-2.0
+python-keystoneclient>=3.8.0 # Apache-2.0
@@ -43 +42 @@ python-magnumclient>=2.0.0 # Apache-2.0
-python-manilaclient>=1.10.0 # Apache-2.0
+python-manilaclient>=1.12.0 # Apache-2.0
@@ -47,5 +46,5 @@ python-neutronclient>=5.1.0 # Apache-2.0
-python-novaclient!=2.33.0,>=2.29.0 # Apache-2.0
-python-openstackclient>=2.1.0 # Apache-2.0
-python-saharaclient>=0.18.0 # Apache-2.0
-python-senlinclient>=0.3.0 # Apache-2.0
-python-swiftclient>=2.2.0 # Apache-2.0
+python-novaclient!=7.0.0,>=6.0.0 # Apache-2.0
+python-openstackclient>=3.3.0 # Apache-2.0
+python-saharaclient>=1.1.0 # Apache-2.0
+python-senlinclient>=1.1.0 # Apache-2.0
+python-swiftclient>=3.2.0 # Apache-2.0
@@ -55,3 +54,3 @@ pytz>=2013.6 # MIT
-PyYAML>=3.1.0 # MIT
-requests>=2.10.0 # Apache-2.0
-retrying!=1.3.0,>=1.2.3 # Apache-2.0
+PyYAML>=3.10.0 # MIT
+requests!=2.12.2,>=2.10.0 # Apache-2.0
+tenacity>=3.2.1 # Apache-2.0
@@ -63,2 +62,2 @@ sqlalchemy-migrate>=0.9.6 # Apache-2.0
-stevedore>=1.16.0 # Apache-2.0
-WebOb>=1.2.3 # MIT
+stevedore>=1.17.1 # Apache-2.0
+WebOb>=1.6.0 # MIT
diff --git a/test-requirements.txt b/test-requirements.txt
index d4e6029..43306ea 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -8 +8 @@ bandit>=1.1.0 # Apache-2.0
-coverage>=3.6 # Apache-2.0
+coverage>=4.0 # Apache-2.0
@@ -10 +10 @@ fixtures>=3.0.0 # Apache-2.0/BSD
-kombu>=3.0.25 # BSD
+kombu<4.0.0,>=3.0.25 # BSD
@@ -12,2 +12,2 @@ mock>=2.0 # BSD
-mox3>=0.7.0 # Apache-2.0
-PyMySQL!=0.7.7,>=0.6.2 # MIT License
+mox3!=0.19.0,>=0.7.0 # Apache-2.0
+PyMySQL>=0.7.6 # MIT License
@@ -16 +16 @@ os-api-ref>=1.0.0 # Apache-2.0
-oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0
+oslosphinx>=4.7.0 # Apache-2.0
@@ -20 +20 @@ psycopg2>=2.5 # LGPL/ZPL
-sphinx!=1.3b1,<1.3,>=1.2.1 # BSD
+sphinx!=1.3b1,<1.4,>=1.2.1 # BSD
@@ -25 +25 @@ testresources>=0.2.4 # Apache-2.0/BSD
-reno>=1.8.0 # Apache2
+reno>=1.8.0 # Apache-2.0
@@ -29,0 +30 @@ tempest>=12.1.0 # Apache-2.0
+gabbi>=1.26.1 # Apache-2.0
1
0