OpenStack-announce
Threads by month
- ----- 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
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
October 2016
- 4 participants
- 153 discussions
We are joyful to announce the release of:
freezer 3.0.0: The OpenStack Backup Restore and Disaster Recovery as a
Service Platform
This release is part of the newton release series.
For more details, please see below.
Changes in freezer 2.0.0.0rc1..3.0.0
------------------------------------
df4ff63 Improve abort mechanism to support same functionality as stable/mitaka
7a08c4a Use --config-file from oslo instead of --config
9e6c963 Remove deprecated code
fe6e049 Update .gitreview for stable/newton
83eff55 Fix Cinder Backups
7658243 Fixed nova backup and restore
4c1e7f8 Update message for job start/stop/abort
45fa458 change directory structure for unit tests
6c50cc3 Fix error: snaphost-->snapshot
78e16c6 Updated from global requirements
c4ea71a Enable parallel job execution for the scheduler to allow abort signals
6e77d80 TrivialFix: Remove logging import unused
80c631f Fix order of arguments in assertEqual
eef70d5 Require a backup name for backup/restore/admin
6f1b051 Remove tar option "--overwrite" when extracting archives
c332a2b can't output the debug log for freezer-scheduler
4277d4a Added Validation layer for freezer jobs
f1ab13c failed to start freezer-scheduler
20cafd2 Updated from global requirements
364e5e5 Fixed the use of --insecure cli option
db1c31a Fixed use os.path.join to concatenate default logging location
9c94d30 Freezer metadata part2
659de17 Fix typo in the file
9aeed12 Fix freezer-scheduler start_date and endtime
819a5c1 Fix restore exception handling
66d7a68 Fix restore nova for multiple networks
47ef07d Changes freezer-agent consistency switches to hyphens/dashes
26351b0 Fixing Freezer with config file but no trickle throws error
5c35892 Remove discover from test-requirements
6ea14d9 Updated from global requirements
4937b5a add cindernative-backup-id option when restore cinder
304e06d Change cinder backup to define full backup or incremental backup
1c9bba4 Fail on non-existing path to backup
ef5f496 Revise test_metadata_checksum
ee7c8ae Add high-level backup utilities to BaseFreezerTest
98c93e6 Fix checksum generation so that it handles binary data
f967745 Removed remnant of git conflict in README.rst
230d20a freezer client report "Unauthorized" error
43f9936 Correct reraising of exception
9d46c8e Fix log-config-append does not work when passed as config file
a89998d Remove white space between print and ()
2da929d Updated from global requirements
00db2b0 Fix Freezer Agent Logging
bf17542 Fix LVM mountpoint issues.
9aa34db Always collect freezer.log when tests fail
4d8a3ce Fix tar error handling arguments
b3bc12b Fix restore tar error handling
e0383a1 Add integration test to verify compression options
836f94c Fix devstack-dsvm failure reporting
7fa0e6a Fix bug with snapshot removal
196a93e Fix cStringIO usage
5c9acf9 Add Tempest tests to validate checksum usage
694c98e Fix tox.ini file
f16a2ee Fix messed up readme
3cdfd8f Fix exception propagation
8b8c766 First scenario test
75f2c9d Fix gnu tar error handling
5d1f445 New Better & Well Formatted Docs with Sphinx
b4d4c38 Improve Tempest tests
5adb7fa Fix Tempest tests acquiring credentials
62e2c2a Fix incompatibility with keystoneauth
2b07da3 Fixed freezer-agent is not using the correct log
f41b613 Fix the failure of loading the instance of MongoDbMode
9cddf83 Delete Invalid variable
c976514 Remove version from setup.cfg
b16f8b1 Switch to keystoneauth
87b4ab6 list backups stored in API
1bf9658 Adds checksum before backup and after restore for consistency check.
fb5329c Freezer metadata
137520e Restore cindernative-vol-id by increment
ab41b42 Fix chunk_size for tar engine
af5f2b1 Clean up README
1b83ba7 Refactor Freezer authentication with keystone
62bd85a Use tempest credentials rather than hardcoded values
e54c80e Use uuid instead of time as path for test data
04de157 Remove auto_snap
de0344b Allow freezer to use trickle installed system wide
8fd7908 Updated from global requirements
73750a0 Fix storage not swift to backup nova or cinder
c9254cd Update README with linux requirements for freezer
4ffc74e fix some rst syntax error of code block
9f8ec0b Add More Freezer Tempest Tests
b4450c0 Restore cinder native backup pass right params and call right api
285e292 Use volume_id and timestamp to generate container name
c8d08cf Add Freezer Tempest Tests
c62a9da Generate a full backup first time
305067a Change $USER to $STACK_USER
d468c38 Updating README.rst
428682e Fixing Freezer-Agent help
8bcf617 Fix glance client creation
8a9f378 Adding the freezer logo to the README
4b91ce6 Recreation swift client for each chunk during swift incremental restore
be17aa3 Allow the user to use percentage on lvm snapsize
367a225 Fix creation of jobs with stopped state
fd5d6ba Updated from global requirements
9efa12f Added --overwrite parameter for removing all files from restore directory. Default value --overwrite=False
0973cf7 Use correct type for freezer arguments
ecfa4f6 Fix typos
a6b771f Provides more details in the help of --restore-from-date option. Explains the behavior with an example.
7c0f5bc Rename mode default to fs
03fd939 Modify the vars display_name to 'name'
219fb2b Start to introduce tempest tests.
9d99a02 freezer_conf_d is created automatically
34d2168 enable output of metadata to a file
e1fa806 Modify the function configure_freezer_scheduler
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 1 +
.pylintrc | 4 +-
CREDITS.rst | 7 +-
INSTALL.rst | 6 +-
README.rst | 903 +++++++++++++-------
devstack/gate_hook.sh | 13 +-
devstack/lib/freezer | 6 +-
devstack/settings | 7 +-
.../images/admin/Service_Architecture_02.png | Bin 0 -> 49928 bytes
.../images/admin/freezer_agent_backup_api.png | Bin 0 -> 34065 bytes
.../images/admin/freezer_scheduler_api_scale.png | Bin 0 -> 49841 bytes
freezer/apiclient/backups.py | 13 +-
freezer/apiclient/client.py | 23 +-
freezer/apiclient/exceptions.py | 4 +-
freezer/apiclient/sessions.py | 6 +-
freezer/common/config.py | 380 ++++++---
freezer/engine/engine.py | 268 ++++--
freezer/engine/exceptions.py | 19 +
freezer/engine/tar/tar_builders.py | 8 +-
freezer/engine/tar/tar_engine.py | 162 ++--
freezer/job.py | 270 ++++--
freezer/lib/pep3143daemon/daemon.py | 4 +-
freezer/main.py | 133 ++-
freezer/mode/cinder.py | 37 +
freezer/mode/default.py | 35 -
freezer/mode/fs.py | 35 +
freezer/mode/mongo.py | 12 +-
freezer/mode/mysql.py | 4 +-
freezer/mode/nova.py | 37 +
freezer/mode/sqlserver.py | 15 +-
freezer/openstack/backup.py | 63 +-
freezer/openstack/openstack.py | 81 --
freezer/openstack/osclients.py | 475 +++++++----
freezer/openstack/restore.py | 109 ++-
freezer/scheduler/arguments.py | 49 +-
freezer/scheduler/daemon.py | 93 +--
freezer/scheduler/freezer_scheduler.py | 51 +-
freezer/scheduler/scheduler_job.py | 176 ++--
freezer/scheduler/shell.py | 61 +-
freezer/scheduler/utils.py | 19 +
freezer/scheduler/win_daemon.py | 2 +-
freezer/snapshot/lvm.py | 200 ++---
freezer/snapshot/snapshot.py | 13 +-
freezer/snapshot/vss.py | 21 +-
freezer/storage/base.py | 486 +++++------
freezer/storage/exceptions.py | 19 +
freezer/storage/fslike.py | 114 +--
freezer/storage/local.py | 5 +-
freezer/storage/multiple.py | 90 +-
freezer/storage/physical.py | 112 +++
freezer/storage/ssh.py | 15 +-
freezer/storage/swift.py | 201 ++---
.../freezer_tempest_plugin/services/__init__.py | 0
.../unit/apiclient/test_apiclient_exceptions.py | 25 +
.../unit/apiclient/test_apiclient_registration.py | 111 +++
.../unit/apiclient/test_apiclient_sessions.py | 223 +++++
freezer/utils/bandwidth.py | 83 --
freezer/utils/checksum.py | 168 ++++
freezer/utils/config.py | 40 +-
freezer/utils/streaming.py | 18 +-
freezer/utils/utils.py | 121 ++-
freezer/utils/validator.py | 34 -
freezer/utils/winutils.py | 8 +-
freezer_logo.jpg | Bin 0 -> 50204 bytes
requirements.txt | 37 +-
setup.cfg | 5 +-
setup.py | 36 +-
specs/job-backup.conf.example | 2 +-
test-requirements.txt | 27 +-
.../unit/apiclient/test_apiclient_registration.py | 111 ---
tox.ini | 15 +-
167 files changed, 9233 insertions(+), 5064 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index adeefc3..63992b1 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,3 +1,6 @@
-astroid<1.4.0 # breaks pylint 1.4.4
-setuptools>=16.0
-pbr>=1.6
+# The order of packages is significant, because pip processes them in the order
+# of appearance. Changing the order has an impact on the overall integration
+# process, which may cause wedges in the gate later.
+astroid<1.4.0 # LGPLv2.1 # breaks pylint 1.4.4
+setuptools!=24.0.0,>=16.0 # PSF/ZPL
+pbr>=1.6 # Apache-2.0
@@ -5,9 +8,9 @@ python-swiftclient>=2.2.0 # Apache-2.0
-python-keystoneclient>=1.6.0,!=1.8.0
-python-cinderclient>=1.3.1
-python-glanceclient>=1.2.0 # Apache-2.0
-python-novaclient>=2.29.0,!=2.33.0 # Apache-2.0
-python-openstackclient>=2.0.0 # Apache-2.0
-oslo.utils>=3.2.0
-oslo.i18n>=1.5.0 # Apache-2.0
-oslo.log>=1.14.0
-oslo.config>=3.2.0 # Apache-2.0
+python-cinderclient!=1.7.0,!=1.7.1,>=1.6.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-openstackclient>=2.1.0 # Apache-2.0
+oslo.utils>=3.16.0 # Apache-2.0
+oslo.i18n>=2.1.0 # Apache-2.0
+oslo.log>=1.14.0 # Apache-2.0
+oslo.config>=3.14.0 # Apache-2.0
+keystoneauth1>=2.10.0 # Apache-2.0
@@ -15,3 +18,3 @@ oslo.config>=3.2.0 # Apache-2.0
-PyMySQL>=0.6.2 # MIT License
-pymongo>=3.0.2
-paramiko>=1.13.0
+PyMySQL!=0.7.7,>=0.6.2 # MIT License
+pymongo!=3.1,>=3.0.2 # Apache-2.0
+paramiko>=2.0 # LGPLv2.1+
@@ -21 +24,3 @@ six>=1.9.0 # MIT
-apscheduler
+apscheduler # MIT License
+
+psutil>=1.1.1,<2.0.0 # BSD
diff --git a/test-requirements.txt b/test-requirements.txt
index b830d53..d2ff1cf 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -1,11 +1,16 @@
-flake8>=2.2.4,<=2.4.1
-hacking>=0.10.2,<0.11
-coverage>=3.6
-discover
-mock>=1.2
-pylint==1.4.5 # GNU GPL v2
-python-subunit>=0.0.18
-sphinx>=1.1.2,!=1.2.0,!=1.3b1,<1.3 # BSD
-oslosphinx>=2.5.0,!=3.4.0 # Apache-2.0
-testrepository>=0.0.18
-testtools>=1.4.0
+# The order of packages is significant, because pip processes them in the order
+# of appearance. Changing the order has an impact on the overall integration
+# process, which may cause wedges in the gate later.
+flake8<2.6.0,>=2.5.4 # MIT
+hacking<0.11,>=0.10.2
+coverage>=3.6 # Apache-2.0
+mock>=2.0 # BSD
+pylint==1.4.5 # GPLv2
+python-subunit>=0.0.18 # Apache-2.0/BSD
+sphinx!=1.3b1,<1.3,>=1.2.1 # BSD
+oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0
+testrepository>=0.0.18 # Apache-2.0/BSD
+testtools>=1.4.0 # MIT
+
+# Tempest Plugin
+tempest-lib>=0.14.0 # Apache-2.0
1
0
We are grateful to announce the release of:
horizon 10.0.0: OpenStack Dashboard
This release is part of the newton release series.
For more details, please see below.
10.0.0
^^^^^^
Angular actions now should return a promise that resolves with an
object structured in a way to indicate what the action did (or didn't
do).
JavaScript can now access the Keystone Token.
Many of Horizons XStatic packages were updated during this cycle.
A Details page for a resource type (e.g. Images) may now use the
Angular application-level registry to register views so developers may
easily create or extend details views. In this implementation these
views are presented as tabs within the Details page.
In an effort to standarize our HTML class naming conventions, we will
be updating various class names to use dashes, instead of underscore
or camelcasing, to match with Bootstrap's convention.
Horizon no longer requires Nova (or Glance) to function; it will run
as long as keystone is present (for instance, swift-only deployments).
The Images panel now may be configured to use either the legacy or
Angular code.
To aid in continued maintenance of Horizon as a themable and
customizable framework, the highly customized 'default' styles are
being dropped in favor of standard Bootstrap styles. The 'default'
theme will only house scss variable changes going forward.
Angular components now exist to provide simple-to- configure panels
and tables, based off of registry information about resources (e.g.
Instances).
Modal sizes now inherit from Bootstrap's theme variables.
We now automatically determine the static folder location for xstatic
packages being used by Horizon.
New Features
************
* An action-result service provides convenience methods for
construction of the result, and for parsing of a resolved object
* [blueprint admin-neutron-l3-agent
(https://blueprints.launchpad.net/horizon/+spec/admin-
neutron-l3-agent)] Add support for managing neutron L3 agent hosts.
The admin screen for system information now provides links / views
to see what routers reside on what hosts. In addition, the admin
view of routers now also provides a list of where the router is
hosted and the link to see what other routers are sharing the same
host.
* Horizon and Horizon Plugins can access the Keystone Token from
JavaScript so that they can make CORS calls directly to other
OpenStack Services. This can enable much more responsive UI.
* Added a new "ANGULAR FEATURES" dictionary to the settings. This
allows simple toggling of new AngularJS features.
* Added the Scheduler Hints tab to the new Launch Instance workflow
to allow adding scheduler hints to an instance at launch. In
addition to adding custom key-value pairs, the user can also choose
from properties in the glance metadata definitions catalog that have
the OS::Nova::Server resource type and scheduler_hints properties
target.
* Added settings support to the angular workflow service so each
step in a workflow can specify a boolean setting that must pass in
order for the step to be displayed.
* [blueprint manage-ips Add ability to manage floating IPs in
syspanel (https://blueprints.launchpad.net/horizon/+spec/manage-
ips)] Admin dashboard Floating IPs panel has been added to Horizon.
* [blueprint admin-views-filter-first
(https://blueprints.launchpad.net/horizon/+spec/admin-views-filter-
first)] This blueprint provides a configurable setting to allow
operators require admin users to provide a search criteria first
before loading data into admin views.
* [blueprint angular-schema-form
(https://blueprints.launchpad.net/horizon/+spec/angular-schema-
form)] Added the Angular Schema Form library to Horizon. This allows
developers to build angular forms and workflows from JSON. Read more
at http://schemaform.io/ (http://schemaform.io/)
* [blueprint angular-table-directive
(https://blueprints.launchpad.net/horizon/+spec/angular-table-
directive)] This blueprint provides a way for developers to
programatically declare an Angular table vs writing HTML markup. It
reduces the boilerplate HTML code. For a basic table, you need to
pass in the data and the column configuration into the *hz-dynamic-
table* directive.
* [blueprint angular-template-overrides
(https://blueprints.launchpad.net/horizon/+spec/angular-template-
overrides)] This blueprint provides a way for deployers to use a
theme to override HTML fragments used by Angular code in Horizon.
For example, to override the launch instance help panel when the
'material' theme is used, create
openstack_dashboard/themes/material/static/templates/framework
/widgets/help-panel/help-panel.html. All of the client side
templates are now compiled into a single JavaScript file that is
minified and is given as an additional file in the manifest.json
file.
* [blueprint cinder-consistency-groups
(https://blueprints.launchpad.net/horizon/+spec/cinder-consistency-
groups)] This feature adds 2 new tabs to the Project Volumes panel.
The first tab will display Consistency Groups, and the second tab
will display Consistency Group Snapshots. Consistency Groups (CG)
contain existing volumes, and allow the user to perform actions on
the volumes in one step. Actions include: create/update/delete CGs,
snapshot all volumes in a CG, clone all volumes in a CG, and create
a new CG and volumes from a CG snapshot. Policies associated with
Consistency Groups exist in the Cinder policy file, and by default,
all actions are disabled.
* [blueprint configurable-boot-sources
(https://blueprints.launchpad.net/horizon/+spec/configurable-boot-
sources)] Allows administrators to restrict which sources are
available to boot from in the Launch Instance modal by adding 4 new
settings to LAUNCH_INSTANCE_DEFAULTS (disable_image,
disable_instance_snapshot, disable_volume, disable_volume_snapshot).
* Create from a local file feature is added to both Angular and
Django Create Image workflows. It works either in a 'legacy' mode
which proxies an image upload through Django, or in a new 'direct'
mode, which in turn implements [blueprint horizon-glance-large-
image- upload
(https://blueprints.launchpad.net/horizon/+spec/horizon- glance-
large-image-upload)]. To use the direct mode
HORIZON_IMAGES_UPLOAD_MODE setting should be changed to 'direct'
value along with changing glance-api.conf cors.allowed_origin
parameter to the URL from which Horizon is served.
* Added ability to render angular row actions with additional
details that explain the purpose of the action. These are rendered
as tiles and are meant to depict the next steps a user might want to
take for a given resource.
* The port-details page has a new tab for managing Allowed Address
Pairs. This tab and its features will only be available when this
extension is active in Neutron. The Allowed Address Pairs tab will
enable creating, deleting, and listing address pairs for the current
port.
* Allows to restrict CIDR range for user private network
<https://blueprints.launchpad.net/horizon/+spec/restrict-private-
network-input>
* [blueprint Supports extra properties in project and user
(https://blueprints.launchpad.net/horizon/+spec/support-extra-prop-
for-project-and-user)] Support an ability to treat additional
information for project and user as an extra attribute.
* [blueprint navigation-improvements
(https://blueprints.launchpad.net/horizon/+spec/navigation-
improvements)] Breadcrumb navigation has been added across Horizon.
* Support a parameter to specify subnet or fixed IP address when
creating port.
* A directive (hz-details) provides the ability to intelligently
display a set of views (typically for a Details context).
* A generic Details display parses the location to determine the
resource type, and displays relevant details views for that type.
* A Descriptor concept allows convenient passing of information that
can globally identify an object, for use in generic views and
actions.
* Horizon now has a (non-navigational) route in Django so generic
details pages are deep-linked.
* A shared Django template is now available for use by any Angular
page.
* Adds complete support for Glance v2 so that Horizon no longer
depends on having a Glance v1 endpoint in the Keystone catalog. Also
provides code compatibility between Glance v1 and v2.
* Adds a new config value called IMAGES_ALLOW_LOCATION, which allows
users to set locations when creating or updating images. Depending
on the Glance version, the ability to set locations is controlled by
policies and/or configuration values.
* Nova and Glance are no longer required in order to run Horizon. As
long as keystone is present, Horizon will run correctly.
* the "ANGULAR_FEATURES" setting now allows for a key
"images_panel". If set to "True", then the Angular Images panel will
be used, while the Python version will be used if set to "False".
* Integration tests for Image features may also be toggled in
openstack_dashboard/test/integration_tests/horizon.conf using the
'panel_type' feature, either set to 'legacy' or 'angular' to match
the enabled panel type.
* Horizon support for network IP availability feature. Enable
Horizon admin network dashboard to be able to display IP
availability. Enables 2 columns in the admin network subnets table
to display the allocated IPs in a given subnet and unallocated free
IPs for each subnet in the network.
* Neutron network type for Geneve tunneling protocol is now
supported.
* Neutron provider network types for Midonet are now supported. To
enable them, specify these network types in
"supported_provider_types" in the configuration file.
* [blueprint operation-history-log
(https://blueprints.launchpad.net/horizon/+spec/operation-history-
log)] Added a feature to log operation history of users.
* Neutron provider network configuration now becomes more flexible
so that operators can configure various provider network parameters
including new network type, segmenatiton ID ranges and so on based
on neutron network back-ends they use.
* Added new setting INTEGRATION_TESTS_SUPPORT, default value is
*False*. This value is used when running *manage.py compress*
command, so by default all static assets and html classes used by
integration tests are removed from Horizon production build.
Integration tests gate job sets this variable to *True* and
recompresses static assets.
* The hz-resource-table directive takes in a Heat resource name
(e.g. 'OS::Nova::Server') and uses the Angular registry to provide
actions, columns, and summary views.
* The hz-resource-panel directive takes in a Heat resource name
(e.g. 'OS::Nova::Server') and displays an appropriate header and
allows content to be transcluded to build the panel page.
* Add a new setting OVERVIEW_DAYS_RANGE. It defines the default date
range in the Overview panel meters - either today minus N days (if
the value is integer N), or from the beginning of the current month
until today (if set to None). This setting is be used to limit the
amount of data fetched by default when rendering the Overview panel.
The default value is 1, which differs from the past behaviour, since
it caused serious lags on large deployments.
* Modal sizes now inherit their value from theme variables. Two
additional sizes are available now for use in Horizon, extra to the
standard 3 sizes of Bootstrap Modals, modal-xs and modal-xl.
* Added the "TOKEN_DELETE_DISABLED" setting, so that deployers can
customise the revocation of a users token on log out.
Known Issues
************
* If you set 'images_panel' to False for the ANGULAR_FEATURES option
(which is not the default) and configure Horizon to use Glance v2,
Ramdisk ID and Kernel ID don't show properly on the "Edit Image"
screen.
Upgrade Notes
*************
* Although it's not required, it's best to make your actions return
promises with the expected structure.
* The "TEMPLATE_*" settings have been replaced with a "TEMPLATE"
dict. This will likely cause issues when porting settings to this
version of Horizon. The TEMPLATE_DEBUG setting has been removed and
is tied to the DEBUG setting now. A detailed explanation of this
dict can be found at
https://docs.djangoproject.com/en/1.10/ref/settings/#templates
* The "is_authenticated()" and "is_anonymous()" functions in Django
OpenStack Auth's "User" class are properties when running under
Django 1.10, and no longer take a margin parameter.
* Horizon currently supports both Angular 1.3.x and Angular 1.4.x,
but will remove 1.3 support in the future. See Migrating from 1.3 to
1.4 (https://docs.angularjs.org/guide/migration#migrating-
from-1-3-to-1-4)
* The breadcrumb navigation inside the details pages now applies
across Horizon. A small change in the logic means that
"custom_breadcrumb" items in the context no longer need to specify
the panel name and link. See [blueprint navigation-improvements
(https://blueprints.launchpad.net/horizon/+spec/navigation-
improvements)]
* The final django TEMPLATE_LOADERS configuration will now be
generated from TEMPLATE_LOADERS, CACHED_TEMPLATE_LOADERS and
ADD_TEMPLATE_LOADERS settings. See the settings documentation for
more information.
* It is no longer necessary to include the version suffix into
OPENSTACK_KEYSTONE_URL setting. Thanks to a recent update of django-
openstack-auth library as of 2.3.0 release, Horizon will append the
proper version suffix to the URL based on the value stored inside
OPENSTACK_API_VERSIONS['identity'] setting.
* (optional) Use the common Angular template as the basis of any
Angular pages to minimize boilerplate code and to ensure that we use
similar features/framing.
* If the 'default' theme is still required for legacy overrides to
function, simply copy the styles in the 'default' theme into a pre-
existing theme or create a new custom theme.
* The "status_unknown" table row class has been replaced with the
default bootstrap "warning" class.
* Many Javascript files have moved to new locations in the
horizon/lib static folder. Previously the locations of some files
were hard- coded but now the locations are determined automatically
based on the xstatic package name.
Deprecation Notes
*****************
* HORIZON_IMAGES_ALLOW_UPLOAD setting is deprecated and should be
gradually replaced with HORIZON_IMAGES_UPLOAD_MODE setting.
* Router rules is a horizon extension provided by Big Switch
Networks. As part of the horizon-vendor-split work, we drop the
extension from upstream horizon. It is now available as a separate
plugin at https://github.com/bigswitch/horizon-bsn
* LBaaS v1 dashboard is now deprecated and will be removed in Ocata
release. LBaaS v1 feature was removed from neutron-lbaas in Ocata
and this functionality in Horizon is only for backward compatibility
so that operators can upgrade Horizon first. Note that the Dashboard
support for LBaaS v2 is provided as a Horizon plugin via neutron-
lbaas-dashboard project.
* All instances of HTML class 'd3_pie_chart_usage' to 'pie-chart-
usage' All instances of HTML class 'd3_pie_chart_distribution' to
'pie-chart-distribution'
* The 'default_ipv4_subnet_pool_label' and
'default_ipv6_subnet_pool_label' options were deprecated in the
Mitaka release and are no longer valid in the Newton release.
Starting with Mitaka you can create one default subnet pool per
address family through the Neutron API. These subnet pools will
automatically show up in the subnet pool list using the name of the
pool as label.
* Inline Edit functionality for Horizon tables is now deprecated and
will be removed in Horizon P (12.0) The functionality was removed
from the following tables. Admin Volume Types table, Admin Metadata
Definitions table, Identity Projects table and Identity Users table
* Fullscreen Modals have been deprecated in favor of modal-xl.
Currently, it is set to 95% of the viewable screen width.
Security Issues
***************
* Making Keystone Tokens available to JavaScript slightly increases
the risk of a Token being captured. If you don't need this
functionality, it can be disabled by setting the following option in
your local_settings: ENABLE_CLIENT_TOKEN = False
Bug Fixes
*********
* Hardcoded admin role is replaced with RBAC policy check in panels.
Now users access to the panels is defined by policies and not user
roles. The change affected the Admin dashboard and its panels
(Overview, Hypervisors, Instances and Metadata Definitions).
* LP-1585682 is fixed which grants Horizon the ability to properly
version Keystone webpath endpoints (URLs like
http://<hostip>/identity instead of http://<hostip>:5000).
* https://bugs.launchpad.net/horizon/+bug/1508571
Other Notes
***********
* XStatic-Angular updated from 1.3.7.0 to 1.4.10.1
* XStatic-Angular-FileUpload updated from 1.4.0.1 to 12.0.4.0
* XStatic-Bootstrap-SCSS updated from 3.2.0.0 to 3.3.7.0
* XStatic-Bootswatch updated from 3.3.5.3 to 3.3.6.0
* XStatic-Font-Awesome updated from 4.3.0.0 to 4.5.0.0
* XStatic-Jasmine updated from 2.1.2.0 to 2.4.1.1
* XStatic-MDI updated from 1.1.70.1 to 1.4.57.0
* XStatic-Rickshaw updated from 1.5.0.0 to 1.5.1.0
* XStatic-Smart-Table updated from 1.4.5.3 to 1.4.13.1
* Glance v2 doesn't support the copy-from feature, so this feature
is disabled in Horizon when using Glance v2.
Changes in horizon 9.0.0.0rc1..10.0.0
-------------------------------------
f9b676a Imported Translations from Zanata
3ce1714 Update UPPER_CONSTRAINTS_FILE for stable/newton
d9c214e Imported Translations from Zanata
79aa43b Imported Translations from Zanata
5869854 Fix Launch Instance without Cinder
5ed1b8d Imported Translations from Zanata
02ceefd Fix metadata removal
d27528e Fix compatibility issues with Django 1.10
a33ac87 Multiple integration test fixes
74c9c15 Imported Translations from Zanata
a3e058e Imported Translations from Zanata
aa83294 Fix the collection of integration tests artifacts
6c3f962 Imported Translations from Zanata
6512bf2 Fix getting the images list in Admin->Images
e066530 Imported Translations from Zanata
bba91f5 Imported Translations from Zanata
f55f1d8 Allow translator to control word order in delete confirm dialog
529313a Update .gitreview for stable/newton
4304971 Updated from global requirements
aaa3ad4 Imported Translations from Zanata
e15b61f Update admin filter first setting to a dict
2925562 Imported Translations from Zanata
bc1fb49 Server-side filtering for Identity
45dedbb Imported Translations from Zanata
c4ddce4 Do not embed unsafe content
cf0aac9 Support for Glance v2
bff4854 Imported Translations from Zanata
0751638 Fix typo in Keypair creation in Launch Instance panel
2c56563 Remove the lowercase case boolean type in heat param_type
7bc8558 Imported Translations from Zanata
c7df8a9 Allow magic search to be initialized by an event
c2eba7c standardize release note page ordering
9628598 Fix five typos
041af0f Replace table row 'status_unknown' class with 'warning' class
7ec991e Imported Translations from Zanata
5afc9a9 Add material theme icon for star outline
766b426 Add material mapping for filter icon
fbb98f6 Incorrect Test Data of Pool2
6fb02c5 Update action for namespaces table public/protected attributes
6a75fc2 Imported Translations from Zanata
a084444 Cleanup setProperties in image module
313bc69 Fix comment typo
76833dd Add Python 3.5 classifier
b056587 Enable Python 3.5 testing and fix tests
63ddedf Fix error detection in horizon test suite
b26a988 Update comment in _10_set_custom_theme.py.example
a0a8c07 Deprecate LBaaS v1 dashboard
cd609a6 Imported Translations from Zanata
deb4cc1 Add releasenotes for bug #1161144
ed3a382 Fix for typo in Horizon
9afd7d0 Modify use of assertTrue(A in B)
9d7b751 Implement admin_filter_first setting in Admin>Volumes
196be9a A follow up patch to #1570510
5627065 Escape backslash in the angular_escapes filter
b7557f2 Imported Translations from Zanata
325309d horizon documentation corrections
9db0f0c Hard-code stubbed novaclient api_version to 2.1
289a9c5 Imported Translations from Zanata
1d0b5de doc: Use "warning" directive instead of "important"
9fcc9a4 Fix document sphinx error and warnings
d8df8bf Add message for a result of update metadata
e8298d9 Check if volume type encryption is enabled before retrieving the data
a988f3c All Table Templates should support template overrides
1e7bd33 rename LaunchInstanceModal spec describe function
455a1ba Add rel note and example for TOKEN_DELETE_DISABLED
d599fde The neutron policy file is out of date. This patch updates it to match neutron master.
a465fe6 Server-side filtering for admin volumes
c38318d Revert "Escape blackslash in the angular_escapes filter"
1918ea3 [TrivialFix] Ignore node_modules while we run flake8 test
db032d6 fix table delete bug & collect table events
46f9989 remove unused quotas code
f1cce3a Implements filter_first in routers
bbd5d81 Documentation for translation in horizon
7e58cae Display username/project during password request
da109c4 Updated from global requirements
0defe84 Imported Translations from Zanata
4b3157a [Trivial]Fix the number that failed to delete in swift
2ac3d51 Add the new device owner flag for HA router interface
d580adb Escape blackslash in the angular_escapes filter
8e70469 FixedFilterAction.categorize: Make variable name generic and explain more in docs
9e2b2ba INSTANCE_LOG_LENGTH is missing from local_settings.py.example
8b46a83 Implements filter_first in networks
37cb18e Fix the parameter name in "allowed" function in "RestoreBackup" class
53bdad4 Ability to delete network items from their details page
f60ecd0 Correct documentation around upper-constraints changes
c64e132 Imported Translations from Zanata
ede580c Incorrect param name in api.nova.server_delete
f91d38b Fix unnecessary requests in angular image panel
8ec0ce0 Fix the issue workflow filter do not show all users
03ef147 Update create volume help text for angular workflow
7bf5ced Fix attribute email doesn't exist error in group panel
02b9e2e Fix intermittent integration test failures related to messages
c930706 Updated from global requirements
175519c Imported Translations from Zanata
238d273 Project Creation from within Create User should work
210d420 hz-field-directive handle no value property
9445d15 Fix various issues with compressed angular templates and plugins
5894e15 Add a parameter fixed ip when creating a port
c0d0c8c Add release note for package updates
1a0e284 Server-side filtering networks
2289190 Final changes to Angular Images before making default
e8e1bdd Fix the parameter name in "allowed" function in "DeleteBackup" class
0c8b7c7 Imported Translations from Zanata
c724777 Update create/edit image help text for angular workflow
7126d0d Use upper constraints for all jobs in tox.ini
f5e8d61 Update the xstatic release process
053d0a6 Implement file update (edit) in Swift UI
eac2099 Updated from global requirements
ab11eef Supports extra properties in project and user
11e3828 Imported Translations from Zanata
ece7915 Remove a misplaced double quote
115ff51 Updated from global requirements
88aaf89 Add filter action to Template Versions tables
07d33cf Prevent long names breaking table layouts
5c238e9 Add floating IP panel to admin dashboard
adabe6e Remove admin_filter_first from horizon module to avoid confusion
3480693 Re-work static_settings to clean up
241eda4 Removed inline_edit functionality for tables
f333ba1 Add ANGULAR_FEATURES toggle example
25ce4d7 Imported Translations from Zanata
db9aebb Update Plugin Registry
f85d2fd Fix the loss of JSON types when using multipart/form-data
2166e5a Support project column in admin view of NG images
79c2729 Updated from global requirements
3027c99 Syntactic sugar for setting multiple properties in registry
9c3f4ce Add unit tests to edit-image to improve coverage
4a9f988 Angular: Configuration of boot sources for launch instance
a86c7d9 Remove Orchestration Resource Types names restriction
d79a11e Show wait spinner after submit of wizard modal
da2e935 Fix AttributeError in context_selection.py
21b723e Fix typo
a0bd575 Hide nav in workflows if only one tab
d526315 Fix typo in keystone_data.py
5a39ad7 Update the home-page in setup.cfg
33ceb91 Enable Angular Image panel
93af461 [Django] Allow to upload the image directly to Glance service
ac404c4 Fix order of arguments in assertEqual
2807aa6 Remove router rules extension
1050755 Add ANGULAR_FEATURES setting dict
89ac0fc Imported Translations from Zanata
1342101 Restrict user private network cidr input
93b7edd Add more Nova API features for NG Instances
a9da538 Add Try/Exception block to Network Forms
15909be modify the home-page info with the developer documentation
d21fd86 Updated from global requirements
75427ad Pre-test hook for integration tests/deprecated
9814461 Imported Translations from Zanata
02594a7 Server-side filtering routers
cf0c3bb Error in cinder quota RESTful api
60a265a [NG] Enhance Create Image workflow with upload tracking
de1fa81 Imported Translations from Zanata
374e603 Use argparse instead of optparse
68f46ce Preview Page: Default Theme: Content Horizontally Scrolling
0e1279d [NG] Support local file upload in Create Image workflow
197b4b5 Add HTML lists to preview page
28c443f Do not send shared param when not allowed.
b814a0a Add Apple OS X ".DS_Store" to ".gitignore" file
cc76e4c Imported Translations from Zanata
21eed0b Remove openstack/common from the exclude list of flake8 in tox
a536153 add translation and cleanup resource-browser-item.html
0b05f52 allow hiding help-button for first ng workflow step
fc0b4e8 UX: System Information Overflow Fail
20bc6e1 Make 'switch' between legacy and Angular Images
79a86b3 UX: Add IPSec Policy Modal Hint List is hard to read
957d243 Updated from global requirements
d9ba751 Imported Translations from Zanata
bdbc683 Update Django 1.10 tox env
6f6f746 [Django 1.10] Fix urls.url wrong call
41e9d62 Remove embedded CSS
7580d15 Horizon Radio Buttons are now themeable.
8622e42 Allow global actions to execute
0e957dd Add Angular Schema Form
9ca0cc8 hz-images have transitional states defined
6ad2967 hz-resource-table handles transitional states
000c918 Imported Translations from Zanata
01720bd Horizon selects are now themable: DynamicTypedChoiceField
2e84d55 The sidebar caret should spin correctly.
d829313 Do not allow spaces as key pair name
1268606 Fix missing 'THEME' key
7339641 Allow listFunction extra params
5e00cc5 Revert "i18n: trim whitespaces in extracted messages"
a9fa029 [Django 1.10] Fix URL patterns again
27e9a03 Imported Translations from Zanata
299c661 Style: Update Image Metadata overflow fail Style: Host Aggregate: Update Metadata overflow fail
a2b7c32 Fix unit test indentation and the test itself
e3ef7ae Fix untranslated help text in Launch Instance window
deda07c Memoize policy service
163489b Horizon selects are now themable: Project Panels
97bd050 Default subnet dns added to create network
e5057c6 Correcting form_invalid get_context_data call
98002c8 Fix horizon-without-nova release note
f9ba1ec Imported Translations from Zanata
abf4ca6 Update devDependencies in package.json
26ee50f Updated from global requirements
b353fd4 Imported Translations from Zanata
65f0f74 hz-dynamic-table: Column level permissions
64ded59 Update Plugin Registry
6868cb7 Remove old style policy checks
12f9ef8 Remove array metadata when no items + fix case
7a88458 Move get_filters to parent Class
c2ec417 Resource Browser links now respect webroot
c701552 Imported Translations from Zanata
f730515 Remove 'default' theme styles
034f181 Ignore the test_report of integration test in .gitignore
989607e Stop memoizing on request argument in neutron api
dd3cf51 Remove extraneous TODOs from Identity code
9c05819 Modified columns names in Admin->Hypervisor
b507db7 Developer Registry Resource Browser
dafa021 Remove multi select option on Resource types table
88984bc Add missing fields to Router Details page
018e99d Allow horizon to function without nova
7e65af5 Embed support for external data sinks into api.glance
32daa8c Imported Translations from Zanata
b3658f7 No eslint errors in horizon.heattop.js
14f7b01 Fix for cinder api memoize issue
09b745a Imported Translations from Zanata
e759783 No more no-unneeded-ternary eslint errors
4f1b6c4 No more block-scoped-var eslint errors
6cc5ce1 No more no-extra-parens eslint errors
c3fd32b No more braces-style eslint errors
7cbd3b7 No more space-in-parens eslint errors
8f77a68 Allow ngdetails path to contain '/'
4577bf0 Cleanup the toastService in *.spec.js files
5752491 Updated from global requirements
fb4b08f fix magic search bug
0eb0bd2 [TrivialFix] Hide expand in angular table if we haven't setSummaryTemplateUrl
617042b Allow wiring of <hz-dynamic-table> into <transfer-table>
d6c0cdc Image uses hz-property for its drawer information
207513a NG Images Create Volume should use constant from images.module.js
8bbd310 [Django 1.10] Fix get_form uses kwargs
c386d05 Imported Translations from Zanata
0aacdbe cleanup for ng create volume workflow
ef9c96e Fix jasmine tests failing due to missing ng-file-upload dep
baca291 Pay attention to Nova disabled quotas defined in a config file
cf91124 Choose a server group when booting a VM with NG launch instance
8e55dd8 [TrivialFix]Remove the redundant required=True
ccdb7b4 Fix show/hide password when clicking password icon
31e5672 Angular direct service access.
3ff5826 Adding hz-resource-property/-list and filter/value retrieval
8f35c43 Imported Translations from Zanata
63b3a2a Delete the useless API of heat
cdddbcb Imported Translations from Zanata
b934b16 Material theme form errors - fix red text on red bg
8fca93a Documentation and other improvements for registry
3157f29 Updating MDI todos.
bb38c59 Revert "Router namespace not created in controller".
13339f2 Fixes issue where metadata is always removed on edit
31d6e2d Revert "Prevent creation of subnet via RBAC during new network creation"
454faaf Fix Django route for swift ui with folder path
1af2a96 Material: Progress Bars should allow text
fdc17c5 Containers/Swift has unneccesary padding
fca46ab Pre-populate the Angular template cache and allow template overrides
f081f5c Document additional release process for xstatic
04ece63 Imported Translations from Zanata
70f1a0c Imported Translations from Zanata
2ef4286 Maximum/Total value now included as variable in msgid (i18n)
96aa8e4 Remove unused LOG
2cdb6b4 Updated from global requirements
bc30e84 Imported Translations from Zanata
ea1641b Instance Size (flavor) column is sortable when it should not
7b95e2a Magic-Search isn't rendered unless config is ready
712204e Fix the issue that it cannot do a policy check correctly
0363b56 Imported Translations from Zanata
2680b01 Correct the description for "Update Group" form
fc02a02 Modify "Edit Flavor" action
f87b58f i18n: trim whitespaces in extracted messages from AngularJS templates
2485681 Correct reraising of exception
a01d61a Trivial fix to multi-domain description text
e3d42c1 Imported Translations from Zanata
a6990d4 Remove the wrong method from MigrateMaintenanceHost
146256f Modify hz-cell to use hz-field
7f69b0f [TrivialFix]Use the right indent for MigrateHostView
ae94c55 Imported Translations from Zanata
077d386 Imported Translations from Zanata
c135ffa Enable tox to run the subset test cases.
f5c41b6 Do not import local/enabled when to run test
7fdebb6 Use "isspace()" to make code more simple
028aecc Take shared subnets into account for quotas
5c5f35a Angular LI:Make sure we always get all limits
21d5f07 [TrivialFix] Use more appropriate variable name
916a8d7 Imported Translations from Zanata
6639943 Fix create container modal style
086b33a Fix handling of swift object name == pseudo-folder name
3999685 Fix constant redirect on missing container name
0540141 Updated from global requirements
eb60a8b Use absUrl, so WEBROOT isn't ignored on redirect
c6251d9 Metadata definitions table with pagination shows inconsistent data
20f0ec4 Imported Translations from Zanata
9a535a1 Improve security rule notification message
3b5f73b Fix Magic Search Width Problems
878e53d Preview Page: Material: Code Icon fix
96399aa Registry-based client/server-side faceted search
c8df615 Preview Page: Themable Checkbox should have different label
93bbec1 Preview Page: Form: Everything shouldn't say Legend
a1f1e86 Add themable selects to the theme preview page
13727c6 [Django 1.10] Remove old style URLS
97f89f9 Add Django 1.10 tox env
f16435b Imported Translations from Zanata
d643153 Data Table Actions need context
9d05c25 Fix typo 'occured' -> 'occurred'
f75db42 Implement Manage Attachments in Instances
77d7e26 Added correct cursor to components without the href attribute
baf271e Imported Translations from Zanata
b60275a Show name_or_id when router name is white space
5b865cf stop memoizing on request argument in cinder api
1f2f602 Do not allow "white space" as name field value
b2b801b Add warning when falling back to insecure key generation
53fccaa Place Create Image in global actions, not batch actions
da188a5 Correct IP Proto sec group rules help txt
eb3180f Returning a tuple instead of list in list_extensions
a05883d Addition of metadata for snapshot in VolumeSnapshot object
16d72cd Fix heat TemplateForm glance.image sizeformat error
797f823 Never import setting from openstack_dashboard
962abed Imported Translations from Zanata
9b0553d Second endpoint type default is not None
4724e10 Register Neutron Floating IP and Security Group names
4180e63 Allow metadata to be shown whether v1 or v2 glance data (NG)
fd14a9e Set an empty string for no volume type directly
e6cbcd3 Provide help-text capability for server-side filter choices
f6cf068 Fixes JS linting error
a865918 Add valuable exports to openstack RC file download
4570413 Add units in overview project page (limit summary)
3d3f99e Imported Translations from Zanata
5424cf2 Updated from global requirements
1676258 Changed auth_url in api/nova.py to point to keystone
488efd7 Implement admin_filter_first in Instances and Images Admin Views
0854bb9 Fix some spelling mistakes in horizon intermittantly should be intermittently finctionality should be functionality funcionalities should be functionalities
2004c89 Imported Translations from Zanata
81800f2 Line chart hover bubble unreadable
fe04af0 Fix dropdowns sometimes not opening in integration tests
39eaca6 Add "Cancel" button for "Add static route" form
42e3c68 Add Line Charts to the Theme Preview Page
03ede4c Modals should inherit from the theme
b450a03 Improved table deletion efficiency
2dd2aea Updated from global requirements
7e6ca1a Using registration for auto-generation of Image feature
3945b24 Adding Identity NGProjects API
0dba684 Use ng-file-upload to simplify JS API calls that upload files
4371f44 Imported Translations from Zanata
30e37aa Fix hz-dynamic-table formatting for magic-search and actions
f20b3b1 Add check whether nova is enable or not in aggregate panel
f464f4b Add a condition whether displaying the link jump to Encryption page
39937f9 [Trivial] Add required=False to router name in Create Router
bc00c2f Imported Translations from Zanata
06e1272 Relocated error message to associated field and corrected grammar
957258a Fix css class for cancel button on metadata modal
9230998 Modified modal error message to display properly when present
fffb269 Trivial: Remove unused 'horizon.app.core.images.events'
ab9a0fe Imported Translations from Zanata
3b5d976 Add Angular Project Volumes Panel
b1a2246 Add support for volume consistency group snapshots
ffceacd Update Horizon for Angular 1.4
e6c7c33 Modify warning message
abfaf12 Show instance lock/unlock actions based on the locked status
62b4e6f Escape angularjs templating in unsafe HTML
16a471f Clear confusing annotation in rest create_user
68ce548 Fix port validator
b862494 UX: Remove duplicated view title under Settings section
acf67e0 Change from client filter to server filter in metadata page
c1ff33a Branding: Detail Actions need Context
448ad46 Updated from global requirements
f85891a Register Image Names via .setNames()
96984f8 Fix coverage post job
01aa994 Adding resource panel and table features
af62790 Updating heat policy file
1d886b7 Define Magic Search Event Constants
eecb8bf Change default timeouts in integration tests
fe76b2f Refactoring of network details pages
d0ddd22 Horizon selects are now themable: Admin Panels
171dbf0 Modify exception message style according to i18n guidelines
7ddebc5 Imported Translations from Zanata
aa005fe Add Try/Exception block to Networks Table
ee16100 Update .gitignore for JetBrains(PyCharm) users
555503c Remove redundant conditional expression
4398017 Imported Translations from Zanata
144df75 make toggle buttons look consistent on ng modals
56fce18 Stop memoizing on request arguments in nova api
5c1f176 Table Column Sorting icons should inherit from theme
cb19b47 Updated from global requirements
1392c33 Add help text to some DeleteAction
2d09356 Fix wrong data type of subnet_availabilities_list
edfde8b ICMP type & code validation while adding Security Group rules
cc42e94 Live migration auto schedule new host
cb0d1ea admin permissions depends on OPENSTACK_KEYSTONE_ADMIN_ROLES
241cf1b Migrate swift ui to use hz-dynamic-table
6f17650 Hotfix the issue with too new Firefox version
71a7ac2 modified filter tab name for images shared by projects
6d8eb37 docs: Remove version from example
c5d3192 Docs: Do not mention POT files
963d842 Imported Translations from Zanata
2b67ae6 Horizon selects are now themable: Launch Instance
3befade Prevent creation of subnet via RBAC during new network creation
35eb25a Make sure we always get all limits
4328c72 Enhance policy rules to workflow actions
c0dce0f Make the date input box more neatly
a45b6b9 Imported Translations from Zanata
ca99225 Modified Instance Form Submit behavior.
1333729 Angular LI Required Icon isn't Brand Primary Color
feb0ad0 Exclude networks with no subnets angular
d63f93a Implement video capture for failed tests
0f16250 Imported Translations from Zanata
e077903 Improvements to hz-dynamic-table
3850196 Handle non ASCII tenant names gracefully when downloading RC file
4e71364 updating keystone policy file
d1134ad Updating nova policy file
873a761 In integration tests prevent getting volume size too early
df14d97 API for getting and updating quotas
ce8677e Validate minimum RAM for snapshot source
48ba05e Prevent duplicated ips on network topology
ac4d09e Menu icon doesn't show in Resource Usage page
0b807ac Add Network IP Availability Extension
b51aa1d Imported Translations from Zanata
2e6e528 Fix JS error when loading metadata modal
e1d54c1 Updated from global requirements
f56dc69 Make error message in modal a unified style
bf9ad60 Deprecate the OPENSTACK_TOKEN_HASH_ENABLED option
2679c38 Default theme lacks support for dropup menus
b3b8831 Add missing unit tests to NG launch instance
c80edb1 Do not run exception handlers if test was skipped.
6735645 Theme Preview Page should include form-inline
ff32f86 Updated from global requirements
fe98059 Relax hz-table parent requirement
e17935b getIdsOfType now returns all ids if type undefined
c704623 Add Try/Exception to Extension Supported call in Ports
9468222 Flavors row level actions integration tests
313126a Navigational Breadcrumb should have contextual class
47d9c33 Horizon selects are now themable: Identity Panels
db23d09 Allowing non-ASCII characters for Security Group names
bf7c590 Output JS Karma test coverage reports to ./cover/
1d60ffd Added safety check to initActions so unregistered types pass
75e9136 Remove redundant conditional expression
6e555e8 Pure project admin can't view Projects page
d4a8023 Set some useful default values with the new launch wizard.
20c17d2 Horizon selects are now themable: Volumes
c3da75a Delegate tearDown logic to addCleanup method
3aa3cc9 Adding generic table extensibility
a459726 Fix untranslated strings and adding icon to OK button
26359bd Use Magic-Search for Security Groups step in Launch Instance
180bcf2 Correcting detail-row logic to not disrupt styling
b2d7322 Panel static finder
5da5fd3 Reduce the default date range on Overview panel to 1 day
a70a787 python 3.4 support for urlparse
0ee8895 Add router L3 agent info to info page
b4e01a7 Imported Translations from Zanata
b28f736 Updated from global requirements
ce5fb26 Remove admin role name 'admin' hardcode
0c91293 Pass page_url instead of whole request to render
0c5c575 Add support for detail actions
bf4f7e8 Updating package.json / npm packages
df5b5fb add 'x' dismiss button to simpleModal
5ca5ecc Hide 'Back' and 'Next' button if the number of step is 1
5a9c4b0 Add feature to log operations of users to Horizon
408e358 Move out integration tests scaffolds from Horizon production code
caa5e91 Fix Keystone version suffix when Keystone webpath is present
2481d2b Remove memoize that holds connections open
5934d83 Improve system info page
24b8528 Update the links of django docs to dev version
5fb8b29 Make the volume transfer name field required
cd03154 Images uses generic/extensible details views
14f40d6 Use 'label' rather than 'button' for buttons in Edit Image
70056d0 Updated from global requirements
eafec8e Temporarily disable the most problematic integration tests
1644a0e Add scrolling to the projector selector
388708b Updates horizon's copy of the cinder policy file
c1e7afe Adding warning to Launch Instance when no availability zones
eb0ecb3 Fix small typo
8a6667c Updated from global requirements
57962fb fixed row update of vpn table
315958a Use upper-constraints in tox test environments
a0088d1 Fix the issue that delete actions are unclickable
f3825a5 Fix project name refresh in project menu bar
4aef84b Support update volume type public status
926a451 Use 'trimmed' for blocktrans with multi-line contents
82e4089 Use 'Delete Instance' rather than 'Terminate' in legacy topology
4b870b1 Django compressor cannot find custom theme templates
6ec5dd3 Updated from global requirements
193756f Add module ngFileUpload as a dependency to main horizon.app module
75d30cb Don't attempt to list the "folder" contents of Swift objects
f0a11af Disabling warnings of 'quote-props'
bb1547c Add *args, **kwargs to ModalBackdropMixin's init method
1d7e388 Whitelist 'rm' in pep8 tox environment
18b351b Angular pages will reload if collapse/expand sidebar
dbd9076 Fix doc build warnings and errors
1689596 Preview Page: Modal location is off
c3278a2 table-detail (Angular) tables correct problem with row striping
0f4f613 Improve field name in User Detail
9402eb0 Fix untranslated strings in ng-instance
0ee3b7d Remove unnecessary help-panel in import keypair modal
ee98b44 UX: Misaligned OpenStack Logo
b743fef Trivial: Change message level from warning to info
11968c8 Generic details display framework
e33cbd6 Don’t error if dhcp_agent_scheduler not enabled
340e67c Add policy checks in images panels
f517259 Add recursive deletion to Swift UI
25010e1 [TrivialFix]Remove duplicated OS::Nova::Flavor registration
e620120 Imported Translations from Zanata
f58f3e0 Updated from global requirements
bf10711 Add OS::Nova::Hypervisor display name registration
914a07a Refactor Orchectration Stacks menu
25b1aa8 Adding admin lookup of routers per l3 agent
a337b89 Angular Table Directive cleanup
466a40e Magic Search inline doc cleanup
7515f1e allow hiding ng help-button for workflow steps
3536c71 Use correct casing on jQuery.
2ff54b5 Added tests for edit image description and name
fb4c13e Imported Translations from Zanata
6ccd9fb Adding Create Image Action to angular images panel
802ec1f Change Metadata Display widget to case insensitive
6ad36e0 Fix existing metadata display in metadata widget
dd80909 Adding old topology to compliment new
15ac226 Ensure horizon configurations could be customized
c6bfe2d In integration tests wait 1 second after changing the password
a7da1da Tutorials related to class Meta should use new style
cba0d4d Add release notes for hz-dynamic-table directive
e6e0a47 Fix key import in angular Launch Instance
654dfb7 Update tox.ini for pot files not in tree
334f9d3 Modify default sort in flavor table in ng-instance
0d5ce2e Updated from global requirements
1c0d8ce Simplify "Instance Count" verbiage
cada006 Added 'help_url' example to local_settings.py
0d4c041 Trival: correct the 'View Credentials' icon
0054743 Fix translation test
f54e28c Moved table action tutorial under tutorials
adc9ab1 Cleaning up lint warnings for Image work
2e35583 Remove deprecated default_*_subnet_pool options
f8cb496 Add semantic markup to Project Overview page
2e98d71 Fix file upload not setting content-type correctly
d5b24d7 Use breadcrumb nav across Horizon
df1cbab Adjust width so as not to be hidden by "help element”
6192bfd Images tables uses action promises
00b842e Horizon selects are now themable: Table Actions
e2f4651 [Trivial] Wrong policy for Heat resource type details
94fd248 Heat Template Versions panel
86cf509 Updated from global requirements
c140149 Add allowed address pair extension UI for neutron ports.
3b195c0 Removing unnecessary Angular Image files
83fc104 Imported Translations from Zanata
7da5ba6 Added tests for Identity Groups
eac7e3a Remove unnecessary default-sort/ default-sort-reverse from hz-table
bc2826e Choose a server group when booting a VM
5fdc140 Edit Extra Spec Value Fail
e56aca8 Removed vestigial Magic-Search bar
27938b1 Added integration tests for Admin > System > Defaults Panel
7bc53a7 rename link "Download key pair" to "Re-generate key pair"
d0dd62d [trivial] Add comma symbol to avoid misunderstanding
037d1c0 removing httplib2 test dependency
7b49a2c Add support for default dns for subnet
fd569da Further Theming fixes for Launch Instances
5347015 Updated from global requirements
3e65e33 Improve Volume selection handling in LI
8caf61a Instance Detail Console Error is not consistent
ea6d708 Remove broken "link" type action
8b76b5f Initial Clean Up Old Styles in _debt.scss
fb33003 Angular Table Directive
421cdbc Tutorial for extending a workflow
0ec6dd5 Define row in cell_getter before check cell status
3963f03 No lock required for reading secret key
58553ba Add Charts to Preview Page
3e02f8d Imported Translations from Zanata
bee35b5 Wait for user menu items to become visible before clicking them
f0fb0a3 Imported Translations from Zanata
3881095 Fix js error when updating associations of metadata
4619696 Attach test logs individually for each test
8d32b0a Security group add/delete rules integration tests
b9d8162 Fix incorrect breadcrumb on Admin > Details
e86b1e4 Move magic-search bar out of the smart-table structure
79fcc65 Fix pre_test_hook fail and sidebar menu fail
32e8561 Improve Router integration tests coverage
7b43577 Fix the issue help_text is not translated in User Setting
69d44ce display error message below form element
0f1823f Remove unnecessary files on Create Network
9e506d1 Many dropdown actions are white text on white background
2b80998 Add filter function on resource type table
a67d75f Enhances tox to not rely on run_tests
eda58de Added test for check stacks creation and deletion functionality
f623281 Provide integration test for managing a project's members
d2b3cf9 Added test remove protected image
8741de4 [doc] fix syntax error in "Installing Horizon"
5d60039 Fix tests broken by novaclient 4.0.0 release
5d81611 Check that row is defined when wait cell status
c407aa1 Imported Translations from Zanata
e390773 Removed "Disable user" from dropdown menu for self
17176d0 Template loaders defined before local settings
db604ac Remove redundant line to open login page
4153382 Allow delete servers in error state
2327e9c Improve error message of when Conflict error occur in ng-swift
fb804ac Fix workflow bug in "Create Network" dialog
85b7725 Fix RST formatting errors
1372e7e Imported Translations from Zanata
4277f75 Updated from global requirements
af0d4da Added a warning message if User Name is empty
4254165 Support scheduler hints when launching instance
84032cb Added tests for check RC files from API Access page
5b06cda Adding Edit Image Action to angular images panel
65eb9e9 Fix explicit waiting if instance has error status
755d07c Fix longtime tests
0039ac0 Add download button for volume transfer creds
eb2c632 Sync segmentation ID ranges with Neutron
ed7c766 Add Geneve support
a968f9a Add network types used by midonet
27854cc Create Subnet missing cancel button
d44eebe Added update image metadata test
a4f3615 Add test for volumes attach/detach
8896835 Angular vs. Django Table Danger Button Inconsistency
718628f Updated from global requirements
a4d58e7 Upgraded eslint-config-openstack to 1.2.4
b5673ec Net topology: Show console link only when useful
8da92fb Update JS dev dependencies
33b000a Fix doc build if git is absent
0d84df7 Change Registry Label for Server to Instance
dbd4731 Use Chrome for JS unit tests
b6e466f Set description field as required for nova-network
38a97f1 Added router set/clear gateway test.
5b118a2 Add test for check router create, edit, delete from Admin page
5fc69c9 Make neutron provider network configuration more flexible
3bf6e50 Default SESSION_ENGINE is not Local memory storage
e4216cb Documentation on translation support in horizon plugins
d76fb60 Reduced the left padding value on alert message
0032f3f Guard against instance row being displayed slowly in i9n tests
ad18ae7 Add event broadcast to table row expansion
fd92d8e Fix remaining Django 1.9 test failures
3b1d156 Add help text to image creation fields in Horizon
ac63c15 Fix batch action buttons state loosening
7661db1 Fix Selenium Tests
d6afbac Fix time in Nova test data
b360c6f [TrivialFix] Rename run_tests.py to run_tests.sh
cde3892 Imported Translations from Zanata
fdf0bf6 Fix babel msgids to include tag attributes and entities
6bb41cd Added test for check launch volume as instance functionality
67caa07 Remove the DeleteInstance action unused name and classes
ea92e73 Allow local/enabled panels to order relative to enabled panels
7f6942f Update the Administrator guide link with new one
8266e5d Tests for instance filtering are added
f65ff0f Pass environment data to update stack action
b05d3cf Add strip() to filter string in instances
80e52c1 Fix new Swift UI to work with Ceph backend
36ead14 Prevent transfer tables expanding out of modal
8e9b609 Refactor of BaseTestCase
0b3d811 Fix CheckBoxMixin:is_marked behavior
6a880bd Fix some trivial errors in plugin.rst
e63b5d8 Make i9n tests correctly recognize the deletion of a last row in a table
9697a9f bump eslint version to 1.10.3
0c118e4 Remove PYTHONHASHSEED=0 from tox
ff30c68 Use InAnyOrder for role creation mocks
d2692ef NG launch instance: Clear fileInput value on text change
d7e7148 Set mandatory fields
31e7091 Tests for images filtering are added
bf32b9e Added test for check instances pagination functionality
3f4eeaa Imported Translations from Zanata
8ea75ad Fix typos in Horizon files
10e6bf5 Fixing updating user with no default project
9399680 Fix the issue which redirect to Not Found page
dd4d1fb Imported Translations from Zanata
04c43e7 Imported Translations from Zanata
b54965d Duplicate help message in metadata tab
19b6a65 Fix opening multiple Launch Instance during jQuery table polling
52128cc Separate subnets tests from networks tests file
d3dd5e0 Make no response notification(msg) level to INFO
8ad7d1f Imported Translations from Zanata
ff3232a Disable all actions while performing action
243394a Added test for image create from local file
0a6d9d5 "Clear Selection" is unlocalzed
15e83c6 Update URLs to Django 1.8+ style
d649151 Using LOG.warning replace LOG.warn
2694d45 Imported Translations from Zanata
e05a8fe Hide project switch menu when project is disabled
38df986 Follow up on detail title fix
09148f6 Cleaning up eslint warnings in the openstack-service-api directory
d51bcdc Fix opening multiple Launch Instance during jQuery table polling
2143bb6 Imported Translations from Zanata
efef226 Removes some redundant words
32510d8 Fixing updating user with no default project
ac78a48 Image create "Copy Data" checkbox wrong label
7f1a831 Imported Translations from Zanata
f9df264 Fixes truncated string in details overview table.
fc7f1fd minor ng launch instance cleanup - remove unused css styles
46d3457 No unit test coverage for code related to Flavors
60722aa Do not cache templates in DEBUG mode
96fedc1 Provide an integration test for dynamic themes
184b67d Imported Translations from Zanata
acba376 Imported Translations from Zanata
f645d85 Fix the link of Django logging directive
f1036b4 Imported Translations from Zanata
f291170 ng Launch Instance wizard, constant cleanup
be5f5aa Keep row 'data-display' attr up to date after inline editing a cell
7c71e21 Imported Translations from Zanata
f07f296 Imported Translations from Zanata
74fe0ac Cleaning code to remove eslint warnings from Launch Instance
2d6e0fb Fix bad/inefficient API call for JS getImage()
48193a5 Doc page not displaying command-line with appropriate styling
b96874b Update reno for stable/mitaka
5d0391f Update .gitreview for stable/mitaka
723bf09 Minor ng containers cleanup
1976cb9 Add trace to integration gate scripts
143f453 Delete repeated column 'enabled' in users table
f65592d Add "data_required=True" check into heat rest api
83a2d36 Bootstrap Theme Preview links to sections don't work Edit
b1f7fc4 Bypass get_domain call to keystone api
222774b Auto-detect in i9n tests which row action to bind to
3ec7f0b More documentation on writing i9n tests
7f550c5 Fix themable checkbox error state
c259d66 Horizon support for Heat template versions
33b5439 Port list check is missing for LBaaS Add Member
6212128 Added tests for check change volume functionality
08e6a98 Added test for check Edit Consumer of QoS Spec functionality
07d748e Branding: Table Action dropdown hovers theme issue
f195fea Fix issue with some modals are missing backdrop
b6b685a Fixing test cases
935c483 Fixing the deprecated library function.
574228c Use JQuery promise/deferred objects to track AJAX
dfcb6f3 fix-legend-overflow
c7c86ed Optimize "open" method with context manager
1546981 Change the super argument to use the current class
701d75f Prevent 'Detach Interface' action if an interface is not attached
2c9b5b3 Refactor DataTable filtering functions into mixin
Diffstat (except docs and test files)
-------------------------------------
.eslintignore | 2 +-
.eslintrc | 8 +-
.gitignore | 4 +
.gitreview | 1 +
horizon/base.py | 28 +-
horizon/conf/default.py | 5 +-
horizon/contrib/staticfiles/__init__.py | 0
horizon/contrib/staticfiles/finders.py | 39 +
horizon/exceptions.py | 2 +-
horizon/forms/__init__.py | 9 +
horizon/forms/base.py | 2 +-
horizon/forms/fields.py | 158 +-
horizon/forms/views.py | 22 +-
horizon/karma.conf.js | 18 +-
horizon/locale/ca/LC_MESSAGES/django.po | 23 +-
horizon/locale/cs/LC_MESSAGES/django.po | 176 +-
horizon/locale/cs/LC_MESSAGES/djangojs.po | 94 +-
horizon/locale/de/LC_MESSAGES/django.po | 126 +-
horizon/locale/de/LC_MESSAGES/djangojs.po | 143 +-
horizon/locale/django.pot | 530 -
horizon/locale/djangojs.pot | 614 -
horizon/locale/en_AU/LC_MESSAGES/django.po | 154 +-
horizon/locale/en_AU/LC_MESSAGES/djangojs.po | 220 +-
horizon/locale/en_GB/LC_MESSAGES/django.po | 120 +-
horizon/locale/en_GB/LC_MESSAGES/djangojs.po | 170 +-
horizon/locale/es/LC_MESSAGES/django.po | 160 +-
horizon/locale/es/LC_MESSAGES/djangojs.po | 78 +-
horizon/locale/es_MX/LC_MESSAGES/django.po | 33 +-
horizon/locale/fi_FI/LC_MESSAGES/django.po | 22 +-
horizon/locale/fil/LC_MESSAGES/django.po | 6 +-
horizon/locale/fr/LC_MESSAGES/django.po | 143 +-
horizon/locale/fr/LC_MESSAGES/djangojs.po | 99 +-
horizon/locale/hi/LC_MESSAGES/django.po | 23 +-
horizon/locale/hi/LC_MESSAGES/djangojs.po | 186 -
horizon/locale/hu/LC_MESSAGES/django.po | 6 +-
horizon/locale/id/LC_MESSAGES/django.po | 152 +-
horizon/locale/id/LC_MESSAGES/djangojs.po | 566 +
horizon/locale/it/LC_MESSAGES/django.po | 107 +-
horizon/locale/it/LC_MESSAGES/djangojs.po | 92 +-
horizon/locale/ja/LC_MESSAGES/django.po | 116 +-
horizon/locale/ja/LC_MESSAGES/djangojs.po | 151 +-
horizon/locale/ko_KR/LC_MESSAGES/django.po | 149 +-
horizon/locale/ko_KR/LC_MESSAGES/djangojs.po | 164 +-
horizon/locale/nl_NL/LC_MESSAGES/django.po | 36 +-
horizon/locale/nl_NL/LC_MESSAGES/djangojs.po | 13 +-
horizon/locale/pa_IN/LC_MESSAGES/django.po | 33 +-
horizon/locale/pa_IN/LC_MESSAGES/djangojs.po | 10 +-
horizon/locale/pl_PL/LC_MESSAGES/django.po | 34 +-
horizon/locale/pl_PL/LC_MESSAGES/djangojs.po | 13 +-
horizon/locale/pt/LC_MESSAGES/django.po | 33 +-
horizon/locale/pt_BR/LC_MESSAGES/django.po | 126 +-
horizon/locale/pt_BR/LC_MESSAGES/djangojs.po | 75 +-
horizon/locale/ru/LC_MESSAGES/django.po | 153 +-
horizon/locale/ru/LC_MESSAGES/djangojs.po | 136 +-
horizon/locale/sl_SI/LC_MESSAGES/django.po | 16 +-
horizon/locale/sr/LC_MESSAGES/django.po | 14 +-
horizon/locale/sr/LC_MESSAGES/djangojs.po | 169 -
horizon/locale/tr_TR/LC_MESSAGES/django.po | 85 +-
horizon/locale/tr_TR/LC_MESSAGES/djangojs.po | 27 +-
horizon/locale/zh_CN/LC_MESSAGES/django.po | 173 +-
horizon/locale/zh_CN/LC_MESSAGES/djangojs.po | 161 +-
horizon/locale/zh_TW/LC_MESSAGES/django.po | 129 +-
horizon/locale/zh_TW/LC_MESSAGES/djangojs.po | 53 +-
horizon/middleware.py | 194 -
horizon/middleware/__init__.py | 19 +
horizon/middleware/base.py | 203 +
horizon/middleware/operation_log.py | 162 +
horizon/site_urls.py | 25 +-
horizon/static/auth/login/login.spec.js | 8 +-
.../static/framework/conf/permissions.service.js | 158 +
.../framework/conf/permissions.service.spec.js | 119 +
.../conf/resource-type-registry.service.js | 720 +-
.../conf/resource-type-registry.service.spec.js | 268 +-
horizon/static/framework/framework.module.js | 35 +-
horizon/static/framework/framework.module.spec.js | 4 +-
.../util/actions/action-result.service.js | 150 +
.../util/actions/action-result.service.spec.js | 93 +
.../framework/util/actions/actions.module.js | 21 +
horizon/static/framework/util/filters/filters.js | 20 +-
.../static/framework/util/filters/filters.spec.js | 17 +-
.../filters/helpers.borrowed-from-underscore.js | 93 +
horizon/static/framework/util/http/http.js | 48 +-
horizon/static/framework/util/http/http.spec.js | 107 +-
horizon/static/framework/util/i18n/i18n.js | 4 +-
.../promise-toggle/hz-promise-toggle.directive.js | 6 +-
.../util/tech-debt/helper-functions.service.js | 2 +-
horizon/static/framework/util/util.module.js | 2 +
horizon/static/framework/util/uuid/uuid.js | 45 +
horizon/static/framework/util/uuid/uuid.spec.js | 70 +
.../util/validators/hz-password-match.directive.js | 2 +-
.../framework/widgets/action-list/action-list.scss | 5 +
.../widgets/action-list/action.directive.js | 4 -
.../action-list/actions-detail.template.html | 13 +
.../widgets/action-list/actions-link.template.html | 3 -
.../widgets/action-list/actions.controller.js | 26 +-
.../widgets/action-list/actions.detail.mock.html | 2 +
.../widgets/action-list/actions.directive.js | 67 +-
.../widgets/action-list/actions.directive.spec.js | 73 +-
.../widgets/action-list/actions.service.js | 47 +-
.../static/framework/widgets/action-list/link.html | 7 -
.../framework/widgets/action-list/split-link.html | 12 -
.../widgets/charts/pie-chart.directive.js | 20 +-
.../static/framework/widgets/charts/pie-chart.html | 2 +-
.../framework/widgets/charts/pie-chart.spec.js | 2 +-
.../framework/widgets/details/details.directive.js | 75 +
.../static/framework/widgets/details/details.html | 13 +
.../framework/widgets/details/details.module.js | 29 +
.../details/routed-details-view.controller.js | 78 +
.../details/routed-details-view.controller.spec.js | 112 +
.../widgets/details/routed-details-view.html | 28 +
.../framework/widgets/form/builders.provider.js | 66 +
.../widgets/form/builders.provider.spec.js | 64 +
horizon/static/framework/widgets/form/decorator.js | 162 +
.../framework/widgets/form/decorator.spec.js | 60 +
.../framework/widgets/form/fields/array.html | 39 +
.../framework/widgets/form/fields/checkbox.html | 18 +
.../framework/widgets/form/fields/checkboxes.html | 22 +
.../framework/widgets/form/fields/default.html | 55 +
.../framework/widgets/form/fields/fieldset.html | 4 +
.../static/framework/widgets/form/fields/help.html | 1 +
.../widgets/form/fields/radio-buttons.html | 23 +
.../widgets/form/fields/radios-inline.html | 19 +
.../framework/widgets/form/fields/radios.html | 19 +
.../framework/widgets/form/fields/section.html | 1 +
.../framework/widgets/form/fields/select.html | 16 +
.../framework/widgets/form/fields/submit.html | 15 +
.../framework/widgets/form/fields/tabarray.html | 70 +
.../static/framework/widgets/form/fields/tabs.html | 41 +
.../framework/widgets/form/fields/textarea.html | 39 +
.../static/framework/widgets/form/form.module.js | 25 +
.../widgets/form/modal-form.controller.js | 64 +
.../widgets/form/modal-form.controller.spec.js | 71 +
.../static/framework/widgets/form/modal-form.html | 51 +
.../framework/widgets/form/modal-form.service.js | 72 +
.../widgets/form/modal-form.service.spec.js | 74 +
.../widgets/help-panel/help-panel.directive.js | 12 +-
.../help-panel/help-panel.directive.spec.js | 6 +-
.../framework/widgets/help-panel/help-panel.html | 11 +-
.../widgets/load-edit/load-edit.directive.js | 17 +
.../widgets/load-edit/load-edit.directive.spec.js | 12 +-
.../magic-search/hz-magic-search-bar.directive.js | 101 +-
.../widgets/magic-search/hz-magic-search-bar.html | 15 +-
.../magic-search/hz-magic-search-bar.spec.js | 57 +-
.../hz-magic-search-context.directive.js | 145 +
.../magic-search/magic-search.controller.js | 46 +-
.../magic-search/magic-search.controller.spec.js | 88 +-
.../widgets/magic-search/magic-search.html | 28 +-
.../widgets/magic-search/magic-search.module.js | 18 +-
.../widgets/magic-search/magic-search.scss | 100 +-
.../magic-search/st-magic-search.directive.js | 76 +-
.../magic-search/st-magic-search.directive.spec.js | 110 +-
.../widgets/metadata/tree/metadata-tree-item.html | 14 +-
.../widgets/metadata/tree/metadata-tree.html | 4 +-
.../framework/widgets/metadata/tree/tree.module.js | 1 +
.../framework/widgets/metadata/tree/tree.scss | 28 +-
.../widgets/metadata/tree/tree.service.js | 27 +-
.../framework/widgets/metadata/tree/tree.spec.js | 3 +-
.../modal-wait-spinner.service.js | 2 +-
.../widgets/modal/delete-modal.service.js | 8 +-
.../framework/widgets/modal/simple-modal.html | 5 +-
.../widgets/panel/hz-resource-panel.controller.js | 34 +
.../panel/hz-resource-panel.controller.spec.js | 57 +
.../widgets/panel/hz-resource-panel.directive.js | 57 +
.../framework/widgets/panel/hz-resource-panel.html | 4 +
.../static/framework/widgets/panel/panel.module.js | 22 +
.../widgets/property/hz-field.directive.js | 161 +
.../hz-resource-property-list.directive.js | 88 +
.../property/hz-resource-property-list.html | 12 +
.../property/hz-resource-property.controller.js | 39 +
.../property/hz-resource-property.directive.js | 63 +
.../widgets/property/hz-resource-property.html | 5 +
.../framework/widgets/property/property.module.js | 28 +
.../framework/widgets/table/hz-cell.directive.js | 128 +
.../widgets/table/hz-detail-row.directive.js | 100 +
.../framework/widgets/table/hz-detail-row.html | 18 +
.../widgets/table/hz-dynamic-table.controller.js | 90 +
.../widgets/table/hz-dynamic-table.directive.js | 136 +
.../table/hz-dynamic-table.directive.spec.js | 82 +
.../framework/widgets/table/hz-dynamic-table.html | 109 +
.../framework/widgets/table/hz-dynamic-table.scss | 23 +
.../widgets/table/hz-dynamic-table.spec.js | 290 +
.../widgets/table/hz-expand-detail.directive.js | 18 +-
.../widgets/table/hz-resource-table.controller.js | 207 +
.../table/hz-resource-table.controller.spec.js | 221 +
.../widgets/table/hz-resource-table.directive.js | 77 +
.../framework/widgets/table/hz-resource-table.html | 11 +
.../widgets/table/hz-select-all.directive.js | 12 +-
.../framework/widgets/table/hz-table.directive.js | 28 +-
.../framework/widgets/table/table.controller.js | 27 +-
.../static/framework/widgets/table/table.mock.html | 2 +-
.../static/framework/widgets/table/table.module.js | 7 +-
horizon/static/framework/widgets/table/table.scss | 62 +-
.../static/framework/widgets/table/table.spec.js | 7 +
.../widgets/transfer-table/filter-available.js | 112 +
.../transfer-table/filter-available.spec.js | 89 +
.../transfer-table/transfer-table.controller.js | 41 +-
.../transfer-table/transfer-table.directive.js | 24 +-
horizon/static/framework/widgets/widgets.module.js | 20 +
horizon/static/framework/widgets/widgets.scss | 1 +
.../framework/widgets/wizard/wizard.controller.js | 21 +-
.../static/framework/widgets/wizard/wizard.html | 31 +-
.../static/framework/widgets/wizard/wizard.spec.js | 28 +-
horizon/static/horizon/js/horizon.communication.js | 53 +-
horizon/static/horizon/js/horizon.d3barchart.js | 2 +-
horizon/static/horizon/js/horizon.d3linechart.js | 169 +-
horizon/static/horizon/js/horizon.d3piechart.js | 14 +-
horizon/static/horizon/js/horizon.firewalls.js | 8 +-
.../horizon/js/horizon.flatnetworktopology.js | 619 +
horizon/static/horizon/js/horizon.forms.js | 152 +-
horizon/static/horizon/js/horizon.heattop.js | 10 +
horizon/static/horizon/js/horizon.instances.js | 22 +-
horizon/static/horizon/js/horizon.membership.js | 12 +-
horizon/static/horizon/js/horizon.modals.js | 154 +-
.../static/horizon/js/horizon.networktopology.js | 142 +-
.../horizon/js/horizon.networktopologycommon.js | 149 +
horizon/static/horizon/js/horizon.quota.js | 27 +-
horizon/static/horizon/js/horizon.selenium.js | 18 +-
horizon/static/horizon/js/horizon.tables.js | 186 +-
.../horizon/js/horizon.tables_inline_edit.js | 25 +-
horizon/static/horizon/js/horizon.tabs.js | 13 +-
horizon/static/horizon/js/horizon.templates.js | 10 +-
horizon/static/horizon/js/horizon.users.js | 5 +-
horizon/static/horizon/js/horizon.volumes.js | 7 +-
horizon/tables/__init__.py | 1 +
horizon/tables/actions.py | 61 +-
horizon/tables/base.py | 97 +-
horizon/tables/views.py | 133 +-
horizon/tabs/base.py | 7 +-
horizon/templates/auth/_description.html | 2 +-
horizon/templates/auth/_login_form.html | 2 +-
horizon/templates/bootstrap/breadcrumb.html | 15 +
horizon/templates/bootstrap/progress_bar.html | 11 +-
horizon/templates/horizon/_sidebar.html | 6 +-
.../templates/horizon/client_side/_confirm.html | 14 +
.../templates/horizon/client_side/_loading.html | 4 +-
horizon/templates/horizon/client_side/_modal.html | 2 +-
.../templates/horizon/client_side/_progress.html | 19 +
.../templates/horizon/client_side/templates.html | 4 +-
.../templates/horizon/common/_breadcrumb_nav.html | 26 -
horizon/templates/horizon/common/_data_table.html | 6 +-
.../horizon/common/_data_table_action.html | 11 +-
.../common/_data_table_row_actions_dropdown.html | 2 +-
.../horizon/common/_data_table_table_actions.html | 12 +-
horizon/templates/horizon/common/_detail.html | 5 +-
.../templates/horizon/common/_detail_header.html | 16 +
horizon/templates/horizon/common/_form_errors.html | 4 +-
horizon/templates/horizon/common/_form_field.html | 37 +-
.../horizon/common/_form_field_decorator.html | 6 +
.../horizon/common/_horizontal_field.html | 20 +-
.../templates/horizon/common/_limit_summary.html | 32 +-
.../templates/horizon/common/_usage_summary.html | 4 +-
horizon/templates/horizon/common/_workflow.html | 33 +-
.../horizon/common/fields/_themable_checkbox.html | 15 +-
.../common/fields/_themable_radiobutton.html | 17 +
.../horizon/common/fields/_themable_select.html | 61 +
horizon/templates/horizon/jasmine/jasmine.html | 16 +-
horizon/templatetags/angular.py | 124 +
horizon/templatetags/bootstrap.py | 2 +-
horizon/templatetags/breadcrumb_nav.py | 47 +-
horizon/templatetags/horizon.py | 7 +-
horizon/test/firefox_binary.py | 44 +-
horizon/test/settings.py | 51 +-
horizon/test/test_dashboards/cats/kittens/urls.py | 6 +-
horizon/test/test_dashboards/cats/tigers/urls.py | 6 +-
horizon/test/test_dashboards/dogs/puppies/urls.py | 6 +-
horizon/test/urls.py | 10 +-
horizon/test/webdriver.py | 85 +-
horizon/themes.py | 26 +-
horizon/utils/babel_extract_angular.py | 35 +-
horizon/utils/escape.py | 31 +
horizon/utils/memoized.py | 68 +
horizon/utils/secret_key.py | 25 +-
horizon/utils/validators.py | 14 +
horizon/workflows/base.py | 47 +-
horizon/workflows/views.py | 8 +-
openstack_dashboard/api/cinder.py | 134 +-
openstack_dashboard/api/glance.py | 251 +-
openstack_dashboard/api/heat.py | 16 +-
openstack_dashboard/api/keystone.py | 78 +-
openstack_dashboard/api/network.py | 23 +-
openstack_dashboard/api/network_base.py | 6 +-
openstack_dashboard/api/neutron.py | 105 +-
openstack_dashboard/api/nova.py | 123 +-
openstack_dashboard/api/rest/cinder.py | 79 +
openstack_dashboard/api/rest/config.py | 12 +-
openstack_dashboard/api/rest/glance.py | 85 +-
openstack_dashboard/api/rest/heat.py | 2 +-
openstack_dashboard/api/rest/json_encoder.py | 2 +-
openstack_dashboard/api/rest/keystone.py | 7 +-
openstack_dashboard/api/rest/neutron.py | 61 +
openstack_dashboard/api/rest/nova.py | 314 +-
openstack_dashboard/api/rest/swift.py | 44 +-
openstack_dashboard/api/rest/urls.py | 1 -
openstack_dashboard/api/rest/utils.py | 28 +-
openstack_dashboard/api/swift.py | 16 +-
openstack_dashboard/conf/cinder_policy.json | 174 +-
openstack_dashboard/conf/heat_policy.json | 54 +-
openstack_dashboard/conf/keystone_policy.json | 72 +-
openstack_dashboard/conf/neutron_policy.json | 186 +-
openstack_dashboard/conf/nova_policy.json | 602 +-
.../contrib/developer/resource_browser/__init__.py | 0
.../contrib/developer/resource_browser/panel.py | 22 +
.../contrib/developer/resource_browser/urls.py | 20 +
.../contrib/developer/resource_browser/views.py | 19 +
.../static/dashboard/developer/developer.module.js | 3 +-
.../rb-resource-panel.controller.js | 56 +
.../rb-resource-panel.directive.js | 47 +
.../rb-resource-panel/rb-resource-panel.html | 4 +
.../resource-browser-item.controller.js | 222 +
.../resource-browser-item.directive.js | 47 +
.../resource-browser/resource-browser-item.html | 188 +
.../resource-browser.controller.js | 41 +
.../resource-browser/resource-browser.directive.js | 47 +
.../resource-browser/resource-browser.html | 7 +
.../resource-browser/resource-browser.module.js | 46 +
.../resource-browser.module.spec.js | 25 +
.../developer/resource-browser/resources.html | 1 +
.../theme-preview/theme-preview.directive.js | 126 +-
.../developer/theme-preview/theme-preview.html | 560 +-
.../developer/theme-preview/theme-preview.scss | 18 +-
.../contrib/developer/theme_preview/urls.py | 6 +-
.../dashboards/admin/aggregates/panel.py | 6 +-
.../dashboards/admin/aggregates/tables.py | 6 +-
.../dashboards/admin/aggregates/urls.py | 6 +-
openstack_dashboard/dashboards/admin/dashboard.py | 17 +-
.../dashboards/admin/defaults/tables.py | 5 +
.../dashboards/admin/defaults/urls.py | 7 +-
.../dashboards/admin/flavors/tables.py | 8 +-
.../dashboards/admin/flavors/urls.py | 6 +-
.../dashboards/admin/flavors/workflows.py | 24 +-
.../dashboards/admin/floating_ips/__init__.py | 0
.../dashboards/admin/floating_ips/forms.py | 64 +
.../dashboards/admin/floating_ips/panel.py | 30 +
.../dashboards/admin/floating_ips/tables.py | 91 +
.../templates/floating_ips/_allocate.html | 9 +
.../templates/floating_ips/allocate.html | 7 +
.../templates/floating_ips/detail.html | 48 +
.../floating_ips/templates/floating_ips/index.html | 7 +
.../dashboards/admin/floating_ips/urls.py | 26 +
.../dashboards/admin/floating_ips/views.py | 189 +
.../dashboards/admin/hypervisors/compute/forms.py | 4 +-
.../dashboards/admin/hypervisors/compute/tables.py | 25 +-
.../dashboards/admin/hypervisors/compute/urls.py | 6 +-
.../dashboards/admin/hypervisors/compute/views.py | 46 +-
.../dashboards/admin/hypervisors/panel.py | 1 +
.../dashboards/admin/hypervisors/tables.py | 12 +-
.../hypervisors/templates/hypervisors/detail.html | 5 +-
.../hypervisors/templates/hypervisors/index.html | 6 +-
.../dashboards/admin/hypervisors/urls.py | 6 +-
.../dashboards/admin/hypervisors/views.py | 5 +-
.../dashboards/admin/images/tables.py | 7 +-
.../dashboards/admin/images/urls.py | 28 +-
.../dashboards/admin/images/views.py | 30 +-
.../dashboards/admin/info/tables.py | 49 +-
openstack_dashboard/dashboards/admin/info/tabs.py | 25 +-
.../info/templates/info/_cell_endpoints_v2.html | 9 +
.../info/templates/info/_cell_endpoints_v3.html | 6 +
.../admin/info/templates/info/index.html | 2 +-
openstack_dashboard/dashboards/admin/info/urls.py | 7 +-
.../dashboards/admin/instances/forms.py | 15 +-
.../dashboards/admin/instances/panel.py | 1 +
.../dashboards/admin/instances/tables.py | 16 +-
.../dashboards/admin/instances/urls.py | 14 +-
.../dashboards/admin/instances/views.py | 30 +-
.../dashboards/admin/metadata_defs/constants.py | 2 +
.../dashboards/admin/metadata_defs/forms.py | 30 +-
.../dashboards/admin/metadata_defs/panel.py | 2 +
.../dashboards/admin/metadata_defs/tables.py | 47 +-
.../templates/metadata_defs/_update.html | 18 +
.../templates/metadata_defs/resource_types.html | 4 +-
.../templates/metadata_defs/update.html | 7 +
.../dashboards/admin/metadata_defs/urls.py | 7 +-
.../dashboards/admin/metadata_defs/views.py | 45 +-
.../dashboards/admin/metering/forms.py | 5 +-
.../admin/metering/templates/metering/stats.html | 12 +-
.../dashboards/admin/metering/urls.py | 7 +-
.../dashboards/admin/networks/agents/forms.py | 2 +-
.../dashboards/admin/networks/agents/tables.py | 7 +-
.../dashboards/admin/networks/agents/tabs.py | 45 +
.../dashboards/admin/networks/forms.py | 209 +-
.../admin/networks/ports/extensions/__init__.py | 0
.../extensions/allowed_address_pairs/__init__.py | 0
.../extensions/allowed_address_pairs/forms.py | 21 +
.../extensions/allowed_address_pairs/views.py | 25 +
.../dashboards/admin/networks/ports/forms.py | 146 +-
.../dashboards/admin/networks/ports/tables.py | 14 +-
.../dashboards/admin/networks/ports/tabs.py | 4 +-
.../dashboards/admin/networks/ports/urls.py | 14 +-
.../dashboards/admin/networks/ports/views.py | 6 +-
.../dashboards/admin/networks/subnets/tables.py | 85 +-
.../dashboards/admin/networks/subnets/urls.py | 9 +-
.../dashboards/admin/networks/subnets/views.py | 11 +-
.../dashboards/admin/networks/subnets/workflows.py | 24 +
.../dashboards/admin/networks/tables.py | 27 +-
.../dashboards/admin/networks/urls.py | 14 +-
.../dashboards/admin/networks/views.py | 150 +-
.../dashboards/admin/ngflavors/urls.py | 6 +-
.../dashboards/admin/overview/panel.py | 2 +
.../dashboards/admin/overview/urls.py | 6 +-
.../dashboards/admin/routers/ports/urls.py | 7 +-
.../dashboards/admin/routers/tables.py | 16 +-
.../dashboards/admin/routers/tabs.py | 5 +-
.../dashboards/admin/routers/urls.py | 9 +-
.../dashboards/admin/routers/views.py | 67 +-
.../admin/flavors/table/flavors-table.html | 127 +-
.../dashboards/admin/volumes/snapshots/forms.py | 2 +-
.../dashboards/admin/volumes/snapshots/tables.py | 4 +-
.../dashboards/admin/volumes/snapshots/urls.py | 6 +-
.../dashboards/admin/volumes/tabs.py | 85 +-
.../volumes/snapshots/_update_status.html | 2 +-
.../volumes/volume_types/_create_qos_spec.html | 2 +-
.../volumes/volume_types/_create_volume_type.html | 2 +-
.../volume_types/_edit_qos_spec_consumer.html | 2 +-
.../volumes/volume_types/_update_volume_type.html | 2 +-
.../volume_encryption_type_detail.html | 6 +-
.../templates/volumes/volumes/_manage_volume.html | 2 +-
.../templates/volumes/volumes/_migrate_volume.html | 2 +-
.../volumes/volumes/_unmanage_volume.html | 2 +-
.../templates/volumes/volumes/_update_status.html | 2 +-
.../dashboards/admin/volumes/urls.py | 6 +-
.../admin/volumes/volume_types/extras/urls.py | 8 +-
.../admin/volumes/volume_types/extras/views.py | 7 +
.../dashboards/admin/volumes/volume_types/forms.py | 40 +-
.../admin/volumes/volume_types/qos_specs/urls.py | 8 +-
.../admin/volumes/volume_types/tables.py | 59 +-
.../dashboards/admin/volumes/volume_types/urls.py | 7 +-
.../dashboards/admin/volumes/volume_types/views.py | 1 +
.../dashboards/admin/volumes/volumes/forms.py | 13 +-
.../dashboards/admin/volumes/volumes/tables.py | 24 +-
.../dashboards/admin/volumes/volumes/urls.py | 8 +-
.../dashboards/identity/domains/tables.py | 2 +-
.../dashboards/identity/domains/urls.py | 6 +-
.../dashboards/identity/domains/workflows.py | 9 +-
.../dashboards/identity/groups/tables.py | 24 +-
.../identity/groups/templates/groups/_update.html | 2 +-
.../dashboards/identity/groups/urls.py | 6 +-
.../dashboards/identity/groups/views.py | 5 +-
.../identity/identity_providers/protocols/forms.py | 2 +-
.../identity_providers/protocols/tables.py | 4 -
.../identity/identity_providers/protocols/urls.py | 7 +-
.../dashboards/identity/identity_providers/urls.py | 7 +-
.../dashboards/identity/mappings/urls.py | 7 +-
.../dashboards/identity/ngusers/panel.py | 5 -
.../dashboards/identity/ngusers/urls.py | 6 +-
.../dashboards/identity/projects/tables.py | 81 +-
.../templates/projects/_detail_overview.html | 6 +
.../projects/templates/projects/detail.html | 5 +-
.../dashboards/identity/projects/urls.py | 6 +-
.../dashboards/identity/projects/views.py | 21 +-
.../dashboards/identity/projects/workflows.py | 61 +-
.../dashboards/identity/roles/tables.py | 10 +-
.../dashboards/identity/roles/urls.py | 7 +-
.../dashboards/identity/roles/views.py | 4 +-
.../identity/users/table/table.controller.js | 2 +-
.../identity/users/table/table.controller.spec.js | 1 +
.../dashboard/identity/users/table/table.html | 2 -
.../dashboards/identity/users/forms.py | 52 +-
.../dashboards/identity/users/tables.py | 92 +-
.../users/templates/users/_detail_overview.html | 10 +-
.../identity/users/templates/users/detail.html | 5 +-
.../dashboards/identity/users/urls.py | 10 +-
.../dashboards/identity/users/views.py | 18 +-
.../access_and_security/api_access/tables.py | 5 +-
.../project/access_and_security/api_access/urls.py | 6 +-
.../access_and_security/api_access/views.py | 12 +-
.../access_and_security/floating_ips/forms.py | 2 +-
.../access_and_security/floating_ips/tables.py | 41 +-
.../access_and_security/floating_ips/urls.py | 8 +-
.../access_and_security/floating_ips/workflows.py | 11 +-
.../project/access_and_security/keypairs/forms.py | 5 +-
.../project/access_and_security/keypairs/urls.py | 6 +-
.../project/access_and_security/keypairs/views.py | 2 +
.../access_and_security/security_groups/forms.py | 42 +-
.../access_and_security/security_groups/tables.py | 40 +-
.../access_and_security/security_groups/urls.py | 6 +-
.../api_access/openrc.sh.template | 5 +-
.../api_access/openrc_v2.sh.template | 6 +-
.../access_and_security/keypairs/detail.html | 8 +-
.../access_and_security/keypairs/download.html | 4 +-
.../security_groups/detail.html | 6 +-
.../dashboards/project/access_and_security/urls.py | 6 +-
.../dashboards/project/containers/forms.py | 4 +-
.../templates/containers/_container_loader.html | 4 +-
.../containers/templates/containers/ngindex.html | 8 +
.../dashboards/project/containers/urls.py | 13 +-
.../dashboards/project/firewalls/forms.py | 26 +-
.../dashboards/project/firewalls/tables.py | 3 +-
.../templates/firewalls/_update_rule_help.html | 6 +-
.../dashboards/project/firewalls/urls.py | 7 +-
.../dashboards/project/firewalls/views.py | 4 -
.../dashboards/project/firewalls/workflows.py | 14 +-
.../dashboards/project/images/images/forms.py | 128 +-
.../dashboards/project/images/images/tables.py | 24 +-
.../dashboards/project/images/images/urls.py | 26 +-
.../dashboards/project/images/images/views.py | 10 +
.../dashboards/project/images/snapshots/urls.py | 6 +-
.../images/templates/images/images/_create.html | 16 +-
.../dashboards/project/images/urls.py | 21 +-
.../dashboards/project/images/utils.py | 5 +-
.../dashboards/project/images/views.py | 11 +
.../dashboards/project/instances/forms.py | 149 +-
.../dashboards/project/instances/tables.py | 127 +-
.../dashboards/project/instances/tabs.py | 2 +-
.../templates/instances/_attach_volume.html | 7 +
.../templates/instances/_detach_volume.html | 7 +
.../templates/instances/_detail_console.html | 6 +-
.../templates/instances/_detail_overview.html | 2 +-
.../templates/instances/_flavors_and_quotas.html | 10 +-
.../templates/instances/attach_volume.html | 11 +
.../templates/instances/detach_volume.html | 11 +
.../dashboards/project/instances/urls.py | 24 +-
.../dashboards/project/instances/utils.py | 28 +
.../dashboards/project/instances/views.py | 91 +-
.../project/instances/workflows/create_instance.py | 83 +-
.../project/instances/workflows/resize_instance.py | 11 +-
.../dashboards/project/loadbalancers/forms.py | 36 +-
.../dashboards/project/loadbalancers/panel.py | 5 +
.../dashboards/project/loadbalancers/tables.py | 8 +-
.../templates/loadbalancers/_create_pool_help.html | 23 +-
.../templates/loadbalancers/_create_vip_help.html | 9 +-
.../dashboards/project/loadbalancers/urls.py | 7 +-
.../dashboards/project/loadbalancers/views.py | 6 +-
.../dashboards/project/loadbalancers/workflows.py | 96 +-
.../dashboards/project/network_topology/tabs.py | 42 +
.../templates/network_topology/_actions_list.html | 53 +
.../templates/network_topology/_graph_view.html | 23 +
.../templates/network_topology/_svg_element.html | 102 +
.../templates/network_topology/_topology_view.html | 20 +
.../client_side/_balloon_container.html | 9 +-
.../templates/network_topology/index.html | 39 +-
.../dashboards/project/network_topology/urls.py | 7 +-
.../dashboards/project/network_topology/utils.py | 50 +
.../dashboards/project/network_topology/views.py | 68 +-
.../dashboards/project/networks/forms.py | 17 +-
.../project/networks/ports/extensions/__init__.py | 0
.../extensions/allowed_address_pairs/__init__.py | 0
.../extensions/allowed_address_pairs/forms.py | 75 +
.../extensions/allowed_address_pairs/tables.py | 96 +
.../ports/extensions/allowed_address_pairs/tabs.py | 51 +
.../extensions/allowed_address_pairs/views.py | 47 +
.../dashboards/project/networks/ports/forms.py | 59 +-
.../dashboards/project/networks/ports/tables.py | 7 +-
.../dashboards/project/networks/ports/tabs.py | 28 +-
.../dashboards/project/networks/ports/urls.py | 15 +-
.../dashboards/project/networks/ports/views.py | 6 +-
.../dashboards/project/networks/subnets/tables.py | 15 +-
.../dashboards/project/networks/subnets/tabs.py | 25 +
.../dashboards/project/networks/subnets/urls.py | 10 +-
.../dashboards/project/networks/subnets/views.py | 23 +-
.../project/networks/subnets/workflows.py | 18 +-
.../dashboards/project/networks/tables.py | 30 +-
.../dashboards/project/networks/tabs.py | 70 +
.../networks/templates/networks/_create.html | 19 -
.../templates/networks/_detail_overview.html | 20 +-
.../networks/templates/networks/create.html | 16 -
.../networks/templates/networks/detail.html | 21 +-
.../templates/networks/ports/_add_addresspair.html | 9 +
.../templates/networks/ports/_detail_overview.html | 2 +-
.../templates/networks/ports/add_addresspair.html | 7 +
.../networks/subnets/_detail_overview.html | 33 +-
.../dashboards/project/networks/urls.py | 15 +-
.../dashboards/project/networks/views.py | 69 +-
.../dashboards/project/networks/workflows.py | 79 +-
.../dashboards/project/ngdetails/__init__.py | 0
.../dashboards/project/ngdetails/panel.py | 25 +
.../dashboards/project/ngdetails/urls.py | 22 +
.../dashboards/project/ngdetails/views.py | 19 +
.../dashboards/project/ngimages/__init__.py | 0
.../dashboards/project/ngimages/panel.py | 23 -
.../project/ngimages/templates/ngimages/index.html | 15 -
.../dashboards/project/ngimages/urls.py | 24 -
.../dashboards/project/ngimages/views.py | 19 -
.../dashboards/project/ngvolumes/__init__.py | 0
.../dashboards/project/ngvolumes/panel.py | 23 +
.../dashboards/project/ngvolumes/urls.py | 22 +
.../dashboards/project/ngvolumes/views.py | 19 +
.../dashboards/project/overview/panel.py | 1 +
.../dashboards/project/overview/urls.py | 7 +-
.../routers/extensions/extraroutes/views.py | 4 +-
.../routers/extensions/routerrules/__init__.py | 0
.../routers/extensions/routerrules/forms.py | 97 -
.../routers/extensions/routerrules/rulemanager.py | 103 -
.../routers/extensions/routerrules/tables.py | 79 -
.../project/routers/extensions/routerrules/tabs.py | 227 -
.../routers/extensions/routerrules/views.py | 59 -
.../dashboards/project/routers/forms.py | 62 +-
.../dashboards/project/routers/ports/forms.py | 4 +-
.../dashboards/project/routers/ports/urls.py | 7 +-
.../dashboards/project/routers/tables.py | 21 +-
.../dashboards/project/routers/tabs.py | 11 +-
.../templates/routers/_detail_overview.html | 39 +
.../routers/extensions/routerrules/_create.html | 23 -
.../routers/extensions/routerrules/create.html | 7 -
.../routers/extensions/routerrules/grid.html | 147 -
.../dashboards/project/routers/urls.py | 11 +-
.../dashboards/project/routers/views.py | 5 +-
.../dashboards/project/stacks/forms.py | 26 +-
.../project/stacks/resource_types/panel.py | 1 +
.../project/stacks/resource_types/tables.py | 18 +-
.../project/stacks/resource_types/tabs.py | 6 -
.../project/stacks/resource_types/urls.py | 6 +-
.../dashboards/project/stacks/tables.py | 20 +-
.../dashboards/project/stacks/tabs.py | 29 +-
.../project/stacks/template_versions/__init__.py | 0
.../project/stacks/template_versions/panel.py | 23 +
.../project/stacks/template_versions/tables.py | 51 +
.../project/stacks/template_versions/tabs.py | 51 +
.../stacks.template_versions/_details.html | 3 +
.../templates/stacks.template_versions/index.html | 7 +
.../project/stacks/template_versions/urls.py | 24 +
.../project/stacks/template_versions/views.py | 61 +
.../stacks/templates/stacks/_preview_details.html | 2 +-
.../dashboards/project/stacks/urls.py | 6 +-
.../dashboard/project/containers/_containers.scss | 9 +
.../project/containers/containers-model.service.js | 155 +-
.../containers/containers-model.service.spec.js | 186 +-
.../project/containers/containers.controller.js | 12 +-
.../dashboard/project/containers/containers.html | 4 +-
.../project/containers/containers.module.js | 5 +
.../project/containers/create-container-modal.html | 23 +-
.../project/containers/create-folder-modal.html | 28 +-
.../project/containers/delete-objects-modal.html | 39 +
.../containers/delete-objects.controller.js | 64 +
.../containers/delete-objects.controller.spec.js | 110 +
.../project/containers/edit-object-controller.js | 48 +
.../containers/edit-object-controller.spec.js | 55 +
.../project/containers/edit-object-modal.html | 40 +
.../project/containers/file-change-directive.js | 25 +
.../project/containers/object-details-modal.html | 12 +-
.../containers/object-name-exists.directive.js | 74 +
.../object-name-exists.directive.spec.js | 69 +
.../containers/objects-batch-actions.service.js | 198 +
.../objects-batch-actions.service.spec.js | 245 +
.../containers/objects-row-actions.service.js | 198 +-
.../containers/objects-row-actions.service.spec.js | 137 +-
.../project/containers/objects.controller.js | 207 +-
.../project/containers/objects.controller.spec.js | 252 +-
.../dashboard/project/containers/objects.html | 106 +-
.../project/containers/select-container.html | 13 +-
.../project/containers/upload-object-controller.js | 20 +-
.../containers/upload-object-controller.spec.js | 27 +-
.../project/containers/upload-object-modal.html | 42 +-
.../dashboard/project/images/images.module.js | 46 -
.../dashboard/project/images/images.module.spec.js | 44 -
.../static/dashboard/project/project.module.js | 4 +-
.../configuration/configuration.controller.js | 1 +
.../configuration/configuration.html | 12 +-
.../launch-instance/details/details.controller.js | 2 +-
.../workflow/launch-instance/details/details.html | 21 +-
.../launch-instance/flavor/flavor.controller.js | 33 +-
.../workflow/launch-instance/flavor/flavor.html | 229 +-
.../workflow/launch-instance/flavor/flavor.spec.js | 2 +-
.../flavor/select-flavor-table.directive.js | 155 -
.../flavor/select-flavor-table.html | 131 -
.../keypair/create-keypair.controller.js | 8 +-
.../launch-instance/keypair/create-keypair.html | 2 +-
.../keypair/import-keypair.controller.js | 11 +-
.../keypair/import-keypair.controller.spec.js | 11 +-
.../launch-instance/keypair/import-keypair.html | 6 +-
.../launch-instance/keypair/keypair-details.html | 4 +-
.../launch-instance/keypair/keypair.controller.js | 41 +-
.../keypair/keypair.controller.spec.js | 22 +-
.../workflow/launch-instance/keypair/keypair.html | 114 +-
.../launch-instance-modal.service.spec.js | 2 +-
.../launch-instance-model.service.js | 251 +-
.../launch-instance-model.service.spec.js | 546 +-
.../launch-instance-workflow.service.js | 23 +-
.../launch-instance-workflow.service.spec.js | 33 +-
.../launch-instance/launch-instance.module.js | 23 +-
.../launch-instance/metadata/metadata.html | 2 +-
.../workflow/launch-instance/network/network.html | 181 +-
.../launch-instance/networkports/ports.html | 22 +-
.../scheduler-hints/scheduler-hints.controller.js | 49 +
.../scheduler-hints/scheduler-hints.help.html | 3 +
.../scheduler-hints/scheduler-hints.html | 12 +
.../scheduler-hints/scheduler-hints.spec.js | 56 +
.../security-groups/security-group-details.html | 2 +-
.../security-groups/security-groups.controller.js | 18 +-
.../security-groups/security-groups.help.html | 2 +-
.../security-groups/security-groups.html | 26 +-
.../server-groups/server-group-details.html | 13 +
.../server-groups/server-groups.controller.js | 68 +
.../server-groups/server-groups.help.html | 11 +
.../server-groups/server-groups.html | 73 +
.../server-groups/server-groups.spec.js | 74 +
.../launch-instance/source/source-details.html | 43 +-
.../launch-instance/source/source.controller.js | 148 +-
.../source/source.controller.spec.js | 62 +-
.../launch-instance/source/source.help.html | 15 +-
.../workflow/launch-instance/source/source.html | 378 +-
.../dashboards/project/volumes/backups/forms.py | 14 +-
.../dashboards/project/volumes/backups/tables.py | 11 +-
.../dashboards/project/volumes/backups/urls.py | 10 +-
.../project/volumes/cg_snapshots/__init__.py | 0
.../project/volumes/cg_snapshots/forms.py | 76 +
.../project/volumes/cg_snapshots/tables.py | 116 +
.../project/volumes/cg_snapshots/tabs.py | 34 +
.../project/volumes/cg_snapshots/urls.py | 24 +
.../project/volumes/cg_snapshots/views.py | 138 +
.../dashboards/project/volumes/cgroups/forms.py | 170 +
.../dashboards/project/volumes/cgroups/tables.py | 94 +-
.../dashboards/project/volumes/cgroups/urls.py | 18 +-
.../dashboards/project/volumes/cgroups/views.py | 157 +-
.../project/volumes/cgroups/workflows.py | 124 +-
.../dashboards/project/volumes/snapshots/tables.py | 11 +-
.../dashboards/project/volumes/snapshots/urls.py | 6 +-
.../dashboards/project/volumes/tabs.py | 40 +-
.../volumes/templates/volumes/_volume_limits.html | 63 +
.../templates/volumes/cg_snapshots/_create.html | 9 +
.../volumes/cg_snapshots/_detail_overview.html | 46 +
.../templates/volumes/cg_snapshots/_update.html | 7 +
.../templates/volumes/cg_snapshots/create.html | 7 +
.../templates/volumes/cg_snapshots/update.html | 7 +
.../templates/volumes/cgroups/_clone_cgroup.html | 9 +
.../volumes/cgroups/_create_snapshot.html | 10 +
.../volumes/templates/volumes/cgroups/_delete.html | 5 +-
.../templates/volumes/cgroups/_remove_vols.html | 7 +
.../volumes/cgroups/_snapshot_limits.html | 42 +
.../templates/volumes/cgroups/clone_cgroup.html | 7 +
.../templates/volumes/cgroups/create_snapshot.html | 7 +
.../templates/volumes/cgroups/remove_vols.html | 7 +
.../volumes/templates/volumes/volumes/_attach.html | 2 -
.../volumes/volumes/_detail_overview.html | 8 +-
.../volumes/templates/volumes/volumes/_limits.html | 8 +-
.../volumes/templates/volumes/volumes/_retype.html | 6 +-
.../templates/volumes/volumes/_show_transfer.html | 6 +-
.../volumes/volumes/_upload_to_image.html | 6 +-
.../volumes/volumes/encryption_detail.html | 6 +-
.../dashboards/project/volumes/test.py | 13 +-
.../dashboards/project/volumes/urls.py | 29 +-
.../dashboards/project/volumes/volumes/forms.py | 54 +-
.../dashboards/project/volumes/volumes/tables.py | 39 +-
.../dashboards/project/volumes/volumes/urls.py | 11 +-
.../dashboards/project/volumes/volumes/views.py | 39 +-
.../dashboards/project/vpn/tables.py | 97 +-
.../vpn/templates/vpn/_add_ike_policy_help.html | 20 +
.../vpn/templates/vpn/_add_ipsec_policy_help.html | 19 +
.../vpn/templates/vpn/_add_vpn_service_help.html | 7 +
openstack_dashboard/dashboards/project/vpn/urls.py | 7 +-
.../dashboards/project/vpn/workflows.py | 62 +-
.../dashboards/settings/password/forms.py | 2 +-
.../dashboards/settings/password/urls.py | 7 +-
.../dashboards/settings/password/views.py | 1 -
.../dashboards/settings/user/forms.py | 15 +-
.../dashboards/settings/user/urls.py | 7 +-
.../dashboards/settings/user/views.py | 1 -
openstack_dashboard/django_pyscss_fix/__init__.py | 2 +-
.../enabled/_1041_project_ng_volumes_panel.py | 30 +
.../enabled/_1050_project_images_panel.py | 14 +
.../enabled/_1051_project_ng_images_panel.py | 30 -
.../enabled/_1070_project_ng_details_panel.py | 30 +
.../_1640_project_template_versions_panel.py | 10 +
.../enabled/_2111_admin_floating_ips_panel.py | 10 +
.../enabled/_9020_resource_browser.py | 20 +
openstack_dashboard/karma.conf.js | 16 +-
.../_10_set_custom_theme.py.example | 2 +-
.../_11_toggle_angular_features.py.example | 1 +
.../local/local_settings.py.example | 168 +-
.../locale/as/LC_MESSAGES/django.po | 361 +-
.../locale/bn_IN/LC_MESSAGES/django.po | 355 +-
.../locale/brx/LC_MESSAGES/django.po | 353 +-
.../locale/cs/LC_MESSAGES/django.po | 3526 +++--
.../locale/cs/LC_MESSAGES/djangojs.po | 1388 +-
.../locale/de/LC_MESSAGES/django.po | 2220 +--
.../locale/de/LC_MESSAGES/djangojs.po | 1135 +-
openstack_dashboard/locale/django.pot | 15287 -------------------
openstack_dashboard/locale/djangojs.pot | 2993 ----
.../locale/en_AU/LC_MESSAGES/django.po | 2656 +++-
.../locale/en_AU/LC_MESSAGES/djangojs.po | 2130 ++-
.../locale/en_GB/LC_MESSAGES/django.po | 2057 ++-
.../locale/en_GB/LC_MESSAGES/djangojs.po | 1305 +-
.../locale/es/LC_MESSAGES/django.po | 1589 +-
.../locale/es/LC_MESSAGES/djangojs.po | 213 +-
.../locale/fr/LC_MESSAGES/django.po | 1228 +-
.../locale/fr/LC_MESSAGES/djangojs.po | 651 +-
.../locale/gu/LC_MESSAGES/django.po | 354 +-
.../locale/hi/LC_MESSAGES/django.po | 292 +-
.../locale/id/LC_MESSAGES/django.po | 8970 +++++++++++
.../locale/id/LC_MESSAGES/djangojs.po | 3289 ++++
.../locale/it/LC_MESSAGES/django.po | 1774 ++-
.../locale/it/LC_MESSAGES/djangojs.po | 1301 +-
.../locale/ja/LC_MESSAGES/django.po | 2154 +--
.../locale/ja/LC_MESSAGES/djangojs.po | 1121 +-
.../locale/kn/LC_MESSAGES/django.po | 369 +-
.../locale/ko_KR/LC_MESSAGES/django.po | 2658 ++--
.../locale/ko_KR/LC_MESSAGES/djangojs.po | 1181 +-
.../locale/kok/LC_MESSAGES/django.po | 351 +-
.../locale/ks/LC_MESSAGES/django.po | 355 +-
.../locale/mai/LC_MESSAGES/django.po | 356 +-
.../locale/mni/LC_MESSAGES/django.po | 365 +-
.../locale/mr/LC_MESSAGES/django.po | 355 +-
.../locale/ne/LC_MESSAGES/django.po | 349 +-
.../locale/nl_NL/LC_MESSAGES/django.po | 206 +-
.../locale/pa_IN/LC_MESSAGES/django.po | 368 +-
.../locale/pl_PL/LC_MESSAGES/django.po | 709 +-
.../locale/pl_PL/LC_MESSAGES/djangojs.po | 829 -
.../locale/pt_BR/LC_MESSAGES/django.po | 1315 +-
.../locale/pt_BR/LC_MESSAGES/djangojs.po | 470 +-
.../locale/ru/LC_MESSAGES/django.po | 2243 ++-
.../locale/ru/LC_MESSAGES/djangojs.po | 1642 +-
.../locale/sr/LC_MESSAGES/django.po | 181 +-
.../locale/ta/LC_MESSAGES/django.po | 366 +-
.../locale/tr_TR/LC_MESSAGES/django.po | 707 +-
.../locale/tr_TR/LC_MESSAGES/djangojs.po | 1017 --
.../locale/ur/LC_MESSAGES/django.po | 365 +-
.../locale/zh_CN/LC_MESSAGES/django.po | 3434 +++--
.../locale/zh_CN/LC_MESSAGES/djangojs.po | 1394 +-
.../locale/zh_TW/LC_MESSAGES/django.po | 1525 +-
.../locale/zh_TW/LC_MESSAGES/djangojs.po | 1212 +-
.../management/commands/make_web_conf.py | 163 +-
.../management/commands/migrate_settings.py | 12 +-
openstack_dashboard/policy.py | 1 +
openstack_dashboard/settings.py | 179 +-
openstack_dashboard/static/app/app.module.js | 16 +-
.../static/app/core/conf/conf.module.js | 138 +
openstack_dashboard/static/app/core/core.module.js | 87 +-
.../static/app/core/images/_images.scss | 8 -
.../app/core/images/actions/actions.module.js | 32 +-
.../app/core/images/actions/actions.module.spec.js | 50 +
.../core/images/actions/create-volume.service.js | 32 +-
.../images/actions/create-volume.service.spec.js | 6 +-
.../core/images/actions/create.action.service.js | 133 +
.../images/actions/create.action.service.spec.js | 255 +
.../core/images/actions/create.workflow.service.js | 58 +
.../images/actions/create.workflow.service.spec.js | 56 +
.../core/images/actions/delete-image.service.js | 30 +-
.../images/actions/delete-image.service.spec.js | 45 +-
.../app/core/images/actions/edit.action.service.js | 159 +
.../images/actions/edit.action.service.spec.js | 190 +
.../core/images/actions/edit.workflow.service.js | 57 +
.../images/actions/edit.workflow.service.spec.js | 54 +
.../core/images/actions/launch-instance.service.js | 11 +-
.../images/actions/launch-instance.service.spec.js | 1 -
.../actions/update-metadata.action.service.js | 33 +-
.../actions/update-metadata.action.service.spec.js | 9 -
.../static/app/core/images/admin-panel.html | 5 +
.../core/images/detail/image-detail.controller.js | 69 -
.../images/detail/image-detail.controller.spec.js | 88 -
.../app/core/images/detail/image-detail.html | 82 -
.../app/core/images/details/details.module.js | 52 +
.../static/app/core/images/details/drawer.html | 21 +
.../app/core/images/details/overview.controller.js | 62 +
.../images/details/overview.controller.spec.js | 55 +
.../static/app/core/images/details/overview.html | 44 +
.../app/core/images/filters/image-status.filter.js | 49 -
.../images/filters/image-status.filter.spec.js | 40 -
.../app/core/images/filters/image-type.filter.js | 46 -
.../core/images/filters/image-type.filter.spec.js | 48 -
.../core/images/filters/image-visibility.filter.js | 16 +-
.../images/filters/image-visibility.filter.spec.js | 14 +-
.../static/app/core/images/images.module.js | 314 +-
.../static/app/core/images/images.module.spec.js | 88 +-
.../static/app/core/images/images.service.js | 135 +
.../static/app/core/images/images.service.spec.js | 115 +
.../static/app/core/images/panel.html | 4 +
.../steps/create-image/create-image.controller.js | 177 +
.../create-image/create-image.controller.spec.js | 246 +
.../steps/create-image/create-image.help.html | 26 +
.../images/steps/create-image/create-image.html | 263 +
.../create-volume/create-volume.controller.js | 28 +-
.../create-volume/create-volume.controller.spec.js | 53 +-
.../steps/create-volume/create-volume.help.html | 22 +-
.../images/steps/create-volume/create-volume.html | 134 +-
.../steps/edit-image/edit-image.controller.js | 105 +
.../steps/edit-image/edit-image.controller.spec.js | 153 +
.../images/steps/edit-image/edit-image.help.html | 16 +
.../core/images/steps/edit-image/edit-image.html | 150 +
.../update-metadata/update-metadata.controller.js | 100 +
.../update-metadata.controller.spec.js | 154 +
.../update-metadata/update-metadata.help.html | 16 +
.../steps/update-metadata/update-metadata.html | 6 +
.../static/app/core/images/summary.controller.js | 55 +
.../app/core/images/summary.controller.spec.js | 49 +
.../static/app/core/images/table/images-table.html | 159 -
.../app/core/images/table/images.controller.js | 130 -
.../core/images/table/images.controller.spec.js | 149 -
.../core/images/workflows/create-volume.service.js | 6 +-
.../app/core/metadata/modal/modal.controller.js | 22 +-
.../core/metadata/modal/modal.controller.spec.js | 38 +-
.../static/app/core/metadata/modal/modal.html | 8 +-
.../cinder-extensions.service.js | 6 +-
.../core/openstack-service-api/cinder.service.js | 100 +-
.../openstack-service-api/cinder.service.spec.js | 27 +
.../core/openstack-service-api/common-test.mock.js | 12 +-
.../openstack-service-api/extensions.service.js | 4 +-
.../core/openstack-service-api/glance.service.js | 87 +-
.../openstack-service-api/glance.service.spec.js | 148 +-
.../app/core/openstack-service-api/heat.service.js | 17 +-
.../keypair-download.service.js | 3 +
.../core/openstack-service-api/keystone.service.js | 36 +-
.../openstack-service-api/keystone.service.spec.js | 41 +
.../core/openstack-service-api/network.service.js | 23 +-
.../neutron-extensions.service.js | 6 +-
.../neutron-extensions.service.spec.js | 16 +-
.../core/openstack-service-api/neutron.service.js | 76 +-
.../openstack-service-api/neutron.service.spec.js | 21 +
.../nova-extensions.service.js | 6 +-
.../app/core/openstack-service-api/nova.service.js | 435 +-
.../openstack-service-api/nova.service.spec.js | 201 +
.../openstack-service-api.module.js | 2 +-
.../core/openstack-service-api/policy.service.js | 52 +-
.../openstack-service-api/policy.service.spec.js | 67 +-
.../security-group.service.js | 8 +-
.../service-catalog.service.js | 14 +-
.../core/openstack-service-api/settings.service.js | 16 +-
.../core/openstack-service-api/swift.service.js | 145 +-
.../openstack-service-api/swift.service.spec.js | 39 +-
.../openstack-service-api/user-session.service.js | 6 +-
.../static/app/core/workflow/decorator.service.js | 21 +-
.../app/core/workflow/decorator.service.spec.js | 11 +-
.../static/app/core/workflow/workflow.module.js | 2 -
.../static/app/core/workflow/workflow.service.js | 12 +-
.../static/app/redirect.controller.js | 2 +-
.../static/app/redirect.controller.spec.js | 3 +-
.../static/app/resources/resources.module.js | 88 +
.../static/dashboard/scss/_bootstrap_helpers.scss | 37 +
.../static/dashboard/scss/_debt.scss | 77 +-
.../static/dashboard/scss/_layout.scss | 6 +-
.../static/dashboard/scss/_mixins.scss | 15 +
.../static/dashboard/scss/_util.scss | 2 +-
.../static/dashboard/scss/_variables.scss | 17 +-
.../dashboard/scss/components/_breadcrumbs.scss | 9 +
.../static/dashboard/scss/components/_charts.scss | 1 -
.../dashboard/scss/components/_checkboxes.scss | 4 +-
.../dashboard/scss/components/_dl_lists.scss | 7 +
.../dashboard/scss/components/_dropdowns.scss | 85 +
.../static/dashboard/scss/components/_forms.scss | 18 +-
.../dashboard/scss/components/_help_panel.scss | 4 +-
.../static/dashboard/scss/components/_icons.scss | 9 +
.../static/dashboard/scss/components/_loader.scss | 13 +
.../dashboard/scss/components/_messages.scss | 11 +-
.../static/dashboard/scss/components/_modals.scss | 60 +-
.../static/dashboard/scss/components/_navbar.scss | 11 +
.../scss/components/_network_topology.scss | 6 +-
.../scss/components/_network_topology_svg.scss | 148 +
.../dashboard/scss/components/_pending_bar.scss | 18 -
.../dashboard/scss/components/_pie_charts.scss | 44 +-
.../dashboard/scss/components/_progress_bars.scss | 60 +
.../static/dashboard/scss/components/_quota.scss | 8 +-
.../dashboard/scss/components/_radiobuttons.scss | 36 +
.../static/dashboard/scss/components/_selects.scss | 80 +
.../static/dashboard/scss/components/_sidebar.scss | 2 +-
.../dashboard/scss/components/_table_actions.scss | 73 -
.../static/dashboard/scss/components/_tables.scss | 56 +-
.../static/dashboard/scss/horizon.scss | 14 +-
openstack_dashboard/static_settings.py | 161 -
openstack_dashboard/templates/403.html | 7 +-
openstack_dashboard/templates/_stylesheets.html | 2 +-
openstack_dashboard/templates/angular.html | 16 +
.../templates/angular/angular_templates.html | 5 +
.../templates/angular/angular_templates.js | 11 +
openstack_dashboard/templates/base.html | 10 +-
.../templates/context_selection/_project_list.html | 2 -
.../templates/context_selection/_region_list.html | 4 +-
openstack_dashboard/templates/horizon/_conf.html | 10 +-
.../templates/horizon/_scripts.html | 35 +-
.../templatetags/context_selection.py | 23 +-
openstack_dashboard/test/error_pages_urls.py | 8 +-
openstack_dashboard/test/helpers.py | 78 +-
.../pages/admin/system/defaultspage.py | 110 +
.../pages/admin/system/flavorspage.py | 99 +-
.../pages/admin/system/hostaggregatespage.py | 2 +-
.../pages/admin/system/instancespage.py | 18 +
.../pages/admin/system/routerspage.py | 41 +
.../pages/admin/system/volumes/volumetypespage.py | 19 +
.../pages/identity/projectspage.py | 39 +-
.../compute/access_and_security/apiaccesspage.py | 72 +
.../compute/access_and_security/floatingipspage.py | 4 +-
.../compute/access_and_security/keypairspage.py | 13 +-
.../compute/access_and_security/managerulespage.py | 74 +
.../access_and_security/securitygroupspage.py | 11 +
.../pages/project/compute/imagespage.py | 134 +-
.../pages/project/compute/instancespage.py | 47 +-
.../project/compute/volumes/volumesnapshotspage.py | 11 +-
.../pages/project/compute/volumes/volumespage.py | 133 +-
.../pages/project/network/networkoverviewpage.py | 38 +
.../pages/project/network/networkspage.py | 9 +-
.../pages/project/network/routerinterfacespage.py | 101 +
.../pages/project/network/routeroverviewpage.py | 42 +
.../pages/project/network/routerspage.py | 80 +-
.../pages/project/orchestration/stackspage.py | 99 +
.../pages/settings/changepasswordpage.py | 7 +
openstack_dashboard/test/settings.py | 69 +-
openstack_dashboard/test/test_data/cinder_data.py | 27 +-
openstack_dashboard/test/test_data/exceptions.py | 4 +
openstack_dashboard/test/test_data/glance_data.py | 116 +-
openstack_dashboard/test/test_data/heat_data.py | 35 +
.../test/test_data/keystone_data.py | 21 +-
openstack_dashboard/test/test_data/neutron_data.py | 41 +-
openstack_dashboard/test/test_data/nova_data.py | 72 +-
openstack_dashboard/test/test_data/swift_data.py | 22 +-
.../test/test_panels/another_panel/urls.py | 6 +-
.../test/test_panels/nonloading_panel/urls.py | 6 +-
.../test/test_panels/plugin_panel/urls.py | 6 +-
.../test/test_panels/second_panel/urls.py | 6 +-
openstack_dashboard/test/urls.py | 18 +-
openstack_dashboard/themes/default/_styles.scss | 2 -
openstack_dashboard/themes/default/_variables.scss | 856 +-
.../themes/default/bootstrap/_styles.scss | 7 -
.../themes/default/bootstrap/_variables.scss | 853 --
.../default/bootstrap/components/_dropdowns.scss | 46 -
.../default/bootstrap/components/_forms.scss | 10 -
.../default/bootstrap/components/_navbar.scss | 29 -
.../themes/default/bootstrap/components/_navs.scss | 10 -
.../themes/default/bootstrap/components/_type.scss | 5 -
.../themes/default/horizon/_styles.scss | 51 -
.../themes/default/horizon/_variables.scss | 13 -
.../horizon/components/_breadcrumb_header.scss | 10 -
.../horizon/components/_context_selection.scss | 49 -
.../themes/default/horizon/components/_login.scss | 3 -
.../default/horizon/components/_messages.scss | 29 -
.../themes/default/horizon/components/_navbar.scss | 3 -
.../default/horizon/components/_pie_charts.scss | 12 -
.../themes/default/horizon/components/_quota.scss | 6 -
.../default/horizon/components/_selects.scss | 3 +
.../default/horizon/components/_sidebar.scss | 107 -
.../default/horizon/components/_table_actions.scss | 3 -
.../themes/default/horizon/components/_tables.scss | 28 -
.../themes/material/static/bootstrap/_styles.scss | 2 +-
.../themes/material/static/horizon/_icons.scss | 12 +-
.../themes/material/static/horizon/_styles.scss | 19 +-
.../static/horizon/components/_checkboxes.scss | 1 -
.../static/horizon/components/_dropdowns.scss | 9 +
.../static/horizon/components/_help_panel.scss | 25 +-
.../static/horizon/components/_magic_search.scss | 8 +-
.../static/horizon/components/_progress_bars.scss | 3 +
.../static/horizon/components/_radiobuttons.scss | 30 +
.../static/horizon/components/_selects.scss | 74 +
.../material/static/horizon/components/_trees.scss | 8 +
.../material/templates/horizon/_sidebar.html | 6 +-
.../templates/horizon/client_side/_confirm.html | 22 +
openstack_dashboard/urls.py | 24 +-
openstack_dashboard/usage/base.py | 32 +-
openstack_dashboard/usage/quotas.py | 62 +-
openstack_dashboard/usage/views.py | 1 +
openstack_dashboard/utils/identity.py | 25 -
openstack_dashboard/utils/settings.py | 178 +-
package.json | 24 +-
.../notes/action-results-303c282165b60f47.yaml | 12 +
.../admin-neutron-l3-agents-dd6274467572906b.yaml | 8 +
.../notes/angular-direct-1b156f152590ab93.yaml | 17 +
.../notes/angular-features-d677356f161322d6.yaml | 4 +
.../bp-add-scheduler-hints-77600faec041e134.yaml | 10 +
.../bp-admin-manage-fips-5aa409d3502b031a.yaml | 4 +
...-admin-views-filter-first-5b0d8a02b1271135.yaml | 7 +
.../bp-angular-schema-form-bbe1aedf644b53db.yaml | 7 +
...p-angular-table-directive-1b593f2ad28c2845.yaml | 8 +
...ngular-template-overrides-9f05ffd61367245a.yaml | 11 +
.../notes/bp-cache-templates-4ab00dcda195a03a.yaml | 2 +-
...cinder-consistency-groups-7cc98fda0ff3bb7a.yaml | 13 +
...configurable-boot-sources-4ba89f3b2a927801.yaml | 8 +
releasenotes/notes/bp-dj110-438f26c21f283c46.yaml | 10 +
...glance-large-image-upload-c987dc86bab38761.yaml | 16 +
.../bp-horizon-vendor-split-4451bc1988485957.yaml | 6 +
.../notes/bp-next-steps-4c7064e52d5abcf5.yaml | 6 +
...d-address-pairs-extension-a05c3a864f494b0c.yaml | 6 +
...ict-private-network-input-5e5bd5978b273c62.yaml | 3 +
...prop-for-project-and-user-e8a4578c395a8ade.yaml | 7 +
...pdate-dependencies-newton-3bd257faa37d3dda.yaml | 18 +
.../navigation-improvements-ab101299eb1a8d54.yaml | 10 +
.../notes/bug-123741-4be1aa90b9d44e40.yaml | 6 +
...4-cached-template-loaders-3536f35e11099eba.yaml | 5 +
.../notes/bug-1585682-abd815f290e494d3.yaml | 11 +
.../notes/bug-1588663-6fab83e9d89b20d2.yaml | 4 +
...recate-lbaas-v1-dashboard-1f9c48d7c6997b1f.yaml | 9 +
.../notes/generic-details-4f78452b14005e5b.yaml | 26 +
releasenotes/notes/glance-v2-ba86ba34611f95ce.yaml | 16 +
...bal-class-name-convention-71ff68913c39b800.yaml | 9 +
.../horizon-without-nova-3cd0a84109ed2187.yaml | 9 +
.../notes/hz-select-fixes-c9bfe6a53e0daa20.yaml | 2 +-
.../notes/image-panel-switch-38e9d3716451f9e3.yaml | 13 +
.../notes/ip-availability-be217ba59cc02b40.yaml | 8 +
.../network-type-geneve-71eed4104699754e.yaml | 3 +
.../network-type-midonet-6c78bdfe1e3186a0.yaml | 5 +
.../operation-history-log-64354f66614cb1dd.yaml | 5 +
.../provider-net-config-713f0672c8e49888.yaml | 6 +
...subnet-pool-label-options-9aeaa816ad6cc2f8.yaml | 8 +
.../remove-default-styles-1d8ba7ad46a51381.yaml | 13 +
...scaffolds-from-production-6e52eb1da2a4bc9e.yaml | 8 +
.../notes/remove-inline-edit-63f92054238378d3.yaml | 7 +
.../resource-directives-44629f1116545141.yaml | 14 +
...tting-OVERVIEW_DAYS_RANGE-9b87e8b077952a32.yaml | 11 +
.../table-row-warning-class-2fdb3434440d0c22.yaml | 4 +
.../notes/theme-modal-sizes-924e5835efe9bb79.yaml | 13 +
.../token-delete-disabled-bb50c3cddd315ee6.yaml | 4 +
.../xstatic-settings-cleanup-8de0e2ba00fd43ec.yaml | 11 +
releasenotes/source/index.rst | 3 +-
releasenotes/source/mitaka.rst | 6 +
requirements.txt | 41 +-
setup.cfg | 21 +-
test-requirements.txt | 9 +-
tools/gate/integration/devstack_exports.sh | 6 -
tools/gate/integration/devstack_gate_rc | 4 +
tools/gate/integration/post_test_hook.sh | 22 +-
tools/gate/integration/pre_test_hook.sh | 20 +-
tox.ini | 167 +-
1234 files changed, 88538 insertions(+), 58662 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index a0fa350..2d5a929 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -12 +12 @@ pbr>=1.6 # Apache-2.0
-Babel>=1.3 # BSD
+Babel>=2.3.4 # BSD
@@ -15 +15 @@ Pint>=0.5 # BSD
-django-babel>=0.4.0 # BSD
+django-babel>=0.5.1 # BSD
@@ -17 +17 @@ django-compressor>=2.0 # MIT
-django-openstack-auth>=2.0.0 # Apache-2.0
+django-openstack-auth>=2.4.0 # Apache-2.0
@@ -19,5 +19,4 @@ django-pyscss>=2.0.2 # BSD License (2 clause)
-httplib2>=0.7.5 # MIT
-iso8601>=0.1.9 # MIT
-netaddr!=0.7.16,>=0.7.12 # BSD
-oslo.concurrency>=3.5.0 # Apache-2.0
-oslo.config>=3.7.0 # Apache-2.0
+iso8601>=0.1.11 # MIT
+netaddr!=0.7.16,>=0.7.13 # BSD
+oslo.concurrency>=3.8.0 # Apache-2.0
+oslo.config>=3.14.0 # Apache-2.0
@@ -25 +24 @@ oslo.i18n>=2.1.0 # Apache-2.0
-oslo.policy>=0.5.0 # Apache-2.0
+oslo.policy>=1.9.0 # Apache-2.0
@@ -27,8 +26,8 @@ oslo.serialization>=1.10.0 # Apache-2.0
-oslo.utils>=3.5.0 # Apache-2.0
-pyScss>=1.3.4 # MIT License
-python-ceilometerclient>=2.2.1 # Apache-2.0
-python-cinderclient>=1.3.1 # Apache-2.0
-python-glanceclient>=2.0.0 # Apache-2.0
-python-heatclient>=0.6.0 # Apache-2.0
-python-keystoneclient!=1.8.0,!=2.1.0,>=1.6.0 # Apache-2.0
-python-neutronclient!=4.1.0,>=2.6.0 # Apache-2.0
+oslo.utils>=3.16.0 # Apache-2.0
+pyScss!=1.3.5,>=1.3.4 # MIT License
+python-ceilometerclient>=2.5.0 # Apache-2.0
+python-cinderclient!=1.7.0,!=1.7.1,>=1.6.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-neutronclient>=5.1.0 # Apache-2.0
@@ -42,0 +42 @@ XStatic-Angular-Bootstrap>=0.11.0.2 # MIT License
+XStatic-Angular-FileUpload>=12.0.4.0 # MIT License
@@ -44,0 +45 @@ XStatic-Angular-lrdragndrop>=1.0.2.2 # MIT License
+XStatic-Angular-Schema-Form>=0.8.13.0 # MIT
@@ -58 +59,2 @@ XStatic-JSEncrypt>=2.0.0.2 # MIT License
-XStatic-mdi==1.1.70.1 # SIL OPEN FONT LICENSE Version 1.1
+XStatic-mdi>=1.4.57.0 # SIL OPEN FONT LICENSE Version 1.1
+XStatic-objectpath>=1.2.1.0 # MIT
@@ -61 +63 @@ XStatic-roboto-fontface>=0.4.3.2 # Apache 2.0 License
-XStatic-smart-table>=1.4.5.3 # MIT License
+XStatic-smart-table!=1.4.13.0,>=1.4.5.3 # MIT License
@@ -63,0 +66 @@ XStatic-term.js>=0.0.4 # MIT License
+XStatic-tv4>=1.2.7.0 # MIT
diff --git a/test-requirements.txt b/test-requirements.txt
index d89482b..2096135 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -13,2 +13,2 @@ coverage>=3.6 # Apache-2.0
-django-nose>=1.2 # BSD
-mock>=1.2 # BSD
+django-nose>=1.4.4 # BSD
+mock>=2.0 # BSD
@@ -23 +23,2 @@ oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0
-reno>=0.1.1 # Apache2
+reno>=1.8.0 # Apache2
+requests>=2.10.0 # Apache-2.0
@@ -25 +26 @@ selenium>=2.50.1 # Apache-2.0
-sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 # BSD
+sphinx!=1.3b1,<1.3,>=1.2.1 # BSD
1
0
We are enthusiastic to announce the release of:
mistral 3.0.0: Mistral Project
This release is part of the newton release series.
For more details, please see below.
3.0.0
^^^^^
New Features
************
* Mistral now support usage of alternative RPC layer, that calls
RabbitMQ directly instead of using Oslo.
* Tasks support new flag 'safe-rerun'. If it is set to 'true', a
task would be re-run if executor dies during execution.
* Mistral now supports authentication with KeyCloak server using
OpenId Connect protocol.
* Magnum action are now supported.
* Mistral API server can be configured to handle https requests.
* Role base access control was added.
* Murano actions are now supported.
* Tacker actions are now supported.
* Now user can provide custom message for fail/pause/success
transition. e.g. - fail(msg='error in task'): <% condition if any %>
* New API for validating ad-hoc actions was added.
Upgrade Notes
*************
* During an upgrade to Newton, operators or administrators need to
run "python tools/sync_db.py" to populate database with Magnum
action definitions.
Bug Fixes
*********
* Fix for YaqlEvaluationException in std.create_instance workflow.
Changes in mistral 2.0.0.0rc1..3.0.0
------------------------------------
d9e734f Remove environment data from task inbound context
be41847 Add tests to check deletion of delayed calls on WF execution delete
2d44cb0 Disable Client Caching
310f03a Delete all necessary delayed calls on WF stop
e95594f Update UPPER_CONSTRAINTS_FILE for stable/newton
229ea1d Fix for timeouting actions on run-action
2ab055b Avoid storing workflow input in task inbound context
63e849c Add __ne__ built-in function
0febff9 Remove context.spawn
a761ca5 Fix for raising excepton from kombu
db340d4 Fixed task in_bound context when retrying
2715d0f Enable changing of rpc driver from devstack
4b64132 Take os_actions_endpoint_type into use
238f398 Update .gitreview for stable/newton
097c68f Remove workflow spec, input and params from workflow context
23ff560 Add a smarter delay between workflow completion checks
9d06a61 Optimize the logic that check if 'join' task is allowed to start
a0f6c7a Copy cached WF spec stored by definition id into WF execution cache
3455dd6 Add functional tests for event engine functions
09e2358 Added unit tests for Workbook and Workflow filtering
b193719 Delete unnecessary comma
0940282 Fix mistral API docs Fixing v2.rst to refer to new module paths, and adding the cron trigger param to POST v2/cron_triggers/ documentation.
4e1e358 Add event trigger REST API
6982483 Using count() instead of all() for getting incompleted tasks
ab0c547 Fix for raising exception directly to kombu
33e0ee5 Updated from global requirements
1e2ecac Fix delayed calls DB migration
ec349f0 standardize release note page ordering
e525db7 Fixed http links in CONRIBUTING.rst
4ebe9b1 Optimize finder functions for task executions
1b0f0cd Change execution mechanism for 'join' tasks
ec630e1 Fixed an incorrect migration revision number in a comment
cbc0a99 cast to str for allowable types
a58236e Raise NotImplementedError instead of NotImplemented
dbdf4fc Optionally include the output when retrieving all executions
43acabd Add __ne__ built-in function
3958a82 Fix getting URLs / and /v2
c73edcb Add event configuration for event trigger
471ce2d Add 'uuid' YAQL function
2e497b3 Sync tools/tox_install.sh
10ee876 Updated from global requirements
9a60c02 Fix for 'Cannot authenticate without an auth_url'
347aabc Add client caching for OpenStack actions
c54b7c9 Add setuptools to requirements.txt
a96c895 Task publish does not overwrite variable in context Edit
2706b25 Updated from global requirements
3661bc0 Clean imports in code
72a34e8 TrivialFix: Remove logging import unused
1fe7b49 Add a note to the documentation about std.fail
0ba0eae Some minor code optimization in post_test_hook.sh
b89bc39 Updated from global requirements
10425c9 Fix for not working 'run-action' on kombu driver
e88c8e3 Updated from global requirements
bb92ee9 Fix documentation
81a9abc Clean imports in code
c527425 Use more specific asserts in tests
4ecca57 Use upper constraints for all jobs in tox.ini
9c5faa3 Updated from global requirements
9d5fcba Updated the configuration guide.
8302d85 Add a DB migration for named locks
c0118b6 Implement named transactional lock (semaphore)
2e80dd6 Updated from global requirements
bf1cb90 Closes-Bug: 1607348
56d0b35 Optimize task defer() method
c459aee Optimize direct workflow controller
0062699 Updated from global requirements
b18e5cb Updated from global requirements
e97d614 Fix task post completion scheduling
f10d431 Fix _possible_route() method to account for not completed tasks
a390f5c Add 'wait-before' policy test with two chained tasks
3025845 Fix task 'defer'
eebe77b Filtering support for actions
4e6d811 Increase size of 'task_executions_v2.unique_key' column
099d444 Add 'join after join' test
4bdda3b Slightly improve workflow trace logging
8bdef0f Fix workflow and join completion logic
6ea305c Towards non-locking model: remove pessimistic locks
f2445ac Fix specification caching mechanism
297fe92 Towards non-locking model: make 'with-items' work w/o locks
4f028ca Make mistral work with amqp and zmq backends
9f23624 Towards non-locking model: adapt 'join' tasks to work w/o locks
8e221dd Add unique keys for non locking model
cbda943 Updated from global requirements
3558980 Fix GET /executions/<id> to init 'output' attribute explicitly
13b835d Fix past migration scripts discrepancies
eec41b8 fix for get action executions fails with "has no property 'type"
6a35188 Updated Doc for SSL configuration
81f1682 Use actual session for ironic-inspector action population
4adc3cf Added support for SSL connection in mistra-api server
2cdec1c Towards non-locking model: decouple WF completion check via scheduler
e464f4c Towards non-locking model: use insert_or_ignore() for delayed calls
1f210a4 Towards non-locking model: add insert_or_ignore() on DB API
277b08a Fix the use of both adhoc actions and "with-items" in workflows
d9c9df2 Towards non-locking model: removing env update from WF controller
ebfb3c4 Updated from global requirements
6872dd8 DB migration to three execution tables and increase some columns
d25d31d Updated from global requirements
b93e491 Add state info for synchronous actions run from CLI
abe5ef9 Towards non-locking model: fix obvious workflow controller issues
0c8ad1a Towards non-locking model: Add 'unique_key' for delayed calls
b8c0ba8 Add _get_fake_client to ironic-inspector actions
b8c7dd7 Add target parameters to REST API
fb2fa02 Update docs and add release not for safe-rerun flag
09c0886 Invalidate workflow spec cache on workflow definition updates
5d51dfc Removing unnecessary workflow specification parsing
c7aa89e Splitting executions into different tables
95016cb Added releasenote for https support
82ab51b Add cancelled state to executions
3deec2f Enable user to use transport_url in kombu driver
b2aabd2 Fixed trivial issue in exception message
b13ae1a Updated from global requirements
639e204 Fix DSLv2 example according to Mistral Neuton
727d633 Updated from global requirements
c1dec4f Use 'rpc_response_timeout' in kombu driver
e4640dd Use Paginate query even if 'limit'or 'marker' is not set
0463e78 Remove task result for collection REST requests
c3e776e Allow to use both name and id to update action definitions
d844aad Remove some inconsistency in DB api
a55a1c5 Get rid of oslo_db warning about "id" not being in "sort_keys"
2f3d897 Add event engine service
0bc0fd0 Error handling test: error in 'publish' for a task with 'on-error'
34232f0 Added 'pip install -r requirements.txt' instruction
2197126 Executor fails actions if they are redelivered
4bcf17a Move the remainder of REST resources to resources.py
7f5335d Move REST resources action, action execution and task to resources.py
175775f Add the new endpoint /v2/tasks/<id>/workflow_executions
0d8a3a8 Allow to use both name and id to access action definitions
6a69d36 Pass 'safe-rerun' param to RPC layer
16c3b59 Initialize RPC-related flag when starting API
e403344 Update in installation package list in installation guide
d2dba58 Add param 'safe-rerun' to task
138b885 Create MistralContext from rpc context in kombu engine
54bbe3d Add db models for event trigger
80e925b Updated from global requirements
f962038 Fix SPAG errors in Quickstart and Main Features docs
2d5ceaf Fix some trivial SPAG errors in docs
606059a Rename package mistral.engine.rpc to mistral.engine.rpc_backend
1dbb3f2 Fixing filtering in task controller
89645ce Add Python 3.5 classifier and venv
e473a09 Updated from global requirements
400c622 Fix for YaqlEvaluationException in std.create_instance workflow.
a85fb71 Updated from global requirements
4919a0a Add tests for Kombu driver
43c404d Release note for KeyCloak OIDC support
021caf8 Add KeyCloak OpenID Connect server-side authentication
d29a6dc Add authentication options for KeyCloak OIDC
87a75cb Add proper handling for implicit task completion
633eb0f Add proper error handling for task continuation
eda639f Add error handling tests: invalid workflow input, error in first task
56dc39c Add more tests for error handling
201d36a Fix utility print_executions method
f058eb3 Log warn openstack action generation failures
b0523c0 Fix Magnum action _get_fake_class
62b1fd4 Fix Murano action _get_fake_class
26f2d35 Stylistic cleanups to lazy loading patch
9c63a24 Add configuration option for endpoint type
843df14 Add filters to all collections listing functions (tags included)
9eee201 Lazy load client classes
95e6b34 Integrating new RPC layer with Mistral
fc6d712 Make RPC implementation configurable
2cdd95a Adding OsloRPC server and client
72dcdfb Add support for custom YAQL functions
967a8c0 Remove obsolete config option "use_mistral_rpc"
7e9c04e Add tacker actions in mistral
909241c Update Expiration Policy Documentation
f454824 New RPC layer implementation
7b773bb Don't create actions when attempting to update one that doesn't exist
9d00052 Updated from global requirements
7387543 Add zake into dependencies
37a828b Add action context to all action executions
a7b8f49 Fix SSHActionsTestsV2 failure
fcd4862 Updated mapping.json file
024d938 Support recursive ad-hoc action definitions
31d6f8f Updated from global requirements
7e01ef2 Updated from global requirements
fbab974 Updated from global requirements
998f515 Use client credentials to retrieve service list
716776a Remove std.mistral_http action from tests
d094dc2 Doc updated for oslo_policy configuration
4732ed8 Updated from global requirements
dda6773 Remove .mailmap file
d7fc222 Fix mysql driver installation section in readme
0e51d26 Fix API inconsistencies with GET /v2/workflows
4672690 Fixed fake clients of glance and designate
23becb2 Fixed get_actions_list script to get glance actions
17fab41 Fixed get_actions_list script to get designate actions
16c5ca2 Example Mistral docker container broke due to oslo.policy update
48db3eb Refactored tempest tests
e512df9 Release note for magnum actions support
09ee417 Fix postgresql test failure
e7e2a80 Add configuration for Mistral tempest testing
a9f52d7 Added doc string for enforce method
8d53a25 Release note for murano actions support
7980734 Add magnum certificates and mservices actions
40a4b12 Release note for role base access control
11e443e Added role base authentication support
10fa247 Added murano actions
4314ea9 Add magnum bays actions
45ac6d0 Enable osprofiler to measure performance
e15fba5 Rename the to_string method to to_json to clarify it's purpose
e97e3ac Support JSON data in JSON API type
b0a2fc6 Add Magnum actions
9921b8c Updated from global requirements
6a22bca Removing redundant wf_ex_id parameter for rerun across the code
0233356 Add explicit preconditions for methods of Action, Task and Workflow
70adb45 Add a test that verifies an old bug with join
e2c89f7 Refactoring workflow handler
c496775 Fix invalid type usage for join
d2af0df mistral actions for designate v1 api's not working
e700a49 Updated from global requirements
927bc19 Remove AUTHORS file
6e6af39 Remove AUTHORS file from git tracking
7e793d2 Add missing argument in exception string
a8f7a05 Updated from global requirements
09c4151 Use LOG.exception when logging exceptions
67b2584 Release notes for fail/pause/success transition message
979d0e9 Updated from global requirements
6b8f153 Fail/Success/Pause transition message
3641b46 Remove unnecessary database transaction from Scheduler
d48b796 Update .mailmap
816bfd9 Refactor Mistral Engine
6a72d2c Updated from global requirements
385789d Updated from global requirements
7b6d766 Fixes the Mistral Docker image
2e4a3cc Updated from global requirements
5af4407 Return 'Unknown error' when error output is empty
18c6178 Fix client in TroveActions
a50dcfc Add Python 3.4 to the classifiers
e697cc7 Remove unnecessary executable permissions
575aac2 Updated from global requirements
3582107 Add baremetal.wait_for_finish action to mapping
7712cc3 Update get_arg_list_as_str to skip func params
752df74 Updated from global requirements
af5975e Enforcing upper constraints for tox test jobs
b9dafd1 Fix get task list on YAQL error in with-items
594b3e2 Add API to validate ad-hoc action
2cf2fc5 Updated from global requirements
2eb1e1e Updated from global requirements
9cbfa93 Replace keystone CLI with openstack CLI
42ca859 Add Designate apis as mistral actions
87aeb0a Remove oslo.messaging hack since it's broken with 5.0.0 version
32b0121 Fix the yaql github repository
50210a7 Updated from global requirements
627145b Updated from global requirements
2b517d8 Fix mistral installation in devstack
96e6d7e Refactoring exception hierarchy
18f1715 Updated from global requirements
cc32c82 Fixing engine facade hierarchy
c93405f Fixed issue related to docker image creation
a1891fd Updated from global requirements
1216ae6 Rename base API test class
1586c3e Disable cron trigger thread for API unit tests
49d04cf Disabled ssl warnings while runing tempest tests
22769b7 Add extra checks for the existance of executor_callback
bb078af Updated from global requirements
11c26cf Updated from global requirements
6bb6046 Added script to create docker image
5976655 Switch to auto-generated cron trigger names in unit tests
99edd17 tempest: fix dir_path
b549137 Leave more relevant comment in engine race condition test
39e2b4a Add utility methods to test action executions more conveniently
8821dee Fixing failing functional tests for Cinder and Heat actions
29732bf Update OpenStack actions mapping
06f385e Updated from global requirements
3a2af38 Unblock skipped test
73d1105 Replace self._await(lamdba: ..) constructs with more readable calls
ca66caa Add auth_enabled=False to a cron trigger test
fcfb271 Updated from global requirements
fdefc80 Updated from global requirements
9f34b17 Updated from global requirements
60a8d96 Unblock skipped tests in test_action_defaults.py
6aac269 Updated from global requirements
d04dd4d Fixing issue with different versions of oslo_messaging
4a88302 Getting rid of task result proxies in workflow context
6c6484e Fix typos in Mistral files
7e0ffb7 Hacking log for warning
ad07ba0 Fixing engine transaction model and error handling
9a1a157 Refactor workflow controller and fix a bug in _fail_workflow()
3e9aa8b Fixing a bug in DB API method that acquires entity lock
a4c4ead Also package mistral_tempest_tests
fdb24bd module docs are not being generated
554e14e Update reno for stable/mitaka
236a7f2 Run mistral services as separate processes
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 4 +
.gitreview | 1 +
.mailmap | 19 -
AUTHORS | 43 -
CONTRIBUTING.rst | 10 +-
Dockerfile | 37 -
README.rst | 4 +
devstack/plugin.sh | 31 +-
devstack/settings | 12 +-
etc/event_definitions.yml.sample | 6 +
etc/policy.json | 64 ++
etc/wf_trace_logging.conf.sample | 21 +-
etc/wf_trace_logging.conf.sample.rotating | 21 +-
mistral/actions/generator_factory.py | 2 +-
mistral/actions/openstack/action_generator/base.py | 3 +-
mistral/actions/openstack/actions.py | 345 ++++--
mistral/actions/openstack/base.py | 78 +-
mistral/actions/openstack/mapping.json | 433 +++++--
mistral/actions/std_actions.py | 37 +-
mistral/api/access_control.py | 59 +-
mistral/api/app.py | 24 +-
mistral/api/controllers/resource.py | 2 +-
mistral/api/controllers/v2/action.py | 208 ++--
mistral/api/controllers/v2/action_execution.py | 328 ++++--
mistral/api/controllers/v2/cron_trigger.py | 166 ++-
mistral/api/controllers/v2/environment.py | 138 ++-
mistral/api/controllers/v2/event_trigger.py | 143 +++
mistral/api/controllers/v2/execution.py | 230 ++--
mistral/api/controllers/v2/member.py | 74 +-
mistral/api/controllers/v2/resources.py | 595 ++++++++++
mistral/api/controllers/v2/root.py | 2 +
mistral/api/controllers/v2/service.py | 36 +-
mistral/api/controllers/v2/task.py | 347 ++++--
mistral/api/controllers/v2/types.py | 8 +-
mistral/api/controllers/v2/workbook.py | 134 ++-
mistral/api/controllers/v2/workflow.py | 197 ++--
mistral/api/service.py | 55 +
mistral/cmd/launch.py | 137 +--
mistral/config.py | 335 ++++--
mistral/context.py | 178 ++-
mistral/db/sqlalchemy/base.py | 17 +-
.../006_add_processed_to_delayed_calls_v2.py | 2 +-
.../versions/012_add_event_triggers_v2_table.py | 67 ++
.../013_split_execution_table_increase_names.py | 246 ++++
.../versions/014_fix_past_scripts_discrepancies.py | 74 ++
.../015_add_unique_keys_for_non_locking_model.py | 51 +
.../016_increase_size_of_task_unique_key.py | 33 +
.../versions/017_add_named_lock_table.py | 41 +
.../018_increate_task_execution_unique_key_size.py | 33 +
.../versions/019_change_scheduler_schema.py | 59 +
mistral/db/sqlalchemy/model_base.py | 3 +
mistral/db/sqlalchemy/types.py | 13 +
mistral/db/v2/api.py | 157 ++-
mistral/db/v2/sqlalchemy/api.py | 916 ++++++++-------
mistral/db/v2/sqlalchemy/filters.py | 63 +
mistral/db/v2/sqlalchemy/models.py | 315 +++--
mistral/engine/action_handler.py | 319 +-----
mistral/engine/actions.py | 557 +++++++++
mistral/engine/base.py | 83 +-
mistral/engine/default_engine.py | 448 +-------
mistral/engine/default_executor.py | 71 +-
mistral/engine/dispatcher.py | 101 ++
mistral/engine/policies.py | 95 +-
mistral/engine/rpc.py | 536 ---------
mistral/engine/rpc_backend/__init__.py | 0
mistral/engine/rpc_backend/base.py | 77 ++
mistral/engine/rpc_backend/kombu/__init__.py | 0
mistral/engine/rpc_backend/kombu/base.py | 115 ++
.../engine/rpc_backend/kombu/examples/__init__.py | 0
.../engine/rpc_backend/kombu/examples/client.py | 42 +
.../engine/rpc_backend/kombu/examples/server.py | 51 +
mistral/engine/rpc_backend/kombu/kombu_client.py | 192 ++++
mistral/engine/rpc_backend/kombu/kombu_server.py | 180 +++
mistral/engine/rpc_backend/oslo/__init__.py | 0
mistral/engine/rpc_backend/oslo/oslo_client.py | 48 +
mistral/engine/rpc_backend/oslo/oslo_server.py | 56 +
mistral/engine/rpc_backend/rpc.py | 645 +++++++++++
mistral/engine/task_handler.py | 648 ++++-------
mistral/engine/tasks.py | 543 +++++++++
mistral/engine/utils.py | 14 +-
mistral/engine/workflow_handler.py | 249 ++--
mistral/engine/workflows.py | 479 ++++++++
mistral/exceptions.py | 128 ++-
mistral/expressions.py | 2 +-
mistral/hacking/checks.py | 176 ++-
mistral/messaging.py | 117 ++
mistral/resources/workflows/create_instance.yaml | 6 +-
mistral/services/action_manager.py | 48 +-
mistral/services/actions.py | 64 +-
mistral/services/event_engine.py | 377 ++++++
mistral/services/executions.py | 95 --
mistral/services/periodic.py | 89 +-
mistral/services/scheduler.py | 96 +-
mistral/services/security.py | 1 +
mistral/services/triggers.py | 73 ++
mistral/services/workbooks.py | 43 +-
mistral/services/workflows.py | 8 +-
.../resources/openstack/action_collection_wb.yaml | 12 +-
.../actions/openstack/test_openstack_actions.py | 174 ++-
.../unit/engine/rpc_backend/kombu/__init__.py | 0
.../unit/engine/rpc_backend/kombu/fake_kombu.py | 44 +
.../engine/rpc_backend/kombu/test_kombu_client.py | 192 ++++
.../engine/rpc_backend/kombu/test_kombu_server.py | 262 +++++
.../unit/engine/test_direct_workflow_rerun.py | 325 ++++--
.../engine/test_direct_workflow_with_cycles.py | 37 +-
.../test_execution_fields_size_limitation.py | 114 +-
.../unit/engine/test_reverse_workflow_rerun.py | 17 +-
.../services/test_expired_executions_policy.py | 56 +-
mistral/utils/__init__.py | 32 +-
mistral/utils/filter_utils.py | 91 ++
mistral/utils/inspect_utils.py | 13 +-
mistral/utils/openstack/keystone.py | 96 +-
mistral/utils/profiler.py | 54 +
mistral/utils/rest_utils.py | 146 ++-
mistral/utils/rpc_utils.py | 111 ++
mistral/utils/serializers.py | 20 +-
mistral/utils/yaql_utils.py | 61 +-
mistral/workbook/base.py | 2 +-
mistral/workbook/parser.py | 92 +-
mistral/workbook/v2/task_defaults.py | 16 +-
mistral/workbook/v2/tasks.py | 30 +-
mistral/workbook/v2/workflows.py | 50 +-
mistral/workflow/base.py | 190 ++--
mistral/workflow/commands.py | 63 +-
mistral/workflow/data_flow.py | 268 +++--
mistral/workflow/direct_workflow.py | 310 +++--
mistral/workflow/lookup_utils.py | 109 ++
mistral/workflow/reverse_workflow.py | 36 +-
mistral/workflow/states.py | 30 +-
mistral/workflow/utils.py | 140 +--
mistral/workflow/with_items.py | 41 +-
.../services/v2/mistral_client.py | 164 +++
.../actions/v2/test_multi_vim_authentication.py | 67 ++
.../engine/actions/v2/test_openstack_actions.py | 2 +-
.../scenario/engine/actions/v2/test_ssh_actions.py | 16 +-
.../alternative-rpc-layer-21ca7f6171c8f628.yaml | 6 +
.../keycloak-auth-support-74131b49e2071762.yaml | 4 +
.../magnum-actions-support-b131fa942b937fa5.yaml | 7 +
.../mistral-api-server-https-716a6d741893dd23.yaml | 3 +
...l-customize-authorization-d6b9a965f3056f09.yaml | 3 +
.../mistral-murano-actions-2250f745aaf8536a.yaml | 3 +
.../tacket-actions-support-2b4cee2644313cb3.yaml | 3 +
.../notes/transition-message-8dc4dd99240bd0f7.yaml | 5 +
...e-ad-hoc-action-api-added-6d7eaaedbe8129a7.yaml | 3 +
...e-YaqlEvaluationException-e22afff26a193c4f.yaml | 3 +
releasenotes/source/index.rst | 3 +-
releasenotes/source/mitaka.rst | 6 +
requirements.txt | 61 +-
setup.cfg | 21 +
test-requirements.txt | 9 +-
tools/config/config-generator.mistral.conf | 4 +-
tools/docker/DOCKER_README.rst | 60 +
tools/docker/Dockerfile | 22 +
tools/docker/Dockerfile_script.sh | 47 +
tools/docker/build.sh | 9 +
tools/docker/start_mistral_rabbit_mysql.sh | 39 +
tools/get_action_list.py | 41 +-
tools/sync_db.py | 9 +
tools/tox_install.sh | 56 +
tox.ini | 9 +-
270 files changed, 21382 insertions(+), 7290 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index e97203b..3a9683e 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5,2 +5,2 @@
-alembic>=0.8.0 # MIT
-Babel>=1.3 # BSD
+alembic>=0.8.4 # MIT
+Babel>=2.3.4 # BSD
@@ -7,0 +8 @@ croniter>=0.3.4 # MIT License
+cachetools>=1.1.0 # MIT License
@@ -10,2 +11,2 @@ jsonschema!=2.5.0,<3.0.0,>=2.0.0 # MIT
-keystonemiddleware!=4.1.0,>=4.0.0 # Apache-2.0
-mock>=1.2 # BSD
+keystonemiddleware!=4.1.0,!=4.5.0,>=4.0.0 # Apache-2.0
+mock>=2.0 # BSD
@@ -13,4 +14,4 @@ networkx>=1.10 # BSD
-oslo.concurrency>=3.5.0 # Apache-2.0
-oslo.config>=3.7.0 # Apache-2.0
-oslo.db>=4.1.0 # Apache-2.0
-oslo.messaging>=4.0.0 # Apache-2.0
+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
@@ -18 +19,2 @@ oslo.middleware>=3.0.0 # Apache-2.0
-oslo.utils>=3.5.0 # Apache-2.0
+oslo.policy>=1.9.0 # Apache-2.0
+oslo.utils>=3.16.0 # Apache-2.0
@@ -21,2 +23,3 @@ oslo.serialization>=1.10.0 # Apache-2.0
-oslo.service>=1.0.0 # Apache-2.0
-paramiko>=1.16.0 # LGPL
+oslo.service>=1.10.0 # Apache-2.0
+osprofiler>=1.4.0 # Apache-2.0
+paramiko>=2.0 # LGPLv2.1+
@@ -24,9 +27,12 @@ pbr>=1.6 # Apache-2.0
-pecan>=1.0.0 # BSD
-python-barbicanclient>=3.3.0 # Apache-2.0
-python-ceilometerclient>=2.2.1 # Apache-2.0
-python-cinderclient>=1.3.1 # Apache-2.0
-python-glanceclient>=2.0.0 # Apache-2.0
-python-heatclient>=0.6.0 # Apache-2.0
-python-keystoneclient!=1.8.0,!=2.1.0,>=1.6.0 # Apache-2.0
-python-mistralclient>=1.0.0 # Apache-2.0
-python-neutronclient!=4.1.0,>=2.6.0 # Apache-2.0
+pecan!=1.0.2,!=1.0.3,!=1.0.4,>=1.0.0 # BSD
+python-barbicanclient>=4.0.0 # Apache-2.0
+python-ceilometerclient>=2.5.0 # Apache-2.0
+python-cinderclient!=1.7.0,!=1.7.1,>=1.6.0 # Apache-2.0
+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-mistralclient>=2.0.0 # Apache-2.0
+python-magnumclient>=2.0.0 # Apache-2.0
+python-muranoclient>=0.8.2 # Apache-2.0
+python-neutronclient>=5.1.0 # Apache-2.0
@@ -35,4 +41,5 @@ python-swiftclient>=2.2.0 # Apache-2.0
-python-troveclient!=2.1.0,>=1.2.0 # Apache-2.0
-python-ironicclient>=1.1.0 # Apache-2.0
-python-ironic-inspector-client>=1.3.0 # Apache-2.0
-python-zaqarclient>=0.3.0 # Apache-2.0
+python-tackerclient>=0.6.0 # Apache-2.0
+python-troveclient>=2.2.0 # Apache-2.0
+python-ironicclient>=1.6.0 # Apache-2.0
+python-ironic-inspector-client>=1.5.0 # Apache-2.0
+python-zaqarclient>=1.0.0 # Apache-2.0
@@ -40 +47 @@ PyYAML>=3.1.0 # MIT
-requests!=2.9.0,>=2.8.1 # Apache-2.0
+requests>=2.10.0 # Apache-2.0
@@ -41,0 +49 @@ retrying!=1.3.0,>=1.2.3 # Apache-2.0
+setuptools!=24.0.0,>=16.0 # PSF/ZPL
@@ -44 +52 @@ SQLAlchemy<1.1.0,>=1.0.10 # MIT
-stevedore>=1.5.0 # Apache-2.0
+stevedore>=1.16.0 # Apache-2.0
@@ -47,0 +56 @@ tooz>=1.28.0 # Apache-2.0
+zake>=0.1.6 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 7b63966..0671158 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -5 +5 @@ coverage>=3.6 # Apache-2.0
-fixtures>=1.3.1 # Apache-2.0/BSD
+fixtures>=3.0.0 # Apache-2.0/BSD
@@ -11,2 +11,3 @@ pyflakes==0.8.1 # MIT
-pylint==1.4.5 # GNU GPL v2
-sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 # BSD
+pylint==1.4.5 # GPLv2
+requests-mock>=1.0 # Apache-2.0
+sphinx!=1.3b1,<1.3,>=1.2.1 # BSD
@@ -18 +19 @@ unittest2 # BSD
-reno>=0.1.1 # Apache2
+reno>=1.8.0 # Apache2
1
0
We are tickled pink to announce the release of:
manila 3.0.0: Shared Storage for OpenStack
This release is part of the newton release series.
For more details, please see below.
3.0.0
^^^^^
A new Container driver is added. It uses docker container as a share
server.
Add a new EMC Unity plugin in manila which allows user to create
NFS/CIFS share with a EMC Unity backend.
Add support for CIFS protocol in Manila HNAS driver.
Add Hitachi HSP driver.
Refactored GPFS driver to support NFS Ganesha through Spectrum Scale
CES framework.
Added new parameters to Share Migration experimental API and more
combinations of share protocols and access types support to the Data
Service.
Manila scheduler checks "thin_provisioning" in extra specs of the
share type and decides whether to use the logic for thin or thick. If
"thin_provisioning" not given in extra specs, default use thin.
New Features
************
* Add update_access support to HPE 3PAR driver.
* HPE 3PAR driver now supports configuring multiple pools per
backend.
* Driver may return "access_key", an access credential, for client
identities granted share access.
* Added "access_key" to the JSON response of "access_list" API.
* Added support for driver-assisted share migration to ZFSonLinux
driver.
* Add list, show, and reset-status admin APIs for snapshot
instances.
* User ID is added to the JSON response of the /shares APIs.
* Store network gateway value in DB.
* Gateway is added to the JSON response of the /share-networks API.
* Store network MTU value into DB to make it possible for drivers
with share server support to support different values than 1500.
* user_id and project_id fields are added to the JSON response of
/snapshots APIs.
* For cephfs_native driver, added read-only shares support.
* Enhanced "cephfs_native" driver's update_access() to,
* remove undesired rules existing in the backend during recovery
mode.
* return "access_keys" of ceph auth IDs that are allowed access.
* The Container driver allows using a docker container as a share
server. This allows for very fast share server startup.
* The Container driver supports CIFS protocol.
* NetApp cMode driver - configured VLAN will be deleted on Vserver
removal
* Add DriverFilter and GoodnessWeigher to manila's scheduler. These
can use two new properties provided by backends, 'filter_function'
and 'goodness_function', which can be used to filter and weigh
qualified backends, respectively.
* Add a new Unity plugin in manila which allows user to create
NFS/CIFS share with a EMC Unity backend. This plugin performs the
operations on Unity by REST API.
* Added support for CIFS shares in Hitachi HNAS driver. It supports
user access type, where a permission for a user or a group can be
added/removed. Also, accepts 'read write' and 'read only' as access
level.
* Renamed all HDS mentions on HNAS driver to Hitachi and moved
driver to another folder.
* Add read-write functionality for HPE 3PAR shares from snapshots.
* Added new Hitachi HSP driver, that supports manage/unmanage and
shrinking of shares, along with all the minimum driver features.
Does not support snapshots.
* Huawei driver now supports replication. It reports a replication
type 'dr'(Disaster Recovery), so "replication_type=dr" can be used
in the share type extra specs to schedule shares to the Huawei
driver when configured for replication.
* The huawei driver now supports turning off snapshot support.
* Huawei driver supports setting the backend 'sectorsize' while
creating shares and administrators can use this capability via the
share types extra-spec 'huawei_sectorsize:sectorsize' or via the XML
configuration file.
* Add support for reporting pool disk type in Huawei driver.
*huawei_disk_type* extra-spec in the share type. Valid values for
this extra-spec are 'ssd', 'sas', 'nl_sas' or 'mix'.
* Add support for hybrid aggregates to the NetApp cDOT drivers.
* Added support of 'manage share' feature to ZFSonLinux driver.
* Manage share snapshot on array in huawei driver.
* Added support of 'manage snapshot' feature to ZFSonLinux driver.
* Share can be managed with replication_type extra-spec in the
share_type
* Add support for snapshot manage/unmanage to the NetApp cDOT
driver.
* Administrators can now change a share's type during a migration.
* Added port binding support for neutron networks with multiple
segments.
* The NetApp cDOT driver operating in "driver_handles_share_servers
= True" mode applies the Maximum Transmission Unit (MTU) from the
network provider where available when creating Logical Interfaces
(LIFs) for newly created share servers.
* NetApp cDOT driver now supports a scoped extra-spec
"netapp:split_clone_on_create" to be used in share types when
creating shares (NetApp FlexClone) from snapshots. If this extra-
spec is not included, or set to "false", the cDOT driver will
perform the clone-split only if/when the parent snapshot is being
deleted.
* NFS Versions can be configured when using the NetApp cDOT driver
with driver mode "driver_handles_share_servers = True".
* Added neutron driver for port bind actions.
* Share Migration now has parameters to force share migration
procedure to maintain the share writable, preserve its metadata and
be non-disruptive when migrating.
* Added CIFS protocol support to Data Service, along with respective
'user' access type support, through the
'data_node_access_admin_user' configuration option.
* Added possibility to include options to mount commands issued by
the Data Service through the 'data_node_mount_options' configuration
option.
* Administrators can now change share's share network during a
migration.
* Added possibility of having files hash verified during migration.
* Added share backend drivers for NexentaStor4 and NexentaStor5
appliances.
* Oracle ZFSSA driver now supports share manage/unmanage feature,
where a ZFSSA share can be brought under Manila's management, or can
be released from Manila's management.
Known Issues
************
* The Container driver has the following known issues:
* Only basic driver operations are supported: create/delete share,
update access and extend share.
* EMC Unity does not support the same IP in different VLANs.
* When snapshot support is turned on in the Huawei driver,
replication cannot be used.
* Managing a share with replication_type can only be possible if the
share does not already have replicas.
Upgrade Notes
*************
* HPE 3PAR driver no longer uses hpe3par_share_ip_address option in
configuration. With pool support, configuration just requires
hpe3par_fpg option or optionally supply share IP address(es) along
with hpe3par_fpg.
* To add DriverFilter and GoodnessWeigher to an active deployment,
their references must be added to the filters and weighers sections
on entry_points.txt.
* HNAS driver vendor changed from HDS to Hitachi.
* New HNAS driver location.
* New HNAS config options hitachi_hnas_ip, hitachi_hnas_user,
hitachi_hnas_password, hitachi_hnas_evs_id, hitachi_hnas_evs_ip,
hitachi_hnas_file_system_name, hitachi_hnas_ssh_private_key,
hitachi_hnas_cluster_admin_ip0, hitachi_hnas_stalled_job_timeout,
hitachi_hnas_driver_helper and
hitachi_hnas_allow_cifs_snapshot_while_mounted.
* Added a new config option is_gpfs_node which will determine if
manila share service is running on GPFS node or not. Added mmnfs
commands in the root wrap share.filters. Removed scp and ssh
commands from root wrap share.filters.
* Added new configuration option "netapp_enabled_share_protocols" to
configure NFS versions with the NetApp cDOT driver operating in
driver mode "driver_handles_share_servers = True". If this option is
not specified, new share servers (NetApp vServers) will be created
supporting NFS Version 3 and NFS Version 4.0.
* Remove the "AllocType" configuration from huawei driver
configuration file. If "thin_provisioning" not given, default create
new share by "thin" type.
* Ensure that /etc/manila/api-paste.ini is up-to-date with
etc/manila /api-paste.ini, in particular that [filter:sizelimit]
section has paste.filter_factory =
oslo_middleware.sizelimit:RequestBodySizeLimiter.factory
Deprecation Notes
*****************
* HNAS driver location was deprecated.
* All HNAS driver config options were deprecated hds_hnas_ip,
hds_hnas_user, hds_hnas_password, hds_hnas_evs_id, hds_hnas_evs_ip,
hds_hnas_file_system_name, hds_hnas_ssh_private_key,
hds_hnas_cluster_admin_ip0, hds_hnas_stalled_job_timeout,
hds_hnas_driver_helper and
hds_hnas_allow_cifs_snapshot_while_mounted.
* Deprecated knfs_export_options configuration parameter as export
options are now configured in extra specs of share types.
* Renamed Share Migration 'force_host_copy' parameter to
'force_host_assisted_migration', to better represent the parameter's
functionality in API version 2.22.
* API version 2.22 is now required for all Share Migration APIs.
* Removed manila RequestBodySizeLimiter shims and deprecation log
messages since it has been deprecated since equivalent
oslo.middleware library object was added in kilo.
Security Issues
***************
* http_proxy_to_wsgi is taken into use instead of the deprecated ssl
middleware. This makes it easier for deployers to have Manila
running behind a proxy that terminates TLS connections. This
middleware addition adds the enable_proxy_headers_parsing option to
the oslo_middleware section which needs to be set in the
configuration file in order to enable middleware to do its work.
* Ensure we don't grant read access to 'Everyone' by default when
creating CIFS shares and the Windows SMB backend is used.
Bug Fixes
*********
* Fixed Hitachi HNAS driver not cleaning up data in backend when
failing to create a share from snapshot.
* Added missing default filter function on Hitachi HSP driver.
* Changed share replica deletion logic in the NetApp cDOT driver to
disregard invalid replication relationships from among those
recorded by the driver to clean up.
* HPE3PAR driver fix to allow delete of a share that does not exist
on the backend.
* Fixed issue with NetApp cDOT share server cleanup when LIF
creation fails while setting up a new vServer.
* Fixed the generation of options in the correct option groups.
Using the config generator ("tox -e genconfig"), [cinder], [nova]
and [neutron] options are now generated in the right groups instead
of [default].
* For a delete snapshot request, if backend reports that snapshot is
busy then the state of snapshot is changed to 'error_deleting'.
* HPE3PAR Driver fix to reduce the fsquota when a share is deleted
for shared fstores.
* In cephfs_native driver, fixed client eviction call during access
denial.
* User_id and project_id DB fields are extended to also support LDAP
setups.
* Capacity filter and weigher scheduler logic was modified to
account for back ends that can support thin and thick provisioning
for shares. Over subscription calculation is triggered with the
presence of the "thin_provisioning" extra-spec in the share type of
the share being created.
* Hitachi HNAS driver now reports "dedupe" capability and it can be
used in extra-specs to choose a HNAS file system that has dedupe
enabled when creating a manila share on HNAS.
* EMC VNX driver supports interface ports configuration now. The
ports of Data Mover that can be used by share server interfaces are
configurable.
* Any errors that may occur during 'managing' a share into manila
will result in the share's size being set to 1, aside from
transitioning the status to 'manage_error'.
* Improve max_over_subscription_ratio enforcement by providing a
reasonable estimate of backend provisioned-capacity when drivers
cannot supply it.
* Consistency Group APIs return share_server_id information
correctly to administrators.
* When using a consistency group snapshot to create another
consistency group, share server and network information is persisted
from the source consistency group to the new consistency group.
* Crash when using unconfined filesystems in HDS HNAS driver using
SSH backend.
* HDS HNAS Driver no longer mounts unmounted filesystems
automatically.
* Fix exception in update_access not found in Huawei driver.
* Fixed Hitachi HNAS driver allowing a share to be managed twice
through a malformed export location parameter.
* Check the Cephx ID used when granting access to a CephFS share to
make sure it's not the same as the one Manila uses to communicate
with the Ceph backend.
* The NetApp cDOT driver's autosupport reporting now works on Python
2.7.12 and later.
* Fixed race-condition in generic driver while updating network
routes in host.
* GlusterFS drivers now handle the volume option XML schema of
GlusterFS >= 3.7.14.
* Fixed error when allowing access to a managed share in HDS HNAS
driver.
* Fixed error when attempting to create a new share from a snapshot
taken from a managed share in HDS HNAS driver.
* Fixed ID inconsistencies in log when handling managed shares in
HDS HNAS driver.
* Huawei driver now properly handles access for all IP addresses
(0.0.0.0/0).
* Makes docker containers actually mount logical volumes.
* Retrying to manage shares in "manage_error" status works as
expected.
* Snapshot manage and unmange operations are disabled for shares
with replicas.
* Fixed access_allow and access_deny displaying incorrect error
message during migration of a share.
* Fixed access rule concurrency in migration that was preventing new
rules from being added to the migrated share.
* Fixed share migration error using Data Service when there are only
empty files.
* Fixed HSP driver not supporting adding rules that exist in backend
for managed shares.
* Fixed HSP driver not supporting deleting share if it has rules in
backend that are not in Manila.
* force-delete API requests for snapshots are now propagated to the
manila-share service and will not fail even if share drivers cannot
remove the snapshots on the storage backend.
Changes in manila 2.0.0..3.0.0
------------------------------
9d6823b Add cleanup to create from snap in Manila HNAS driver
eaf153d [ZFSonLinux] Fix share migration using remote host
fb44a0a Put all imports from manila.i18n in one line
b29a0e5 Fix access rules for managed shares in HSP driver
053acc8 Improve Share Migration tempest tests
10487a1 Fix allow/deny error message and race in migration
0a40a64 Fix for LV mounting issue in docker containers
f240f77 Fix flaky Neutron port binding unit tests
696a7bb Fix useless statements in unit tests
13f97a4 [docs] Update dev docs for ZFSonLinux share driver
e24e6e7 [ZFSonLinux] Add test coverage for share migration
91b1d2c NetApp cDOT driver autosupport broken
d0e2380 huawei driver default create thin type share
acdf032 HPE 3PAR: file share support of AD in devref
ee1d534 Updated from global requirements
58be1ef glusterfs: handle new cli XML format
af7739a Add provisioned_capacity_gb estimation
8118e24 Fix typo in response status code
6b1fed7 standardize release note page ordering
3e96712 Fix race condition updating routes
e8d2b34 share-size not set to 1 with 'manage_error' state
24a1609 Config logABug feature for Manila api-ref
8cc148f NetApp cDOT: Avoid cleaning up 'invalid' mirrors
a5c2297 [ZFSonLinux] Fix share migration support
7fded23 Update to tempest 12.2.0
8328ebd Add multi-segment support
105e55c Add binding_profile option for backends
1fd7e88 Nexenta: adding share drivers for NexentaStor
b9c15c7 Updated from global requirements
a357983 Windows SMB: implement 'update_access' method
d6fb9e5 Windows SMB: remove redundant operations
754750a [Dummy driver] Add share migration support
976e2d5 [ZFSonLinux] Add share migration support
6dad166 Add share type change to Share Migration
0bbf54f HPE 3PAR driver pool support
9639e72 Share migration Newton improvements
9edb93d Unity: Use job for NFS share creation
f111470 Correct reraising of exception
b831976 Windows SMB: avoid default read share access
f16e389 Change assertTrue(isinstance()) by optimal assert
c7fe51e Fix Share Migration improper behavior for drivers
12f95b1 Fix Manila HNAS driver managing a share twice
c51e8b6 Fix test bugs for replication CI
88898b5 Implement replication support in huawei driver
088747c Fix connectivity problem in Scenario job
e562d21 Updated from global requirements
317a919 [CI FIX] Fix 'ip route' matching multiple subnets
84551bf Clean imports in code
0ca6707 Clarify grenade failure message
c567647 Updated from global requirements
5e85232 Add documentation for EMC Unity Driver for Manila
7578ad2 Remove enable_v1_api and enable_v2_api config opts
5e0c233 3PAR: Add update_access support
0d4f2ee add access_key to share_access_map
9814b50 Add missing filter function in HSP driver
8210bf5 Get ready for os-api-ref sphinx theme change
e4ddb09 Fix fallback share migration with empty files
c314c3f Rename and move HNAS driver
8033052 Updated from global requirements
78e10bc Add neutron driver for binding
5c95e5c Fix sample config generation for cinder, nova and neutron opts
2a7d480 Add Hitachi HSP driver
641c74c manila_tempest_tests: fix exception messages
ddf960a Container driver
3337462 Tox Upper Constraints - strip out reinstalls for remaining jobs
2d4e30b NetApp cDOT: Apply network MTU to VLAN ports
fda0b07 Fix typo in glusterfs driver comment
ff4a33a [dev-docs] Changed small case letters to capital
e3afcd7 Add MTU information in DB and API
dfbe3ea In-tree Install Guide
1c1107d Updated from global requirements
08ffd6b cephfs_native: enhance update_access()
c2bf461 TrivialFix: Change LOG.warn to LOG.warning
5ea4911 Fix the broken UT of huawei driver for py34/35
9a178f5 Add dedupe report in HNAS driver
0f596c5 cephfs_native: add read-only share support
1e8e33f Updated from global requirements
a91fa6e Refactor GPFS driver for NFS ganesha support
d42b3f8 NetApp cDOT driver configurable clone split
ead0512 NetApp cDOT multi-SVM driver configurable NFS versions
dfb9e58 Add support for CIFS shares in HNAS driver
c17d23a Fix KeyError on err in unit test
d878826 Fix concurrent usage of update_access method for share instances
bcd2855 NetApp cDOT vserver deletion fails if no lifs present
88fb70f Fix ZFSonLinux driver prerequisites setup
e305b11 Updated from global requirements
18e3fcd HPE3PAR make share from snapshot writable
bd21193 Check for usage of same Cephx ID as manila service
4c2a69c Fix share migration test with snapshot support
0fa609e [Tempest] Fix concurrency in "test_show_share_server" test
839ba23 [ZFSonLinux] Fix replicated snapshot deletion error
d5e8b8d Fix race condition in tempest test
b75ab85 Replaces httplib with requests lib in Quobyte RPC layer
86383ff Add EMC Unity Driver for Manila
8a487bf Add snapshot instances admin APIs
26de94a TrivialFix: Fix a wrong order bug in resource_cleanup()
d953bae [ZFSonLinux] Add 'manage snapshot' feature support
aa1268d Minor optimization and formatting corrections in Quobyte driver
72650b5 Add retry in VNX driver when DB lock error happened
cd07802 Remove "host" from driver private data
4c4ee90 NetApp: Report hybrid aggregates in share stats
8da0cb6 share/access: allow maintenance mode to be triggered
3e86e3d Migrate API reference into tree
d0e31ca Fix devref README and remove Makefile
7145891 Add dummy driver
55fd2ec Correct Quobyte driver capacity reporting
4d4104c Updated from global requirements
fed9412 Huawei: Support reporting disk type of pool
2d957f3 Documentation changes for thin/thick provisioning
83c93c7 Check 'thin_provisioning' in extra specs
443b61f HPE3PAR: Fix filestore quota decrement
6f506a8 HPE3PAR: Handle exceptions on deleted shares
e8e8fb1 Fix pep8 job
a4625e7 Add reno notes about http_proxy_to_wsgi middleware
f10776d Add DriverFilter and GoodnessWeigher to manila
8208841 Use http_proxy_to_wsgi instead of ssl middleware
d2b2cc8 Use constraints for coverage job
6e87a84 Do not put real hostname and IP address to manila config sample
829052d Add tox job for db revision creation
55b0444 Add interface port configuration in EMC VNX driver
9679578 Huawei: Add share sectorsize config in Huawei driver
aa6a0e2 Huawei driver support access of all IPs
0b59a91 update min tox version to 2.0
c3a8df1 Updated from global requirements
bb01fe9 [Tempest] Handle errored shares correctly using recreation logic
b06e111 [Tempest] Create heavy scenario resources in parallel
916c1cf Update tempest to newer commit version
b043767 Add share manage/unmanage of Oracle ZFSSA driver
1b8a2e0 Delete duplicated broken tempest test
2d6d4c6 Add lvm driver options to sample config
64f3df1 Updated from global requirements
f284db4 [ZFSonLinux] Add 'manage share' feature support
c7d4d6d Fix snapshot manage Tempest test
4bac8b6 Manage / unmanage snapshot in NetApp cDOT drivers
d98222a Add gateway in network_info and share network API
58d4d92 Fixed a spelling mistake of "seperate" to "separate"
cad4854 Add share_size config option
34fcf4a Config: no need to set default=None
c9e1a1a Use upper-constraints in tox installs
76251ee Updated from global requirements
fdfd070 Update quota usages correctly in manage share operation
33ebd27 Change user_id and project_id to 255 length
eb784f1 Add user_id and project_id to snapshot APIs
e49d39c [Tempest] Fix negative replication test
49695bd [Tempest] Remove noqa filters
d3885af Updated from global requirements
aeea2b3 Cleanup unused DB APIs
a74d4e4 glusterfs: Implement update_access() method
bde7105 ganesha: implement update_access
d130343 Huawei: Add manage share snapshot in Huawei driver
a1f33c9 Delete VLAN on delete_vserver in Netapp cmode
cd698f2 Use is_valid_ipv4 and is_valid_ipv6 from oslo.utils
48ba5fc Updated from global requirements
467321b Do not supply logging arguments as tuple.
05dcc06 cephfs_native: Fix client eviction
adc958f Pass context down to ViewBuilder method
94cf349 Add more dir exceptions to pep8 tox job
e2aecad [Tempest] Bump tempest version
82a571c [Tempest] Stop using deprecated Tempest opts
797bbcb [Tempest] Add valuable tags to tests
e96e7cb [Tempest] HotFix for broken CI jobs
e9dfa37 Updated from global requirements
c2e4967 Fix issue with testtool testrunner
e603ef0 HPE3PAR driver doesn't decrease fstore capacity
f78503d Updated from global requirements
33f4e3d Fix badly formatted release note
14446ef Use oslo IntOpt function instead of explicit check
3a4c777 Document instructions for documentation
739925a Adding info to use venv of tox for reno
3e561a1 Polish hook decorator
375b14d Updated from global requirements
db2a5a7 Updated from global requirements
081fc48 Fix HDS HNAS errors caused by incorrect IDs
548975e Huawei: Fix exception in update_access not found
528ee09 Hacking check for str in exception breaks in py34
2b7a755 Add hacking rule for assertEqual(None, *)
be01b39 Squash E042 and E043 bashate warnings
c8916d1 Removed the invalid link from Manila Dev Guide
b85248b Use assertTrue rather than assertEqual(True, ...)
67f1f03 Replace assertEqual(None, *) with assertIsNone in tests
ad52b3e Updated from global requirements
348fde0 Remove retry logic from manage API
e4e6190 Fix tox errors and warnings in the devref
07b1779 [Doc] Update quick start guide to Mitaka release
b22fcd1 Updated from global requirements
8b1de88 HDS_HNAS: Fix improper error message
c272dee HDS_HNAS: Remove unused parameter
4c3c7e5 Fix context warning spam of scheduler and share logs
70bf53b Updated from global requirements
724d8df Fix docs for REST API history and Scheduler
f52d032 Fix Manila RequestContext.to_dict() AttributeError
544ff9c Add wraps function to decorator
896acf4 Fix context decorator usage in DB API
545a3f7 Add hint how to configure fake_driver in manila-share
c8ff803 Test: make enforce_type=True in CONF.set_override
51ba6e1 Remove NetAppCmodeClient.delete_network_interface
cffb855 Updated from global requirements
4334a06 Add user_id echo in manila show/create/manage API
1e58d5c Bump Tempest version
e03d3d2 Remove deprecated manila RequestBodySizeLimiter
cb1a690 Fixed references for scheduler drivers in doc
118d440 Fix share server info in CGs created from CGs
aaf6086 Skip over quota tests if quota tests disabled
69eaebc Delete Snapshot: status wrongly set when busy
06eac60 Updated from global requirements
0d6de50 Fix HNAS error with unconfined filesystems
8de817d Developer Reference: Adopt the openstackdocstheme
7ca05d5 Fix IPv6 standalone network plugin test
affc78e cephfs_native: doc fixes
fef3c1e Added docs for commit message tags
aac9359 Fix docstring for policy.enforce method
b711e9e Updated from global requirements
d8bc030 Fix tempest.conf generation
a8747d1 [Trivial] replace logging with oslo.log
7999280 Add Grenade support to Manila
acf85ca NetApp: DR look up config via host name
95dd3dc [Devstack] Set proper driver mode for ZFSonLinux driver
b564d91 use thread safe fnmatch
1ed4efb Updated from global requirements
d706a59 Make devstack functions support grenade
1a66175 Fix microversion usage in share manage functional tests
53364e0 Handle manage/unmanage for replicated shares
4c7d9c4 Fix HNAS driver exception messages
f63fe25 Updated from global requirements
f14808a Add doc for Share Replication
143decf Fix Share status when driver migrates
fd9b5c0 Fix doc build if git is absent
7383279 Remove unused tenant_id variable
6d2efea [Fix CI] Bump Tempest version
1c2ec9b Detect addition of executable files
0877510 Updated from global requirements
9b55b6d Add release notes usage and documentation
1807485 Deprecate manila-all command
4f26ecd update hacking checks for manila
692bd3e Fix creation of Neutron network in Devstack
a909f23 Fix manage tempest test validation
db5c9f6 Update HPE 3PAR devref docs
f56d2fd NetApp cDOT driver should honor reserved percentage
466aef9 Remove Devstack workaround for Neutron
72ab144 Remove unused logging import and LOG global
cbb316b cephfs_native: Change backend snapshot dir's name
06cc17b Remove openstack-common.conf
5121ee2 update dev env doc for Fedora releases
3564881 Fix force-delete on snapshot resource
91ebe5b Increase Cinder oversubscription ratio in CI
67dd3f1 Use install_package when preparing LVM driver installation
165b03e Fix Manage API synchronous call
5b92331 Generic driver: ignore VolumeNotFound in deleting
973711b Removing some redundant words
a5b5c05 Add common capabilities matrix to devref
665f352 Add caution to test-requirements
c01b5bb Increase logging for driver initialization
8f7df3f Capitalize global var for clients
ad6cdb6 Fix typos
560f13d Update ZFSonLinux share driver docs
07c7e67 Update reno for stable/mitaka
bcb0f31 Add hacking check to ensure not to use xrange()
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 4 +
HACKING.rst | 22 +-
api-ref/source/availability-zones.inc | 48 +
api-ref/source/conf.py | 341 +++
api-ref/source/consistency-group-snapshots.inc | 398 +++
api-ref/source/consistency-groups.inc | 355 +++
api-ref/source/extensions.inc | 42 +
api-ref/source/index.rst | 37 +
api-ref/source/limits.inc | 77 +
api-ref/source/os-share-manage.inc | 126 +
api-ref/source/parameters.yaml | 2943 ++++++++++++++++++++
api-ref/source/quota-sets.inc | 173 ++
.../samples/availability-zones-list-response.json | 10 +
.../samples/consistency-group-create-request.json | 10 +
.../samples/consistency-group-create-response.json | 26 +
.../consistency-group-force_delete-request.json | 3 +
.../consistency-group-list-detail-response.json | 32 +
.../samples/consistency-group-list-response.json | 32 +
.../consistency-group-member-list-response.json | 24 +
.../consistency-group-reset_status-request.json | 5 +
.../samples/consistency-group-show-response.json | 27 +
.../consistency-group-snapshot-create-request.json | 7 +
...consistency-group-snapshot-create-response.json | 21 +
...stency-group-snapshot-force_delete-request.json | 3 +
...stency-group-snapshot-list-detail-response.json | 42 +
.../consistency-group-snapshot-list-response.json | 32 +
...stency-group-snapshot-reset_status-request.json | 5 +
.../consistency-group-snapshot-show-response.json | 21 +
.../consistency-group-snapshot-update-request.json | 5 +
...consistency-group-snapshot-update-response.json | 21 +
.../samples/consistency-group-update-request.json | 5 +
.../samples/consistency-group-update-response.json | 26 +
.../samples/export-location-list-response.json | 18 +
.../samples/export-location-show-response.json | 11 +
.../source/samples/extensions-list-response.json | 102 +
api-ref/source/samples/limits-response.json | 17 +
.../samples/pools-list-detailed-response.json | 27 +
api-ref/source/samples/pools-list-response.json | 22 +
api-ref/source/samples/quota-show-response.json | 10 +
api-ref/source/samples/quota-update-request.json | 7 +
api-ref/source/samples/quota-update-response.json | 9 +
.../samples/security-service-create-request.json | 10 +
.../samples/security-service-create-response.json | 17 +
.../samples/security-service-show-response.json | 17 +
.../samples/security-service-update-request.json | 8 +
.../samples/security-service-update-response.json | 17 +
.../security-services-list-detailed-response.json | 36 +
...y-services-list-for-share-network-response.json | 40 +
.../samples/security-services-list-response.json | 16 +
.../source/samples/service-disable-request.json | 4 +
.../source/samples/service-disable-response.json | 5 +
api-ref/source/samples/service-enable-request.json | 4 +
.../source/samples/service-enable-response.json | 5 +
api-ref/source/samples/services-list-response.json | 22 +
.../services-list-with-filters-response.json | 13 +
.../samples/share-actions-extend-request.json | 5 +
.../share-actions-force-delete-request.json | 3 +
.../share-actions-grant-access-request.json | 7 +
.../share-actions-grant-access-response.json | 12 +
.../share-actions-list-access-rules-request.json | 3 +
.../share-actions-list-access-rules-response.json | 20 +
.../samples/share-actions-reset-state-request.json | 5 +
.../share-actions-revoke-access-request.json | 5 +
.../samples/share-actions-shrink-request.json | 5 +
.../samples/share-actions-unmanage-request.json | 3 +
api-ref/source/samples/share-create-request.json | 17 +
api-ref/source/samples/share-create-response.json | 44 +
...hare-instance-actions-force-delete-request.json | 3 +
...share-instance-actions-reset-state-request.json | 5 +
.../samples/share-instances-list-response.json | 34 +
api-ref/source/samples/share-manage-request.json | 15 +
api-ref/source/samples/share-manage-response.json | 40 +
...share-network-add-security-service-request.json | 5 +
...hare-network-add-security-service-response.json | 17 +
.../samples/share-network-create-request.json | 8 +
.../samples/share-network-create-response.json | 17 +
...re-network-remove-security-service-request.json | 5 +
...e-network-remove-security-service-response.json | 17 +
.../samples/share-network-show-response.json | 17 +
.../samples/share-network-update-request.json | 5 +
.../samples/share-network-update-response.json | 17 +
.../share-networks-list-detailed-response.json | 49 +
.../samples/share-networks-list-response.json | 16 +
.../share-server-show-details-response.json | 12 +
.../source/samples/share-server-show-response.json | 22 +
.../samples/share-servers-list-response.json | 13 +
.../source/samples/share-set-metadata-request.json | 5 +
.../samples/share-set-metadata-response.json | 9 +
.../samples/share-show-instance-response.json | 18 +
.../samples/share-show-metadata-response.json | 6 +
api-ref/source/samples/share-show-response.json | 44 +
.../source/samples/share-type-create-request.json | 10 +
.../source/samples/share-type-create-response.json | 26 +
.../samples/share-type-grant-access-request.json | 5 +
.../samples/share-type-revoke-access-request.json | 5 +
api-ref/source/samples/share-type-set-request.json | 5 +
.../source/samples/share-type-set-response.json | 5 +
.../samples/share-types-default-list-response.json | 20 +
.../share-types-extra-specs-list-response.json | 6 +
.../samples/share-types-list-access-response.json | 12 +
.../source/samples/share-types-list-response.json | 54 +
.../samples/share-update-metadata-request.json | 7 +
.../samples/share-update-metadata-response.json | 7 +
api-ref/source/samples/share-update-request.json | 6 +
api-ref/source/samples/share-update-response.json | 41 +
.../samples/shares-list-detailed-response.json | 84 +
api-ref/source/samples/shares-list-response.json | 32 +
.../snapshot-actions-force-delete-request.json | 3 +
.../snapshot-actions-reset-state-request.json | 5 +
.../samples/snapshot-actions-unmanage-request.json | 3 +
.../source/samples/snapshot-create-request.json | 8 +
.../source/samples/snapshot-create-response.json | 23 +
.../source/samples/snapshot-manage-request.json | 12 +
.../source/samples/snapshot-manage-response.json | 24 +
api-ref/source/samples/snapshot-show-response.json | 23 +
.../source/samples/snapshot-update-request.json | 6 +
.../source/samples/snapshot-update-response.json | 23 +
.../samples/snapshots-list-detailed-response.json | 46 +
.../source/samples/snapshots-list-response.json | 32 +
.../samples/versions-get-version-response.json | 28 +
.../source/samples/versions-index-response.json | 52 +
api-ref/source/scheduler-stats.inc | 102 +
api-ref/source/security-services.inc | 296 ++
api-ref/source/services.inc | 140 +
api-ref/source/share-actions.inc | 328 +++
api-ref/source/share-export-locations.inc | 87 +
api-ref/source/share-instance-export-locations.inc | 88 +
api-ref/source/share-instances.inc | 157 ++
api-ref/source/share-metadata.inc | 144 +
api-ref/source/share-migration.inc | 103 +
api-ref/source/share-networks.inc | 398 +++
api-ref/source/share-servers.inc | 141 +
api-ref/source/share-types.inc | 423 +++
api-ref/source/shares.inc | 509 ++++
api-ref/source/snapshots.inc | 424 +++
api-ref/source/versions.inc | 111 +
contrib/ci/common.sh | 61 +-
contrib/ci/post_test_hook.sh | 107 +-
contrib/ci/pre_test_hook.sh | 70 +-
devstack/plugin.sh | 289 +-
devstack/settings | 21 +
devstack/upgrade/from-mitaka/upgrade-manila | 17 +
devstack/upgrade/resources.sh | 356 +++
devstack/upgrade/settings | 23 +
devstack/upgrade/shutdown.sh | 22 +
devstack/upgrade/upgrade.sh | 73 +
.../share_back_ends_feature_support_mapping.rst | 172 +-
etc/manila/api-paste.ini | 18 +-
etc/manila/policy.json | 5 +
etc/manila/rootwrap.d/share.filters | 37 +-
etc/oslo-config-generator/manila.conf | 1 +
.../controller-node-common-configuration.rst | 71 +
.../common/controller-node-prerequisites.rst | 208 ++
.../common/dhss-false-mode-configuration.rst | 98 +
.../source/common/dhss-false-mode-intro.rst | 7 +
.../source/common/dhss-true-mode-configuration.rst | 84 +
.../source/common/dhss-true-mode-intro.rst | 15 +
.../common/share-node-common-configuration.rst | 77 +
.../common/share-node-share-server-modes.rst | 36 +
install-guide/source/conf.py | 306 ++
install-guide/source/figures/hwreqs.graffle | Bin 0 -> 4026 bytes
install-guide/source/figures/hwreqs.png | Bin 0 -> 90834 bytes
install-guide/source/figures/hwreqs.svg | 3 +
.../get-started-with-shared-file-systems.rst | 39 +
install-guide/source/index.rst | 46 +
install-guide/source/install-controller-debian.rst | 56 +
install-guide/source/install-controller-node.rst | 22 +
install-guide/source/install-controller-obs.rst | 47 +
install-guide/source/install-controller-rdo.rst | 57 +
install-guide/source/install-controller-ubuntu.rst | 64 +
install-guide/source/install-share-debian.rst | 91 +
install-guide/source/install-share-node.rst | 21 +
install-guide/source/install-share-obs.rst | 90 +
install-guide/source/install-share-rdo.rst | 103 +
install-guide/source/install-share-ubuntu.rst | 99 +
install-guide/source/next-steps.rst | 14 +
install-guide/source/post-install.rst | 196 ++
install-guide/source/verify.rst | 29 +
manila/api/__init__.py | 14 -
manila/api/common.py | 5 +-
manila/api/extensions.py | 4 +-
manila/api/middleware/fault.py | 3 +-
manila/api/middleware/sizelimit.py | 35 -
manila/api/openstack/__init__.py | 3 +-
manila/api/openstack/api_version_request.py | 15 +-
manila/api/openstack/rest_api_version_history.rst | 34 +-
manila/api/openstack/wsgi.py | 7 +-
manila/api/sizelimit.py | 33 -
manila/api/v1/security_service.py | 3 +-
manila/api/v1/share_manage.py | 2 +-
manila/api/v1/share_networks.py | 17 +-
manila/api/v1/share_unmanage.py | 4 +
manila/api/v1/shares.py | 89 +-
manila/api/v2/cgsnapshots.py | 3 +-
manila/api/v2/consistency_groups.py | 11 +-
manila/api/v2/router.py | 8 +
manila/api/v2/share_replicas.py | 2 -
manila/api/v2/share_snapshot_instances.py | 86 +
manila/api/v2/share_snapshots.py | 8 +-
manila/api/v2/shares.py | 160 +-
manila/api/views/consistency_groups.py | 2 +-
manila/api/views/export_locations.py | 3 +-
manila/api/views/share_accesses.py | 61 +
manila/api/views/share_instance.py | 13 +-
manila/api/views/share_migration.py | 32 +
manila/api/views/share_networks.py | 24 +-
manila/api/views/share_snapshot_instances.py | 63 +
manila/api/views/share_snapshots.py | 19 +-
manila/api/views/shares.py | 27 +-
manila/api/views/types.py | 6 +-
manila/cmd/all.py | 6 +
manila/cmd/api.py | 0
manila/cmd/data.py | 0
manila/cmd/manage.py | 2 +-
manila/cmd/scheduler.py | 0
manila/cmd/share.py | 0
manila/common/client_auth.py | 5 +-
manila/common/config.py | 14 +-
manila/common/constants.py | 5 +-
manila/compute/nova.py | 14 +-
manila/consistency_group/api.py | 8 +-
manila/context.py | 40 +-
manila/data/helper.py | 168 +-
manila/data/manager.py | 90 +-
manila/data/rpcapi.py | 7 +-
manila/data/utils.py | 86 +-
manila/db/api.py | 104 +-
.../221a83cfd85b_change_user_project_id_length.py | 62 +
...48a7beae3117_move_share_type_id_to_instances.py | 83 +
...1_add_mtu_network_allocations_share_networks.py | 40 +
.../versions/63809d875e32_add_access_key.py | 36 +
...8723178_remove_host_from_driver_private_data.py | 108 +
...9e1_add_gateway_to_network_allocations_table.py | 40 +
manila/db/sqlalchemy/api.py | 297 +-
manila/db/sqlalchemy/models.py | 40 +-
manila/exception.py | 46 +-
manila/hacking/checks.py | 131 +-
manila/network/__init__.py | 11 +
manila/network/linux/interface.py | 4 +-
manila/network/linux/ip_lib.py | 6 +-
manila/network/neutron/api.py | 5 +-
manila/network/neutron/constants.py | 5 +
manila/network/neutron/neutron_network_plugin.py | 248 +-
manila/network/nova_network_plugin.py | 4 +
manila/network/standalone_network_plugin.py | 11 +
manila/opts.py | 27 +-
manila/policy.py | 11 +-
manila/scheduler/evaluator/__init__.py | 0
manila/scheduler/evaluator/evaluator.py | 297 ++
manila/scheduler/filters/base.py | 4 +-
manila/scheduler/filters/capabilities.py | 4 +-
manila/scheduler/filters/capacity.py | 18 +-
manila/scheduler/filters/driver.py | 122 +
manila/scheduler/filters/ignore_attempted_hosts.py | 4 +-
manila/scheduler/filters/share_replication.py | 10 +-
manila/scheduler/host_manager.py | 128 +-
manila/scheduler/manager.py | 35 +-
manila/scheduler/rpcapi.py | 32 +-
manila/scheduler/utils.py | 113 +
manila/scheduler/weighers/capacity.py | 10 +-
manila/scheduler/weighers/goodness.py | 124 +
manila/service.py | 5 +-
manila/share/access.py | 82 +-
manila/share/api.py | 439 ++-
manila/share/driver.py | 1091 +++++---
manila/share/drivers/cephfs/cephfs_native.py | 90 +-
manila/share/drivers/container/__init__.py | 0
manila/share/drivers/container/container_helper.py | 100 +
manila/share/drivers/container/driver.py | 300 ++
manila/share/drivers/container/protocol_helper.py | 143 +
manila/share/drivers/container/storage_helper.py | 90 +
manila/share/drivers/emc/driver.py | 18 +-
manila/share/drivers/emc/plugins/unity/__init__.py | 0
manila/share/drivers/emc/plugins/unity/client.py | 274 ++
.../share/drivers/emc/plugins/unity/connection.py | 633 +++++
manila/share/drivers/emc/plugins/unity/utils.py | 34 +
manila/share/drivers/emc/plugins/vnx/connection.py | 65 +-
manila/share/drivers/emc/plugins/vnx/constants.py | 3 +
.../drivers/emc/plugins/vnx/object_manager.py | 12 +-
manila/share/drivers/emc/plugins/vnx/utils.py | 23 +
manila/share/drivers/ganesha/__init__.py | 37 +-
manila/share/drivers/ganesha/manager.py | 4 -
manila/share/drivers/ganesha/utils.py | 54 +
manila/share/drivers/generic.py | 12 +-
manila/share/drivers/glusterfs/__init__.py | 157 +-
manila/share/drivers/glusterfs/common.py | 31 +-
manila/share/drivers/glusterfs/glusterfs_native.py | 88 +-
manila/share/drivers/glusterfs/layout.py | 63 +-
manila/share/drivers/glusterfs/layout_directory.py | 3 +-
manila/share/drivers/glusterfs/layout_volume.py | 9 +-
manila/share/drivers/hdfs/hdfs_native.py | 2 +-
manila/share/drivers/helpers.py | 3 +-
manila/share/drivers/hitachi/hds_hnas.py | 643 -----
manila/share/drivers/hitachi/hnas/__init__.py | 0
manila/share/drivers/hitachi/hnas/driver.py | 837 ++++++
manila/share/drivers/hitachi/hnas/ssh.py | 681 +++++
manila/share/drivers/hitachi/hsp/__init__.py | 0
manila/share/drivers/hitachi/hsp/driver.py | 366 +++
manila/share/drivers/hitachi/hsp/rest.py | 209 ++
manila/share/drivers/hitachi/ssh.py | 573 ----
manila/share/drivers/hpe/hpe_3par_driver.py | 420 ++-
manila/share/drivers/hpe/hpe_3par_mediator.py | 554 +++-
manila/share/drivers/huawei/base.py | 25 +
manila/share/drivers/huawei/constants.py | 44 +
manila/share/drivers/huawei/huawei_nas.py | 89 +-
manila/share/drivers/huawei/v3/connection.py | 306 +-
manila/share/drivers/huawei/v3/helper.py | 158 +-
manila/share/drivers/huawei/v3/replication.py | 248 ++
manila/share/drivers/huawei/v3/rpcapi.py | 46 +
manila/share/drivers/huawei/v3/smartx.py | 46 +-
manila/share/drivers/ibm/ganesha_utils.py | 332 ---
manila/share/drivers/ibm/gpfs.py | 346 ++-
manila/share/drivers/lvm.py | 5 +-
.../netapp/dataontap/client/client_cmode.py | 324 ++-
.../netapp/dataontap/cluster_mode/data_motion.py | 39 +-
.../netapp/dataontap/cluster_mode/drv_multi_svm.py | 8 +-
.../dataontap/cluster_mode/drv_single_svm.py | 6 +
.../netapp/dataontap/cluster_mode/lib_base.py | 116 +-
.../netapp/dataontap/cluster_mode/lib_multi_svm.py | 73 +-
.../netapp/dataontap/protocols/cifs_cmode.py | 5 -
manila/share/drivers/netapp/options.py | 6 +
manila/share/drivers/nexenta/__init__.py | 0
manila/share/drivers/nexenta/ns4/__init__.py | 0
manila/share/drivers/nexenta/ns4/jsonrpc.py | 92 +
manila/share/drivers/nexenta/ns4/nexenta_nas.py | 134 +
.../drivers/nexenta/ns4/nexenta_nfs_helper.py | 227 ++
manila/share/drivers/nexenta/ns5/__init__.py | 0
manila/share/drivers/nexenta/ns5/jsonrpc.py | 145 +
manila/share/drivers/nexenta/ns5/nexenta_nas.py | 422 +++
manila/share/drivers/nexenta/options.py | 79 +
manila/share/drivers/nexenta/utils.py | 54 +
manila/share/drivers/quobyte/jsonrpc.py | 204 +-
manila/share/drivers/quobyte/quobyte.py | 34 +-
manila/share/drivers/service_instance.py | 14 +-
manila/share/drivers/tegile/tegile.py | 4 +-
manila/share/drivers/windows/windows_smb_driver.py | 21 -
manila/share/drivers/windows/windows_smb_helper.py | 191 +-
manila/share/drivers/zfsonlinux/driver.py | 420 ++-
manila/share/drivers/zfsonlinux/utils.py | 79 +-
manila/share/drivers/zfssa/restclient.py | 4 +-
manila/share/drivers/zfssa/zfssarest.py | 27 +-
manila/share/drivers/zfssa/zfssashare.py | 163 +-
manila/share/drivers_private_data.py | 6 +-
manila/share/manager.py | 836 ++++--
manila/share/migration.py | 33 +-
manila/share/rpcapi.py | 107 +-
manila/share/utils.py | 10 +-
manila/test.py | 2 +-
.../migrations/alembic/migrations_data_checks.py | 475 ++++
.../network/test_standalone_network_plugin.py | 22 +-
.../share/drivers/cephfs/test_cephfs_native.py | 141 +-
.../drivers/container/test_container_helper.py | 110 +
.../drivers/container/test_protocol_helper.py | 295 ++
.../share/drivers/container/test_storage_helper.py | 113 +
.../drivers/emc/plugins/isilon/test_isilon.py | 6 +-
.../drivers/emc/plugins/isilon/test_isilon_api.py | 2 +-
.../share/drivers/emc/plugins/unity/__init__.py | 20 +
.../drivers/emc/plugins/unity/fake_exceptions.py | 66 +
.../drivers/emc/plugins/unity/mocked_manila.yaml | 235 ++
.../drivers/emc/plugins/unity/mocked_unity.yaml | 974 +++++++
.../share/drivers/emc/plugins/unity/res_mock.py | 337 +++
.../share/drivers/emc/plugins/unity/test_client.py | 168 ++
.../drivers/emc/plugins/unity/test_connection.py | 617 ++++
.../share/drivers/emc/plugins/unity/test_utils.py | 50 +
.../drivers/emc/plugins/vnx/test_connection.py | 78 +-
.../drivers/emc/plugins/vnx/test_object_manager.py | 55 +-
.../share/drivers/emc/plugins/vnx/test_utils.py | 44 +
.../drivers/glusterfs/test_glusterfs_native.py | 179 +-
.../share/drivers/glusterfs/test_layout_volume.py | 2 +-
.../share/drivers/hitachi/hnas/test_driver.py | 781 ++++++
.../share/drivers/hpe/test_hpe_3par_constants.py | 90 +-
.../share/drivers/hpe/test_hpe_3par_driver.py | 478 +++-
.../share/drivers/hpe/test_hpe_3par_mediator.py | 918 ++++--
.../share/drivers/netapp/dataontap/client/fakes.py | 189 +-
.../netapp/dataontap/client/test_client_cmode.py | 569 +++-
.../dataontap/cluster_mode/test_data_motion.py | 54 +-
.../netapp/dataontap/cluster_mode/test_lib_base.py | 350 ++-
.../dataontap/cluster_mode/test_lib_multi_svm.py | 74 +-
.../netapp/dataontap/protocols/test_cifs_cmode.py | 7 -
.../share/drivers/nexenta/ns4/test_jsonrpc.py | 38 +
.../share/drivers/nexenta/ns4/test_nexenta_nas.py | 606 ++++
.../share/drivers/nexenta/ns5/test_jsonrpc.py | 129 +
.../share/drivers/nexenta/ns5/test_nexenta_nas.py | 378 +++
.../share/drivers/windows/test_service_instance.py | 4 +-
.../drivers/windows/test_windows_smb_driver.py | 40 -
.../drivers/windows/test_windows_smb_helper.py | 268 +-
manila/utils.py | 5 +-
manila/volume/cinder.py | 16 +-
manila/wsgi.py | 4 +-
.../services/share/json/shares_client.py | 7 +-
.../services/share/v2/json/shares_client.py | 145 +-
.../api/admin/test_consistency_group_actions.py | 42 +-
.../api/admin/test_consistency_groups_negative.py | 33 +-
.../api/admin/test_export_locations_negative.py | 57 +-
.../api/admin/test_share_snapshot_instances.py | 121 +
.../test_share_snapshot_instances_negative.py | 88 +
.../api/admin/test_share_types_extra_specs.py | 14 +-
.../admin/test_share_types_extra_specs_negative.py | 256 +-
.../api/admin/test_snapshot_manage_negative.py | 4 +-
.../api/test_security_services_mapping_negative.py | 36 +-
openstack-common.conf | 15 -
.../3par-add-update-access-68fc12ffc099f480.yaml | 3 +
.../notes/3par-pool-support-fb43b368214c9eda.yaml | 9 +
...instead-of-ssl-middleware-df533a2c2d9c3a61.yaml | 8 +
...s-key-to-share-access-map-2fda4c06a750e24e.yaml | 5 +
...nup-create-from-snap-hnas-0e0431f1fc861a4e.yaml | 4 +
...p-default-filter-function-0af60a819faabfec.yaml | 3 +
...port-in-zfsonlinux-driver-88e6da5692b50810.yaml | 3 +
...pshot-instances-admin-api-959a1121aa407629.yaml | 3 +
.../notes/add-user-id-echo-8f42db469b27ff14.yaml | 3 +
.../add_gateway_into_db-1f3cd3f392ae81cf.yaml | 4 +
.../notes/add_mtu_info_db-3c1d6dc02f40d5a6.yaml | 4 +
...oject_id_to_snapshot_APIs-157614b4b8d01e15.yaml | 4 +
...-replica-deletion-in-cDOT-7e4502fb50b69507.yaml | 5 +
...-fix-hpe3par-delete-share-0daf75193f318c41.yaml | 3 +
...hen-interfaces-dont-exist-4d00fe9dafadc252.yaml | 4 +
...3303-fix-config-generator-18b9f9be40d7eee6.yaml | 5 +
.../notes/bug_1564623_change-e286060a27b02f64.yaml | 4 +
.../notes/bug_1582931-1437eae20fa544d1.yaml | 4 +
...d-readonly-shares-support-067ccab0217ab5f5.yaml | 4 +
...nce-update-access-support-e1a1258084c997ca.yaml | 7 +
.../cephfs-native-fix-evict-c45fd2de8f520757.yaml | 3 +
...hange_user_project_length-93cc8d1c32926e75.yaml | 3 +
.../check-thin-provisioning-4bb702535f6b10b6.yaml | 7 +
.../notes/container-driver-5d972cc40e314663.yaml | 14 +
...edupe-support-hnas-driver-017d2f2a93a8b487.yaml | 5 +
...te_vlan_on_vserver_delete-a7acd145c0b8236d.yaml | 3 +
.../notes/driver-filter-91e2c60c9d1a48dd.yaml | 10 +
.../emc-unity-manila-support-d4f5a410501cfdae.yaml | 11 +
...rface_ports_configuration-00d454b3003ef981.yaml | 5 +
.../error-share-set-size-ff5d4f4ac2d56755.yaml | 5 +
...mate-provisioned-capacity-34f0d2d7c6c56621.yaml | 5 +
...ix-consistency-groups-api-dd9b5b99138e22eb.yaml | 7 +
.../fix-hds-hnas-unconfined-09b79f3bdb24a83c.yaml | 5 +
.../fix-huawei-exception-a09b73234ksd94kd.yaml | 3 +
.../fix-managing-twice-hnas-4956a7653d27e320.yaml | 4 +
.../fix_cephx_validation-cba4df77f9f45c6e.yaml | 5 +
...d-netapp-cdot-autosupport-3fabd8ac2e407f70.yaml | 5 +
.../generic-route-racing-adf92d212f1ab4de.yaml | 4 +
...-volume-option-xml-schema-dad06253453c572c.yaml | 4 +
...-driver-cifs-user-support-3f1a8b894fe3e9bb.yaml | 8 +
.../notes/hnas-driver-rename-7ef74fe720f7e04b.yaml | 20 +
.../hnas_allow_managed_fix-4ec7794e2035d3f2.yaml | 9 +
...pe3par-rw-snapshot-shares-f7c33b4bf528bf00.yaml | 3 +
.../notes/hsp-driver-e00aff5bc89d4b54.yaml | 7 +
...huawei-driver-replication-8ed62c8d26ad5060.yaml | 10 +
...-driver-sectorsize-config-da776132ba6da2a7.yaml | 5 +
...wei-pool-disktype-support-0a52ba5d44da55f9.yaml | 5 +
...wei-support-access-all-ip-4994c10ff75ac683.yaml | 3 +
...es-in-netapp-cdot-drivers-e7c90fb62426c281.yaml | 4 +
.../ibm-gpfs-ces-support-3498e35d9fea1b55.yaml | 14 +
...ounting-inside-containers-af8f84d1fab256d1.yaml | 3 +
...hare-in-zfsonlinux-driver-e80921081206f75b.yaml | 3 +
...snapshot-in-huawei-driver-007b2c763fbdf480.yaml | 3 +
...shot-in-zfsonlinux-driver-6478d8d5b3c6a97f.yaml | 3 +
...unmanage-replicated-share-fa90ce34372b6df5.yaml | 12 +
...hot-in-netapp-cdot-driver-5cb4b1619c39625a.yaml | 5 +
.../migration-access-fix-71a0f52ea7a152a3.yaml | 7 +
.../migration-empty-files-01d1a3caa2e9705e.yaml | 4 +
.../migration-share-type-98e3d3c4c6f47bd9.yaml | 3 +
.../multi-segment-support-fa171a8e3201d54e.yaml | 3 +
...mtu-from-network-provider-d12179a2374cdda0.yaml | 6 +
...-cdot-clone-split-control-a68b5fc80f1fc368.yaml | 7 +
...ot-configure-nfs-versions-83e3f319c4592c39.yaml | 10 +
.../neutron-binding-driver-43f01565051b031b.yaml | 3 +
...on-migration-improvements-cf9d3d6e37e19c94.yaml | 29 +
.../nexenta-manila-drivers-cbd0b376a076ec50.yaml | 3 +
...ocType-from-huawei-driver-8b279802f36efb00.yaml | 8 +
...e-deprecated-size-limiter-9d7c8ab69cf85aea.yaml | 10 +
.../rules-for-managed-share-f28a26ffc980f6fb.yaml | 6 +
.../snapshot-force-delete-4432bebfb5a0bbc9.yaml | 5 +
...ws-smb-fix-default-access-d4b9eee899e400a0.yaml | 5 +
...add-share-manage-unmanage-9bd6d2e25cc86c35.yaml | 5 +
releasenotes/source/index.rst | 3 +-
releasenotes/source/mitaka.rst | 6 +
requirements.txt | 41 +-
setup.cfg | 3 +
test-requirements.txt | 23 +-
tools/check_exec.py | 42 +
tools/check_logging.sh | 28 +
tox.ini | 31 +-
667 files changed, 50999 insertions(+), 11577 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 0a98c3e..a2939e1 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -8,2 +8,2 @@ pbr>=1.6 # Apache-2.0
-alembic>=0.8.0 # MIT
-Babel>=1.3 # BSD
+alembic>=0.8.4 # MIT
+Babel>=2.3.4 # BSD
@@ -14,3 +14,3 @@ netaddr!=0.7.16,>=0.7.12 # BSD
-oslo.config>=3.7.0 # Apache-2.0
-oslo.context>=0.2.0 # Apache-2.0
-oslo.db>=4.1.0 # Apache-2.0
+oslo.config>=3.14.0 # Apache-2.0
+oslo.context>=2.9.0 # Apache-2.0
+oslo.db!=4.13.1,!=4.13.2,>=4.10.0 # Apache-2.0
@@ -19 +19 @@ oslo.log>=1.14.0 # Apache-2.0
-oslo.messaging>=4.0.0 # Apache-2.0
+oslo.messaging>=5.2.0 # Apache-2.0
@@ -21,2 +21,2 @@ oslo.middleware>=3.0.0 # Apache-2.0
-oslo.policy>=0.5.0 # Apache-2.0
-oslo.rootwrap>=2.0.0 # Apache-2.0
+oslo.policy>=1.9.0 # Apache-2.0
+oslo.rootwrap>=5.0.0 # Apache-2.0
@@ -24,4 +24,4 @@ oslo.serialization>=1.10.0 # Apache-2.0
-oslo.service>=1.0.0 # Apache-2.0
-oslo.utils>=3.5.0 # Apache-2.0
-oslo.concurrency>=3.5.0 # Apache-2.0
-paramiko>=1.16.0 # LGPL
+oslo.service>=1.10.0 # Apache-2.0
+oslo.utils>=3.16.0 # Apache-2.0
+oslo.concurrency>=3.8.0 # Apache-2.0
+paramiko>=2.0 # LGPLv2.1+
@@ -30,4 +30,5 @@ PasteDeploy>=1.5.0 # MIT
-python-neutronclient!=4.1.0,>=2.6.0 # Apache-2.0
-keystoneauth1>=2.1.0 # Apache-2.0
-keystonemiddleware!=4.1.0,>=4.0.0 # Apache-2.0
-requests!=2.9.0,>=2.8.1 # Apache-2.0
+pyparsing>=2.0.1 # MIT
+python-neutronclient>=5.1.0 # Apache-2.0
+keystoneauth1>=2.10.0 # Apache-2.0
+keystonemiddleware!=4.1.0,!=4.5.0,>=4.0.0 # Apache-2.0
+requests>=2.10.0 # Apache-2.0
@@ -35,2 +36,2 @@ retrying!=1.3.0,>=1.2.3 # Apache-2.0
-Routes!=2.0,!=2.1,>=1.12.3;python_version=='2.7' # MIT
-Routes!=2.0,>=1.12.3;python_version!='2.7' # MIT
+Routes!=2.0,!=2.1,!=2.3.0,>=1.12.3;python_version=='2.7' # MIT
+Routes!=2.0,!=2.3.0,>=1.12.3;python_version!='2.7' # MIT
@@ -39,2 +40,2 @@ SQLAlchemy<1.1.0,>=1.0.10 # MIT
-stevedore>=1.5.0 # Apache-2.0
-python-cinderclient>=1.3.1 # Apache-2.0
+stevedore>=1.16.0 # Apache-2.0
+python-cinderclient!=1.7.0,!=1.7.1,>=1.6.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 46306c9..bc17d0d 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -11,4 +11,3 @@ ddt>=1.0.1 # MIT
-fixtures>=1.3.1 # Apache-2.0/BSD
-mock>=1.2 # BSD
-iso8601>=0.1.9 # MIT
-PyMySQL>=0.6.2 # MIT License
+fixtures>=3.0.0 # Apache-2.0/BSD
+mock>=2.0 # BSD
+iso8601>=0.1.11 # MIT
@@ -16,0 +16,6 @@ oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0
+openstackdocstheme>=1.5.0 # Apache-2.0
+
+# Do not remove 'PyMySQL' and 'psycopg2' dependencies. They are used
+# by oslo_db lib for running MySQL and PostgreSQL DB migration tests.
+# See http://docs.openstack.org/developer/oslo.db/contributing.html#how-to-run-un…
+PyMySQL!=0.7.7,>=0.6.2 # MIT License
@@ -17,0 +23 @@ psycopg2>=2.5 # LGPL/ZPL
+
@@ -19,3 +25,4 @@ python-subunit>=0.0.18 # Apache-2.0/BSD
-requests-mock>=0.7.0 # Apache-2.0
-sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 # BSD
-os-testr>=0.4.1 # Apache-2.0
+requests-mock>=1.0 # Apache-2.0
+sphinx!=1.3b1,<1.3,>=1.2.1 # BSD
+os-api-ref>=1.0.0 # Apache-2.0
+os-testr>=0.7.0 # Apache-2.0
@@ -25 +32 @@ testtools>=1.4.0 # MIT
-reno>=0.1.1 # Apache2
+reno>=1.8.0 # Apache2
1
0
We are chuffed to announce the release of:
glance 13.0.0: OpenStack Image Service
This release is part of the newton release series.
For more details, please see below.
13.0.0
^^^^^^
* Add "vhdx" to list of supported disk format.
* Glance API "minor" version bumped to 2.4.
* Deprecate the "show_multiple_locations" configuration option in
favor of the existing Role Based Access Control (RBAC) for Image
locations which uses "policy.json" file to define the appropriate
rules.
* The Images (Glance) version 1 API has been DEPRECATED. Please see
deprecations section for more information.
* Improved configuration option descriptions and handling.
* Adding locations to a non-active or non-queued image is no longer
allowed.
* Glance no longer returns a 500 when 4 byte unicode characters are
passed to the metadefs API.
* Deprecated "sign-the-hash" approach for image signing. Old
run_tests and related scripts have been removed.
* Database downgrades have been removed from the Glance source tree.
* The "s3" store driver has been removed.
* Sample configuration file shipped with Glance source now has
reordered store drivers configuration options for future consistent
ordering.
* Expired tasks are now deleted.
New Features
************
* The identifier "vhdx" has been added to the list of supported disk
formats in Glance. The respective configuration option has been
updated and the default list shows "vhdx" as a supported format.
Upgrade Notes
*************
* Added additional metadata for CPU thread pinning policies to
'compute-cpu-pinning.json'. Use the "glance_manage" tool to upgrade.
* The "disk_format" config option enables "vhdx" as supported by
default.
* The "default" policy in "policy.json" now uses the admin role
rather than any role. This is to make the policy file restrictive
rather than permissive and tighten security.
* Glance API **CURRENT** "minor" version is now "2.4".
* To partially fix an important image locations bug 1587985, an
API impacting change has been merged into Glance.
* This will result into a non-backward compatible experience
before and after **Newton** release, for users using "add" feature
to image locations.
* Some backend store names were inconsistent between glance and
glance_store. This meant that operators of the VMware datastore or
file system store were required to use store names in "glance-
api.conf" that did not correspond to any valid identifier in
glance_store. As this situation encouraged misconfiguration and
operator unhappiness, we have made the store names consistent in the
Newton release. What this means for you:
* This change applies only to operators who are using multiple
image locations
* This change applies only to operators using the VMware datastore
or filesystem stores
* This change applies only to the "store_type_preference" option
* *VMware datastore operators*: The old name, now **DEPRECATED**,
was "vmware_datastore". The **new** name, used in both glance and
glance_store, is "vmware"
* *File system store operators*: the old name, now **DEPRECATED**,
was "filesystem". The **new** name, used in both glance and
glance_store, is "file"
* This change is backward compatible, that is, the old names will
be recognized by the code during the deprecation period. Support
for the deprecated names will be removed in the **Pike** release
* We strongly encourage operators to modify their "glance-
api.conf" files immediately to use the **new** names
* Some additional points about "show_multiple_locations"
configuration option deprecation.
* Maintaining two different ways to configure, enable and/or
disable a feature is painful for developers and operators, so the
less granular means of controlling this feature will be eliminated
in the **Ocata** release.
* For the Newton release, this option will still be honored.
However, it is important to update "policy.json" file for glance-
api nodes. In particular, please consider updating the policies
"delete_image_location", "get_image_location" and
"set_image_location" as per your requirements. As this is an
advanced option and prone to expose some risks, please check the
policies to ensure security and privacy of your cloud.
* Future releases will ignore this option and just follow the
policy rules. It is recommended that this option is disabled for
public endpoints and is used only internally for service-to-
service communication.
* As mentioned above, the same recommendation applies to the
policy- based configuration for exposing multiple image locations.
* The image signature verification feature has been updated to
follow the "sign-the-data" approach, which uses a signature of the
image data directly. The prior deprecated "sign-the-hash" approach,
which uses a signature of an MD5 hash of the image data, has been
removed.
* The "db_downgrade" command has been removed from the "glance-
manage" utility and all database downgrade scripts have been
removed. In accord with OpenStack policy, Glance cannot be
downgraded any more. Operators are advised to make a full database
backup of their production data before attempting any upgrade.
* The latest release of glance_store library does not have the
support for the "s3" driver. All code references of the same have
been removed from the library. As this release of Glance uses the
updated glance_store library, you will find the "s3" driver support
removed from Glance too. For example the Glance image location
strategy modules no longer offer the "s3" driver support.
Deprecation Notes
*****************
* With the deprecation of the Images (Glance) version 1 API in the
Newton release, it is subject to removal on or after the Pike
release. The configuration options specific to the Images (Glance)
v1 API have also been deprecated and are subject to removal. An
indirectly related configuration option enable_v2_api has been
deprecated too as it becomes redundant once the Images (Glance) v1
API is removed. Appropriate warning messages have been setup for the
deprecated configuration options and when the Images (Glance) v1 API
is enabled (being used). Operators are advised to deploy the Images
(Glance) v2 API. The standard OpenStack deprecation policy will be
followed for the removals.
Critical Issues
***************
* Attempting to set image locations to an image *not* in "active" or
"queued" status will now result in a HTTP Conflict (HTTP status code
409) to the user.
* Until now, no image status checks were in place while **adding**
a location on it. In some circumstances, this may result in a bad
user experience. It may also cause problems for a security team
evaluating the condition of an image in "deactivated" status.
* **Adding** locations is disallowed on the following image
statuses - "saving", "deactivated", "deleted", "pending_delete",
"killed".
* Note that there are race conditions associated with adding a
location to an image in the "active", "queued", "saving", or
"deactivated" status. Because these are non-terminal image
statuses, it is possible that when a user attempts to add a
location, a status transition could occur that might block the
**add** (or might appear to allow an add that should not be
allowed).
* For example, a user is not allowed to add a location to an image
in "saving" status. Suppose a user decides to add a location
anyway. It is possible that before the user's request is
processed, the transmission of data being saved is completed and
the image transitioned into "active" status, in which case the
user's add location request will succeed. To the user, however,
this success will appear anomalous because in most cases, an
attempt to add a location to an image in "saving" status will
fail.
* We mention this so that you can be aware of this situation in
your own testing.
Security Issues
***************
* All "qemu-img info" calls are now run under resource limitations
that limit the CPU time and address space usage of the process
running the command to 2 seconds and 1 GB respectively. This
addresses the bug https://bugs.launchpad.net/glance/+bug/1449062
Current usage of "qemu-img" is limited to Glance tasks, which by
default (since the Mitaka release) are only available to admin
users. We continue to recommend that tasks only be exposed to
trusted users
* The initial implementation of the image signature verification
feature in Glance was insecure, because it relied on an MD5 hash of
the image data. More details can be found in bug 1516031. This
"sign-the-hash" approach was deprecated in Mitaka, and has been
removed in Newton. Related CVE-2015-8234.
Bug Fixes
*********
* Here is a list of other important bugs that have been fixed (or
partially fixed) along with their descriptions.
* bug 1617258: Image signature base64 needs to wrap lines
* bug 1612341: Add cpu thread pinning flavor metadef
* bug 1609571: version negotiation api middleware was NOT up to
date to include v2.3
* bug 1602081: Glance needs to use oslo.context's policy dict
* bug 1599169: glance-replicator size raises object of type
'NoneType' has no len() exception when no args provided
* bug 1599192: glance-replicator needs to display human-readable
size
* bug 1585917: member-create will raise 500 error if member-id is
greater than 255 characters
* bug 1598985: glance-replicator compare output should show image
name in addition to image id for missing images
* bug 1533949: Glance tasks missing configuration item
"conversion_format"
* bug 1593177: The default policy needs to be admin for safer
default deployment scenarios
* bug 1584076: Swift ACLs disappears on v1 Glance images
* bug 1591004: Unable to download image with no checksum when
cache is enabled
* bug 1584415: Listing images with the created_at and updated_at
filters fails if an operator is not specified
* bug 1590608: Services should use http_proxy_to_wsgi middleware
from oslo.middleware library
* bug 1584350: etc/glance-registry.conf sample file has redundant
store section
* bug 1543937: db-purge fails for very large number
* bug 1580848: There's no exception when import task is created
without properties
* bug 1585584: Glare v0.1 is unable to create public artifact
draft
* bug 1582304: Allow tests to run when http proxy is set
* bug 1570789: Metadefs API returns 500 error when 4 byte unicode
character is passed
* bug 1532243: glance fails silently if a task flow can not be
loaded
* bug 1568894: glance_store options missing in glance-
scrubber.conf and glance-cache.conf sample files
* bug 1568723: secure_proxy_ssl_header not in sample configuration
files
* bug 1535231: md-meta with case insensitive string has problem
during creating
* bug 1555275: Tags set changes on delete
* bug 1558683: Versions endpoint does not support X-Forwarded-
Proto
* bug 1557495: Possible race conditions during status change
Other Notes
***********
* The glance configuration options have been improved with detailed
help texts, defaults for sample configuration files, explicit
choices of values for operators to choose from, and a strict range
defined with "min" and "max" boundaries.
* It must be noted that the configuration options that take
integer values now have a strict range defined with "min" and/or
"max" boundaries where appropriate.
* This renders the configuration options incapable of taking
certain values that may have been accepted before but were
actually invalid.
* For example, configuration options specifying counts, where a
negative value was undefined, would have still accepted the
supplied negative value. Such options will no longer accept
negative values.
* Options where a negative value was previously defined (for
example, -1 to mean unlimited) will remain unaffected by this
change.
* Values which do not comply with the new restrictions will
prevent the service from starting. The logs will contain a message
indicating the problematic configuration option and the reason why
the supplied value has been rejected.
* The sample configuration files autogenerated using the oslo-
config- generator tool now give consistent ordering of the store
drivers configurations.
* Some operators have reported issues with reordering observed in
the sample configurations shipped with Glance release tarballs.
This reordering may result into a incorrect "diff" of the
configurations used downstream vs. newly introduced upstream.
* Latest release of "glance_store" library (used in the **Newton**
release of Glance) will include fix for the "glance_store" bug
1619487.
* Until now every run of the oslo-config-generator resulted in
random ordering of the store drivers configuration. After
**Newton** release this order will remain consistent.
* The store drivers configuration order in the sample or
autogenerated files should be expected to be alphabetical as -
"cinder", "filesystem", "http", "rbd", "sheepdog", "swift",
"vmware".
* Note the code name for the "ceph" driver is "rbd".
* Note the ordering of the options within a store is not
alphabetical.
* Expired tasks are now deleted in Glance. As with other Glance
resources, this is a "soft" deletion, that is, a deleted task is
marked as "deleted" in the database so that the task will not appear
in API responses, but the information associated with the task
persists in the database.
* Glance and Nova contain nearly identical digital signature
modules. In order to better maintain and evolve this code and to
eliminate the possibility that the modules diverge, we have replaced
the digital signature module in Glance with the new "cursive"
library.
* The "cursive" library is an OpenStack project which implements
OpenStack-specific verification of digital signatures.
* In Newton, the majority of the signature verification code was
removed from Glance. "cursive" has been added to Glance as a
dependency and will be installed by default.
* Glance uses the "cursive" library's functionality to verify
digital signatures. To familiarize yourself with this new
dependency and see the list of transitive dependencies visit
http://git.openstack.org/cgit/openstack/cursive
Changes in glance 12.0.0.0rc1..13.0.0
-------------------------------------
c7578a8 Correct releasenote for Ib900bbc05cb9ccd90c6f56ccb4bf2006e30cdc80
122a144 Fixing inconsistency in Glance store names.
6cba6b1 Adding constraints around qemu-img calls
e32be7e Imported Translations from Zanata
912d1fb Update UPPER_CONSTRAINTS_FILE for stable/newton
793ce3b Update .gitreview for stable/newton
cc869ec Complete and update Newton release notes
5c198ce Updated from global requirements
e8e0abd Fix cursive named arguments
72affb4 Fix nits from commit that introduces cursive
a2b329c Bump up Glance API minor version to 2.4
25b492c Fix a small markup typo
80006b4 Keep consistent order for regenerated configs
11cfe49 Regenerate config files for Newton
ab9811b Improving help text for common-config opts
71aca20 Improving help text for data access API option
afb18df Improving help text for Glance common-config opts
2f803d3 Remove DB downgrade
0fbeac7 Release note for glance config opts.
1f5dedd Improve help text of glance config opts
7c7dd62 Attempt to not set location on non active or queued image
6d88709 Improving help text for WSGI server conf opts.
5afb5d3 Use cursive for signature verification
8f39f7b Updated from global requirements
5085b29 Improving help text for metadefs config option
898c087 Improve the help text for registry client opts
34be9d9 Improving help text for send_identity_headers opt
743e7b0 Remove unused requirements
3ff3deb Remove "Services which consume this" section
dbfc121 Deprecate `show_multiple_locations` option
5663196 Image signature base64 don't wrap lines
63e6dbb Deprecate the Images (Glance) v1 API
5662371 Improving help text of v1/v2 API & Registry opts
c8e4e80 Improve help text of scrubber daemon option
45ab304 Improving help text for RPC opt
3d68577 Improving help text for image conversion_format
b887fa4 Updated from global requirements
7acf08d Updated from global requirements
ae7e9fc TrivialFix: Remove cfg import unused
91f37fd Improving help text for store_type_preference opt.
7c73e64 Improving help text for Notifier opts
e291143 Removing deprecated variable aliases from oslo_messaging
9522d77 Improve help text of scrubber opts
d01fabe Correct link to image properties
cbb4b90 Improve help text of quota opts
b158de3 Improve help text of registry server opts
89e4edc Get ready for os-api-ref sphinx theme change
ec51162 Add registry_client_opts to glance-cache.conf.sample
aba79f0 Updated from global requirements
411418b Add CPU thread pinning to metadata defs
5caf1c7 Stop stack tracing on 404s
dffbb61 Don't use config option sqlite_db
2590b47 Index to generate doc page for refreshing-configs
7df813b Add guideline to refresh config files shipped with source
269f258 Add example for diff between assert true and equal
d0f4316 Updated from global requirements
66335ba Remove references of s3 store driver
8c3560b Add test class to versions tests
e736517 change the example URLs in dev-docs for Glance
b59a6bd Updated from global requirements
ceddda8 Updated from global requirements
b7460f1 Updated from global requirements
5829139 Fix use of etc. in metadefs docs.
60a490d Improving help text for location_strategy opt.
53379a7 Use more specific asserts in unit tests
215ec1e Add a requirements guidelines to docs
7da4675 api-ref: correct versions response example
f2930b9 Updated from global requirements
0d1daf4 Version negotiation api middleware to include v2.3
36f3755 Add release notes for newton-1
1ad6cb6 Remove deprecated test utility
5baa5e6 Some migrations tests incorrectly ref S3 for Swift
1d949ab Remove extraneous ws in architecture docs
b5f31ee Refresh some config files based on bug fixes
4016d11 Generate and include sample config as part of docs
45003b0 Wrap text in sample configuration files at 80
71d09f0 Improving help text for proprty utils opts.
d0153c6 Updated from global requirements
d66d0c3 Improving help text for swift_store_utils opts
a83653e cache_manage: fix a print bug in exit main
de98965 replicator: dump: Display more info
08a320b replicator: livecopy: Display more info
dc541c2 Updated from global requirements
db04a37 Add ova to container format doc to rally plugin
fc0b47b Add 'vhdx' disk format.
21c7981 Add 'ova' as a container_format in dev-docs
ea010a2 Update sqlalchemy-migrate url
276b40b Improving help text for taskflow executor opts.
f9adca0 Minor tweak to release note documentation
b2e3ed9 Replace OpenStack LLC with OpenStack Foundation
8161bde api-ref: Replace image-update response example
5745827 api-ref: Refresh images schemas
e81229b Correcting description of image_update API method.
5fc0537 Making Forbidden Exception action oriented
99dd153 Updated from global requirements
80a9f57 Make docs copyright consistent
c8ecd93 Add LOG.warning to Disallowed minor changes
c028c2d WADL to RST migration (part 2 - images)
46a7146 Updated from global requirements
280a027 Improving help text for context middleware opts
e0c03c6 Add __ne__ built-in function
14ccf59 Replace "LOG.warn(_" with "LOG.(_LW"
da230ab Updated from global requirements
06af212 Cleanup i18n marker functions to match Oslo usage
ca501cb Use oslo.context features
2b4e921 glance-replicator: size: Handle no args better
368f7db WADL to RST migration (part 2 - metadefs)
f9613c7 Remove unused LOG to keep code clean
7aa6458 Nitpick spell change
690249b Correct reraising of exception
3a15da1 Perform a cleanup of configuring.rst
d04d312 Fix duplicated osprofile config for registry
76fa534 replicator: size: Display human-readable size
9eed745 Return 400 when name is more than 255 characters
9c03d6b glance-replicator: compare: Show image name in msg
aff592d Use MultiStrOpt instead of ListOpt for args
07d0f02 Updated from global requirements
d573b6f Improving help text for public_endpoint
e78ff4a Add image signature verification metadefs
7533f1c Add signed images documentation
6db15ef Glance tasks lost configuration item conversion_format
d330e5a Update to Glance Contributor's docs
011235f WADL to RST migration (part 2 - tasks)
ed08411 Updated from global requirements
71c33b3 Updated from global requirements
ee1b6dc WADL to RST migration (part 1)
4f61f95 Add documentation about generating release notes
969309f Change default policy to admin
d719b3a Fix bug Swift ACL which disappears on Glance v1 images
bf53c1b Do not set header if checksum doesn't exist
1a86665 Updated from global requirements
bb89dd9 Fixes the use of dates when listing images
c8659f9 Use olso_log and delay string interpolation while logging
b54d3d1 Add in missing log hints
b0d0b1d Use http-proxy-to-wsgi middleware from oslo.middleware
551018a Updated from global requirements
8932a71 Imported Translations from Zanata
38563b0 Add a soft delete functionality for tasks.
1b09730 Update man pages to current version and dates
85375d4 Incorrect title for Outbound Peak
d6a8df5 Updated from global requirements
a0bddc9 Remove redundant store config from registry sample
f510bb2 Remove TODOs from deprecated "sign-the-hash"
13a17a8 Updated from global requirements
e067242 Fix import of profiler options
9338e5c Add check to limit maximum value of max_rows
6c7dea2 Updated from global requirements
bf6a928 Updated from global requirements
ecf8aea Remove verbose option from glance tests
bcf3722 Raise exception when import without properties
9a98274 Excluded the 'visibility' from protected artifact fields
790b015 Use OSprofiler options consolidated in lib itself
4ad190b Remove unnecessary executable permissions
2912031 Updated from global requirements
208c96a Normalize the options use singele quotes
e137c39 Updated from global requirements
adf0d59 Updated from global requirements
6f71b25 Allow tests to run when http proxy is set
a9c2e11 Correct some misspelt words in glance
f5c1087 Clarify language used in glanceapi future section
96cece9 Images APIs: The Future
0f8c0c3 Remove old `run_tests` script
13ea7f7 Updated from global requirements
bc0c03f Remove unnecessary executable privilge of unit test file
b2b95f5 Updated from global requirements
5aa52f1 Functional test comparing wrong items
90126a5 Contribution doc change for spec-lite
9c9a40f Updated from global requirements
a37cc47 Improve help text of image cache opts
5ab6310 Remove deprecated "sign-the-hash" approach
c5304cb Imported Translations from Zanata
3c194e6 Updated from global requirements
6e10f1b Return BadRequest for 4 byte unicode characters
38158e5 Log when task is not configured properly
50b0252 Corrected section underline
1109f82 Give helpful error in tests if strace is missing
1bea843 Adding detailed alt text to images for accessibility
67d7f55 Changed the spelling of opsrofiler to osprofiler.
af0a9bf Fix doc build if git is absent
143df03 Increase max wait time, avoid racy failure in gate
bded216 Updated from global requirements
36936f8 Add store opts to scrubber and cache sample conf
c41729e Add wsgi options to the sample options
62f66e1 Removed one extra enter key
f248c0e use os-testr instead of testr
37cf9d5 Updated from global requirements
385ffab Modified message of exception and log
09a4482 Given space in between two words.
a31b963 Use messaging notifications transport instead of default
b39a9c0 Updated from global requirements
54153d7 Update the Administrator guide links with new ones
f79666f Imported Translations from Zanata
6163fe1 Use roles attribute from oslo context
8de4491 Updated from global requirements
ff67543 Fix doc-strings warnings and errors
8d73de6 Add 'Documentation' section to 'Contributing' docs
02ef2ab Imported Translations from Zanata
b9de463 Fix typos in Glance files
768f168 Imported Translations from Zanata
3710436 Fix db purge type validation
1cb2bda Imported Translations from Zanata
def8cfd Copy the size of the tag set
ab05625 Imported Translations from Zanata
513d717 Handle SSL termination proxies for version list
d4aaa1b Imported Translations from Zanata
869e551 Imported Translations from Zanata
35f134e Imported Translations from Zanata
2222f1b Fixed typos in two comments
94d616f Update reno for stable/mitaka
040d5fa Update .gitreview for stable/mitaka
8708273 Fix possible race conditions during status change
adfc7e5 fix docstring warnings and errors
b9e7106 Fix link to <configuring> document
21f36f7 Update the configuration doc
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 1 +
CONTRIBUTING.rst | 7 +-
HACKING.rst | 4 +-
api-ref/source/conf.py | 249 ++
api-ref/source/index.rst | 27 +
api-ref/source/v1/images-images-v1.inc | 344 ++
api-ref/source/v1/images-sharing-v1.inc | 150 +
api-ref/source/v1/index.rst | 26 +
api-ref/source/v1/parameters.yaml | 249 ++
.../v1/samples/image-member-add-request.json | 4 +
.../v1/samples/image-members-add-request.json | 12 +
.../samples/image-memberships-list-response.json | 11 +
.../source/v1/samples/image-update-response.json | 25 +
.../v1/samples/images-create-reserve-response.json | 22 +
.../samples/images-create-with-data-response.json | 22 +
.../v1/samples/images-list-details-response.json | 30 +
.../source/v1/samples/images-list-response.json | 15 +
.../v1/samples/shared-images-list-response.json | 15 +
api-ref/source/v2/images-data.inc | 132 +
api-ref/source/v2/images-images-v2.inc | 645 +++
api-ref/source/v2/images-parameters.yaml | 587 +++
api-ref/source/v2/images-schemas.inc | 138 +
api-ref/source/v2/images-sharing-v2.inc | 360 ++
api-ref/source/v2/images-tags.inc | 52 +
api-ref/source/v2/index.rst | 31 +
api-ref/source/v2/metadefs-index.rst | 64 +
api-ref/source/v2/metadefs-namespaces-objects.inc | 280 ++
.../source/v2/metadefs-namespaces-properties.inc | 306 ++
api-ref/source/v2/metadefs-namespaces-tags.inc | 300 ++
api-ref/source/v2/metadefs-namespaces.inc | 337 ++
api-ref/source/v2/metadefs-parameters.yaml | 527 +++
api-ref/source/v2/metadefs-resourcetypes.inc | 169 +
api-ref/source/v2/metadefs-schemas.inc | 326 ++
.../source/v2/samples/image-create-request.json | 6 +
.../source/v2/samples/image-create-response.json | 22 +
.../samples/image-details-deactivate-response.json | 21 +
.../v2/samples/image-member-create-request.json | 3 +
.../v2/samples/image-member-create-response.json | 8 +
.../v2/samples/image-member-details-response.json | 8 +
.../v2/samples/image-member-update-request.json | 3 +
.../v2/samples/image-member-update-response.json | 8 +
.../v2/samples/image-members-list-response.json | 21 +
api-ref/source/v2/samples/image-show-response.json | 21 +
.../source/v2/samples/image-update-request.json | 15 +
.../source/v2/samples/image-update-response.json | 24 +
.../source/v2/samples/images-list-response.json | 48 +
.../metadef-namespace-create-request-simple.json | 7 +
.../samples/metadef-namespace-create-request.json | 39 +
.../metadef-namespace-create-response-simple.json | 12 +
.../samples/metadef-namespace-create-response.json | 41 +
.../metadef-namespace-details-response.json | 40 +
...metadef-namespace-details-with-rt-response.json | 40 +
.../samples/metadef-namespace-update-request.json | 7 +
.../samples/metadef-namespace-update-response.json | 12 +
.../samples/metadef-namespaces-list-response.json | 96 +
.../v2/samples/metadef-object-create-request.json | 24 +
.../v2/samples/metadef-object-create-response.json | 28 +
.../samples/metadef-object-details-response.json | 28 +
.../v2/samples/metadef-object-update-request.json | 12 +
.../v2/samples/metadef-object-update-response.json | 16 +
.../v2/samples/metadef-objects-list-response.json | 112 +
.../samples/metadef-properties-list-response.json | 86 +
.../samples/metadef-property-create-request.json | 15 +
.../samples/metadef-property-create-response.json | 15 +
.../samples/metadef-property-details-response.json | 15 +
.../samples/metadef-property-update-request.json | 15 +
.../samples/metadef-property-update-response.json | 15 +
...etadef-resource-type-assoc-create-response.json | 7 +
.../metadef-resource-type-create-request.json | 5 +
.../metadef-resource-types-list-response.json | 29 +
.../v2/samples/metadef-tag-create-response.json | 5 +
.../v2/samples/metadef-tag-details-response.json | 5 +
.../v2/samples/metadef-tag-update-request.json | 3 +
.../v2/samples/metadef-tag-update-response.json | 5 +
.../v2/samples/metadef-tags-create-request.json | 13 +
.../v2/samples/metadef-tags-create-response.json | 13 +
.../v2/samples/metadef-tags-list-response.json | 13 +
.../schemas-image-member-show-response.json | 35 +
.../schemas-image-members-list-response.json | 52 +
.../v2/samples/schemas-image-show-response.json | 234 ++
.../v2/samples/schemas-images-list-response.json | 265 ++
.../schemas-metadef-namespace-show-response.json | 234 ++
.../schemas-metadef-namespaces-list-response.json | 265 ++
.../schemas-metadef-object-show-response.json | 164 +
.../schemas-metadef-objects-list-response.json | 195 +
.../schemas-metadef-properties-list-response.json | 152 +
.../schemas-metadef-property-show-response.json | 122 +
...ef-resource-type-association-show-response.json | 36 +
...f-resource-type-associations-list-response.json | 67 +
.../samples/schemas-metadef-tag-show-response.json | 25 +
.../schemas-metadef-tags-list-response.json | 56 +
.../v2/samples/schemas-task-show-response.json | 72 +
.../v2/samples/schemas-tasks-list-response.json | 71 +
api-ref/source/v2/samples/task-create-request.json | 11 +
.../source/v2/samples/task-create-response.json | 20 +
.../v2/samples/task-show-failure-response.json | 21 +
.../v2/samples/task-show-processing-response.json | 20 +
.../v2/samples/task-show-success-response.json | 23 +
api-ref/source/v2/samples/tasks-list-response.json | 26 +
api-ref/source/v2/tasks-parameters.yaml | 195 +
api-ref/source/v2/tasks-schemas.inc | 72 +
api-ref/source/v2/tasks.inc | 198 +
api-ref/source/versions/index.rst | 22 +
.../versions/samples/image-versions-response.json | 64 +
api-ref/source/versions/versions.inc | 56 +
etc/glance-api-paste.ini | 19 +-
etc/glance-api.conf | 4231 ++++++++++++++++----
etc/glance-cache.conf | 2297 ++++++++++-
etc/glance-glare.conf | 2390 ++++++++---
etc/glance-manage.conf | 150 +-
etc/glance-registry.conf | 2137 ++++++----
etc/glance-scrubber.conf | 2434 +++++++++--
etc/metadefs/compute-cpu-pinning.json | 14 +-
etc/metadefs/compute-quota.json | 4 +-
etc/metadefs/compute-vmware-flavor.json | 2 +-
etc/metadefs/compute-vmware-quota-flavor.json | 2 +-
etc/metadefs/compute-watchdog.json | 2 +-
etc/metadefs/image-signature-verification.json | 50 +
etc/oslo-config-generator/glance-api.conf | 2 +
etc/oslo-config-generator/glance-cache.conf | 2 +
etc/oslo-config-generator/glance-glare.conf | 1 +
etc/oslo-config-generator/glance-manage.conf | 1 +
etc/oslo-config-generator/glance-registry.conf | 2 +-
etc/oslo-config-generator/glance-scrubber.conf | 2 +
etc/policy.json | 2 +-
glance/api/glare/versions.py | 31 +-
glance/api/middleware/cache.py | 5 +-
glance/api/middleware/context.py | 111 +-
glance/api/middleware/version_negotiation.py | 2 +
glance/api/policy.py | 17 +-
glance/api/v1/images.py | 67 +-
glance/api/v1/members.py | 31 +-
glance/api/v2/image_actions.py | 10 +-
glance/api/v2/image_data.py | 11 +-
glance/api/v2/image_members.py | 22 +-
glance/api/v2/images.py | 17 +-
glance/api/v2/metadef_namespaces.py | 12 +-
glance/api/v2/metadef_objects.py | 14 +-
glance/api/v2/metadef_properties.py | 8 +
glance/api/v2/metadef_tags.py | 19 +-
glance/api/v3/router.py | 2 -
glance/api/versions.py | 52 +-
glance/async/flows/base_import.py | 31 +-
glance/async/flows/convert.py | 65 +-
glance/async/flows/introspect.py | 11 +-
glance/async/flows/ovf_process.py | 29 +-
glance/async/taskflow_executor.py | 45 +-
glance/async/utils.py | 10 +
glance/cmd/api.py | 0
glance/cmd/cache_manage.py | 2 +-
glance/cmd/cache_prefetcher.py | 0
glance/cmd/glare.py | 0
glance/cmd/manage.py | 45 +-
glance/cmd/registry.py | 0
glance/cmd/replicator.py | 54 +-
glance/cmd/scrubber.py | 0
glance/common/auth.py | 4 -
glance/common/client.py | 2 +-
glance/common/config.py | 691 +++-
glance/common/exception.py | 16 +-
glance/common/location_strategy/__init__.py | 31 +-
glance/common/location_strategy/store_type.py | 67 +-
glance/common/property_utils.py | 65 +-
glance/common/rpc.py | 52 +-
glance/common/semver_db.py | 6 +-
glance/common/signature_utils.py | 512 ---
glance/common/store_utils.py | 2 +-
glance/common/swift_store_utils.py | 57 +-
glance/common/utils.py | 56 +-
glance/common/wsgi.py | 307 +-
glance/context.py | 10 +-
glance/contrib/plugins/image_artifact/v1/image.py | 5 +-
glance/db/simple/api.py | 25 +-
glance/db/sqlalchemy/api.py | 64 +-
glance/db/sqlalchemy/metadata.py | 25 +-
glance/db/sqlalchemy/metadef_api/namespace.py | 4 +-
glance/db/sqlalchemy/metadef_api/resource_type.py | 2 +-
glance/db/sqlalchemy/metadef_api/tag.py | 4 +-
glance/db/sqlalchemy/migrate_repo/README | 2 +-
glance/db/sqlalchemy/migrate_repo/schema.py | 2 +-
.../migrate_repo/versions/001_add_images_table.py | 9 +-
.../versions/002_add_image_properties_table.py | 9 +-
.../migrate_repo/versions/003_add_disk_format.py | 44 -
.../migrate_repo/versions/003_sqlite_downgrade.sql | 54 -
.../migrate_repo/versions/004_add_checksum.py | 10 -
.../migrate_repo/versions/005_size_big_integer.py | 30 -
.../migrate_repo/versions/006_key_to_name.py | 69 +-
.../migrate_repo/versions/006_mysql_downgrade.sql | 11 -
.../migrate_repo/versions/006_sqlite_downgrade.sql | 43 -
.../migrate_repo/versions/007_add_owner.py | 23 +-
.../versions/008_add_image_members_table.py | 21 +-
.../versions/009_add_mindisk_and_minram.py | 24 +-
.../migrate_repo/versions/010_default_update_at.py | 37 -
.../011_make_mindisk_and_minram_notnull.py | 7 -
.../migrate_repo/versions/011_sqlite_downgrade.sql | 58 -
.../migrate_repo/versions/012_id_to_uuid.py | 230 --
.../migrate_repo/versions/013_add_protected.py | 7 -
.../migrate_repo/versions/013_sqlite_downgrade.sql | 62 -
.../versions/014_add_image_tags_table.py | 7 -
.../versions/015_quote_swift_credentials.py | 4 -
.../versions/016_add_status_image_member.py | 7 -
.../migrate_repo/versions/016_sqlite_downgrade.sql | 43 -
.../017_quote_encrypted_swift_credentials.py | 6 -
.../versions/018_add_image_locations_table.py | 7 -
.../versions/019_migrate_image_locations.py | 14 -
.../versions/020_drop_images_table_location.py | 9 -
.../versions/021_set_engine_mysql_innodb.py | 4 -
.../versions/022_image_member_index.py | 35 -
.../migrate_repo/versions/023_placeholder.py | 4 -
.../migrate_repo/versions/024_placeholder.py | 4 -
.../migrate_repo/versions/025_placeholder.py | 4 -
.../026_add_location_storage_information.py | 11 -
.../migrate_repo/versions/027_checksum_index.py | 10 -
.../migrate_repo/versions/028_owner_index.py | 10 -
.../029_location_meta_data_pickle_to_string.py | 29 +-
.../migrate_repo/versions/030_add_tasks_table.py | 9 +-
.../versions/031_remove_duplicated_locations.py | 6 -
.../versions/032_add_task_info_table.py | 29 +-
.../versions/033_add_location_status.py | 11 -
.../migrate_repo/versions/034_add_virtual_size.py | 8 -
.../versions/035_add_metadef_tables.py | 14 +-
.../versions/036_rename_metadef_schema_columns.py | 9 -
.../versions/037_add_changes_to_satisfy_models.py | 43 +-
.../migrate_repo/versions/037_sqlite_downgrade.sql | 147 -
.../versions/038_add_metadef_tags_table.py | 9 +-
.../039_add_changes_to_satisfy_models_metadef.py | 172 +-
...nges_to_reinstall_unique_metadef_constraints.py | 162 -
.../versions/044_update_metadef_os_nova_server.py | 5 -
glance/domain/__init__.py | 3 +
glance/glare/domain/__init__.py | 8 +-
glance/glare/location.py | 6 +-
glance/image_cache/__init__.py | 124 +-
glance/image_cache/drivers/sqlite.py | 19 +-
glance/locale/de/LC_MESSAGES/glance.po | 1042 +----
glance/locale/en_GB/LC_MESSAGES/glance-log-info.po | 16 +-
glance/locale/es/LC_MESSAGES/glance-log-error.po | 12 +-
glance/locale/es/LC_MESSAGES/glance-log-info.po | 16 +-
glance/locale/es/LC_MESSAGES/glance-log-warning.po | 12 +-
glance/locale/es/LC_MESSAGES/glance.po | 738 +---
glance/locale/fr/LC_MESSAGES/glance.po | 687 +---
glance/locale/glance-log-error.pot | 408 --
glance/locale/glance-log-info.pot | 381 --
glance/locale/glance-log-warning.pot | 303 --
glance/locale/glance.pot | 3553 ----------------
glance/locale/it/LC_MESSAGES/glance.po | 776 +---
glance/locale/ja/LC_MESSAGES/glance.po | 862 ++--
.../locale/ko_KR/LC_MESSAGES/glance-log-error.po | 355 ++
glance/locale/ko_KR/LC_MESSAGES/glance-log-info.po | 306 ++
.../locale/ko_KR/LC_MESSAGES/glance-log-warning.po | 269 ++
glance/locale/ko_KR/LC_MESSAGES/glance.po | 684 +---
glance/locale/pt_BR/LC_MESSAGES/glance-log-info.po | 16 +-
.../locale/pt_BR/LC_MESSAGES/glance-log-warning.po | 12 +-
glance/locale/pt_BR/LC_MESSAGES/glance.po | 741 +---
glance/locale/ru/LC_MESSAGES/glance.po | 654 +--
.../locale/tr_TR/LC_MESSAGES/glance-log-error.po | 12 +-
glance/locale/tr_TR/LC_MESSAGES/glance-log-info.po | 16 +-
.../locale/tr_TR/LC_MESSAGES/glance-log-warning.po | 12 +-
glance/locale/tr_TR/LC_MESSAGES/glance.po | 492 +--
glance/locale/zh_CN/LC_MESSAGES/glance.po | 620 +--
glance/locale/zh_TW/LC_MESSAGES/glance.po | 570 +--
glance/location.py | 55 +-
glance/notifier.py | 66 +-
glance/opts.py | 17 +-
glance/quota/__init__.py | 6 +
glance/registry/__init__.py | 22 +-
glance/registry/api/v1/images.py | 65 +-
glance/registry/api/v1/members.py | 12 +-
glance/registry/client/__init__.py | 161 +-
glance/registry/client/v1/api.py | 43 +-
glance/registry/client/v1/client.py | 8 +
glance/scrubber.py | 203 +-
.../functional/test_bin_glance_cache_manage.py | 1 -
.../integration/legacy_functional/test_v1_api.py | 2 +-
.../unit/common/scripts/test_scripts_utils.py | 4 -
rally-jobs/plugins/plugin_sample.py | 4 +-
...u-thread-pinning-metadata-09b1866b875c4647.yaml | 4 +
...processlimits-to-qemu-img-c215f5d90f741d8a.yaml | 12 +
.../notes/add-vhdx-format-2be99354ad320cca.yaml | 11 +
.../notes/bug-1593177-8ef35458d29ec93c.yaml | 6 +
.../notes/bump-api-2-4-efa266aef0928e04.yaml | 13 +
.../consistent-store-names-57374b9505d530d0.yaml | 32 +
...te-show-multiple-location-9890a1e961def2f6.yaml | 32 +
.../notes/deprecate-v1-api-6c7dbefb90fd8772.yaml | 19 +
.../improved-config-options-221c58a8c37602ba.yaml | 30 +
...ocation-add-status-checks-b70db66100bc96b7.yaml | 38 +
.../notes/newton-1-release-065334d464f78fc5.yaml | 20 +
.../notes/newton-bugs-06ed3727b973c271.yaml | 61 +
.../remove-db-downgrade-0d1cc45b97605775.yaml | 11 +
.../notes/remove-s3-driver-639c60b71761eb6f.yaml | 12 +
...-store-config-opts-newton-3a6575b5908c0e0f.yaml | 31 +
.../notes/soft_delete-tasks-43ea983695faa565.yaml | 10 +
.../notes/use-cursive-c6b15d94845232da.yaml | 22 +
releasenotes/source/index.rst | 3 +-
releasenotes/source/mitaka.rst | 6 +
requirements.txt | 41 +-
test-requirements.txt | 19 +-
tools/colorizer.py | 330 --
tools/install_venv.py | 73 -
tools/install_venv_common.py | 172 -
tools/migrate_image_owners.py | 115 -
tools/with_venv.sh | 7 -
tox.ini | 20 +-
387 files changed, 27404 insertions(+), 19173 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index c30953f..fb6b1a2 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -11,2 +11,2 @@ PasteDeploy>=1.5.0 # MIT
-Routes!=2.0,!=2.1,>=1.12.3;python_version=='2.7' # MIT
-Routes!=2.0,>=1.12.3;python_version!='2.7' # MIT
+Routes!=2.0,!=2.1,!=2.3.0,>=1.12.3;python_version=='2.7' # MIT
+Routes!=2.0,!=2.3.0,>=1.12.3;python_version!='2.7' # MIT
@@ -17,7 +17,7 @@ pycrypto>=2.6 # Public Domain
-oslo.config>=3.7.0 # Apache-2.0
-oslo.concurrency>=3.5.0 # Apache-2.0
-oslo.context>=0.2.0 # Apache-2.0
-oslo.service>=1.0.0 # Apache-2.0
-oslo.utils>=3.5.0 # Apache-2.0
-stevedore>=1.5.0 # Apache-2.0
-futurist>=0.11.0 # Apache-2.0
+oslo.config>=3.14.0 # Apache-2.0
+oslo.concurrency>=3.8.0 # Apache-2.0
+oslo.context>=2.9.0 # Apache-2.0
+oslo.service>=1.10.0 # Apache-2.0
+oslo.utils>=3.16.0 # Apache-2.0
+stevedore>=1.16.0 # Apache-2.0
+futurist!=0.15.0,>=0.11.0 # Apache-2.0
@@ -25,2 +25,2 @@ taskflow>=1.26.0 # Apache-2.0
-keystoneauth1>=2.1.0 # Apache-2.0
-keystonemiddleware!=4.1.0,>=4.0.0 # Apache-2.0
+keystoneauth1>=2.10.0 # Apache-2.0
+keystonemiddleware!=4.1.0,!=4.5.0,>=4.0.0 # Apache-2.0
@@ -34 +34 @@ jsonschema!=2.5.0,<3.0.0,>=2.0.0 # MIT
-python-keystoneclient!=1.8.0,!=2.1.0,>=1.6.0 # Apache-2.0
+python-keystoneclient!=2.1.0,>=2.0.0 # Apache-2.0
@@ -39 +39 @@ six>=1.9.0 # MIT
-oslo.db>=4.1.0 # Apache-2.0
+oslo.db!=4.13.1,!=4.13.2,>=4.10.0 # Apache-2.0
@@ -42 +42 @@ oslo.log>=1.14.0 # Apache-2.0
-oslo.messaging>=4.0.0 # Apache-2.0
+oslo.messaging>=5.2.0 # Apache-2.0
@@ -44,2 +44 @@ oslo.middleware>=3.0.0 # Apache-2.0
-oslo.policy>=0.5.0 # Apache-2.0
-oslo.serialization>=1.10.0 # Apache-2.0
+oslo.policy>=1.9.0 # Apache-2.0
@@ -48 +47 @@ retrying!=1.3.0,>=1.2.3 # Apache-2.0
-osprofiler>=1.1.0 # Apache-2.0
+osprofiler>=1.4.0 # Apache-2.0
@@ -51 +50 @@ osprofiler>=1.1.0 # Apache-2.0
-glance-store>=0.13.0 # Apache-2.0
+glance-store>=0.18.0 # Apache-2.0
@@ -57,2 +55,0 @@ semantic-version>=2.3.1 # BSD
-castellan>=0.3.1 # Apache-2.0
-cryptography>=1.0 # BSD/Apache-2.0
@@ -59,0 +57,2 @@ debtcollector>=1.2.0 # Apache-2.0
+cryptography!=1.3.0,>=1.0 # BSD/Apache-2.0
+cursive>=0.1.1 # Apache-2.0
@@ -62 +61 @@ debtcollector>=1.2.0 # Apache-2.0
-iso8601>=0.1.9 # MIT
+iso8601>=0.1.11 # MIT
diff --git a/test-requirements.txt b/test-requirements.txt
index a8ba7ad..15deb57 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -9 +9 @@ hacking<0.11,>=0.10.0
-Babel>=1.3 # BSD
+Babel>=2.3.4 # BSD
@@ -12 +12 @@ Babel>=1.3 # BSD
-bandit>=0.17.3 # Apache-2.0
+bandit>=1.1.0 # Apache-2.0
@@ -14 +14 @@ coverage>=3.6 # Apache-2.0
-fixtures>=1.3.1 # Apache-2.0/BSD
+fixtures>=3.0.0 # Apache-2.0/BSD
@@ -16,3 +16,3 @@ mox3>=0.7.0 # Apache-2.0
-mock>=1.2 # BSD
-sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 # BSD
-requests!=2.9.0,>=2.8.1 # Apache-2.0
+mock>=2.0 # BSD
+sphinx!=1.3b1,<1.3,>=1.2.1 # BSD
+requests>=2.10.0 # Apache-2.0
@@ -24,0 +25,2 @@ oslotest>=1.10.0 # Apache-2.0
+os-testr>=0.7.0 # Apache-2.0
+
@@ -26 +28 @@ oslotest>=1.10.0 # Apache-2.0
-PyMySQL>=0.6.2 # MIT License
+PyMySQL!=0.7.7,>=0.6.2 # MIT License
@@ -33,0 +36 @@ python-swiftclient>=2.2.0 # Apache-2.0
+os-api-ref>=1.0.0 # Apache-2.0
@@ -35 +38 @@ oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0
-reno>=0.1.1 # Apache2
+reno>=1.8.0 # Apache2
1
0
We are enthusiastic to announce the release of:
keystone 10.0.0: OpenStack Identity
This release is part of the newton release series.
For more details, please see below.
10.0.0
^^^^^^
Add "keystone-manage mapping_populate" command, which should be used
when domain-specific LDAP backend is used.
Tokens can now be cached when issued.
New Features
************
* [blueprint domain-config-as-stable
(https://blueprints.launchpad.net/keystone/+spec/domain-config-as-
stable)] The domain config via API is now marked as stable.
* [blueprint manage-migration
(https://blueprints.launchpad.net/keystone/+spec/manage-migration)
Upgrading keystone to a new version can now be undertaken as a
rolling upgrade using the *--expand*, *--migrate* and *--contract*
options of the *keystone-manage db_sync* command.
* OSprofiler support was added. This cross-project profiling library
allows to trace various 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.
Configuration and usage details can be foung in [OSProfiler
documentation
(http://docs.openstack.org/developer/osprofiler/api.html)
* Add "keystone-manage mapping_populate" command. This command will
pre-populate a mapping table with all users from LDAP, in order to
improve future query performance. It should be used when an LDAP is
first configured, or after calling "keystone-manage mapping_purge",
before any queries related to the domain are made. For more
information see "keystone-manage mapping_populate --help"
* Add "cache_on_issue" flag to "[token]" section that enables
placing issued tokens to validation cache thus reducing the first
validation time as if token is already validated and token data
cached.
Upgrade Notes
*************
* We have added the "password_expires_at" attribute to the user
response object.
* The identity backend driver interface has changed. We've added a
new "change_password()" method for self service password changes. If
you have a custom implementation for the identity driver, you will
need to implement this new method.
* OSprofiler support was introduced. To allow its usage the
keystone- paste.ini file needs to be modified to contain osprofiler
middleware.
* Fixes a bug related to the password create date. If you deployed
master during Newton development, the password create date may be
reset. This would only be apparent if you have security compliance
features enabled.
* In the policy.json file, we changed
*identity:list_projects_for_groups* to
*identity:list_projects_for_user*. Likewise, we changed
*identity:list_domains_for_groups* to
*identity:list_domains_for_user*. If you have customized the
policy.json file, you will need to make these changes. This was done
to better support new features around federation.
* Keystone now supports encrypted credentials at rest. In order to
upgrade successfully to Newton, deployers must encrypt all
credentials currently stored before contracting the database.
Deployers must run *keystone-manage credential_setup* in order to
use the credential API within Newton, or finish the upgrade from
Mitaka to Newton. This will result in a service outage for the
credential API where credentials will be read-only for the duration
of the upgrade process. Once the database is contracted credentials
will be writeable again. Database contraction phases only apply to
rolling upgrades.
* Keystone now relies on pyldap instead of python-ldap. The pyldap
library is a fork of python-ldap and is a drop-in replacement with
modifications to be py3 compatible.
Deprecation Notes
*****************
* [blueprint domain-config-as-stable
(https://blueprints.launchpad.net/keystone/+spec/domain-config-as-
stable)] Deprecated "keystone-manage domain_config_upload". The
keystone team recommends setting domain config options via the API
instead. The "domain_config_upload" command line option may be
removed in the 'P' release.
* [blueprint deprecated-as-of-newton
(https://blueprints.launchpad.net/keystone/+spec/deprecated-as-of-
newton)] As of the Newton release, the class plugin
*keystone.common.kvs.core.KeyValueStore* has been deprecated. It is
recommended to use alternative backends instead. The "KeyValueStore"
class will be removed in the 'P' release.
Bug Fixes
*********
* [bug 1590587 (https://bugs.launchpad.net/keystone/+bug/1590587)
When assigning Domain Specific Roles, the domain of the role and the
domain of the project must match. This is now validated and the REST
call will return a 403 Forbidden.
* [bug 1594482 (https://bugs.launchpad.net/keystone/+bug/1594482)
When using list_limit config option, the GET
/services?name={service_name} API was first truncating the list and
afterwards filtering by name. The API was fixed to first filter by
name and only afterwards truncate the result list to the desired
limit.
* [bug 1613466 (https://bugs.launchpad.net/keystone/+bug/1613466)
Credentials update to ec2 type originally accepted credentials with
no project ID set, this would lead to an error when trying to use
such credential. This behavior has been blocked, so creating a non-
ec2 credential with no project ID and updating it to ec2 without
providing a project ID will fail with a *400 Bad Request* error.
Other Notes
***********
* The response's content type for creating request token or access
token is changed to *application/x-www-form-urlencoded*, the old
value *application/x-www-urlformencoded* is invalid and will no
longer be used.
* Keystone now supports being run under Python 3. The Python 3 and
Python 3.4 classifiers have been added.
Changes in keystone 9.0.0.0rc1..10.0.0
--------------------------------------
724ac7f Make returning is_domain conditional
4a60452 Validate password history for self-service password changes
6520523 Imported Translations from Zanata
b3fae77 Fixes password created_at errors due to the server_default
6eeb354 Update UPPER_CONSTRAINTS_FILE for stable/newton
af1c62e Update .gitreview for stable/newton
9640f50 Add unit tests for isotime()
6e2738c Remove unused _convert_to_integers() method
294c5a1 Remove unused read_cached_file method from utils
9bbb0ce Allow compatibility with keystonemiddleware 4.0.0
c2fd1f6 Fix links on configure_federation documentation
acde6ff Add edge case tests for disabling a trustee
36d7be0 Fix prameters name and response codes in Keystone API v2
4d4faab Tweak api-ref doc for services/endpoints
6e18511 Use issued_at in fernet token provider
3c5af9a Remove unused method from keystone.common.utils
408820c Use ConfigParser instead of SafeConfigParser
301b6a7 Consistently round down timestamps
d907ad3 Remove the APIs from doc that is not supported yet
63b37b5 TrivialFix: Merge imports in code
17224c4 Fix the nit on how to deploy keystone with `mod_proxy_uwsgi`
830b01f Tweak api-ref doc for projects
bf5711e Remove the dead link in schema migration doc
e56dbe8 Updated from global requirements
fe12aaf Fix order of arguments in assertIs
9418f26 New notes on advanced upgrade/fallback for cluster
06b050c standardize release note page ordering
77a002b [api-ref] Correct response code status
e7b845c Replace six iteration methods with standard ones
3332edf Fixes a nit in a comment
85b2faa Updates configuration doc with latest changes
9059f2e Use freezegun for change password tests
9a559c7 Update sample keystone.conf for Newton
73bdbe1 Project domain must match role domain for assignment
407f08e Add docs for the null key
59f117f Log warning if null key is used for encryption
e9b6437 Introduce null key for credential encryption
3c3df90 More nit doc fixes
2cf1b1e Keep the order of passwords in tests
fb7be8c [api-ref] Stop supporting os-api-ref 1.0.0
a984bff Fix up some doc nits
83e3c00 Only cache callables in the base manager
5c9fa41 [api-ref] Correcting parameter's type
602cc57 Correct link type
fbe462f Fix problems in service api doc
5a49379 Raise NotImplementedError instead of NotImplemented
c7a5f41 Add the deprecated_since to deprecated options
33008ce Add doctor checks for credential fernet keys
32af31f Few new commands missing from docs
1de7224 Emit log message for fernet tokens only
0edf1fe Implement encryption of credentials at rest
409211d Typo: key_manger_factory to key_mangler_factory
ffee044 Fixes spelling mistakes
2b70175 Fixes migration where password created_at is nullable
305cb8a Block global roles implying domain specific roles
05c5f0c Correct typo in mapping_populate command's help
7ba5370 Relax the requirement for mappings to result in group memberships
0e7ab57 Document credential encryption
cc3e797 Update sample uwsgi config for lazy-apps
ba98048 Add documentation on how to set a user's tenant.
7260b55 Pre-cache new tokens
2b6d04b Config logABug feature for Keystone api-ref
97da3a7 Fix nits in db migration dev docs
0ae6d09 Disallow new migrations in the legacy migration repository
7dd1ae4 Updated from global requirements
4f40cc3 Update developer docs for new rolling upgrade repos
2aee65c Add man page info for credential setup command
11848b2 Remove unnecessary try/except from token provider
3272623 Fixes small grammar mistake in docstring
428a6e0 Add a feature support matrix for identity sources
c81b337 Fix wrong response codes in 'groups' APIs.
94b08af Make token_id a required parameter in v3_to_v2_token
42eda48 Distributed cache namespace to invalidate regions
618d9ca Fix formatting strings when using multiple variables
ceec009 Add credential setup command
a8dbe9b Add Response Example for 'Create credential' API
e332a3a Add Response Example for 'Passwd auth with unscoped authorization'
c613dd3 Remove mapping schema from the doc
5346dfa Impose a min and a max on time values in CONF.token
7678c40 Repair link in Keystone documentation
67cf54d Fix some typos in comments
3281e8f Cleaning imports in code
372c1bd Updated from global requirements
c30fd01 TrivialFix: Remove logging import unused
0845df2 Removes old, unused code
6bde3f3 Reduce log level of Fernet key count message
a9a2665 Updated from global requirements
3fad275 Adds password regular expression checks to doctor
f66077f Let upgrade tests control all 4 repositories at once
64fabd7 Adds check that minimum password age is less than password expires days
3976e58 Remove unused global variable from unit tests
743e110 Modify sql banned operations for each of the new repos
3e29913 Use egg form of osprofiler in paste pipeline
17f96bb api-ref: Splitting status lines in API v3-ext.
43df612 api-ref: Splitting status lines in API v3.
4bf04ff Remove mox from test-requirements
80c56ba TrivialFix: Remove logging import unused
6ecc426 [api-ref]: Outdated link reference
020776b Remove unnecessary __init__
b1fdad9 Add mapping_populate command
5ae761e Doc fix: license rendered in published doc
52b2503 Doc fix: "keystone-manage upgrade" is not a thing
8144e28 Fix credential update to ec2 type
25d3591 Add key repository uniqueness check to doctor
dd63146 Update `href` for keystone extensions
8114a07 Updated from global requirements
1531b3c Fix the wrong URI for the OAuth1 extension in api-ref.
70e6d58 Shadowing a nonlocal_user incorrectly creates a local_user
fd2a4fa Add entrypoint for mapped auth method
80888cf Get ready for os-api-ref sphinx theme change
a5e2906 Add rolling upgrade documentation
a6d4512 Add create and update methods to credential Manager
e10811c Create a fernet credential provider
fab5f82 Make KeyRepository shareable
bd80bb7 Add conf to support credential encryption
e6a0fd0 Password expires ignore user list
96ec431 Add expand, data migration and contract logic to keystone-manage
cb51cb4 [api] add relationship links to v3-ext
ecbeae5 Removes use of freezegun in test_auth tests
25d2f8e Removes a redundant test from FernetAuthWithTrust
b6744a6 api-ref: Fix parameters attributes
6749008 Set default value for [saml]/idp_contact_surname
850eace Tidy up for late-breaking review comments on keystone-manage
b4ff783 PCI-DSS Minimum password age requirements
251cf10 api-ref: Document domain specific roles
32cf428 Revert "Add debug logging to revocation event checking"
72b274d Replace the content type with correct one
59a2351 Add credential encryption exception
c2d8451 Pass key_repository and max_active_keys to FernetUtils
bc95434 Make a FernetUtils class
4dafc37 Move fernet utils into keystone/common/
4569d41 Add support for rolling upgrades to keystone-manage
3b86db4 api-ref: Document implied roles API
51cccd2 Support new osprofiler API
729c989 api-ref: Correcting V3 OS-INHERIT APIs
8363ab2 Fix typo in the file
d2ee07b Add debug logging to revocation event checking
963c23c Detail Federation Service Provider APIs in api-ref
5d2fd07 Detail Fed Projects and Domains APIs in api-ref
46b71ef add a header for the federation APIs
30ded50 Detail Federation Mapping APIs in api-ref docs
b62acaa Detail Federation Auth APIs in api-ref docs
ec5b0cb Detail Federation Assertion APIs in api-ref docs
9030e6e Move other-requirements.txt to bindep.txt
960967e Detail IdP APIs in api-ref docs
5289eef api-ref: Add default domain config documentation
85ae245 Constraints are ready to be used for tox.ini
0c78293 Updated from global requirements
d36e555 [api] add relationship links to v3
e9b0f2f Refactor revoke matcher
b9c6717 Document get auth/catalog,projects,domains
e4a82b3 api-ref: Renaming parameters of V3-ext APIs
9241aeb api-ref: Correcting V3 Credentials APIs
ceaa09d api-ref: Correcting V3 Policies APIs
b3c8381 api-ref: Correcting V3 Authentication APIs
8d5926a api-ref: Correcting V3 Domain config APIs
8a069c0 Use international logging message
7f3ec14 Updates Development Environment Docs
5740a32 api-ref: Add query options to GET /projects API documentation
2398e5b Updated from global requirements
6db31c8 api-ref: Add missing parameter tables to tenant
e1e7c7d Create unit tests for the policy drivers
6919253 api-ref: Correcting V3 Endpoints APIs
9a520bc api-ref: Correcting V3 Services APIs
82bf342 api-ref: Add "nocatalog" option to GET /v3/auth/tokens
6b52756 Fix warning when running tox -e api-ref
ff00d33 Add basic upgrade documentation
8026a95 Document query option (is_domain) for projects
6c408a0 remove test utilities related to adding extensions
b33512f Update etc/keystone.conf.sample
3de3d71 Make hash_algorithms order deterministic
041f53f PCI-DSS Password expires validation
aa9fdfc Report v2.0 as deprecated in version discovery
50ff858 Update the api-ref to mark the v2 API as deprecated
a5264d7 Add schema validation to create user v2
935530f Fix the spelling of a test name
141970f Remove mention of db_sync per backend
9838e54 Trust controller refactoring
ffd2fea Use more specific asserts in tests
64e97a8 Updated from global requirements
4c351c5 Add debug logging for RevokeEvent deserialize problem
3efd271 Make all token provider behave the same with trusts
bfa13b7 Clean up the introductory text in the docs
e8022f3 Retry revocation on MySQL deadlock
5eedeaa Add schema validation to update user v2
0e2cc05 PCI-DSS Lockout requirements
ebe1e83 Improve domain configuration API docs
e420b16 Skip middleware request processing for admin token
8eb67a9 Move Assertion API to its own file
5a0987d Bump API version number and date
62d0175 Move Federation Auth API to its own file
edd5827 Move List Projects and Domains API to its own file
34dd18c Move Service Provider API to its own file
fc9cfb7 Move Mapping API to its own file
6f36a20 Use %()d for integer substitution
97a6341 Don't include openstack/common in flake8 exclude list
44ccc92 Added postgresql libs to developer docs
f250fe4 Add schema validation to create service in v2
b26200b Remove the redundant verification in OAuth1 authorization
dbf101f Add schema validation to v2 update tenant
85570dc refactor idp to its own file
629b2d0 Updated from global requirements
6bc3a74 PCI-DSS Password history requirements
0f6fa0e Move Identity Provider API to its own file
bc99dc7 Add dummy domain_id column to cached role
6a94b28 Allow attributes other than `enabled` in schema
345d2a0 Remove the extensions repos
8cef848 Document the domain config API as stable
fc924f8 Remove configuration references to eventlet
a14add1 Adds a custom deepcopy handler
927b08b Add token feature support matrix to documentation
8246fc2 Test number of queries on list_users
295cfde No need the redundant validation in manager level
f26b31a Add the missing testcases for `name` and `enabled`
fd861dc Adds test for SecurityError's translation behavior
b2cb4c4 TOTP auth not functional in python3
6ab4444 Invalid tls_req_cert constant as default
05f8578 Add schema validation to v2 create tenant
9c99641 Use quotes consistently in token controller
9d01162 Add performance tuning documentation
0b600ce Allow V2TestCase to be tested against fernet and uuid
b77c5b7 Make AuthWithTrust testable against uuid and fernet
ab7a745 Improve os-federation docs
62fb97f Fix v2-ext API enabled documentation
dfd5d25 PCI-DSS Adds password_expires_at to API docs
5bbc78a Make it so federated tokens are validated on v2.0
cd26ae9 Use freezegun in AssignmentInheritanceTestCase
f324506 Only run KvsTokenCacheInvalidation against uuid
3246732 Use freezegun in OSRevokeTests
d6ac15c refactor: make TestFetchRevocationList test uuid
05ec032 refactor: make TestAuthExternalDefaultDomain test uuid/pki/pkiz
66f7b09 refactor: make TestAuthKerberos test pki/pkiz/uuid
80b4ffa Add schema validation to create role
d0328e3 Replace OpenStack LLC with OpenStack Foundation
e9fc581 refactor: inherit AuthWithRemoteUser for other providers
241d33d Run AuthWithToken against all token providers
e8cd48f Don't run TokenCacheInvalidation with Fernet
12966b8 Refactor TestAuthExternalDomain to not inherit tests
6bcc03f Use freezegun to increment clock in test_v3_assignment
4adf01b Add schema for enabling a user
0b49d43 Fix up the api-ref request/response parameters for projects
0f13aed `password` is not required for updating a user
002de1b Clarify V2 API for enabling or disabling user
0e6752b Removed duplicate parameter in v2-admin api-ref
e183c14 Fix the errors in params in api-ref for V3 region
14018e9 Fix the errors in params in api-ref for V3 user
53bb53a Added cache for id mapping manager
b679f2b Updated from global requirements
3223360 Add Python 3.5 classifier
05b5dfe Handle Py35 fix of ast.node.col_offset bug
2293342 deprecate a few more LDAP config options
e8eeb43 Clean up api-ref for domains
059f353 keystone-manage doctor
7f7cfe7 v2 api: add APIs for setting a user's password
74a8e5b Update os-inherit API reference
b61b1c5 Updated from global requirements
72e6196 Run AuthTokenTests against fernet and uuid
7646e21 Use freezegun to increment the clock in test_v3_filters
29624d4 Prevent error when duplicate mapping is created
9df02bf Fix the wrong check condition
e4c30cb Clean up the api-ref for groups
809a39a Updated from global requirements
20259d1 Improve introdcution to api-ref projects
53b5b99 Migrate OS-FEDERATION from specs repo
96852a0 v2 api: remove APIs for global roles
e6da0ba v2 api: group and order the v2-ext APIs
05fb9cc v2 api: remove duplicated delete user API
eb27807 v2 api: add missing /roles in role CRUD APIs
139dc8d v2 api: list user roles is defined twice
b135c27 v2 api: add OS-KSADM to service API routes
e00c89e v2 api: add tenant APIs
50c64f9 v2 api: delete user is defined twice
1963093 v2 api: change update user
cab514d v2 api: correct user list
9c4ac4e Update Identity endpoint in v2 samples
0223d9a Fix up numerous errors in params in api-ref for roles
4979fbc Fix up the api-ref for role query paramaters
2042c95 Fix the username value in federated tokens
22ab8a8 Improve readability of the api-ref roles section
a6c7763 Use constraints for coverage job
64fbbed clean up OAUTH API
534f57d Add relationship links to OAUTH APIs
caa3a91 Remove `name` property from `endpoint` create/update API
5d42b3e Add v2.0 /endpoints/ api-ref
3c47ba4 Update identity endpoint in v3 and v3-ext samples
4a0970d Pass request to v2 token authenticate
e39486a Remove unused context from AuthInfo
6ac478c Correct normal response codes for v2.0 extensions
21d8686 Improve user experience involving token flush
8517caa Add "v2 overview" docs to APIs
5fbb377 add OS-OAUTH1/authorize/{request_token_id} API
ab252d5 Move OS-INHERIT api-ref from extensions to core
db6a738 re-order the oauth APIs
d8606ee Copy the preamble / summary of OAuth1 from the specs repo
985bcf0 Correct normal response codes in trust documentation
caa7faf Add OS-EP-FILTER to api-ref
5d90bfa PCI-DSS Password strength requirements
f8231b8 Variables in URL path should be required
d23bfc0 Remove get_trust_id_for_request function
b75562c Pass request to normalize_domain_id
d1d72c3 Remove a validate_token_bind call
b3e065e Remove get_user_id in trust controller
813536b Cleanup trusts controller
c92f2d5 Trivial spacing and comma corrections
8a56b19 Add OS-KSCRUD api-ref
36394a6 Disable warnerrors in setup.cfg temporarily
cd9fb2a Add is_domain to project example responses
003c68b Add is_domain to scope token response examples
f48ab4f Improve keystone.conf [security_compliance] documentation
84aec99 Improve keystone.conf [signing] documentation
2f99a0b Correct normal response codes in OS-INHERIT docs
db25452 Fix python{3,}-all-dev depends in deb based
0b15eea Correct normal status codes for v2.0 admin docs
e5e8c55 Improve keystone.conf [shadow_users] documentation
7f869c2 Correct normal response codes for region docs
179f0fd Correct normal response codes for auth docs
cab0b50 Correct normal response codes for credential docs
f808dfa Correct normal response codes for project docs
08c6847 Correct normal response codes for policy docs
f51b06a Correct normal response codes for v2.0 versions doc
edc2cc1 Correct normal response codes in v2.0 versions doc
b87b8f7 Correct normal response codes in v2.0 tenant docs
a216ee3 Use URIOpt instead of StrOpt for SAML config
ac3f9da Correct normal response codes for role docs
c36fa2c Correct normal response codes in v2.0 token docs
efcbc62 Correct normal response codes in service catalog doc
3c1cfac Correct normal response codes in oauth docs
7acd8d0 Correct normal response codes in v2.0 admin user docs
b6c24de Improve keystone.conf [token] documentation
80df383 Correct normal response codes in endpoint policy docs
459dd8b Validate SAML keyfile & certfile options
88e26fd Improve keystone.conf [tokenless_auth] documentation
4876106 Complete OS-TRUST API documentation
5137b7e Fixes response codes in endpoint policy api-ref
1c3d1e9 List 20X status codes as Normal in domain docs
f2911cb Improve the API documentation for groups
863b9da Create APIs for OS-REVOKE
d90281e Clean up token binding validation code
f20e6eb Reorder request params in endpoint policy api-ref
88b9b13 Adds missing parameter to endpoint policy api-ref
2e3e241 Adds missing docs to endpoint policy api-ref
c29d65b Reorders API calls to match precedence rules
dfac754 Improve keystone.conf [saml] documentation
9dc21e8 Handle more auth information via context
1d7c96d Require auth_context middleware in the pipeline
8a5a414 Updated from global requirements
acf907b Improve keystone.conf [trust] documentation
a288d5c5 Improve keystone.conf [role] documentation
a88ee4f Improve keystone.conf [ldap] documentation
694ab49 Improve keystone.conf [os_inherit] documentation
70532b2 Improve keystone.conf [revoke] documentation
5cbb909 Improve keystone.conf [resource] documentation
511a860 Move logic for catalog driver differences to manager
db7de89 Minor docstring cleanup for domain_id mapping
28688d1 Remove unnecessary stable attribute value for status
633532d Updated from global requirements
a5c5f5b Mark the domain config via API as stable
172e8c5 Remove validated decorator
8ff6b0e Move request validation inline
81c9ddc Invalidate token cache on domain disablement
abdc723 Isolate token caching into its own region
82c7b8b Doc update on enabled external auth and federation
b278f03 keystone recommend deprecated memcache backend
187490f Use request object in policy enforcement
e4ed9a4 Use the context's is_admin property
2ceeb92 Add the oslo_context to the environment and request
af0b966 Use http_client constants instead of hardcoding
b577af9 Increase test coverage for token APIs
88de82e Ensure status code is always passed as int
d53db18 Fix fernet token validate for disabled domains/trusts
9f5ed12 Doc update for moving abstract base classes out of core
e504e8a Fix _populate_token_dates method signature
5f1eae1 Move the trust abstract base class out of core
093f2c2 Move the credential abstract base class out of core
5d707d5 Move the auth plugins abstract base class out of core
a7f059f Expose bug with Fernet tokens and trusts
8645d57 Remove last parts of query_string from context
3a19aa5 Remove get_auth_context
5f7377f Correct reraising of exception
3dd1750 Pass request to build_driver_hints
b958a5f Remove headers from context
f5b3296 Use request.environ through auth and federation
a624c9f Remove accept_header from context
08096a3 Fixed a Typo
6ad13d1 Docs: Fix the query params in role_assignments example
e37db54 [doc/api]Remove space within word
6e6230f Remove unused LOG
b66693e Make assert_admin work with a request
ebccd23 Add missing preamble for v3 and v3-ext
e55dfe4 move OAUTH1 API to extensions
4f18372 generate separate index files for each api-ref
11d6b32 Migrate identity /v2-admin docs from api-ref repo
e7fc093 Use request instead of context in v2 auth
8232f4f Handle catalog backends that don't support all functions.
b425379 Refactoring: remove the duplicate method
25e5227 Return `revoked_at` for list revoke events
4bbb151 Use skip_test_overrides everywhere we feature skip
d122e9b Improve keystone.conf [fernet_tokens] documentation
85be70c Improve keystone.conf [catalog] documentation
c987d4d Refactor: [ldap] suffix should not be an instance attribute
f4e9489 Grammar fix: will -> can
cd343ef Fixes hacking's handling of log hints
fc4e3f5 Improve keystone.conf [paste_deploy] documentation
f93dc19 Improve keystone.conf [kvs] documentation
a6c6271 Improve keystone.conf [identity] documentation
bcbc43e Improve keystone.conf [endpoint_filter] documentation
e5347b6 Improve keystone.conf [oauth1] documentation
7df92f7 Verify domain_id when get_domain is being called
960ef1e Updated from global requirements
67a50b5 Include doc directory in pep8 checks
81a1cd7 Do not register options on import
70a06c8 Improve keystone.conf [policy] documentation
ddd21de Improve keystone.conf [memcache] documentation
a59aa8b Use min to avoid checking < 1 max fernet keys
2917c4d Improve keystone.conf [identity_mapping] documentation
cc05f80 Improve keystone.conf [federation] documentation
97e15b7 Updated tests that claimed to be blocked by bugs
4d87d58 Use skip_test_overrides in test_backend_ldap
6c6484f Adds a skip method to identify useless skips
d18bb02 Update the nosetests test regex for legacy tests
1b0a553 update a config option deprecation message
70f275c Improve keystone.conf [eventlet_server] documentation
32ab235 Improve keystone.conf [endpoint_policy] documentation
dbbf061 Improve keystone.conf [credential] documentation
34736ec Improve keystone.conf [domain_config] documentation
e104838 Rename [DEFAULT] keystone.conf module to keystone.conf.default
4eb93c0 Improve keystone.conf [DEFAULT] documentation
61d896f Remove test_backend_ldap skips for missing tests
40bb21b Removes duplicate ldap test setup
56dd227 Extracted common ldap setup and use in the filter tests
40c67ae Reduce domain specific config setup duplication
4db7651 API Change Tutorial doc code modify
54328aa Update other-requirements for Xenial
eed233c Concrete role assignments for federated users
e3a5b61 PCI-DSS Disable inactive users requirements
038c0e3 Migrate identity /v3-ext docs from api-ref repo
1ee8252 Migrate identity /v2-ext docs from api-ref repo
3bfb08e Migrate identity /v2 docs from api-ref repo
ef70f52 Use request.params instead of context['query_string']
9c460e2 Config: no need to set default=None
ba1a07f Do not spam the log with uncritical stacktraces
71be9f5 Improve keystone.conf [auth] documentation
4187ae1 Improve keystone.conf [assignment] documentation
0651a23 Group test_backend_ldap skips for readability
e03cfcd Adds a backend test fixture
c524254 Remove unused test code
4ab4265 Moves auth plugin test setup closer to its use
2641a40 Add security_compliance group back to config
7b809fb Fix nits related to the new keystone.conf package
e04c561 Fixes failure when password is null
5dfa16a Allow auth plugins to be setup more than once
dc81d28 Removes outdate comment from a test
d9c6b50 Replace keystone.common.config with keystone.conf package
113b00d Updated from global requirements
3f78996 Fix a few spelling mistakes
c990ec5 Allow user to get themself and their domain
498ea91 PCI-DSS Password SQL model changes
2410ff0 Fix argument order for assertEqual to (expected, observed)
d0de3f5 Use the ldap fixture to simplify tests
cc4de19 Change the remaining conf setup to use the fixture
6872f85 Reduce setup overhead in auth_plugin tests
6a9a9f0 /services?name=<name> API fails when using list_limit
2787e2f Updated from global requirements
48ccf75 Make sure to use InnoDB as the DB engine
e8d980d Remove TestAuth
3d51061 Move last few TestAuth tests to TokenAPITests
4d0a7f1 Move external auth and bind test to TokenAPITests
38fc7f4 Refactor test_validate_v2_scoped_token_with_v3_api
29557cb Remove test_validate_v2_unscoped_token_with_v3_api
005f887 Move more project scoped token behavior to TokenAPITests
89d5135 Validate impersonation in trust redelegation
8c2412a Correct domain_id and name constraint dropping
76e9209 Integration tests cleanup
8b5c095 Use http_proxy_to_wsgi from oslo.middleware
23936d3 Use request object in auth plugins
9c395cf Move cross domain/group/project auth tests
ca0b99a Move negative token tests to TokenAPITests
7b2b21f Move unscoped token test to TokenAPITests
3814111 Move negative domain scope test to TokenAPITests
d941ccd Consolidate domain token tests into TokenAPITests
46efe4b Move more project scoped behavior tests to TokenAPITests
694b930 Move project scoped catalog tests to TokenAPITests
e8a3d9c Update driver versioning documentation
b04da90 Move project scoped tests to TokenAPITests
129ad39 Move TestAuth unscoped token tests to TokenAPITests
a00d703 Add cache invalidation for service providers
dae2e92 Updated from global requirements
248f027 Add 'links' to implied roles response
3ff204a Updated from global requirements
907ee2d fix ldap delete_user group member cleanup
c3baa83 exception sensitive cache/audit changes
380514b Fix TOTP transient test failure
4b9384d Change LocalUser sql model to eager loading
a272c8b Shadow LDAP and custom driver users
d7849bd Refactor shadow users
7a4cbc4 Fix ValidationError exception name in docstring
e66ea23 Add docstring to delete_project
03091c8 Updated from global requirements
9c89e07 Revert to caching fernet tokens the same way we do UUID
1c0e59d Honor ldap_filter on filtered group list
da6ea7e Pass a request to controllers instead of a context
6bc084d Update the keystone-manage man page options
05f35bf clean up test_resource_uuid
fde57f6 Return 404 instead of 401 for tokens w/o roles
4bba482 Updating sample configuration file
4db2047 Revert "Install necessary files in etc/"
d03ed96 Keystone uwsgi performance tuning
fc7666f Add caching config for federation
d205900 Updated from global requirements
346e7f2 Updating sample configuration file
1ed56a3 Updating sample configuration file
d6b016d Bootstrap: enable and reset password for existing users
81e5d8e PEP257: Ignore D203 because it was deprecated
54da44b Cache service providers on token validation
510f00f Refactor revoke_model to remove circular dependency
b2ee4a2 Update man page for Newton release
671cb9c Move stray notification options into config module
5c87422 Adding role assignment lists unit tests
b7b4aaa Add protocols integration tests
28f7788 Add mapping rules integration tests
23c23fc Add service providers integration tests
1548fcf Imported Translations from Zanata
a0bd19a Updated from global requirements
7f3725f Simplify & fix configuration file copy in setup.cfg
f99552a Config settings to support PCI-DSS
b4bfc54 Fix credentials_factory method call
9e7f24c Allow domain admins to list users in groups with v3 policy
9f4943c Updating sample configuration file
ae8cdbf Updated from global requirements
322a744 Honor ldap_filter on filtered user list
5486f0a Install necessary files in etc/
75abc21 Replace revoke tree with linear search
9a5395f Migrate identity /v3 docs from api-ref repo
991979e Updated from global requirements
e386e84 Add new functionality to @wip
3965fbe remove deprecated revoke_by_expiration function
d5cca09 Isolate common ldap code to the identity backend
cbe0a1e Updated from global requirements
94391a3 Remove helper script for py34
e26b806 Include project_id in the validation error on default project is domain
4025cb6 Add python 3 release note.
a0dc2f2 Add comment to test case helper function
a12c254 Add Python 3 classification.
ee0a294 Py3 oauth tests
68473b2 Enable py3 tests for test_v3_auth
8a7133f make sure default_project_id is not domain on user creation and update
16d0cdb Let setup.py compile_catalog process all language files
293c891 Fix broken link of federation docs
ba3dd94 Add new line in keystone/common/request.py
fb3bc6c Move identity.backends.sql model code to sql_model.py
d87a098 Add .mo files to MANIFEST.in
fcd6644 Replace context building with a request object
e8f6584 Enable py3 testing for Fernet token provider
e518535 Enable py3 for credential tests
363920b reorganize mitaka release notes
465c3e4 enable ldap tests for py3
7463a0c Updated from global requirements
fe3b4c0 Add the validation rules when create token
f6fdda6 Use PyLDAP instead of python-ldap
80d7bee Fix config path for running wsgi in developer mode
47529d0 Move the revoke abstract base class out of core
d6dd7e1 Updated from global requirements
97eec19 Port test_v2 unit test to Python 3
a9d2daa Move the oauth1 abstract base class out of core
978faba Drop the (unused) domain table
e61e4da Don't set None for ldap.OPT_X_TLS_CACERTFILE
de2f2b0 Add API Change Tutorial
108310b Deprecate keystone.common.kvs
d84195b Updating sample configuration file
c1d0959 Add is_domain in token response
d03aeff Switch to use `new_domain_ref` for testcases
bdeee9c Move the assignment abstract base class out of core
8d90866 Add identity providers integration tests
f6ac066 Update documentation to remove keystone-all
7c3497c Updating sample configuration file
cb4c2b1 Updated from global requirements
7539942 replace logging with oslo.log
86d037f Move the federation abstract base class out of core
88713cc Separate protocol schema
b85e2a2 Updated from global requirements
2963dc1 Move the catalog abstract base class and common code out of core
a9d79e0 Enhance federation group mapping validation
09d13cf Add mapping validation tests
70b7986 Fixes example in the mapping combinations docs
2183b47 do not search file on real environment
7567c5e Allow 'domain' property for local.group
bfcbb3c Add conflict validation for idp update
ed634e8 Always add is_admin_project if admin project defined
971ba5f Make keystone exit when fernet keys don't exist
0d37602 Fix fernet audit ids for v2.0
7be1ede Revert "Revert "Unit test for checking cross-version migrations compatibility""
36da34f Make all fixture project_ids into uuids
ce574c3 Fixing D105, D203, and D205 PEP257
8eb7960 Remove test_invalid_policy_raises_error
ade1308 switch to tempest instead of deprecated tempest-lib
d1591b5 Move the resource abstract base class out of core
cafbe1b Correct RST syntax for a code block
92ece11 Restructure policy abstract driver
f2b71ab Updated from global requirements
37afc8e Add test for authentication when project and domain name clash
5cd8356 Fix doc build if git is absent
a4a2ab6 Restructure endpoint policy abstract driver
cfb983a Clean up test_receive_identityId
47e7acf Fix typos
61ae6d7 Fixes incorrect deprecation warning for IdentityDriverV8
6d8c504 Add other-requirements.txt
2c4f948 Fix D400 PEP257
5962c2c Imported Translations from Zanata
3c4fe62 Updating sample configuration file
c7cb72b Customize config file location when run as wsgi app.
40ed477 Updated from global requirements
b6cab8b Updating sample configuration file
a607ccc Updated from global requirements
a596865 Bump the required tox version to 2.3.1
8e2e80c Add set_config_defaults() call to tests
8851966 update deprecation warning for falling back to default domain
08dc3ce Tests clean up global ldap settings
3956163 Define identity interface - easy cases
ee2da37 add missing deprecation reason for eventlet option
3588402 Remove comments mentioning eventlet
20b851b Remove support for generating ssl certs
e380a3c Updating sample configuration file
ac03941 Remove eventlet support
cec8bbb Default caching to on for request-local caching.
e641f79 Typo in sysctl command example Edit
c08884d Typo fix in tests
32203d4 Add logging to cli if keystone.conf is not found
2535f22 Fix post jobs
4e0fdfa Refactor domain config upload
db7bdf9 Keystone jobs should honor upper-constraints.txt
e23ef5b Fix confusing naming in ldap EnableEmuMixin.
c382857 Updating sample configuration file
d8084e3 Deprecation reason for domain_id_immutable
a1cb55b Test list project hierarchy is correct for a large tree
aabc213 Fix D401 PEP8 violation.
3306dc2 OSprofiler release notes
99e74ad Updating sample configuration file
f309a7a Updated from global requirements
3ff7f13 Add keystone service ID to observer audit
e082c72 group federated identity docs together
abce49b Change Role/Region to role/region in keystone-manage bootstrap
f7c4e96 Use mockpatch fixtures from fixtures
9b9bc77 Set the values for the request_local_cache
324f4b5 Add missing backslash to keystone-manage bootstrap command in documentation
cd3ef89 fix typo
c1be688 Fix KeyError when rename to a name is already in use
ff9e257 Improve project name conflict message
2995748 Imported Translations from Zanata
14e1ae2 Updating sample configuration file
b316b14 Dev doc update for moving abstract base classes out of core
4872f9a Simplify chained comparison
840a714 Update the description of the role driver option
639e36a Integrate OSprofiler in Keystone
f0000bf Update the Administrator guide link
744aed7 Clean up test case for shadow users
562b81d Fixes bug where the updated federated display_name is not returned
be55871 Make AuthContext depend on auth_token middleware
3eaea2f Fix totp test fails randomly
3e5fca0 Update federated user display name with shadow_users_api
7ad4f87 Update federated user display name with shadow_users_api
4a8023a Remove comment from D202 rule
5107da7 Remove backend interface and common code out of identity.core
8b7bfb4 Use messaging notifications transport instead of default
6dd8e61 Run federation tests under Python 3
8ab2a19 Bandit test results
7f42e1d create a new `advanced topics` section in the docs
dba04cd Correct `role_name` constraint dropping
9e81843 Correct `role_name` constraint dropping
088393d Base for keystone tempest plugin
96c9da2 Random project should return positive numbers
cf1fd9d Imported Translations from Zanata
815a924 Improve error message for schema validation
c4b08ed Imported Translations from Zanata
f5a0e2f The name can be just white character except project and user
d5bbc6e Fix typos in Keystone files
9a92c47 Add `patch_cover` to keystone
dd38543 Fix keystone-manage config file path
93aff6e Cleanup LDAP models
685116d Correct test to support changing N release name
4625557 Correct _populate_default_domain in tests
aa53ad9 Imported Translations from Zanata
c78e8f4 Removing redundant words
ae068b1 Imported Translations from Zanata
8556437 Correct test to support changing N release name
139f892 Fix keystone-manage config file path
5f45541 Opportunistic testing with different DBs
3bf13c1 Correct test_implied_roles_fk_on_delete_cascade
379e369 Fix table row counting SQL for MySQL and Postgresql
92749e4 Switch migration tests to oslo.db DbTestCase
1f675cf Correct test_migrate_data_to_local_user_and_password_tables
dadf12a Fix test_add_int_pkey_to_revocation_event_table for MySQL
8177acd Imported Translations from Zanata
1d087af Implement HEAD method for all v3 GET actions
771eeb3 Avoid name repetition in equality comparisons
d14fba6 Simplify repetitive unequal checks
e4c8600 Imported Translations from Zanata
1ed8d3a Add test for domains list filtering and limiting
02817c5 Imported Translations from Zanata
00bfbb9 remove endpoint_policy from contrib
6088320 Moved name formatting (clean) out of the driver
6bd2da1 Add py3 debugging
ff01c0e Add release note for list_limit support
1041d33 Add release note for list_limit support
be0aeed Cleanup migration tests
f7197c7 Imported Translations from Zanata
9e9dc6a Imported Translations from Zanata
f7983d4 Update dev docs and sample script for v3/bootstrap
b4e8584 add placeholder migrations for mitaka
85590e6 Enables the notification tests in py3
50ffcbf Update reno for stable/mitaka
9692d40 Update .gitreview for stable/mitaka
691d497 Move region configuration to a critical section
8ce8c99 Make modifications to domain config atomic
6a3c21c Expose not clearing of user default project on project delete
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 1 +
.gitreview | 1 +
MANIFEST.in | 2 +-
api-ref/source/conf.py | 220 +
api-ref/source/index.rst | 27 +
api-ref/source/v2-admin/admin-endpoints.inc | 78 +
.../v2-admin/admin-endpoints_parameters.yaml | 71 +
api-ref/source/v2-admin/admin-tenants.inc | 268 +
api-ref/source/v2-admin/admin-tokens.inc | 167 +
api-ref/source/v2-admin/admin-users.inc | 229 +
api-ref/source/v2-admin/admin-versions.inc | 29 +
api-ref/source/v2-admin/index.rst | 13 +
api-ref/source/v2-admin/parameters.yaml | 287 +
.../samples/admin/endpoint-create-request.json | 9 +
.../samples/admin/endpoint-create-response.json | 9 +
.../samples/admin/endpoint-list-response.json | 18 +
.../samples/admin/roles-list-response.json | 10 +
.../samples/admin/tenant-show-response.json | 8 +
.../samples/admin/tenant-update-request.json | 8 +
.../admin/tenantwithoutid-create-request.json | 7 +
.../admin/token-endpoints-list-response.json | 122 +
.../samples/admin/token-validate-response.json | 28 +
.../samples/admin/user-create-request.json | 9 +
.../v2-admin/samples/admin/user-show-response.json | 9 +
.../samples/admin/user-update-request.json | 6 +
.../samples/admin/user-update-response.json | 10 +
.../samples/admin/users-list-response.json | 19 +
api-ref/source/v2-ext/index.rst | 11 +
api-ref/source/v2-ext/ksadm-admin.inc | 441 ++
api-ref/source/v2-ext/kscrud.inc | 26 +
api-ref/source/v2-ext/ksec2-admin.inc | 122 +
api-ref/source/v2-ext/parameters.yaml | 195 +
.../OS-KSADM/credentials-show-response.json | 11 +
.../samples/OS-KSADM/role-create-request.json | 7 +
.../samples/OS-KSADM/role-show-response.json | 7 +
.../samples/OS-KSADM/roles-list-response.json | 10 +
.../samples/OS-KSADM/service-create-request.json | 8 +
.../samples/OS-KSADM/service-show-response.json | 8 +
.../samples/OS-KSADM/services-list-response.json | 17 +
.../samples/OS-KSADM/user-set-enabled-request.json | 5 +
.../OS-KSADM/user-set-password-request.json | 5 +
.../samples/OS-KSADM/user-show-response.json | 10 +
.../OS-KSADM/user-update-tenant-request.json | 5 +
.../OS-KSEC2/credentialswithec2-list-response.json | 18 +
.../OS-KSEC2/ec2Credentials-create-request.json | 7 +
.../OS-KSEC2/ec2Credentials-show-response.json | 7 +
api-ref/source/v2/identity-api-extensions.inc | 70 +
api-ref/source/v2/identity-auth.inc | 122 +
api-ref/source/v2/index.rst | 12 +
api-ref/source/v2/overview.inc | 272 +
api-ref/source/v2/parameters.yaml | 256 +
.../samples/admin/UserUpdatePasswordRequest.json | 6 +
.../admin/authenticate-credentials-request.json | 9 +
.../v2/samples/admin/authenticate-response.json | 184 +
.../samples/admin/authenticate-token-request.json | 8 +
.../v2/samples/admin/extension-show-response.json | 16 +
.../v2/samples/admin/extensions-list-response.json | 118 +
.../v2/samples/admin/tenants-list-request-JSON.txt | 5 +
.../v2/samples/admin/tenants-list-response.json | 17 +
.../v2/samples/admin/user-create-response.json | 10 +
.../v2/samples/admin/user-update-response.json | 9 +
.../v2/samples/admin/users-list-response.json | 88 +
.../v2/samples/admin/version-show-response.json | 24 +
.../v2/samples/admin/versions-list-response.json | 45 +
.../client/authenticate-credentials-request.json | 9 +
.../v2/samples/client/authenticate-response.json | 184 +
api-ref/source/v2/versions.inc | 39 +
api-ref/source/v3-ext/endpoint-policy.inc | 348 ++
api-ref/source/v3-ext/ep-filter.inc | 524 ++
api-ref/source/v3-ext/federation.inc | 309 +
.../v3-ext/federation/assertion/assertion.inc | 134 +
.../v3-ext/federation/assertion/parameters.yaml | 35 +
.../samples/ecp-saml-assertion-request.json | 17 +
.../samples/ecp-saml-assertion-response.xml | 82 +
.../assertion/samples/metadata-response.xml | 29 +
.../assertion/samples/saml-assertion-request.json | 17 +
.../assertion/samples/saml-assertion-response.xml | 69 +
api-ref/source/v3-ext/federation/auth/auth.inc | 127 +
.../source/v3-ext/federation/auth/parameters.yaml | 43 +
.../auth/samples/scoped-token-request.json | 17 +
.../auth/samples/scoped-token-response.json | 71 +
.../auth/samples/unscoped-token-response.json | 22 +
.../v3-ext/federation/identity-provider/idp.inc | 331 ++
.../federation/identity-provider/parameters.yaml | 97 +
.../samples/add-protocol-request.json | 5 +
.../samples/add-protocol-response.json | 10 +
.../samples/get-protocol-response.json | 10 +
.../identity-provider/samples/get-response.json | 12 +
.../samples/list-protocol-response.json | 17 +
.../identity-provider/samples/list-response.json | 29 +
.../samples/register-request.json | 7 +
.../samples/register-response.json | 12 +
.../samples/update-protocol-request.json | 5 +
.../samples/update-protocol-response.json | 10 +
.../identity-provider/samples/update-request.json | 6 +
.../identity-provider/samples/update-response.json | 12 +
.../source/v3-ext/federation/mapping/mapping.inc | 151 +
.../v3-ext/federation/mapping/parameters.yaml | 49 +
.../federation/mapping/samples/create-request.json | 32 +
.../mapping/samples/create-response.json | 36 +
.../federation/mapping/samples/get-response.json | 36 +
.../federation/mapping/samples/list-response.json | 43 +
.../federation/mapping/samples/update-request.json | 32 +
.../mapping/samples/update-response.json | 36 +
.../federation/projects-domains/parameters.yaml | 35 +
.../projects-domains/projects-domains.inc | 67 +
.../samples/domain-list-response.json | 18 +
.../samples/project-list-response.json | 27 +
.../federation/service-provider/parameters.yaml | 77 +
.../service-provider/samples/get-response.json | 13 +
.../service-provider/samples/list-response.json | 31 +
.../service-provider/samples/register-request.json | 8 +
.../samples/register-response.json | 13 +
.../service-provider/samples/update-request.json | 8 +
.../service-provider/samples/update-response.json | 13 +
.../v3-ext/federation/service-provider/sp.inc | 173 +
api-ref/source/v3-ext/index.rst | 23 +
api-ref/source/v3-ext/oauth.inc | 468 ++
api-ref/source/v3-ext/parameters.yaml | 550 ++
api-ref/source/v3-ext/revoke.inc | 75 +
...policy-endpoint-associations-list-response.json | 29 +
.../OS-ENDPOINT-POLICY/policy-show-response.json | 14 +
.../create-endpoint-group-request.json | 10 +
.../OS-EP-FILTER/endpoint-group-response.json | 14 +
.../OS-EP-FILTER/endpoint-groups-response.json | 36 +
.../OS-EP-FILTER/endpoint-project-response.json | 12 +
.../OS-EP-FILTER/get-projects-response.json | 29 +
.../OS-EP-FILTER/list-endpoints-response.json | 29 +
.../OS-EP-FILTER/list-service-endpoints.json | 45 +
.../OS-OAUTH1/access-token-create-response.txt | 1 +
.../OS-OAUTH1/access-token-show-response.json | 13 +
.../OS-OAUTH1/access-tokens-list-response.json | 20 +
.../OS-OAUTH1/authorize-request-token-request.json | 10 +
.../authorize-request-token-response.json | 5 +
.../samples/OS-OAUTH1/consumer-create-request.json | 5 +
.../OS-OAUTH1/consumer-create-response.json | 10 +
.../samples/OS-OAUTH1/consumer-show-response.json | 9 +
.../samples/OS-OAUTH1/consumer-update-request.json | 5 +
.../OS-OAUTH1/consumer-update-response.json | 9 +
.../samples/OS-OAUTH1/consumers-list-response.json | 22 +
.../OS-OAUTH1/request-token-create-response.txt | 1 +
.../samples/OS-REVOKE/list-revoke-response.json | 22 +
.../OS-TRUST/trust-auth-redelegated-response.json | 45 +
.../samples/OS-TRUST/trust-auth-request.json | 17 +
.../OS-TRUST/trust-auth-trust-response.json | 43 +
.../samples/OS-TRUST/trust-create-request.json | 15 +
.../samples/OS-TRUST/trust-create-response.json | 29 +
.../samples/OS-TRUST/trust-get-response.json | 27 +
.../trust-get-role-delegated-response.json | 9 +
.../samples/OS-TRUST/trust-list-response.json | 25 +
.../trust-list-roles-delegated-response.json | 18 +
api-ref/source/v3-ext/trust.inc | 382 ++
api-ref/source/v3/authenticate-v3.inc | 603 ++
api-ref/source/v3/credentials.inc | 225 +
api-ref/source/v3/domains-config-v3.inc | 559 ++
api-ref/source/v3/domains.inc | 224 +
api-ref/source/v3/groups.inc | 313 +
api-ref/source/v3/index.rst | 54 +
api-ref/source/v3/inherit.inc | 508 ++
api-ref/source/v3/parameters.yaml | 1698 ++++++
api-ref/source/v3/policies.inc | 218 +
api-ref/source/v3/projects.inc | 311 +
api-ref/source/v3/regions-v3.inc | 227 +
api-ref/source/v3/roles.inc | 922 +++
.../auth-password-explicit-unscoped-request.json | 16 +
.../auth-password-explicit-unscoped-response.json | 21 +
.../auth-password-project-scoped-request.json | 20 +
.../auth-password-project-scoped-response.json | 402 ++
...auth-password-unscoped-request-with-domain.json | 18 +
.../admin/auth-password-unscoped-request.json | 15 +
.../admin/auth-password-unscoped-response.json | 21 +
.../auth-password-user-name-unscoped-request.json | 18 +
...h-password-user-name-unscoped-response-HTTP.txt | 8 +
.../samples/admin/auth-token-scoped-request.json | 17 +
.../samples/admin/auth-token-scoped-response.json | 402 ++
.../samples/admin/auth-token-unscoped-request.json | 12 +
.../admin/auth-token-unscoped-response.json | 21 +
.../admin/create-role-inferences-response.json | 21 +
.../samples/admin/credential-create-request.json | 8 +
.../samples/admin/credential-create-response.json | 12 +
.../v3/samples/admin/credential-show-response.json | 12 +
.../samples/admin/credential-update-request.json | 8 +
.../samples/admin/credential-update-response.json | 12 +
.../samples/admin/credentials-list-response.json | 109 +
.../admin/domain-config-create-request.json | 11 +
.../admin/domain-config-create-response.json | 11 +
.../admin/domain-config-default-response.json | 13 +
.../domain-config-group-default-response.json | 8 +
...omain-config-group-option-default-response.json | 3 +
.../domain-config-group-option-show-response.json | 3 +
.../domain-config-group-option-update-request.json | 3 +
...domain-config-group-option-update-response.json | 11 +
.../admin/domain-config-group-show-response.json | 6 +
.../admin/domain-config-group-update-request.json | 8 +
.../admin/domain-config-group-update-response.json | 11 +
.../samples/admin/domain-config-show-response.json | 11 +
.../admin/domain-config-update-request.json | 8 +
.../admin/domain-config-update-response.json | 11 +
.../v3/samples/admin/domain-create-request.json | 7 +
.../v3/samples/admin/domain-create-response.json | 11 +
.../admin/domain-group-roles-list-response.json | 23 +
.../samples/admin/domain-group-update-request.json | 8 +
.../v3/samples/admin/domain-show-response.json | 11 +
.../admin/domain-specific-role-create-request.json | 6 +
.../v3/samples/admin/domain-update-request.json | 5 +
.../v3/samples/admin/domain-update-response.json | 11 +
.../admin/domain-user-roles-list-response.json | 23 +
.../v3/samples/admin/domains-list-response.json | 27 +
.../v3/samples/admin/endpoint-create-request.json | 8 +
.../v3/samples/admin/endpoint-create-response.json | 15 +
.../v3/samples/admin/endpoint-show-response.json | 14 +
.../v3/samples/admin/endpoint-update-request.json | 9 +
.../v3/samples/admin/endpoint-update-response.json | 12 +
.../v3/samples/admin/endpoints-list-response.json | 333 ++
.../get-available-domain-scopes-response.json | 27 +
.../get-available-project-scopes-response.json | 27 +
.../admin/get-role-inferences-response.json | 21 +
.../admin/get-service-catalog-response.json | 34 +
.../v3/samples/admin/group-create-request.json | 7 +
.../v3/samples/admin/group-create-response.json | 11 +
.../admin/group-roles-domain-list-response.json | 23 +
.../samples/admin/group-roles-list-response.json | 23 +
.../v3/samples/admin/group-show-response.json | 11 +
.../v3/samples/admin/group-update-request.json | 6 +
.../v3/samples/admin/group-update-response.json | 11 +
.../samples/admin/group-users-list-response.json | 30 +
.../v3/samples/admin/groups-list-response.json | 27 +
.../samples/admin/identity-version-response.json | 19 +
.../samples/admin/identity-versions-response.json | 45 +
.../list-implied-roles-for-role-response.json | 30 +
.../v3/samples/admin/policies-list-response.json | 37 +
.../v3/samples/admin/policy-create-request.json | 8 +
.../v3/samples/admin/policy-create-response.json | 12 +
.../v3/samples/admin/policy-show-response.json | 16 +
.../v3/samples/admin/policy-update-request.json | 12 +
.../v3/samples/admin/policy-update-response.json | 16 +
.../admin/project-create-domain-request.json | 8 +
.../v3/samples/admin/project-create-request.json | 9 +
.../v3/samples/admin/project-create-response.json | 14 +
.../v3/samples/admin/project-enable-request.json | 5 +
.../admin/project-group-roles-list-response.json | 23 +
.../admin/project-show-parents-response.json | 26 +
.../v3/samples/admin/project-show-response.json | 14 +
.../admin/project-show-subtree-response.json | 50 +
.../v3/samples/admin/project-update-request.json | 6 +
.../v3/samples/admin/project-update-response.json | 14 +
.../admin/project-user-roles-list-response.json | 16 +
.../v3/samples/admin/projects-list-response.json | 105 +
.../v3/samples/admin/region-create-request.json | 7 +
.../v3/samples/admin/region-create-response.json | 10 +
.../v3/samples/admin/region-show-response.json | 10 +
.../v3/samples/admin/region-update-request.json | 5 +
.../v3/samples/admin/region-update-response.json | 10 +
.../v3/samples/admin/regions-list-response.json | 17 +
...ents-effective-list-include-names-response.json | 60 +
.../role-assignments-effective-list-response.json | 42 +
.../role-assignments-effective-list-response.txt | 1 +
...-assignments-list-include-subtree-response.json | 42 +
.../admin/role-assignments-list-response.json | 41 +
.../admin/role-assignments-list-response.txt | 1 +
.../v3/samples/admin/role-create-request.json | 5 +
.../v3/samples/admin/role-create-response.json | 9 +
.../v3/samples/admin/role-inferences-response.json | 57 +
.../v3/samples/admin/role-show-response.json | 10 +
.../v3/samples/admin/role-update-request.json | 5 +
.../v3/samples/admin/role-update-response.json | 10 +
.../v3/samples/admin/roles-list-response.json | 51 +
.../v3/samples/admin/service-create-request.json | 7 +
.../v3/samples/admin/service-create-response.json | 12 +
.../v3/samples/admin/service-show-response.json | 12 +
.../v3/samples/admin/service-update-request.json | 5 +
.../v3/samples/admin/service-update-response.json | 12 +
.../v3/samples/admin/services-list-response.json | 99 +
.../v3/samples/admin/token-validate-request.txt | 3 +
.../v3/samples/admin/user-create-request.json | 9 +
.../v3/samples/admin/user-create-response.json | 15 +
.../samples/admin/user-groups-list-response.json | 27 +
.../admin/user-password-update-request.json | 6 +
.../samples/admin/user-projects-list-response.json | 31 +
.../admin/user-roles-domain-list-response.json | 23 +
.../v3/samples/admin/user-roles-list-response.json | 23 +
.../v3/samples/admin/user-show-response.json | 13 +
.../v3/samples/admin/user-update-request.json | 6 +
.../v3/samples/admin/user-update-response.json | 13 +
.../v3/samples/admin/users-list-response.json | 139 +
api-ref/source/v3/service-catalog.inc | 521 ++
api-ref/source/v3/status.yaml | 60 +
api-ref/source/v3/users.inc | 304 +
bindep.txt | 32 +
config-generator/keystone.conf | 2 +-
etc/keystone-paste.ini | 16 +-
etc/keystone.conf.sample | 1954 ++++---
etc/policy.json | 8 +-
etc/policy.v3cloudsample.json | 10 +-
httpd/keystone-uwsgi-admin.ini | 5 +-
httpd/keystone-uwsgi-public.ini | 5 +-
keystone/assignment/V8_backends/sql.py | 10 +-
keystone/assignment/V8_role_backends/sql.py | 4 +-
keystone/assignment/backends/base.py | 400 ++
keystone/assignment/backends/sql.py | 6 +-
keystone/assignment/controllers.py | 254 +-
keystone/assignment/core.py | 742 +--
keystone/assignment/role_backends/base.py | 267 +
keystone/assignment/role_backends/sql.py | 4 +-
keystone/assignment/routers.py | 17 +-
keystone/assignment/schema.py | 16 +
keystone/auth/__init__.py | 1 -
keystone/auth/controllers.py | 100 +-
keystone/auth/core.py | 86 +-
keystone/auth/plugins/base.py | 94 +
keystone/auth/plugins/core.py | 8 +-
keystone/auth/plugins/external.py | 66 +-
keystone/auth/plugins/mapped.py | 53 +-
keystone/auth/plugins/oauth1.py | 16 +-
keystone/auth/plugins/password.py | 8 +-
keystone/auth/plugins/token.py | 18 +-
keystone/auth/plugins/totp.py | 14 +-
keystone/catalog/backends/base.py | 531 ++
keystone/catalog/backends/sql.py | 18 +-
keystone/catalog/backends/templated.py | 22 +-
keystone/catalog/controllers.py | 226 +-
keystone/catalog/core.py | 615 +-
keystone/catalog/schema.py | 33 +-
keystone/cmd/all.py | 39 -
keystone/cmd/cli.py | 478 +-
keystone/cmd/doctor/__init__.py | 77 +
keystone/cmd/doctor/caching.py | 35 +
keystone/cmd/doctor/credential.py | 73 +
keystone/cmd/doctor/database.py | 30 +
keystone/cmd/doctor/federation.py | 36 +
keystone/cmd/doctor/ldap.py | 52 +
keystone/cmd/doctor/security_compliance.py | 64 +
keystone/cmd/doctor/tokens.py | 46 +
keystone/cmd/doctor/tokens_fernet.py | 51 +
keystone/cmd/manage.py | 5 +-
keystone/common/authorization.py | 1 +
keystone/common/cache/_context_cache.py | 35 +-
keystone/common/cache/core.py | 202 +-
keystone/common/config.py | 1259 -----
keystone/common/context.py | 54 +
keystone/common/controller.py | 205 +-
keystone/common/dependency.py | 2 +-
keystone/common/driver_hints.py | 4 +-
keystone/common/environment/__init__.py | 102 -
keystone/common/environment/eventlet_server.py | 212 -
keystone/common/fernet_utils.py | 277 +
keystone/common/kvs/backends/memcached.py | 4 +-
keystone/common/kvs/core.py | 17 +-
keystone/common/ldap/__init__.py | 13 +-
keystone/common/ldap/core.py | 1947 +------
keystone/common/ldap/models.py | 26 +
keystone/common/manager.py | 5 +-
keystone/common/models.py | 196 -
keystone/common/openssl.py | 56 +-
keystone/common/profiler.py | 47 +
keystone/common/request.py | 95 +
keystone/common/router.py | 4 +-
keystone/common/sql/contract_repo/README | 4 +
keystone/common/sql/contract_repo/__init__.py | 0
keystone/common/sql/contract_repo/manage.py | 5 +
keystone/common/sql/contract_repo/migrate.cfg | 25 +
.../001_contract_initial_null_migration.py | 18 +
.../002_password_created_at_not_nullable.py | 39 +
...move_unencrypted_blob_column_from_credential.py | 60 +
.../versions/004_reset_password_created_at.py | 37 +
.../common/sql/contract_repo/versions/__init__.py | 0
keystone/common/sql/core.py | 54 +-
keystone/common/sql/data_migration_repo/README | 4 +
.../common/sql/data_migration_repo/__init__.py | 0
keystone/common/sql/data_migration_repo/manage.py | 5 +
.../common/sql/data_migration_repo/migrate.cfg | 25 +
.../versions/001_data_initial_null_migration.py | 18 +
.../002_password_created_at_not_nullable.py | 18 +
.../003_migrate_unencrypted_credentials.py | 39 +
.../versions/004_reset_password_created_at.py | 15 +
.../sql/data_migration_repo/versions/__init__.py | 0
keystone/common/sql/expand_repo/README | 4 +
keystone/common/sql/expand_repo/__init__.py | 15 +
keystone/common/sql/expand_repo/manage.py | 5 +
keystone/common/sql/expand_repo/migrate.cfg | 25 +
.../versions/001_expand_initial_null_migration.py | 18 +
.../002_password_created_at_not_nullable.py | 18 +
...dd_key_hash_and_encrypted_blob_to_credential.py | 129 +
.../versions/004_reset_password_created_at.py | 15 +
.../common/sql/expand_repo/versions/__init__.py | 15 +
.../common/sql/migrate_repo/versions/067_kilo.py | 3 +-
.../versions/073_insert_assignment_inherited_pk.py | 2 +-
.../versions/082_add_federation_tables.py | 4 +-
.../versions/088_domain_specific_roles.py | 31 +-
...grate_data_to_local_user_and_password_tables.py | 22 +-
.../versions/094_add_federated_user_table.py | 4 +-
.../versions/096_drop_role_name_constraint.py | 50 +
.../097_drop_user_name_domainid_constraint.py | 67 +
.../sql/migrate_repo/versions/098_placeholder.py | 18 +
.../sql/migrate_repo/versions/099_placeholder.py | 18 +
.../sql/migrate_repo/versions/100_placeholder.py | 18 +
.../versions/101_drop_role_name_constraint.py | 53 +
.../migrate_repo/versions/102_drop_domain_table.py | 21 +
.../versions/103_add_nonlocal_user_table.py | 32 +
.../104_drop_user_name_domainid_constraint.py | 71 +
.../versions/105_add_password_date_columns.py | 30 +
.../106_allow_password_column_to_be_nullable.py | 21 +
.../versions/107_add_user_date_columns.py | 30 +
.../versions/108_add_failed_auth_columns.py | 26 +
.../109_add_password_self_service_column.py | 24 +
keystone/common/sql/migration_helpers.py | 159 +-
keystone/common/tokenless_auth.py | 12 +-
keystone/common/utils.py | 160 +-
keystone/common/validation/__init__.py | 50 +-
keystone/common/validation/parameter_types.py | 3 +-
keystone/common/validation/validators.py | 40 +-
keystone/common/wsgi.py | 217 +-
keystone/conf/__init__.py | 186 +
keystone/conf/assignment.py | 50 +
keystone/conf/auth.py | 99 +
keystone/conf/catalog.py | 78 +
keystone/conf/constants.py | 30 +
keystone/conf/credential.py | 63 +
keystone/conf/default.py | 258 +
keystone/conf/domain_config.py | 59 +
keystone/conf/endpoint_filter.py | 51 +
keystone/conf/endpoint_policy.py | 56 +
keystone/conf/eventlet_server.py | 95 +
keystone/conf/federation.py | 103 +
keystone/conf/fernet_tokens.py | 69 +
keystone/conf/identity.py | 131 +
keystone/conf/identity_mapping.py | 74 +
keystone/conf/kvs.py | 76 +
keystone/conf/ldap.py | 638 +++
keystone/conf/memcache.py | 96 +
keystone/conf/oauth1.py | 62 +
keystone/conf/opts.py | 97 +
keystone/conf/os_inherit.py | 49 +
keystone/conf/paste_deploy.py | 40 +
keystone/conf/policy.py | 47 +
keystone/conf/resource.py | 114 +
keystone/conf/revoke.py | 69 +
keystone/conf/role.py | 66 +
keystone/conf/saml.py | 193 +
keystone/conf/security_compliance.py | 147 +
keystone/conf/shadow_users.py | 41 +
keystone/conf/signing.py | 134 +
keystone/conf/token.py | 192 +
keystone/conf/tokenless_auth.py | 68 +
keystone/conf/trust.py | 67 +
keystone/conf/utils.py | 26 +
keystone/contrib/ec2/controllers.py | 74 +-
.../endpoint_filter/backends/catalog_sql.py | 8 +-
.../endpoint_filter/migrate_repo/__init__.py | 0
.../endpoint_filter/migrate_repo/migrate.cfg | 25 -
.../versions/001_add_endpoint_filtering_table.py | 19 -
.../versions/002_add_endpoint_groups.py | 19 -
.../migrate_repo/versions/__init__.py | 0
keystone/contrib/endpoint_policy/__init__.py | 0
.../contrib/endpoint_policy/backends/__init__.py | 0
keystone/contrib/endpoint_policy/backends/sql.py | 28 -
.../endpoint_policy/migrate_repo/__init__.py | 0
.../endpoint_policy/migrate_repo/migrate.cfg | 25 -
.../versions/001_add_endpoint_policy_table.py | 19 -
.../migrate_repo/versions/__init__.py | 0
keystone/contrib/endpoint_policy/routers.py | 28 -
.../contrib/federation/migrate_repo/__init__.py | 0
.../contrib/federation/migrate_repo/migrate.cfg | 25 -
.../versions/001_add_identity_provider_table.py | 17 -
.../versions/002_add_mapping_tables.py | 17 -
.../versions/003_mapping_id_nullable_false.py | 20 -
.../versions/004_add_remote_id_column.py | 17 -
.../versions/005_add_service_provider_table.py | 17 -
.../006_fixup_service_provider_attributes.py | 17 -
.../versions/007_add_remote_id_table.py | 17 -
.../versions/008_add_relay_state_to_sp.py | 17 -
.../federation/migrate_repo/versions/__init__.py | 0
keystone/contrib/oauth1/migrate_repo/__init__.py | 0
keystone/contrib/oauth1/migrate_repo/migrate.cfg | 25 -
.../migrate_repo/versions/001_add_oauth_tables.py | 19 -
.../versions/002_fix_oauth_tables_fk.py | 19 -
.../versions/003_consumer_description_nullalbe.py | 19 -
.../versions/004_request_token_roles_nullable.py | 19 -
.../migrate_repo/versions/005_consumer_id_index.py | 20 -
.../oauth1/migrate_repo/versions/__init__.py | 0
keystone/contrib/revoke/migrate_repo/__init__.py | 0
keystone/contrib/revoke/migrate_repo/migrate.cfg | 25 -
.../migrate_repo/versions/001_revoke_table.py | 17 -
.../002_add_audit_id_and_chain_to_revoke_table.py | 17 -
.../revoke/migrate_repo/versions/__init__.py | 0
keystone/contrib/s3/core.py | 4 +-
keystone/credential/__init__.py | 1 +
keystone/credential/backends/base.py | 119 +
keystone/credential/backends/sql.py | 11 +-
keystone/credential/controllers.py | 30 +-
keystone/credential/core.py | 207 +-
keystone/credential/provider.py | 27 +
keystone/credential/providers/__init__.py | 0
keystone/credential/providers/core.py | 38 +
keystone/credential/providers/fernet/__init__.py | 13 +
keystone/credential/providers/fernet/core.py | 107 +
keystone/endpoint_policy/backends/base.py | 186 +
keystone/endpoint_policy/backends/sql.py | 2 +-
keystone/endpoint_policy/controllers.py | 27 +-
keystone/endpoint_policy/core.py | 187 +-
keystone/exception.py | 82 +-
keystone/federation/V8_backends/sql.py | 39 +-
keystone/federation/backends/base.py | 529 ++
keystone/federation/backends/sql.py | 46 +-
keystone/federation/controllers.py | 213 +-
keystone/federation/core.py | 570 +-
keystone/federation/idp.py | 38 +-
keystone/federation/routers.py | 4 +-
keystone/federation/schema.py | 18 +-
keystone/federation/utils.py | 107 +-
keystone/identity/backends/base.py | 449 ++
keystone/identity/backends/ldap.py | 425 --
keystone/identity/backends/ldap/__init__.py | 13 +
keystone/identity/backends/ldap/common.py | 1951 +++++++
keystone/identity/backends/ldap/core.py | 434 ++
keystone/identity/backends/ldap/models.py | 70 +
keystone/identity/backends/sql.py | 340 +-
keystone/identity/backends/sql_model.py | 297 +
keystone/identity/controllers.py | 188 +-
keystone/identity/core.py | 504 +-
keystone/identity/generator.py | 4 +-
keystone/identity/id_generators/sha256.py | 4 +-
keystone/identity/mapping_backends/base.py | 81 +
keystone/identity/mapping_backends/sql.py | 21 +-
keystone/identity/routers.py | 4 +-
keystone/identity/schema.py | 50 +-
keystone/identity/shadow_backends/base.py | 115 +
keystone/identity/shadow_backends/sql.py | 60 +-
.../locale/de/LC_MESSAGES/keystone-log-critical.po | 8 +-
keystone/locale/de/LC_MESSAGES/keystone.po | 116 +-
.../locale/el/LC_MESSAGES/keystone-log-critical.po | 8 +-
.../en_AU/LC_MESSAGES/keystone-log-critical.po | 8 +-
.../locale/es/LC_MESSAGES/keystone-log-critical.po | 8 +-
keystone/locale/es/LC_MESSAGES/keystone.po | 420 +-
.../locale/fr/LC_MESSAGES/keystone-log-critical.po | 8 +-
keystone/locale/fr/LC_MESSAGES/keystone.po | 103 +-
.../locale/hu/LC_MESSAGES/keystone-log-critical.po | 8 +-
.../locale/it/LC_MESSAGES/keystone-log-critical.po | 8 +-
keystone/locale/it/LC_MESSAGES/keystone.po | 414 +-
.../locale/ja/LC_MESSAGES/keystone-log-critical.po | 8 +-
keystone/locale/ja/LC_MESSAGES/keystone.po | 545 +-
keystone/locale/keystone-log-critical.pot | 24 -
keystone/locale/keystone-log-error.pot | 177 -
keystone/locale/keystone-log-info.pot | 238 -
keystone/locale/keystone-log-warning.pot | 315 --
keystone/locale/keystone.pot | 1705 ------
.../ko_KR/LC_MESSAGES/keystone-log-critical.po | 8 +-
.../locale/ko_KR/LC_MESSAGES/keystone-log-error.po | 140 +
.../locale/ko_KR/LC_MESSAGES/keystone-log-info.po | 177 +
.../ko_KR/LC_MESSAGES/keystone-log-warning.po | 290 +
keystone/locale/ko_KR/LC_MESSAGES/keystone.po | 389 +-
.../pl_PL/LC_MESSAGES/keystone-log-critical.po | 8 +-
.../pt_BR/LC_MESSAGES/keystone-log-critical.po | 8 +-
keystone/locale/pt_BR/LC_MESSAGES/keystone.po | 418 +-
.../locale/ru/LC_MESSAGES/keystone-log-critical.po | 8 +-
keystone/locale/ru/LC_MESSAGES/keystone.po | 113 +-
.../tr_TR/LC_MESSAGES/keystone-log-critical.po | 8 +-
.../locale/tr_TR/LC_MESSAGES/keystone-log-error.po | 29 +-
.../tr_TR/LC_MESSAGES/keystone-log-warning.po | 32 +-
keystone/locale/tr_TR/LC_MESSAGES/keystone.po | 55 +-
.../zh_CN/LC_MESSAGES/keystone-log-critical.po | 8 +-
.../locale/zh_CN/LC_MESSAGES/keystone-log-error.po | 32 +-
keystone/locale/zh_CN/LC_MESSAGES/keystone.po | 164 +-
.../zh_TW/LC_MESSAGES/keystone-log-critical.po | 8 +-
keystone/locale/zh_TW/LC_MESSAGES/keystone.po | 90 +-
keystone/middleware/auth.py | 225 +-
keystone/middleware/core.py | 6 +-
keystone/models/revoke_model.py | 242 +-
keystone/models/token_model.py | 12 +-
keystone/notifications.py | 66 +-
keystone/oauth1/backends/base.py | 220 +
keystone/oauth1/backends/sql.py | 17 +-
keystone/oauth1/controllers.py | 133 +-
keystone/oauth1/core.py | 218 +-
keystone/oauth1/validator.py | 3 +-
keystone/policy/backends/base.py | 77 +
keystone/policy/backends/rules.py | 14 +-
keystone/policy/backends/sql.py | 2 +-
keystone/policy/controllers.py | 31 +-
keystone/policy/core.py | 73 +-
keystone/resource/V8_backends/sql.py | 4 +-
keystone/resource/backends/base.py | 632 +++
keystone/resource/backends/sql.py | 31 +-
keystone/resource/config_backends/base.py | 155 +
keystone/resource/config_backends/sql.py | 60 +-
keystone/resource/controllers.py | 158 +-
keystone/resource/core.py | 991 +---
keystone/resource/routers.py | 8 +-
keystone/resource/schema.py | 49 +-
keystone/revoke/backends/base.py | 60 +
keystone/revoke/backends/sql.py | 9 +-
keystone/revoke/controllers.py | 8 +-
keystone/revoke/core.py | 98 +-
keystone/server/backends.py | 11 +-
keystone/server/common.py | 11 +-
keystone/server/eventlet.py | 156 -
keystone/server/wsgi.py | 101 +-
.../backend/legacy_drivers/federation/V8/api_v3.py | 2 +-
.../unit/config_files/backend_postgresql.conf | 4 -
.../unit/identity/backends/test_ldap_common.py | 571 ++
.../test_associate_project_endpoint_extension.py | 60 +-
keystone/token/_simple_cert.py | 4 +-
keystone/token/controllers.py | 76 +-
keystone/token/persistence/backends/kvs.py | 30 +-
keystone/token/persistence/backends/memcache.py | 4 +-
.../token/persistence/backends/memcache_pool.py | 4 +-
keystone/token/persistence/backends/sql.py | 12 +-
keystone/token/persistence/core.py | 12 +-
keystone/token/provider.py | 146 +-
keystone/token/providers/common.py | 165 +-
keystone/token/providers/fernet/core.py | 41 +-
.../token/providers/fernet/token_formatters.py | 31 +-
keystone/token/providers/fernet/utils.py | 270 -
keystone/token/providers/pki.py | 11 +-
keystone/token/providers/pkiz.py | 11 +-
keystone/token/providers/uuid.py | 4 +-
keystone/token/utils.py | 8 +-
keystone/trust/backends/base.py | 72 +
keystone/trust/backends/sql.py | 4 +-
keystone/trust/controllers.py | 221 +-
keystone/trust/core.py | 77 +-
keystone/v2_crud/user_crud.py | 16 +-
keystone/version/__init__.py | 15 +
keystone/version/controllers.py | 61 +-
keystone/version/service.py | 6 +-
keystone_tempest_plugin/README.rst | 6 +
keystone_tempest_plugin/__init__.py | 0
keystone_tempest_plugin/clients.py | 38 +
keystone_tempest_plugin/config.py | 27 +
keystone_tempest_plugin/plugin.py | 39 +
keystone_tempest_plugin/services/__init__.py | 0
.../services/identity/__init__.py | 0
.../services/identity/clients.py | 77 +
.../services/identity/v3/__init__.py | 0
.../identity/v3/identity_providers_client.py | 101 +
.../services/identity/v3/mapping_rules_client.py | 44 +
.../identity/v3/service_providers_client.py | 73 +
.../api/identity/v3/test_identity_providers.py | 238 +
.../api/identity/v3/test_service_providers.py | 207 +
...pires_at_to_user_response-22f14ab629c48bc2.yaml | 4 +
...p-domain-config-as-stable-716ca5ab33c0cc42.yaml | 12 +
.../bp-manage-migration-c398963a943a89fe.yaml | 7 +
...-specific-role-assignment-8f120604a6625852.yaml | 7 +
.../notes/bug-1594482-52a5dd1d8477b694.yaml | 8 +
...redential-update-ec2-type-8fb51ff3ad3a449c.yaml | 8 +
.../notes/deprecate-v2-apis-894284c17be881d2.yaml | 3 +
.../deprecated-as-of-mitaka-8534e43fa40c1d09.yaml | 2 +
.../deprecated-as-of-newton-be1d8dbcc6bdc68f.yaml | 7 +
...ew_change_password_method-e8c0e06795bca2d8.yaml | 6 +
.../integrate-osprofiler-ad0e16a542b12899.yaml | 12 +
.../list_limit-ldap-support-5d31d51466fc49a6.yaml | 6 +
.../notes/mapping_populate-521d92445505b8a3.yaml | 13 +
...uth1-headers-content-type-9a9245d9bbec8f8e.yaml | 6 +
...sword-created_at-nullable-b3c284be50d93ef5.yaml | 5 +
...derated_projects_for_user-dcd7bd148efef049.yaml | 7 +
.../notes/pre-cache-tokens-73450934918af26b.yaml | 7 +
.../notes/python3-support-e4189e0a1a6e2e4f.yaml | 4 +
.../removed-as-of-newton-721c06b5dcb1b34a.yaml | 22 +
...ypted_credentials_at_rest-93dcb67b3508e91a.yaml | 14 +
.../notes/use-pyldap-6e811c28bf350d6d.yaml | 6 +
releasenotes/source/index.rst | 3 +-
releasenotes/source/mitaka.rst | 6 +
requirements.txt | 36 +-
setup.cfg | 34 +-
test-requirements.txt | 23 +-
tools/cover.sh | 72 +
tools/pretty_tox_py3.sh | 12 -
tools/sample_data.sh | 115 +-
tox.ini | 53 +-
820 files changed, 57086 insertions(+), 24340 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 8ebcc71..fd007ac 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4,0 +5,4 @@
+# Temporarily add Babel reference to avoid problem
+# in keystone-coverage-db CI job
+Babel>=2.3.4 # BSD
+
@@ -7,2 +10,0 @@ WebOb>=1.2.3 # MIT
-eventlet!=0.18.3,>=0.18.2 # MIT
-greenlet>=0.3.2 # MIT
@@ -11,3 +13,3 @@ Paste # MIT
-Routes!=2.0,!=2.1,>=1.12.3;python_version=='2.7' # MIT
-Routes!=2.0,>=1.12.3;python_version!='2.7' # MIT
-cryptography>=1.0 # BSD/Apache-2.0
+Routes!=2.0,!=2.1,!=2.3.0,>=1.12.3;python_version=='2.7' # MIT
+Routes!=2.0,!=2.3.0,>=1.12.3;python_version!='2.7' # MIT
+cryptography!=1.3.0,>=1.0 # BSD/Apache-2.0
@@ -17 +19 @@ sqlalchemy-migrate>=0.9.6 # Apache-2.0
-stevedore>=1.5.0 # Apache-2.0
+stevedore>=1.16.0 # Apache-2.0
@@ -19,2 +21,2 @@ passlib>=1.6 # BSD
-python-keystoneclient!=1.8.0,!=2.1.0,>=1.6.0 # Apache-2.0
-keystonemiddleware!=4.1.0,>=4.0.0 # Apache-2.0
+python-keystoneclient!=2.1.0,>=2.0.0 # Apache-2.0
+keystonemiddleware!=4.1.0,!=4.5.0,>=4.0.0 # Apache-2.0
@@ -22,5 +24,5 @@ oslo.cache>=1.5.0 # Apache-2.0
-oslo.concurrency>=3.5.0 # Apache-2.0
-oslo.config>=3.7.0 # Apache-2.0
-oslo.context>=0.2.0 # Apache-2.0
-oslo.messaging>=4.0.0 # Apache-2.0
-oslo.db>=4.1.0 # Apache-2.0
+oslo.concurrency>=3.8.0 # Apache-2.0
+oslo.config>=3.14.0 # Apache-2.0
+oslo.context>=2.9.0 # Apache-2.0
+oslo.messaging>=5.2.0 # Apache-2.0
+oslo.db!=4.13.1,!=4.13.2,>=4.10.0 # Apache-2.0
@@ -30 +32 @@ oslo.middleware>=3.0.0 # Apache-2.0
-oslo.policy>=0.5.0 # Apache-2.0
+oslo.policy>=1.9.0 # Apache-2.0
@@ -32,2 +34 @@ oslo.serialization>=1.10.0 # Apache-2.0
-oslo.service>=1.0.0 # Apache-2.0
-oslo.utils>=3.5.0 # Apache-2.0
+oslo.utils>=3.16.0 # Apache-2.0
@@ -36 +37 @@ pysaml2<4.0.3,>=2.4.0 # Apache-2.0
-dogpile.cache>=0.5.7 # BSD
+dogpile.cache>=0.6.2 # BSD
@@ -39,0 +41 @@ msgpack-python>=0.4.0 # Apache-2.0
+osprofiler>=1.4.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index b79b26a..41e60a7 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -9 +9,5 @@ bashate>=0.2 # Apache-2.0
-os-testr>=0.4.1 # Apache-2.0
+os-testr>=0.7.0 # Apache-2.0
+freezegun # Apache-2.0
+
+# Include drivers for opportunistic testing.
+oslo.db[fixtures,mysql,postgresql]!=4.13.1,!=4.13.2,>=4.10.0 # Apache-2.0
@@ -14 +18 @@ coverage>=3.6 # Apache-2.0
-fixtures>=1.3.1 # Apache-2.0/BSD
+fixtures>=3.0.0 # Apache-2.0/BSD
@@ -18 +22 @@ lxml>=2.3 # BSD
-mock>=1.2 # BSD
+mock>=2.0 # BSD
@@ -21 +25,2 @@ oslotest>=1.10.0 # Apache-2.0
-sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 # BSD
+sphinx!=1.3b1,<1.3,>=1.2.1 # BSD
+os-api-ref>=1.0.0 # Apache-2.0
@@ -25,4 +29,0 @@ WebTest>=2.0 # MIT
-# mox was removed in favor of mock. We should not re-enable this module. See
-# discussion: http://lists.openstack.org/pipermail/openstack-dev/2013-July/012484.html
-#mox>=0.5.3
-
@@ -35 +36 @@ oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0
-reno>=0.1.1 # Apache2
+reno>=1.8.0 # Apache2
@@ -37 +38 @@ reno>=0.1.1 # Apache2
-tempest-lib>=0.14.0 # Apache-2.0
+tempest>=12.1.0 # Apache-2.0
@@ -40 +41 @@ tempest-lib>=0.14.0 # Apache-2.0
-requests!=2.9.0,>=2.8.1 # Apache-2.0
+requests>=2.10.0 # Apache-2.0
1
0
We are content to announce the release of:
designate 3.0.0: DNS as a Service
This release is part of the newton release series.
With source available at:
http://git.openstack.org/cgit/openstack/designate
Please report issues through launchpad:
http://bugs.launchpad.net/designate
For more details, please see below.
3.0.0
^^^^^
This release has started the migration of our services to a "worker"
and "producer" model. This has started by deprecating "designate-zone-
manager" and "designate-pool-manager". We have also added support for
new DNS Servers, and added scheduling across pools.
New Features
************
* designate-mdns, designate-agent and designate-api can now bind to
multiple host:port pairs via the new "listen" configuration
arguments for eacg service.
* Addition of the "attribute" filter for scheduling zones across
pools. This can be enabled in the "[service:central]" section of the
config by adding "attribute" to the list of values in the "filters"
option.
* An experimental agent backend to support TinyDNS, the DNS resolver
from the djbdns tools.
* An experimental agent backend to support Knot DNS 2
* Added "designate-worker" and "designate-producer". This will allow
for better scaling across a designate system as we move forward.
* A new recordset api "/v2/recordsets" is exposed with GET method
allowed only. The api can be used for retrieving recordsets across
all the zones under a tenant. Filtering on certain fields is
supported as well.
* All designate services will now report to designate-central when
they are running. This is implmented as a heartbeat reporting
system. There is also a new API endpoint in the v2 API -
$API_BASE/v2/service_status. This will show the list of services
running, and when they last reported as running. Currently the
"stats" and "capabilities" values will be blank, but will be updated
in the future as services implement them.
* This adds the quotas api from /admin to /v2 with some changes. All
users can GET /v2/quotas/<project_id> Users with "All-Projects"
permission can view other projects (by setting X-Auth-All-
Projects:True in the HTTP Headers) Users with "All-Projects" and
"set-quotas" can set other projects quotas Moved the API rendering
to Designate Object based rendering
Upgrade Notes
*************
* The default port which the designate-agent service listens on has
changed from 53 to 5358. This matches the port we have always used
in the sample configuration, and the port used in the agent backend
class.
* To enable "designate-worker" and "designate-producer" add a
section to your "designate.conf" called "[service:worker]" and add
an option "enabled = True". Then stop "designate-pool-manager" and
"designate- zone-manager", and start "designate-worker" and
"designate-producer"
Deprecation Notes
*****************
* designate-api's api_host and api_port configuration options have
been deprecated, please use the new combined "listen" argument in
place of these.
* designate-mdns's host and port configuration options have been
deprecated, please use the new combined "listen" argument in place
of these.
* designate-agents's host and port configuration options have been
deprecated, please use the new combined "listen" argument in place
of these.
* Both "designate-zone-manager" and "designate-pool-manager" are now
deprecated and will be removed in a future release.
Bug Fixes
*********
* V1 API Users can now query v1/quotas/<project_id> for quotas
* Added zone_name in zone trasfer request response. Closed
bug#1580014
Changes in designate 2.0.0.0rc1..3.0.0
--------------------------------------
0c9ffbf Infoblox: Reverse lookup zone creation fails
1e65e21 Fix for the exception on creating secondary zone
b9446fc Updated from global requirements
6828716 Update UPPER_CONSTRAINTS_FILE for stable/newton
ac6778c Update .gitreview for stable/newton
aa23d86 Add PowerDNS 4 driver
0bc50d6 RC1 Relnotes
c544126 delete python bytecode including pyo before every test run
ae6e848 Resolve description parameter in v2:set floating ip
b31098a [api-ref] Remove temporary block in conf.py
65b5694 Fix Grenade Gate
102f1d2 Infoblox backend:Fixed sslverify value from option
75e0794 Change PATCH method to PUT for recordset update in api-ref
19dd6d5 Config logABug feature for Designate api-ref
871522f Add name parameter to recordset create request description
dcce755 Replace POST with PATCH in api-ref for set floatingIP's ptr record
49a0182 Remove recordset tests migrated to designate_tempest_plugin
b12656f TrivialFix: Remove cfg import unused
06c4bc0 Clean imports in code
e384a2d TrivialFix: Remove logging import unused
6ac5804 Fix ZTA API to prevent HTTP 500 upon empty body
4320baf Add api-ref dropdown
81ce132 Worker Model
773a608 Updated from global requirements
0c6babd Remove white space between print and ()
176b4a2 Minor cleanup
95f451d Add support for Microsoft DNS Server backend
3d350ab Use upper constraints for all jobs in tox.ini
fa9e300 Updated from global requirements
f262e68 Get ready for os-api-ref sphinx theme change
4458556 Fix recordset changes so that they preserve object changes fields
c5245e6 Updated from global requirements
775246a Replace assertEqual(None, *) with assertIsNone in the tests
6d21200 Cleaned up notification_handler/base.py
b32c706 Fix typo 'leve'->'level'
56dc9af Remove unnecessary __init__ from functionaltests
0bf62b9 Use tempest.lib instead of tempest-lib
f40681c Improve performance of recordsets API
7cd1f61 Replace assertDictEqual() with assertEqual()
3b9e00d Language fix 'imports' to 'exports'
028c9bf Fix SSHFP validation for ECDSA, ED25519, and SHA256
be39842 Updated from global requirements
87aaecb Fix api-ref methods for getting, updating and deleting recordsets
a762cdf Revert 372057bddb27716acd42a88591552a8dee7b519b
b31f9ea Fix some typo in the files
efa6d23 Change bind -> bind9 in docs, sample configs
372057b Fix recordset changes so that they preserve object changes fields
54cea89 Add DESIGNATE_AGENT_BACKEND_DRIVER to devstack sample conf
d7838a7 Fix typo in tempest.rst
bb35643 Python 3: dict.itervalues()
9910d76 Typo in mitaka.rst
10bac1a Python 3: dict.iteritems()
fe306f8 Documentation fix up
9862084 Remove unused LOG
0568b66 different-format-for-ipv4-and-ipv6
68fe061 Updated from global requirements
eef0315 update doc index, add ops FAQ and notifications
f374b5f Grenade Plugin
190f47f Docs for working with multiple pools
1687df2 Don't hardcode options we pass to oslo.context
7761394 Correct reraising of exception
a72ba0a Consolidate How Tos and add Admin How Tos
ac6e95b Added docs for Floatingip ptr records to api ref
ffd9873 Update UUID type for py3.5 compat
b7ef8cc Add Python 3.5 classifier and venv
4e7c65c Add gdnsd backend
2028d30 Updated from global requirements
2d79558 Updated from global requirements
619b475 Add v2/quotas
e00b15b Updated from global requirements
5964608 Fixes log statement typo in coordination.py
53dff34 Fix typo in designate-manage.rst
cd9741b Fixing several typos
f3b7ac9 Fixing typo availible->available
745d607 Updated from global requirements
c906060 Add missing zake lib to t-r
9deeed7 zone_name is null in zone trasfer request response
7c540ab Updated from global requirements
88ada35 Fix Invalid UUID error message to make it consistent with others
ea363d5 Add missing parameters to docs of zone_ownership_transfer_accept
424ebf3 Catch duplicate db inserts in powerdns plugin
8ce138d Add docs for SSHFP, SRV, SPF and MX recordsets to api-ref
52ce6d5 Updated from global requirements
a6d7ee9 Fix output of datetime objects in API
bbe2b2c Add API for listing zone transfer accepts
9cb82bf Fix 'Duplicate explicit target name' error in 'tox -e docs'
0584df3 Remove unneeded renames in v2 Adapters
5c0b0f7 Move APIv2 Docs to api-ref site
ad39f0b Remove migrated "unauthed" functional tests
5067eb8 Remove migrated negative tests for pools, tlds, blacklists
3171dd5 Ensure HTTP 204 responses have 0 Content-Length
6bcc95d Add docs for zone ownership transfer_accept API
2a1e347 Updated from global requirements
e475d9f Removed erronous extra file
e93bd9d Updated from global requirements
660b4e0 Add etc/designate/*.yaml to .gitignore
eeeb1da Only load Suds when using Akamai backend
5d0e4da Add centos7, remove Fedora Vagrant VM
3167edf Add Blacklist to api-ref docs
3097446 DOC: Minor grammar and typo fixes
9d3e098 Fix typo in Docs
dec0d38 Updated from global requirements
2ac164e Updated from global requirements
129b28a Add "project-id" to rrset API output
6df18b5 Make registering error handlers compliant with Flask 0.11
dd105f4 Fix parameters.yaml order
ba10770 Support binding to IPv6 addresses in UDP sockets
7fa4a3b Updated from global requirements
1548138 Fix tsig param names
a697157 Docs update to make it consistent with other docs
ee0c6a2 remove verbose option in devstack plugin
0e58f4f Updated from global requirements
dfca659 DOC: Update Ubuntu developer environment doc
d1c6f4f Add Wily and Xenial devstack VMs
e3cda62 Support binding to IPv6 addresses in TCP sockets
1877e1f Cleanup rndc backend
77d9f41 Modify assert statement when comparing with None
bef53db DevStack: Support setting default quotas
ab52862 Updated from global requirements
7b977f6 Enable v2/recordsets API for tempest plugin
a8f14f6 Imported Translations from Zanata
be7e32d Add djbdns backend
6ae1923 Refactor UDP query handling, add tests
f388734 Catch all exceptions in PM's call to get_pool()
bc74ee8 Fix typo
96bff5c Improve response codes display in api-ref docs
1eb64bf Support TCP connection pipelining
d8c6c22 Updated from global requirements
a2fb918 Roll up migrations to start from liberty
08dfd91 Removing cruft from before os-api-ref was a lib
d34406f Fix Optional Tag for X-OpenStack-Request-ID
c33ebfc Add Tsigkey to api-ref docs
63d1c30 Ensure L to M DB migrations correctly inspect current DB state
9eefe3c Fix a typo. their -> there
9a17bd6 Updated from global requirements
7406212 Remove test cases which are moved to designate_tempest_plugin
49effdd Add Tld to api-ref docs
961d1d8 Fix gate trying to use u-c for api-ref
43954cf Resolve incorrect description and response codes in api-ref docs
d5e4c60 Integration/stress test using a simulated network
fd6340f DevStack: Set tempest nameservers config option correctly
5d78d12 Add a style guide
5d328f0 Add Knot DNS backend
6965032 Remove zone import and export client methods + tests
9ec2e8d Add explanation of connection string in pdns sample_yaml_snippets
e23eb9a Updated from global requirements
9bc1a80 Add "/" to API-Ref Docs
773528d Add Pools to API-Ref Docs
2156989 Add Limits to API-Ref Docs
b4cd2c8 Update devstack dashboard+client clone+install method
c41555d Add Zone Transfer Request + Accept API-Ref docs
403b6ae Add Zone Tasks, Export and Import API Docs
83d4d03 Add Recordset to api-ref docs
e9db59d Start Designate API-Ref style documentation
ed51f49 Ensure services shutdown during unit testing
96de5c1 Skip zone import count test, reenable pool tests
7d43570 Type checking in pool manager target sync
2554a9f Docs Update
77d083b Remove tempest plugin from non-tempest gate
d4f5303 Remove more tests migrated to tempest plugin
772dc34 Updated from global requirements
76be6e0 Update Designate Architecture document
3c325b0 Expose /v2/recordsets api endpoint
4bc6599 Fix rrset serialization, improve mdns tests
b60ac58 Move bandit job to voting
3cf67d6 Trivalfix of option name in designate.conf.sample
c23c99a Enable V2 API as default
ca7ffba Support both olso.m v4 and v5
e2c5d07 Fix the memory of the VM in VirtualBox
26dc629 Typo fix
f804f30 Migrate service_statuses table charset to UTF8
a7799a2 Fix the service_status objects __str__() output
fc2b24a Move heartbeat emit log messages to TRACE
6457a91 Remove msdns from the drivers list
281b4f9 Fix parameterized class decorator
40b1ad5 Fix _get_listen_on_addresses to handle port 0
b165ce1 Consolidate default port numbers into utils.py
82fcd54 Support multiple API and mDNS listen address pairs
699468c DevStack: Allow disabling of API versions
35bb49c Return early from _find_recordsets_with_records
3db4bfc Skip Pools APIv2 tests
ae85322 Added attribute filter to scheduler
be73f3f Fix service_status docs page
619c3cd Remove execute privilege of designate/backend/impl_bind9.py
d7e35b2 Updated from global requirements
7a80815 Add descriptions
f2f6b5d Minor documentation fix
7a04eea Add setup_ubuntu_devstack
b9ce7e5 replace logging with oslo.log
51604e9 Add exception description, minor cleanup
78bce13 Allow api_export_size to be updated
f14976d Improve exception handling, add comments
954a08e Remove contrib/tempest, as they have moved to the tempest plugin
8019155 Add Decorator to log RPCAPI Calls
00567f3 Use upper-constraints.txt for tox tests
1b673bd Move DNS OPCODEs/Classes into private_codes.py
5879c90 Fix data filtering with pagination
765d9c2 Added "experimental" status for backends
7fdce54 Updated from global requirements
44b5376 Set default sslverify value to True
c9407d1 Ubuntu dev doc updates
5939880 Removed old tooling for ks CLI
0343a7d Changed the spelling of command in sample file
edbf4f3 Add missing response codes in V2 API's doc
1ec3b58 Remove tests moved to tempest
620fc6e Add Agent DevStack Backend
4735d23 Fix all doc warnings and enforce clean docs
ddf8a03 Moved doc file and releasenote from service_status
5213676 Updated from global requirements
29e90da Update tempest docs re scenario and slow tests
ae69b5b Vagrant: Suppport local devstack / tempest clones
7abae80 Add support for getting Service Status
1554666 Update bandit.yaml + fix failing test
3e7ffd6 Updated from global requirements
1b403af Remove workaround for bug #1467907
fc2fe86 Add Tempest Plugin to DevStack Plugin
74aabd8 Refactor central/service and others
d0b81a4 Refactor pool and pool_manager attribute update
0d8e048 Add Designate Tempest Docs
bdeb08e Resolves metadata field output on rest call to zone import and export
ab1639c Give better error messages for zone imports
a6c3a55 Define context.roles with base class
5f6f606 Update vagrant local.conf for rally DS plugin
debbe73 Give proper ERROR for too large exports
ac08119 Move successfull policy checks to trace
da8ed88 Add Memcached documentation
5386659 Remove pool config from sample config
d77fe67 Make cache_result safer to use
6832fa1 Add Enhanced Logging to APIs
d964469 Updated from global requirements
909cc5d Handle async Tooz calls appropriately
aba5161 Docs update for zone import and export
ffbb2d8 Updated from global requirements
10d8d7b Better organize the tox.ini passenv vars
c7b7075 Adding v2 namespaced event to zone manager
ab8208d Adding v2 namespaced event to zone manager
ed29445 Do not log pool-manager-caches SQL transactions
7b5e1fd Added "view" option to bind9 rndc options
979b67d Partitoner references invalid exception class
b172846 Docs update
9f2520d Run the cli functional tests in openstack ci
99a6907 Add placeholders for Mitaka DB Backports
34fe2ec Update config samples to show Identity v3 params
c558525 devstack: compile message catalogs during stack.sh
a54dade devstack: compile message catalogs during stack.sh
6a21a79 Partitoner references invalid exception class
2c31869 Adds missing metadata section to API docs
cdedb2f Added "view" option to bind9 rndc options
8030341 Do not log pool-manager-caches SQL transactions
58800e4 Update reno for stable/mitaka
f591b43 Update .gitreview for stable/mitaka
e2f83c9 Log zone serial on fetch and update
cdeaaf2 Fix devstack/fedora/bind9 support
2b2ffc5 Fix AutoDoc line for non existent modules
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 2 +
.gitreview | 1 +
api-ref/source/conf.py | 233 +++++
api-ref/source/dns-api-v2-blacklist.inc | 240 +++++
api-ref/source/dns-api-v2-limits.inc | 54 +
api-ref/source/dns-api-v2-pool.inc | 104 ++
api-ref/source/dns-api-v2-quota.inc | 196 ++++
api-ref/source/dns-api-v2-recordset.inc | 624 +++++++++++
api-ref/source/dns-api-v2-reverse-floatingips.inc | 192 ++++
api-ref/source/dns-api-v2-tld.inc | 240 +++++
api-ref/source/dns-api-v2-tsigkey.inc | 260 +++++
api-ref/source/dns-api-v2-version.inc | 37 +
api-ref/source/dns-api-v2-zone-export.inc | 194 ++++
api-ref/source/dns-api-v2-zone-import.inc | 178 ++++
.../dns-api-v2-zone-ownership-transfer-accept.inc | 156 +++
.../dns-api-v2-zone-ownership-transfer-request.inc | 254 +++++
api-ref/source/dns-api-v2-zone-tasks.inc | 84 ++
api-ref/source/dns-api-v2-zone.inc | 363 +++++++
api-ref/source/index.rst | 23 +
api-ref/source/parameters.yaml | 897 ++++++++++++++++
.../samples/blacklists/blacklist-response.json | 10 +
.../blacklists/create-blacklist-request.json | 4 +
.../blacklists/list-blacklists-response.json | 27 +
.../blacklists/update-blacklist-request.json | 4 +
.../blacklists/update-blacklist-response.json | 10 +
.../source/samples/limits/get-limits-response.json | 10 +
.../source/samples/pools/list-pools-response.json | 46 +
.../source/samples/pools/show-pool-response.json | 18 +
.../source/samples/quotas/get-quotas-response.json | 7 +
.../source/samples/quotas/set-quotas-request.json | 3 +
.../source/samples/quotas/set-quotas-response.json | 7 +
.../recordsets/create-mx-recordset-request.json | 12 +
.../recordsets/create-mx-recordset-response.json | 23 +
.../recordsets/create-recordset-request.json | 9 +
.../recordsets/create-recordset-response.json | 21 +
.../recordsets/create-spf-recordset-request.json | 10 +
.../recordsets/create-spf-recordset-response.json | 20 +
.../recordsets/create-srv-recordset-request.json | 9 +
.../recordsets/create-srv-recordset-response.json | 20 +
.../recordsets/create-sshfp-recordset-request.json | 9 +
.../create-sshfp-recordset-response.json | 20 +
.../recordsets/delete-recordset-response.json | 22 +
.../recordsets/list-all-recordset-response.json | 32 +
.../list-recordset-in-zone-response.json | 32 +
.../recordsets/show-recordset-response.json | 21 +
.../recordsets/update-recordset-request.json | 8 +
.../recordsets/update-recordset-response.json | 22 +
.../list-ptr-record-response.json | 31 +
.../reverse_floatingips/ptr-record-response.json | 13 +
.../set-ptr-record-request.json | 5 +
.../unset-ptr-record-request.json | 3 +
.../source/samples/tlds/create-tld-request.json | 4 +
.../source/samples/tlds/list-tlds-response.json | 26 +
api-ref/source/samples/tlds/tld-response.json | 10 +
.../source/samples/tlds/update-tld-request.json | 4 +
.../source/samples/tlds/update-tld-response.json | 10 +
.../samples/tsigkeys/create-tsigkey-request.json | 7 +
.../samples/tsigkeys/list-tsigkeys-response.json | 45 +
.../source/samples/tsigkeys/tsigkey-response.json | 13 +
.../samples/tsigkeys/update-tsigkey-request.json | 4 +
.../samples/tsigkeys/update-tsigkey-response.json | 13 +
.../samples/versions/get-versions-response.json | 26 +
.../samples/zones/create-zone-export-response.json | 14 +
.../samples/zones/create-zone-import-response.json | 13 +
.../source/samples/zones/create-zone-request.json | 7 +
.../zones/create-zone-transfer-accept-request.json | 4 +
.../create-zone-transfer-accept-response.json | 14 +
.../create-zone-transfer-request-request.json | 3 +
.../create-zone-transfer-request-response.json | 15 +
.../source/samples/zones/delete-zone-response.json | 21 +
.../samples/zones/list-zone-export-response.json | 26 +
.../samples/zones/list-zone-import-response.json | 38 +
.../zones/list-zone-transfer-accept-response.json | 37 +
.../zones/list-zone-transfer-request-response.json | 32 +
.../source/samples/zones/list-zones-response.json | 32 +
.../samples/zones/show-zone-export-content.txt | 18 +
.../samples/zones/show-zone-export-response.json | 15 +
.../samples/zones/show-zone-import-response.json | 14 +
.../zones/show-zone-nameservers-response.json | 8 +
.../zones/show-zone-transfer-request-response.json | 10 +
.../source/samples/zones/update-zone-request.json | 4 +
.../source/samples/zones/update-zone-response.json | 21 +
.../update-zone-transfer-request-request.json | 4 +
.../update-zone-transfer-request-response.json | 11 +
api-ref/source/samples/zones/zone-response.json | 21 +
bandit.yaml | 248 -----
contrib/djbdns/tinydns.init | 110 ++
contrib/djbdns/tinydns.service | 44 +
contrib/dns_dump_hex_to_text.py | 2 +-
contrib/ipaextractor.py | 2 +-
contrib/tempest/README.rst | 72 --
contrib/tempest/clients.py | 706 -------------
contrib/tempest/config.py | 1076 -------------------
contrib/tempest/dns_clients/__init__.py | 0
contrib/tempest/dns_clients/json/__init__.py | 0
contrib/tempest/dns_clients/json/domains_client.py | 79 --
contrib/tempest/dns_clients/json/records_client.py | 84 --
contrib/tempest/dns_clients/json/server_client.py | 76 --
contrib/tempest/dns_schema/__init__.py | 0
contrib/tempest/dns_schema/domains.py | 123 ---
contrib/tempest/dns_schema/parameter_types.py | 23 -
contrib/tempest/dns_schema/records.py | 136 ---
contrib/tempest/dns_schema/servers.py | 103 --
contrib/tempest/tempest.conf.sample | 1095 --------------------
contrib/vagrant/README.rst | 1 +
contrib/vagrant/Vagrantfile | 85 +-
contrib/vagrant/local.conf | 9 +-
contrib/vagrant/setup_ubuntu_devstack | 61 ++
designate/__init__.py | 3 +-
designate/agent/__init__.py | 24 +-
designate/agent/handler.py | 49 +-
designate/agent/service.py | 13 +
designate/api/__init__.py | 15 +-
designate/api/admin/app.py | 3 -
.../api/admin/controllers/extensions/quotas.py | 3 +
designate/api/middleware.py | 7 +
designate/api/service.py | 18 +
designate/api/v1/__init__.py | 2 +-
designate/api/v1/domains.py | 13 +-
designate/api/v1/extensions/diagnostics.py | 2 -
designate/api/v1/extensions/quotas.py | 2 -
designate/api/v1/extensions/reports.py | 2 -
designate/api/v1/extensions/sync.py | 2 -
designate/api/v1/limits.py | 2 -
designate/api/v1/records.py | 17 +-
designate/api/v1/servers.py | 14 +-
designate/api/v1/tsigkeys.py | 13 +-
designate/api/v2/app.py | 3 -
designate/api/v2/controllers/blacklists.py | 31 +-
designate/api/v2/controllers/common.py | 50 +
designate/api/v2/controllers/errors.py | 3 -
designate/api/v2/controllers/floatingips.py | 23 +-
designate/api/v2/controllers/limits.py | 2 -
designate/api/v2/controllers/pools.py | 33 +-
designate/api/v2/controllers/quotas.py | 78 ++
designate/api/v2/controllers/recordsets.py | 186 +---
designate/api/v2/controllers/rest.py | 9 -
designate/api/v2/controllers/root.py | 9 +-
designate/api/v2/controllers/service_status.py | 58 ++
designate/api/v2/controllers/tlds.py | 33 +-
designate/api/v2/controllers/tsigkeys.py | 32 +-
designate/api/v2/controllers/zones/__init__.py | 32 +-
designate/api/v2/controllers/zones/nameservers.py | 11 +-
designate/api/v2/controllers/zones/recordsets.py | 158 +++
.../api/v2/controllers/zones/tasks/__init__.py | 2 -
.../api/v2/controllers/zones/tasks/abandon.py | 11 +-
.../api/v2/controllers/zones/tasks/exports.py | 44 +-
.../api/v2/controllers/zones/tasks/imports.py | 42 +-
.../v2/controllers/zones/tasks/transfer_accepts.py | 39 +-
.../controllers/zones/tasks/transfer_requests.py | 40 +-
designate/api/v2/controllers/zones/tasks/xfr.py | 9 +
designate/api/v2/patches.py | 10 +-
designate/backend/agent.py | 52 +-
designate/backend/agent_backend/base.py | 5 -
.../backend/agent_backend/impl_denominator.py | 2 +-
designate/backend/agent_backend/impl_djbdns.py | 350 +++++++
designate/backend/agent_backend/impl_gdnsd.py | 245 +++++
designate/backend/agent_backend/impl_knot2.py | 216 ++++
designate/backend/agent_backend/impl_msdns.py | 113 ++
designate/backend/base.py | 2 +
designate/backend/impl_akamai.py | 20 +-
designate/backend/impl_bind9.py | 81 +-
designate/backend/impl_designate.py | 2 -
designate/backend/impl_dynect.py | 2 +-
designate/backend/impl_infoblox/config.py | 71 +-
designate/backend/impl_infoblox/connector.py | 17 +-
.../backend/impl_infoblox/object_manipulator.py | 13 +-
designate/backend/impl_pdns4.py | 82 ++
designate/backend/impl_powerdns/__init__.py | 69 +-
designate/backend/private_codes.py | 35 +
designate/central/rpcapi.py | 165 +--
designate/central/service.py | 374 +++----
designate/cmd/pool_manager.py | 16 +
designate/cmd/producer.py | 53 +
designate/cmd/worker.py | 53 +
designate/cmd/zone_manager.py | 24 +-
designate/common/config.py | 3 +-
designate/context.py | 52 +-
designate/coordination.py | 39 +-
designate/dnsutils.py | 8 +-
designate/exceptions.py | 8 +
designate/hookpoints.py | 19 +-
.../en_GB/LC_MESSAGES/designate-log-warning.po | 233 +++++
designate/loggingutils.py | 43 +
designate/manage/database.py | 2 +-
designate/manage/pool.py | 10 +-
designate/manage/pool_manager_cache.py | 3 -
designate/manage/powerdns.py | 2 -
designate/mdns/__init__.py | 13 +-
designate/mdns/base.py | 2 -
designate/mdns/handler.py | 81 +-
designate/mdns/notify.py | 18 +-
designate/mdns/rpcapi.py | 13 +-
designate/mdns/service.py | 2 +
designate/mdns/xfr.py | 3 +-
designate/network_api/__init__.py | 4 +-
designate/notification_handler/__init__.py | 5 +-
designate/notification_handler/base.py | 30 +-
designate/notification_handler/neutron.py | 8 +-
designate/notification_handler/nova.py | 8 +-
designate/objects/__init__.py | 1 +
designate/objects/adapters/__init__.py | 1 +
designate/objects/adapters/api_v1/base.py | 3 -
designate/objects/adapters/api_v2/base.py | 10 +-
designate/objects/adapters/api_v2/blacklist.py | 2 -
designate/objects/adapters/api_v2/floating_ip.py | 2 -
designate/objects/adapters/api_v2/pool.py | 2 -
.../objects/adapters/api_v2/pool_attribute.py | 2 -
.../objects/adapters/api_v2/pool_ns_record.py | 2 -
designate/objects/adapters/api_v2/quota.py | 43 +-
designate/objects/adapters/api_v2/record.py | 2 -
designate/objects/adapters/api_v2/recordset.py | 51 +-
.../objects/adapters/api_v2/service_status.py | 63 ++
designate/objects/adapters/api_v2/tld.py | 2 -
designate/objects/adapters/api_v2/tsigkey.py | 2 -
.../objects/adapters/api_v2/validation_error.py | 3 -
designate/objects/adapters/api_v2/zone.py | 3 -
.../objects/adapters/api_v2/zone_attribute.py | 2 -
designate/objects/adapters/api_v2/zone_export.py | 8 +-
designate/objects/adapters/api_v2/zone_import.py | 6 +-
designate/objects/adapters/api_v2/zone_master.py | 2 -
.../adapters/api_v2/zone_transfer_accept.py | 6 +-
.../adapters/api_v2/zone_transfer_request.py | 5 +-
designate/objects/adapters/base.py | 22 +-
.../objects/adapters/yaml/pool_also_notify.py | 2 -
designate/objects/adapters/yaml/pool_attribute.py | 2 -
designate/objects/adapters/yaml/pool_nameserver.py | 2 -
designate/objects/adapters/yaml/pool_ns_record.py | 2 -
designate/objects/adapters/yaml/pool_target.py | 2 -
.../objects/adapters/yaml/pool_target_master.py | 2 -
.../objects/adapters/yaml/pool_target_option.py | 2 -
designate/objects/base.py | 6 +
designate/objects/pool_target.py | 1 +
designate/objects/quota.py | 24 +-
designate/objects/recordset.py | 15 +-
designate/objects/rrdata_sshfp.py | 4 +-
designate/objects/service_status.py | 61 ++
designate/policy.py | 6 +-
designate/pool_manager/__init__.py | 20 +-
.../pool_manager/cache/impl_memcache/__init__.py | 8 +
designate/pool_manager/rpcapi.py | 28 +-
designate/pool_manager/service.py | 30 +-
designate/producer/__init__.py | 69 ++
designate/producer/service.py | 97 ++
designate/producer/tasks.py | 346 +++++++
designate/quota/impl_storage.py | 6 +-
designate/resources/schemas/admin/quota.json | 9 +-
designate/rpc.py | 30 +-
designate/scheduler/__init__.py | 4 +-
designate/scheduler/filters/attribute_filter.py | 70 +-
designate/scheduler/filters/default_pool_filter.py | 12 +-
designate/scheduler/filters/fallback_filter.py | 14 +-
.../scheduler/filters/pool_id_attribute_filter.py | 4 +-
designate/scheduler/filters/random_filter.py | 4 +-
designate/schema/format.py | 5 +-
designate/schema/validators.py | 3 -
designate/service.py | 255 +++--
designate/service_status.py | 114 ++
designate/sqlalchemy/base.py | 198 ++--
designate/sqlalchemy/types.py | 4 +-
designate/sqlalchemy/utils.py | 24 +-
designate/storage/__init__.py | 91 +-
designate/storage/base.py | 38 +-
designate/storage/impl_sqlalchemy/__init__.py | 530 ++++------
.../migrate_repo/versions/038_icehouse.py | 231 -----
.../versions/039_support_soa_records.py | 168 ---
.../migrate_repo/versions/040_fix_record_data.py | 37 -
.../versions/041_server_pools_storage.py | 93 --
.../migrate_repo/versions/042_priority_to_data.py | 117 ---
.../versions/043_modify_domains_and_records.py | 98 --
.../versions/044_add_pool_id_to_domains.py | 59 --
.../045_add_uniqueconstraint_to_pool_attributes.py | 57 -
.../migrate_repo/versions/046_add_indices.py | 76 --
.../migrate_repo/versions/047_add_reverse_name.py | 110 --
.../048_add_zone_ownership_transfers_tables.py | 78 --
.../migrate_repo/versions/049_migrate_servers.py | 73 --
.../migrate_repo/versions/050_drop_servers.py | 37 -
.../migrate_repo/versions/051_scoped_tsig.py | 79 --
.../migrate_repo/versions/052_secondary_zones.py | 115 --
.../migrate_repo/versions/053_pool_nameservers.py | 120 ---
.../versions/054_allow_duplicate_domains.py | 56 -
.../versions/055_add_created_indices.py | 48 -
.../migrate_repo/versions/056_placeholder.py | 30 -
.../migrate_repo/versions/057_placeholder.py | 30 -
.../migrate_repo/versions/058_placeholder.py | 30 -
.../migrate_repo/versions/059_placeholder.py | 30 -
.../migrate_repo/versions/060_placeholder.py | 30 -
.../migrate_repo/versions/061_placeholder.py | 30 -
.../migrate_repo/versions/062_placeholder.py | 30 -
.../migrate_repo/versions/063_placeholder.py | 30 -
.../migrate_repo/versions/064_placeholder.py | 30 -
.../migrate_repo/versions/065_placeholder.py | 30 -
.../versions/066_add_update_status_index.py | 49 -
.../migrate_repo/versions/067_zone_tasks.py | 60 --
.../migrate_repo/versions/068_add_shard_column.py | 101 --
.../versions/069_zone_tasks_location.py | 44 -
.../migrate_repo/versions/070_liberty.py | 395 +++++++
.../migrate_repo/versions/070_placeholder.py | 30 -
.../migrate_repo/versions/082_unique_ns_record.py | 7 +-
.../migrate_repo/versions/087_placeholder.py | 26 +
.../migrate_repo/versions/088_placeholder.py | 26 +
.../migrate_repo/versions/089_placeholder.py | 26 +
.../migrate_repo/versions/090_placeholder.py | 26 +
.../migrate_repo/versions/091_placeholder.py | 26 +
.../migrate_repo/versions/092_placeholder.py | 26 +
.../migrate_repo/versions/093_placeholder.py | 26 +
.../migrate_repo/versions/094_placeholder.py | 26 +
.../migrate_repo/versions/095_placeholder.py | 26 +
.../migrate_repo/versions/096_placeholder.py | 26 +
.../migrate_repo/versions/097_add_services.py | 52 +
.../versions/098_fix_service_charset.py | 33 +
.../099_add_rrset_indexes_for_filtering_perf.py | 36 +
designate/storage/impl_sqlalchemy/tables.py | 23 +
.../unit/test_agent/test_backends/__init__.py | 0
.../unit/test_agent/test_backends/test_djbdns.py | 126 +++
.../unit/test_agent/test_backends/test_gdnsd.py | 85 ++
.../unit/test_agent/test_backends/test_knot2.py | 200 ++++
.../unit/test_agent/test_backends/test_msdns.py | 122 +++
designate/utils.py | 78 +-
designate/worker/README.md | 206 ++++
designate/worker/__init__.py | 60 ++
designate/worker/processing.py | 79 ++
designate/worker/rpcapi.py | 77 ++
designate/worker/service.py | 172 +++
designate/worker/tasks/__init__.py | 0
designate/worker/tasks/base.py | 127 +++
designate/worker/tasks/zone.py | 609 +++++++++++
designate/worker/utils.py | 82 ++
designate/zone_manager/__init__.py | 37 -
designate/zone_manager/rpcapi.py | 72 --
designate/zone_manager/service.py | 154 ---
designate/zone_manager/tasks.py | 299 ------
devstack/designate_plugins/backend-agent | 103 ++
devstack/designate_plugins/backend-agent-fake | 55 +
devstack/designate_plugins/backend-agent-knot2 | 130 +++
devstack/designate_plugins/backend-agent-msdns | 116 +++
devstack/designate_plugins/backend-bind9 | 6 +-
devstack/designate_plugins/backend-pdns4 | 181 ++++
.../designate_plugins/backend-pdns4-mysql-db.sql | 92 ++
devstack/gate/post_test_hook.sh | 15 +-
devstack/networking_test.py | 663 ++++++++++++
devstack/networking_test_monitor_tc.sh | 3 +
devstack/plugin.sh | 95 +-
devstack/settings | 30 +-
devstack/upgrade/resources.sh | 166 +++
devstack/upgrade/settings | 11 +
devstack/upgrade/shutdown.sh | 28 +
devstack/upgrade/upgrade.sh | 96 ++
.../backends/sample_yaml_snippets/agent.yaml | 15 +
.../backends/sample_yaml_snippets/pdns4.yaml | 16 +
.../backends/sample_yaml_snippets/powerdns.yaml | 16 +
etc/designate/designate.conf.sample | 166 ++-
etc/designate/policy.json | 5 +-
etc/designate/pools.yaml.sample-bind | 4 +-
etc/designate/pools.yaml.sample-multiple-pools | 6 +-
etc/designate/rootwrap.d/djbdns.filters | 4 +
etc/designate/rootwrap.d/knot2.filters | 3 +
.../api/v2/clients/zone_export_client.py | 75 --
.../api/v2/clients/zone_import_client.py | 61 --
.../api/v2/test_recordset_validation.py | 2 +-
.../api/v2/test_zone_ownership_transfers.py | 60 +-
.../notes/agent-port-number-c28462562a74cbf9.yaml | 5 +
.../api-mdns-multiple-bind-c78853de46ee587d.yaml | 15 +
.../notes/attribute-filter-f06a53b61f5fd111.yaml | 5 +
.../djbdns-agent-backend-c84e9eeab48d2e01.yaml | 4 +
.../notes/knot-agent-backend-db2893aa97d85a1d.yaml | 3 +
.../notes/newton-rc-1-eddc78fac760b98a.yaml | 19 +
.../notes/recordset-api-2c82abf569f7623e.yaml | 5 +
.../notes/service-status-ab0e696c8f5fdef8.yaml | 11 +
.../notes/v2-api-quotas-dd7e189cddcf7b96.yaml | 15 +
...-trasfer-request-response-a2e316872798d1df.yaml | 3 +
releasenotes/source/index.rst | 3 +-
releasenotes/source/mitaka.rst | 6 +
requirements.txt | 47 +-
setup.cfg | 26 +-
test-requirements.txt | 17 +-
tools/designate-keystone-setup | 198 ----
tox.ini | 46 +-
527 files changed, 21809 insertions(+), 15571 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 5ab5d07..1599830 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5 +5 @@
-Babel>=1.3 # BSD
+Babel>=2.3.4 # BSD
@@ -7 +7 @@ eventlet!=0.18.3,>=0.18.2 # MIT
-Flask<1.0,>=0.10 # BSD
+Flask!=0.11,<1.0,>=0.10 # BSD
@@ -11,6 +11,6 @@ jsonschema!=2.5.0,<3.0.0,>=2.0.0 # MIT
-keystoneauth1>=2.1.0 # Apache-2.0
-keystonemiddleware!=4.1.0,>=4.0.0 # Apache-2.0
-netaddr!=0.7.16,>=0.7.12 # BSD
-oslo.config>=3.7.0 # Apache-2.0
-oslo.concurrency>=3.5.0 # Apache-2.0
-oslo.messaging>=4.0.0 # Apache-2.0
+keystoneauth1>=2.10.0 # Apache-2.0
+keystonemiddleware!=4.1.0,!=4.5.0,>=4.0.0 # Apache-2.0
+netaddr!=0.7.16,>=0.7.13 # BSD
+oslo.config>=3.14.0 # Apache-2.0
+oslo.concurrency>=3.8.0 # Apache-2.0
+oslo.messaging>=5.2.0 # Apache-2.0
@@ -20 +20 @@ oslo.reports>=0.6.0 # Apache-2.0
-oslo.rootwrap>=2.0.0 # Apache-2.0
+oslo.rootwrap>=5.0.0 # Apache-2.0
@@ -22,2 +22,2 @@ oslo.serialization>=1.10.0 # Apache-2.0
-oslo.service>=1.0.0 # Apache-2.0
-oslo.utils>=3.5.0 # Apache-2.0
+oslo.service>=1.10.0 # Apache-2.0
+oslo.utils>=3.16.0 # Apache-2.0
@@ -27 +27 @@ pbr>=1.6 # Apache-2.0
-pecan>=1.0.0 # BSD
+pecan!=1.0.2,!=1.0.3,!=1.0.4,>=1.0.0 # BSD
@@ -29,4 +29,4 @@ python-designateclient>=1.5.0 # Apache-2.0
-python-neutronclient!=4.1.0,>=2.6.0 # Apache-2.0
-Routes!=2.0,!=2.1,>=1.12.3;python_version=='2.7' # MIT
-Routes!=2.0,>=1.12.3;python_version!='2.7' # MIT
-requests!=2.9.0,>=2.8.1 # Apache-2.0
+python-neutronclient>=5.1.0 # Apache-2.0
+Routes!=2.0,!=2.1,!=2.3.0,>=1.12.3;python_version=='2.7' # MIT
+Routes!=2.0,!=2.3.0,>=1.12.3;python_version!='2.7' # MIT
+requests>=2.10.0 # Apache-2.0
@@ -36,3 +36,3 @@ sqlalchemy-migrate>=0.9.6 # Apache-2.0
-stevedore>=1.5.0 # Apache-2.0
-suds-jurko>=0.6 # LGPL
-setuptools>=16.0 # PSF/ZPL
+stevedore>=1.16.0 # Apache-2.0
+suds-jurko>=0.6 # LGPLv3+
+setuptools!=24.0.0,>=16.0 # PSF/ZPL
@@ -40 +40 @@ WebOb>=1.2.3 # MIT
-dnspython>=1.12.0;python_version<'3.0' # http://www.dnspython.org/LICENSE
+dnspython>=1.14.0 # http://www.dnspython.org/LICENSE
@@ -42 +42 @@ dnspython3>=1.12.0;python_version>='3.0' # http://www.dnspython.org/LICENSE
-oslo.db>=4.1.0 # Apache-2.0
+oslo.db!=4.13.1,!=4.13.2,>=4.10.0 # Apache-2.0
@@ -44,2 +44,2 @@ oslo.i18n>=2.1.0 # Apache-2.0
-oslo.context>=0.2.0 # Apache-2.0
-oslo.policy>=0.5.0 # Apache-2.0
+oslo.context>=2.9.0 # Apache-2.0
+oslo.policy>=1.9.0 # Apache-2.0
@@ -49,0 +50 @@ debtcollector>=1.2.0 # Apache-2.0
+os-win>=0.2.3 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index ae59057..90caf4c 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -8,2 +8,2 @@ coverage>=3.6 # Apache-2.0
-fixtures>=1.3.1 # Apache-2.0/BSD
-mock>=1.2 # BSD
+fixtures>=3.0.0 # Apache-2.0/BSD
+mock>=2.0 # BSD
@@ -13,2 +13,2 @@ python-subunit>=0.0.18 # Apache-2.0/BSD
-requests-mock>=0.7.0 # Apache-2.0
-sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 # BSD
+requests-mock>=1.0 # Apache-2.0
+sphinx!=1.3b1,<1.3,>=1.2.1 # BSD
@@ -20,2 +20,2 @@ WebTest>=2.0 # MIT
-tempest-lib>=0.14.0 # Apache-2.0
-reno>=0.1.1 # Apache2
+tempest>=12.1.0 # Apache-2.0
+reno>=1.8.0 # Apache2
@@ -23,2 +23,3 @@ reno>=0.1.1 # Apache2
-bandit>=0.17.3 # Apache-2.0
-
+bandit>=1.1.0 # Apache-2.0
+os-api-ref>=1.0.0 # Apache-2.0
+zake>=0.1.6 # Apache-2.0
1
0
We are excited to announce the release of:
puppet-cinder 9.4.1: Puppet module for OpenStack Cinder
This release is part of the newton stable release series.
For more details, please see below.
Changes in puppet-cinder 9.4.0..9.4.1
-------------------------------------
5b6c032 Release 9.4.1
179bbe6 fixed typo in ./manifests/backend/{netapp,iscsi,bdd}.pp
a91078e Use stable/newton spec helper
3f2d3c3 Update .gitreview for stable/newton
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 1 +
Gemfile | 1 +
manifests/backend/bdd.pp | 2 +-
manifests/backend/iscsi.pp | 2 +-
manifests/backend/netapp.pp | 2 +-
metadata.json | 2 +-
releasenotes/source/conf.py | 4 ++--
7 files changed, 8 insertions(+), 6 deletions(-)
1
0
We are glowing to announce the release of:
puppet-heat 9.4.1: Puppet module for OpenStack Heat
This release is part of the newton stable release series.
For more details, please see below.
9.4.1
^^^^^
New Features
* Allows configuration of [yaql] settings to control memory_quota
and limit_iterators settings.
Changes in puppet-heat 9.4.0..9.4.1
-----------------------------------
f107762 Release 9.4.1
cd04f83 Use stable/newton spec helper
7c2489b Add options to configure yaql settings
e1c19de Update .gitreview for stable/newton
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 1 +
Gemfile | 1 +
manifests/init.pp | 14 ++++++++++++++
metadata.json | 2 +-
.../notes/yaql_config_options-d25ae9c0bd25706f.yaml | 4 ++++
releasenotes/source/conf.py | 4 ++--
spec/classes/heat_init_spec.rb | 10 ++++++++++
7 files changed, 33 insertions(+), 3 deletions(-)
1
0
We are frolicsome to announce the release of:
puppet-swift 9.4.1: Puppet module for OpenStack Swift
This release is part of the newton stable release series.
For more details, please see below.
9.4.1
^^^^^
Bug Fixes
* Fixed the incorrect inclusion of a requirement for the memcached
class to be in the catalog for swift::proxy::cache due to a bad grep
of the memcached server list. LP#1628967
Changes in puppet-swift 9.4.0..9.4.1
------------------------------------
5860dd4 Release 9.4.1
3ae58f3 Fixed swift::proxy::cache requirement on memcached
4488de8 Use stable/newton spec helper
83d8be4 Update .gitreview for stable/newton
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 1 +
Gemfile | 1 +
manifests/proxy/cache.pp | 4 +--
metadata.json | 2 +-
...d-require-for-proxy-cache-cbb2726d22b53d80.yaml | 5 +++
releasenotes/source/conf.py | 4 +--
spec/classes/swift_proxy_cache_spec.rb | 38 ++++++++++++++--------
7 files changed, 36 insertions(+), 19 deletions(-)
1
0