[openstack-announce] [new][horizon] horizon 10.0.0 release (newton)

no-reply at openstack.org no-reply at openstack.org
Thu Oct 6 13:18:36 UTC 2016


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





More information about the OpenStack-announce mailing list