[horizon] horizon 11.0.0 (ocata)
We high-spiritedly announce the release of: horizon 11.0.0: OpenStack Dashboard This release is part of the ocata release series. Download the package from: https://tarballs.openstack.org/horizon/ For more details, please see below. 11.0.0 ^^^^^^ The Flavor panel now may be configured to use either the legacy or Angular code. In an effort to establish Angular conventions, use the framework's toastService rather than the legacy horizon.alert(...) in client-side code. horizon.alert is still used by the django messaging framework, so horizon.messages.js still exists. New Features ************ * Added Keystone to Keystone (K2K) federation support in Horizon. If Keystone is configured with K2K and has service providers, the list of Keystone providers will appear in a dropdown. In local_settings.py you can optionally set the identity provider display name with "KEYSTONE_PROVIDER_IDP_NAME" or set the provider id that is used to compare with the other service providers "KEYSTONE_PROVIDER_IDP_ID". [blueprint k2k-horizon (https://blueprints.launchpad.net/horizon/+spec/k2k-horizon)]. * The hard-coded run_tests commands for extracting translatable strings and updating message catalogs have been ported to django management commands as extract_messages and update_catalog. These accept several parameters to make them easier to use with downstream customisations and string modifications, but the default behaviour is the same as before. * The Access & Security panel's tabs have been moved to their own panels for clearer navigation and better performance. API Access and Key Pairs now reside in the Compute panel group. Floating IPs and Security Groups are now in the Network panel group. * Download buttons for OpenStack RC files have been added to the user dropdown menu in the top right of Horizon. * Implements the "filter first" functionality for identity panels such as projects, users, groups and roles. The filter first functionality is described in <https://blueprints.launchpad.net/horizon/+spec /admin-views-filter- first>` * ANGULAR_FEATURES now allows for a key 'flavors_panel' to be specified as True or False indicating whether the Angular version of the panel is enabled. * Integration tests for Flavor features may also be toggled in openstack_dashboard/test/integration_tests/horizon.conf using the 'panel_type' feature in the 'flavors' setting, either set to 'legacy' or 'angular' to match the enabled panel type. * A new Profiler panel in the Developer dashboard is introduced. It integrates osprofiler library (http://docs.openstack.org/developer/osprofiler/) into horizon, thus implementing blueprint openstack-profiler-at-developer-dashboard (https://blueprints.launchpad.net/horizon/+spec/openstack-profiler- at-developer-dashboard). Initially profiler is disabled. To enable it the value "OPENSTACK_PROFILER['enabled']" has to be "True". This in turn can be achieved by copying files _9030_profiler_settings.py.example and _9030_profiler.py to opensta ck_dashboard/local/local_settings.d/_9030_profiler_settings.py and openstack_dashboard/local/enabled/_9030_profiler.py respectively. Also, by default it expects MongoDB cluster to be present on the same host where Keystone is located (say, in a Devstack VM). But it also can be configured with params with "OPENSTACK_PROFILER['notifier_connection_string]'" and "OPENSTACK_PROFILER['receiver_connection_string']" values. MongoDB should be installed manually (https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu /#install-mongodb-community-edition) and allowed to receive requests on 0.0.0.0 interface. Upgrade Notes ************* * 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. * The logos in Horizon (previously logo-splash.png and logo.png) now load SVG files instead of PNG. The default logos have been updated to reflect the new OpenStack branding. * LBaaS v1 dashboard has been removed. LBaaS v1 feature was removed from neutron-lbaas in Newton, but LBaaS v1 dashboard in Horizon has been kept only for backward compatibility in Newton release 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. * The developer enabled files have been moved from "openstack_dashboard/enabled" to "openstack_dashboard/contrib/developer/enabled". To enable them, copy into "openstack_dashboard/local/enabled" and set "DEBUG = True". * Any past use of the Django based Swift UI is no longer supported and the code is being removed. The new angularJS based version should be used instead. * The Angular Bootstrap upgrade contains a breaking change as the directives and services in this library were renamed. See https://github.com/angular-ui/bootstrap/wiki/Migration-guide-for- prefixes Deprecation Notes ***************** * The run_tests.sh script is now deprecated and all functionality has been provided by either tox or manage.py. run_tests will be removed in Queens (13.0). * The initScope method for action services has been deprecated, with the new method initAction added which does not get passed a scope. The allowed and perform method are now passed a scope for context in addition to the first item/items argument. The "scope" parameter to the WizardModalService modal() method has also been deprecated, and will be ignored in a future release of Horizon. * The function fix_auth_url_version() should be removed from openstack_auth library as soon as Horizon no longer needs it. The replacement function is fix_auth_url_version_prefix() which returns a fixed url and a boolean flag indicating if the url was actually fixed. Having a separate flag allows to emit more precise warning messages about inconsistencies in Keystone endpoint URL. * The telemetry code in Horizon has been deprecated and disabled for several releases now. The code has now been removed from the tree. * Removing formerly deprecated Swift UI code that was replaced with an improved Angular version in Mitaka. * All previous instances of horizon.alert(...) used by client-side have been replaced with horizon.toast. Alert messages via horizon.alert(...) should be avoided when writing new JavaScript code. horizon.toast.add('error', gettext(...)) should be used instead. Bug Fixes ********* * [bug 1618235] User can now delete all characters typed in input search without causing the selected facet to disappear when the last character is deleted. * [bug 1635505] Horizon now properly allows to use arrow keys inside of the input search, without triggering a new text search that refreshes the content of the table below. * There will no longer be any "WARNING" messages regarding the developer panels in logs. Other Notes *********** * Menu follows the search input position as the user adds more facets * XStatic-Angular updated from 1.4.10.1 to 1.5.8.0 * XStatic-Angular-Bootstrap updated from 0.11.0.0 to 2.2.0.0 * XStatic-Angular-Gettext updated from 2.1.0.2 to 2.3.8.0 * XStatic-Bootswatch updated from 3.3.6.0 to 3.3.7.0 * XStatic-D3 updated from 3.1.6.2 to 3.5.17.0 * XStatic-Font-Awesome updated from 4.5.0.0 to 4.7.0.0 * XStatic-JSEncrypt updated from 2.0.0.2 to 2.3.1.0 * XStatic-Roboto-Fontface updated from 0.4.3.2 to 0.5.0.0 Changes in horizon 10.0.0.0rc1..11.0.0 -------------------------------------- 30d0a31 Use domain_context not effective domain to display domains list 1227d3e Disentangle domain context from effective domain bef9bfe Imported Translations from Zanata be7e90f Update UPPER_CONSTRAINTS_FILE for stable/ocata e95a154 Imported Translations from Zanata 5be9103 Updated from global requirements 7f67040 Imported Translations from Zanata 4686c02 Fix wrong min/max media queries for sidebar 74c5505 Fix ignored timezone value from local_settings facf9d3 Remove deprecated calls to novaclient.v2.contrib a8eae31 Check if user.token attribute exists f5aefa0 Fix reporting of profiler traces with multiple toplevels 4305ddd Pass the project domain ID to novaclient 8566120 Fix Hypervisors page 1189fb7 Update .gitreview for stable/ocata 0409080 i18n: The same use of args with ugettext_lazy 002bdf0 Release notes for XStatic updates ce7dc70 Imported Translations from Zanata e269806 Move Security Groups into its own panel 99849ad Move Floating IPs from Access & Security to panel 4f654e3 Imported Translations from Zanata 6cc7d0b Fixes typo in syntax of DataTables row_actions 1064803 Improve API Access Credentials template 7c4e85f Imported Translations from Zanata aa444a6 Add OpenStack RC Download buttons to user menu 6b2b226 Make API Access a panel under compute 60db026 wrong indentations 1a58a1f Make Key Pairs tab a panel under Compute 98b20e4 Imported Translations from Zanata 5e5c64d Imported Translations from Zanata 675d369 Imported Translations from Zanata 2e66521 Dashboard panels intermittently disappear when they are in the 'default' group. f3dd5b9 Updated from global requirements 41ee8c0 Fix TypeError in api/neutron.py b98a3a7 Remove log level adjustment in heat test data 9397311 Update default OpenStack branding across Horizon 8f2ac59 Updated from global requirements f9c6b43 Imported Translations from Zanata 20db9d9 Try to use 2.40 microversion for simple-tenant-usages 107bd08 Simple tenant usage pagination 3e15b53 Imported Translations from Zanata 90a9af2 Autogenerate container name correctly for vol backup 2f5a258 Fix issues on create network and create port modals 73f8675 Support to delete instance from network topology view 600620a Configuring number of apache processes b7c00ea Imported Translations from Zanata 5379945 Updated from global requirements 33fcd95 Implement "filter first" for identity panels 69eb05a Keystone to Keystone Federation Drop Down eddef8f Snapshot not selected by default when launching it from images a194157 Fix Angular tabs eb60a2a [flavor update] Fixing a flavor comparation issue 7116453 delete unused import a21b51e Fix alignment issues for nav-tabs and ul on details panels d3d89c9 Fake deprecated nova client properties d2ec7d3 use safer method splitlines() to replace split('\n') f321f6c Imported Translations from Zanata e152d39 New Identity NG Panels missing stuff in settings.py/rst 196cd93 Imported Translations from Zanata 12f3285 Containers list styling fix e766877 Imported Translations from Zanata e1f37f0 Imported Translations from Zanata 8743440 Prevent a "link" click on container trash icon 158a4c1 Imported Translations from Zanata 49a5e68 Add missing scheduler_hints to _optional_create cc94b0f Adding identity domains table fab662a Imported Translations from Zanata d4083d1 Fix spec file variable/ improve code coverage 0402102 Reuse Overview tab for Admin Volume Snapshots fea9751 Imported Translations from Zanata 5cb3703 Add Angular keystone user details use registry fa09d90 DOC Remove duplicated words 560f23a Add default common template to python table views 001c2a1 Adding identity ng-roles panel a167c37 Hide heatclient spam 83e3ff8 Remove duplicated modal_header statements 4c81bc2 Make evacuate target_host not required c1c84b7 Imported Translations from Zanata ca69e6a Remove trailing backtick 5bce9a0 Fix single policy rule handling 8e03e51 Revert "Add policy rules to project panels" 74a3856 Imported Translations from Zanata 870c9b7 Remove unused import 4174420 Imported Translations from Zanata 0de98e5 fix wrong path in doc e2cf94e Enable profiling of angular pages (with async requests) 87d307d Add Zun UI to Horizon Plugin Registry 46c2ad6 Add col-sm-12 to network modal error 59741bd Add policy rules to project panels dbe5020 fix some pylint warnings d179139 Imported Translations from Zanata c9034ec Remove shared checkbox for non-admin users when doing network things. 0a8094d Improve novaclient initialisation 30c3816 Revert "Fix the flicker of the log on button name" 04065cf Action-list: Update for ui bootstrap changes 2951758 Move js files into openstack_dashboard folder. 9524bb1 Imported Translations from Zanata 7b29869 Fix syntax error with settings in doc f09a9ce Use the new fix_auth_url_version_prefix() call c8f0553 Imported Translations from Zanata 2e659a6 Columns typo fixed c89633c Update for ui bootstrap changes 85d74cb Remove redundant parentheses a137570 When the api call failed, approprate failing message will be show 578b63b Resize instance error fixed. 124bbb3 AngularJS based panels page title updated beb821e Revert "Turn off angular template cache preloading when DEBUG=True" d85a5b4 remove to_dict method of Network in neutron.py 203bf03 Cleanup CSS on NG Create Image Modal 9c60011 NG Flavor Panel add filter facets f6b0beb Text and checkbox should align in "Create Project" form f565b2c Imported Translations from Zanata 51fe944 Replace six.iteritems(iter) with iter.items() f0dc5c3 Removes unnecessary utf-8 encoding cd2a790 The minimum volume size should be pre-populated 7e150b2 Make the form _clean_rule_custom method full-fledged 733709a Imported Translations from Zanata 9647195 UX: Bullets in Launch Instance Wizard don't have left-padding f8851fb Use assertGreater(len(x), 0) instead of assertTrue(len(x) > 0) d219f60 Turn off angular template cache preloading when DEBUG=True 8f58f66 hzResourceProperty can handle 'priority' attribute 981ee96 [trivial]Add support keys for OPENSTACK_NEUTRON_NETWORK in doc 3f1e0fa Allow OVA upload for images 691ab23 Simplify uuid without dashed 09336a0 remove unused string in neutron create subnet workflow 1b153ca Allow router panel to not break sidebar 019e549 Remove additional response.render() for tabs 13b9b84 Imported Translations from Zanata 1dc71e0 Reduce code duplication 371f463 Show team and repo badges on README 40e7353 Updated from global requirements b764160 Imported Translations from Zanata 2fbf3fb Fix a script error which is occurred when choosing no file 97b7aa8 Updated from global requirements e2f6b7d Angular images deactivate status fix 3485c80 Updated from global requirements 9265cdc Updated from global requirements b01c028 Add Apache 2.0 license to source file 97945b5 Wrap api calls with tracing decorators 4ceeef5 Add the Profiler panel to the Developer dashboard 7929859 Images table name updated to id when name is None eab9ea1 Imported Translations from Zanata a187ea1 Update path of JS coverage reports 6f8504d Bug fixes Magic Search e1ef708 Missing info on MELLON_IDP for mod_auth_mellon 36d1d1a Refactor tox & update docs 6585659 Update settings docs with using ANGULAR_FEATURES for dev 9963867 Enable sorting by size in containers pane 255de3d Use os.path.relpath in place of string.replace ac45574 Imported Translations from Zanata c1873ea Update floating IP tables instance URL check 23c482b Strip whitespace added to flavor name in create and update flavor. 2c104cc Make default domain usage consistent a909ed2 Add constraints support to run_tests.sh fca1dab implements: make twice list iterations into one Closes-Bug: 1644817 f5685eb Specify POLICY_CHECK_FUNCTION as a string 706298e ceilometerclient removed from requirements.txt 68d9e37 Imported Translations from Zanata f2eaafc Fix mox trapped errors 9181305 Note how to use local.conf in stable branches c0e30b7 Updated from global requirements f9b3bc7 Remove use of scope from action service b433419 Imported Translations from Zanata f1ef808 Rename Size column on instances tables to Flavor 837587f Improve Horizon nav sidebar c46b501 Imported Translations from Zanata 624ac8d Updated from global requirements 89d0304 Add i18n support to Quota.humanizeNumbers 15484a5 Trivial fixes for Swift UI df68cfa Remove local/enabled from test settings 1db5dbf Imported Translations from Zanata 4fe36b9 Amend Roboto font paths 00958cd Add generic session/cookie value getters/setters 706b92d Imported Translations from Zanata 3c02553 Updated from global requirements 1ca1a4c Magic Search in Angular Users table 43e9df8 Rework hardcoded policy in admin dash 965809f Revert "Comment out material theme for gate to proceed" 8b44576 Change icons in launch instance ng transfer 44132fa Fix issues with new roboto-font path changes 1a3ab89 Disable router and fip quotas when router is disabled 84c238d Revert "In Images Overview, dates should be properly formatted" 58a94c6 Comment out material theme for gate to proceed b8cacab Remove broken telemetry policy check e980382 Fix npm tests 24179c7 Imported Translations from Zanata 20ea82b Removing deprecate ceilometer code 9f75312 Removing deprecated Swift UI code 8c7c333 Consolidated common angular view b15645d Imported Translations from Zanata 670ef48 Updated from global requirements bf5e2d4 Imported Translations from Zanata f7b271d Normalise the path to resolve ../.. 4070697 Remove Unneeded API Calls, Functions 8c58cec Imported Translations from Zanata 1ee056f Update Angular Users Table use registry 36ed065 Link to the user details from action log 316fedf Make sure new password can not the same with old one 6519ce4 Get security groups of an instance using novaclient 016724d Set the placeholder attribute in forms.py 3d042a2 Correct installation command to include upper-constraints 55bd890 Document exception handling dd98e10 Provide the bones of profiler: api and middleware 06cc156 Imported Translations from Zanata 30011bf Updated from global requirements 4cfd243 Strip leading or trailing spaces from Instance names during update and create 82511ea Renamed bootstrap theme preview page b5934b8 Remove unnecessary variable assignment 7966258 Replaces uuid.uuid4 with uuidutils.generate_uuid() 8c17f76 Imported Translations from Zanata faa55c1 Migrate Swift to use ResourceType 9841990 Create common code for horizon.instances.js and horizon.firewalls.js 93eccd5 Imported Translations from Zanata f8b5df9 Updated from global requirements 923e9b2 Imported Translations from Zanata 7ed2865 Updated from global requirements 55baf92 "Unable to retrieve Domain" incessant warning logs 18c90b4 Launch Instance: Creating new volume for image snapshot 6db8fd8 Add LOCALE_PATHS to settings b2ed775 Update Horizon's example local.conf 32eac39 Imported Translations from Zanata 5b998ed Imported Translations from Zanata c74d5d6 Imported Translations from Zanata 7014f2b Imported Translations from Zanata ae61289 Updated from global requirements a4af4e0 Add appropriate policy rules to admin images panel d7d59b8 Remove all_tenants flag in quota check b4e3ff1 Update customizing.rst with a how to use the NG registry 2ed2f32 Imported Translations from Zanata 5ff87d8 Updated from global requirements 85df9f4 Remove type field and type description for create volume from a snapshot d51e500 Imported Translations from Zanata 0a80626 Migrate Create Container to schema form 05a6b4a Updated from global requirements 71bb8ae Add upgrade notes for new REST_API_REQUIRED_SETTINGS 9f8a81a Default ethertype to IPv4 if Neutron's enable_ipv6 is false 18e96fc Imported Translations from Zanata 363001b Fix labels on subnet details panel ad728fa Render inaccessible ports as text versus links. 9caef64 Fix Port Security Enabled information 0b53bce Imported Translations from Zanata bba45a7 Fix typo 0446c92 Updated from global requirements 2f2222d Allow POLICY_CHECK_FUNCTION to be disabled 1cf2b29 Fix two closing tags on subnet details template 42e37f8 Imported Translations from Zanata 7e64a1c Drop LBaaS v1 dashboard 51410e5 Remove network name from create subnet error message 70d2059 Image listing by visibility fix 45ca5b2 Update the wording of date format on overview panel 69e18fc Server-side filtering Orchestration 780b1c4 Fixing typo in horizon widgets ea23856 Updated from global requirements d231186 Imported Translations from Zanata e483dd0 Project table has an extra Enabled column definition 276eaf3 OS_INTERFACE was errantly added to the V2 openrc d556a82 Clear cached selected items on swift objects table 735ef03 Fixing typo in release note f047962 Add the slaac ipv6 address mode without ra mode 14a9790 Imported Translations from Zanata 3a56958 Adds Policy Rules to Project Images panel e8e84c2 Flavors panel can switch to Angular 19e5f43 Minor updates to angularjs.rst 8130a79 Add Keystone Groups to REST API b2eb8de Imported Translations from Zanata 1d13a05 Remove hardcode of container_name in backups 6bde531 Minor release notes fix 5e4a31a Imported Translations from Zanata 822a44d Imported Translations from Zanata 8baf0b8 In Images Overview, dates should be properly formatted a2de341 Remove unnecessary translate mark 1f8022d Enable release notes translation 142cfab add ploop type to the list of image backends f0f7000 Fix logspam in django 1.9 and django 1.10 tests c30a1ea Fix for swift ui displaying infinite folders 8ce6e6c Update Glance sample policy file d9c9984 Drop the undesired executable bit from non-executable file f390c4a Add deprecation message to run_tests.sh d8c878f missing action_class in sample code 2bef59f Fix a typo in documentation e43fb80 Move browser support wiki page into the docs 4f96c01 Imported Translations from Zanata 5f81a7d Imported Translations from Zanata 0484faf Imported Translations from Zanata 447f631 Updated from global requirements be934e5 Make ResourceTypesTests skippable c669cf0 Imported Translations from Zanata 42ae3db Topology filter out non tenant ports 7d3073d Using /tmp for SECRET_KEY in tests 27a816c Imported Translations from Zanata 1b176db Updated from global requirements d2f7df4 Fix a typo 44afeac [Trivial]remove unnecessary commna f23b7d1 Fix tox cover to not fail 11e70e6 Updated from global requirements 244464b Behavioral fixes to Magic-Search 7f46e5d Enable volumes metadata update 92a265d Remove unused line from local_settings.py.example 17c984f Fixed serial console not appearing in horizon 9935d46 Imported Translations from Zanata 8887848 Fix unnecessary bullet point 53ae6d3 Fix Container details styles e01c54b i18n: Add Indonesian to the language list a6b2164 Imported Translations from Zanata b94f060 A following up patch for 'Added the pagination info at top of the table' ce3a0fb Fix the flicker of the log on button name 97d5435 doc: Update middleware API ref to include all middlewares 7d8d1fa Make "Detach Volume" in Instances page translatable 49c942d Add volume snapshot to boot source description cfa9ce4 Show tab label in Admin CreateSubnet/UpdateSubnet form f880f6c Turn on docs warning check in document generation 215ccba doc: Do not generate no source code reference 35d2bec Fix docstring warnings ee04fca Fix warnings in devref document b65b476 Added the pagination info at top of the table b6cdf34 Updated from global requirements 723e547 Fix Launch Instance without Cinder fbbe16f Move Developer enabled/ files to contrib b89c1ab Multiple integration test fixes 07185ec Fix the exapmle of how to use customization_module 3e590ea Hide shelve/unshelve actions of a locked instance for non-admin users 2425e6e Fix metadata removal b016b08 Fix the wrong usage of assertTrue 4abe3ef Fix typos in contributing.rst & policy.service.js 14ab4d1 Fixed inconsistent names set for BatchAction d99444b Display the right floating ip on LB disassociation 71301f8 test: Use appropriate test data in VolumeViewTests 2fec0a1 Fix the collection of integration tests artifacts 3488ab3 Fix compatibility issues with Django 1.10 3aeb73c Move past release notes under doc/ to releasenotes/ ff973d2 Imported Translations from Zanata 6436212 i18n: Avoid string concatenations to make translation life happier 5d64e2d Quota cleanup of dynamic methods 6609420 Fix getting the images list in Admin->Images 515dc27 Imported Translations from Zanata b68abc0 Edit unclosed div tag 4340fc2 Remove duplicated inappropriate 'translate' tag 90d7a3f Imported Translations from Zanata 32bb3d7 Update reno for stable/newton e42aaf6 Imported Translations from Zanata cf5650f Allow translator to control word order in delete confirm dialog 460a53f Server-side filtering for Instances (Project/Admin) 312731a Replace 'assertTrue(a in b)' with 'assertIn(a, b)' c2adfc7 py3:Remove six.iterXXX b2e99db Make flavor updating compatible with nova cli be6bcef Let Nova to pick availability zone if more than 1 65d9339 hide check box if need cb664ec Fixes traceback if group name attribute is missing 47c6bba Volume limits and floating ip graphic label consistency f2c0504 replace horizon.alert used by client-side with horizon.toast 89efd7f Fix jasmine test failures due to missing ngRoute, schema-form dep 212e8b8 Fix volume storage usage value 6b9dc6a Added policy checks for Project>Volumes Panel 0568f86 Add metadata in snapshot details page 5ea8482 Usage tables: Sort by disk properly 42ac50b Simplify chained comparison 577c169 Register keytone resource types 16b58d2 modified condition variable project_choices b1373e0 Reset flavors for other than "Boot from Image" source type. 9d732ab Remove repetition of "Attached to" in table 4b1cb06 take time zone into account d04fcc4 DataTable column level policy Diffstat (except docs and test files) ------------------------------------- .gitignore | 2 +- .gitreview | 1 + README.rst | 2 + horizon/base.py | 17 +- horizon/browsers/views.py | 11 + horizon/exceptions.py | 2 +- horizon/forms/fields.py | 6 +- horizon/karma.conf.js | 19 +- horizon/locale/ca/LC_MESSAGES/django.po | 7 +- horizon/locale/cs/LC_MESSAGES/django.po | 46 +- horizon/locale/cs/LC_MESSAGES/djangojs.po | 189 +- horizon/locale/de/LC_MESSAGES/django.po | 43 +- horizon/locale/de/LC_MESSAGES/djangojs.po | 182 +- horizon/locale/en_AU/LC_MESSAGES/django.po | 60 +- horizon/locale/en_AU/LC_MESSAGES/djangojs.po | 195 +- horizon/locale/en_GB/LC_MESSAGES/django.po | 16 +- horizon/locale/en_GB/LC_MESSAGES/djangojs.po | 80 +- horizon/locale/es/LC_MESSAGES/django.po | 16 +- horizon/locale/es/LC_MESSAGES/djangojs.po | 100 +- horizon/locale/es_MX/LC_MESSAGES/django.po | 13 +- horizon/locale/fi_FI/LC_MESSAGES/django.po | 13 +- horizon/locale/fil/LC_MESSAGES/django.po | 7 +- horizon/locale/fr/LC_MESSAGES/django.po | 40 +- horizon/locale/fr/LC_MESSAGES/djangojs.po | 189 +- horizon/locale/hi/LC_MESSAGES/django.po | 13 +- horizon/locale/hi/LC_MESSAGES/djangojs.po | 182 - horizon/locale/hu/LC_MESSAGES/django.po | 7 +- horizon/locale/id/LC_MESSAGES/django.po | 34 +- horizon/locale/id/LC_MESSAGES/djangojs.po | 80 +- horizon/locale/it/LC_MESSAGES/django.po | 13 +- horizon/locale/it/LC_MESSAGES/djangojs.po | 77 +- horizon/locale/ja/LC_MESSAGES/django.po | 39 +- horizon/locale/ja/LC_MESSAGES/djangojs.po | 193 +- horizon/locale/ko_KR/LC_MESSAGES/django.po | 50 +- horizon/locale/ko_KR/LC_MESSAGES/djangojs.po | 92 +- horizon/locale/nl_NL/LC_MESSAGES/django.po | 7 +- horizon/locale/nl_NL/LC_MESSAGES/djangojs.po | 56 +- horizon/locale/pa_IN/LC_MESSAGES/django.po | 13 +- horizon/locale/pa_IN/LC_MESSAGES/djangojs.po | 56 +- horizon/locale/pl_PL/LC_MESSAGES/django.po | 104 +- horizon/locale/pl_PL/LC_MESSAGES/djangojs.po | 105 +- horizon/locale/pt/LC_MESSAGES/django.po | 13 +- horizon/locale/pt_BR/LC_MESSAGES/django.po | 81 +- horizon/locale/pt_BR/LC_MESSAGES/djangojs.po | 121 +- horizon/locale/ru/LC_MESSAGES/django.po | 45 +- horizon/locale/ru/LC_MESSAGES/djangojs.po | 123 +- horizon/locale/sl_SI/LC_MESSAGES/django.po | 7 +- horizon/locale/sr/LC_MESSAGES/django.po | 7 +- horizon/locale/sr/LC_MESSAGES/djangojs.po | 165 - horizon/locale/tr_TR/LC_MESSAGES/django.po | 83 +- horizon/locale/tr_TR/LC_MESSAGES/djangojs.po | 194 +- horizon/locale/zh_CN/LC_MESSAGES/django.po | 51 +- horizon/locale/zh_CN/LC_MESSAGES/djangojs.po | 87 +- horizon/locale/zh_TW/LC_MESSAGES/django.po | 79 +- horizon/locale/zh_TW/LC_MESSAGES/djangojs.po | 184 +- horizon/management/commands/startdash.py | 1 - horizon/middleware/base.py | 7 +- horizon/middleware/operation_log.py | 25 +- horizon/static/framework/conf/conf.js | 14 + .../conf/resource-type-registry.service.js | 13 +- .../conf/resource-type-registry.service.spec.js | 18 +- horizon/static/framework/framework.module.js | 14 + .../util/actions/action-result.service.js | 2 +- .../framework/util/bind-scope/bind-scope.spec.js | 14 + .../util/extensible/extensible.service.spec.js | 14 + .../static/framework/util/filters/filters.spec.js | 14 + horizon/static/framework/util/http/http.spec.js | 30 +- horizon/static/framework/util/util.module.js | 14 + .../framework/util/validators/validators.spec.js | 14 + .../framework/util/workflow/workflow.spec.js | 14 + .../widgets/action-list/actions.controller.js | 6 +- .../widgets/action-list/actions.directive.js | 68 +- .../widgets/action-list/actions.service.js | 2 +- .../widgets/action-list/split-button.html | 2 +- .../static/framework/widgets/details/details.html | 8 +- horizon/static/framework/widgets/form/decorator.js | 14 + .../framework/widgets/form/decorator.spec.js | 3 - .../widgets/form/modal-form.controller.js | 8 +- .../widgets/form/modal-form.controller.spec.js | 2 +- .../framework/widgets/form/modal-form.service.js | 6 +- .../widgets/form/modal-form.service.spec.js | 10 +- .../magic-search/magic-search.controller.js | 117 +- .../magic-search/magic-search.controller.spec.js | 123 +- .../widgets/magic-search/magic-search.html | 8 +- .../widgets/magic-search/magic-search.scss | 4 + .../modal-wait-spinner.directive.js | 14 + .../modal-wait-spinner.service.js | 20 +- .../modal-wait-spinner/modal-wait-spinner.spec.js | 14 +- .../widgets/modal/simple-modal.controller.js | 8 +- .../widgets/modal/simple-modal.service.js | 8 +- .../framework/widgets/modal/simple-modal.spec.js | 4 +- .../widgets/modal/wizard-modal.service.js | 20 +- .../widgets/modal/wizard-modal.service.spec.js | 2 +- .../framework/widgets/modal/wizard.controller.js | 18 +- .../widgets/modal/wizard.controller.spec.js | 10 +- .../property/hz-resource-property.controller.js | 7 + .../property/hz-resource-property.directive.js | 10 +- .../hz-resource-property.directive.spec.js | 65 + .../framework/widgets/table/hz-detail-row.html | 4 +- .../framework/widgets/table/hz-dynamic-table.html | 7 + .../widgets/table/hz-dynamic-table.spec.js | 10 +- .../widgets/table/hz-resource-table.controller.js | 2 +- .../transfer-table/transfer-table.controller.js | 4 +- .../transfer-table/transfer-table.example.html | 4 +- .../widgets/wizard/modal-container.controller.js | 8 +- .../framework/widgets/wizard/wizard.controller.js | 5 +- .../static/framework/widgets/wizard/wizard.spec.js | 2 +- .../horizon/js/angular/directives/serialConsole.js | 107 - horizon/static/horizon/js/horizon.communication.js | 14 + horizon/static/horizon/js/horizon.d3barchart.js | 14 + horizon/static/horizon/js/horizon.d3linechart.js | 17 +- horizon/static/horizon/js/horizon.d3piechart.js | 14 + horizon/static/horizon/js/horizon.datepickers.js | 14 + horizon/static/horizon/js/horizon.firewalls.js | 265 - .../horizon/js/horizon.flatnetworktopology.js | 619 -- horizon/static/horizon/js/horizon.forms.js | 37 +- horizon/static/horizon/js/horizon.formset_table.js | 14 + horizon/static/horizon/js/horizon.heattop.js | 14 + horizon/static/horizon/js/horizon.instances.js | 320 - horizon/static/horizon/js/horizon.js | 17 + horizon/static/horizon/js/horizon.lists.js | 144 + horizon/static/horizon/js/horizon.membership.js | 14 + horizon/static/horizon/js/horizon.messages.js | 14 + horizon/static/horizon/js/horizon.metering.js | 32 - horizon/static/horizon/js/horizon.modals.js | 22 +- .../static/horizon/js/horizon.networktopology.js | 1076 --- .../horizon/js/horizon.networktopologycommon.js | 149 - horizon/static/horizon/js/horizon.quota.js | 439 - horizon/static/horizon/js/horizon.selenium.js | 9 +- horizon/static/horizon/js/horizon.sidebar.js | 29 + horizon/static/horizon/js/horizon.tables.js | 20 +- .../horizon/js/horizon.tables_inline_edit.js | 22 +- horizon/static/horizon/js/horizon.tabs.js | 14 + horizon/static/horizon/js/horizon.templates.js | 14 + horizon/static/horizon/js/horizon.users.js | 14 + horizon/static/horizon/js/horizon.volumes.js | 72 - .../horizon/lib/jquery/jquery.bootstrap.wizard.js | 14 + horizon/tables/actions.py | 8 +- horizon/tables/base.py | 45 +- horizon/tables/views.py | 6 +- horizon/tabs/__init__.py | 1 + horizon/tabs/base.py | 4 + horizon/tabs/views.py | 10 - horizon/templates/auth/_splash.html | 2 +- horizon/templates/horizon/_sidebar.html | 28 +- .../templates/horizon/client_side/_confirm.html | 4 +- horizon/templates/horizon/common/_data_table.html | 18 +- .../horizon/common/_data_table_pagination.html | 17 + .../templates/horizon/common/_data_table_view.html | 3 + .../horizon/common/_detail_tab_group.html | 2 + horizon/templates/horizon/common/_form_errors.html | 4 +- .../common/_keystone_provider_selector.html | 20 + horizon/templates/horizon/common/_modal.html | 2 +- horizon/templates/horizon/common/_sidebar.html | 4 +- horizon/templates/horizon/common/_tab_group.html | 2 +- .../templates/horizon/common/_usage_summary.html | 2 +- .../common/_workflow_step_update_members.html | 4 +- horizon/templates/horizon/jasmine/jasmine.html | 3 - horizon/templatetags/breadcrumb_nav.py | 6 +- horizon/templatetags/horizon.py | 10 +- horizon/test/firefox_binary.py | 34 +- horizon/test/settings.py | 38 +- horizon/test/test_dashboards/cats/kittens/views.py | 12 + horizon/test/test_dashboards/cats/tigers/views.py | 12 + horizon/test/test_hacking.py | 60 +- horizon/utils/file_discovery.py | 2 +- horizon/utils/functions.py | 86 +- horizon/utils/memoized.py | 6 +- horizon/utils/settings.py | 28 + horizon/views.py | 17 +- horizon/workflows/base.py | 51 +- horizon/workflows/views.py | 2 +- openstack_dashboard/api/__init__.py | 4 - openstack_dashboard/api/base.py | 6 +- openstack_dashboard/api/ceilometer.py | 1345 --- openstack_dashboard/api/cinder.py | 99 +- openstack_dashboard/api/fwaas.py | 21 + openstack_dashboard/api/glance.py | 31 +- openstack_dashboard/api/heat.py | 39 +- openstack_dashboard/api/keystone.py | 99 +- openstack_dashboard/api/lbaas.py | 394 - openstack_dashboard/api/neutron.py | 107 +- openstack_dashboard/api/nova.py | 225 +- openstack_dashboard/api/rest/cinder.py | 96 + openstack_dashboard/api/rest/keystone.py | 18 + openstack_dashboard/api/rest/nova.py | 10 +- openstack_dashboard/api/rest/swift.py | 3 + openstack_dashboard/api/rest/utils.py | 11 +- openstack_dashboard/api/swift.py | 20 +- openstack_dashboard/api/vpn.py | 21 + openstack_dashboard/conf/ceilometer_policy.json | 6 - openstack_dashboard/conf/glance_policy.json | 31 +- openstack_dashboard/context_processors.py | 36 + openstack_dashboard/contrib/developer/dashboard.py | 4 +- .../contrib/developer/enabled/_9001_developer.py | 29 + .../contrib/developer/enabled/_9010_preview.py | 21 + .../developer/enabled/_9020_resource_browser.py | 20 + .../contrib/developer/enabled/_9030_profiler.py | 21 + .../contrib/developer/enabled/__init__.py | 0 .../contrib/developer/profiler/__init__.py | 0 .../contrib/developer/profiler/api.py | 132 + .../contrib/developer/profiler/middleware.py | 133 + .../contrib/developer/profiler/panel.py | 25 + .../profiler/templates/profiler/_mode_picker.html | 21 + .../profiler/templates/profiler/index.html | 49 + .../contrib/developer/profiler/urls.py | 24 + .../contrib/developer/profiler/views.py | 49 + .../contrib/developer/resource_browser/urls.py | 4 +- .../contrib/developer/resource_browser/views.py | 19 - .../static/dashboard/developer/developer.module.js | 7 +- .../static/dashboard/developer/developer.scss | 1 + .../developer/profiler/profiler.controller.js | 161 + .../developer/profiler/profiler.details.html | 17 + .../developer/profiler/profiler.directive.js | 87 + .../developer/profiler/profiler.module.js | 59 + .../dashboard/developer/profiler/profiler.scss | 5 + .../developer/profiler/profiler.trace-table.html | 20 + .../developer/profiler/profiler.tree-node.html | 28 + .../resource-browser-item.controller.js | 3 +- .../resource-browser/resource-browser.module.js | 7 +- .../theme-preview/theme-preview.directive.js | 6 +- .../developer/theme-preview/theme-preview.html | 4 +- .../contrib/developer/theme_preview/panel.py | 3 +- .../dashboards/admin/aggregates/panel.py | 1 + .../dashboards/admin/aggregates/tables.py | 4 +- openstack_dashboard/dashboards/admin/dashboard.py | 3 +- .../dashboards/admin/defaults/panel.py | 2 + .../dashboards/admin/defaults/workflows.py | 3 +- .../dashboards/admin/flavors/constants.py | 2 +- .../dashboards/admin/flavors/panel.py | 1 + .../admin/flavors/templates/flavors/index.html | 7 - .../dashboards/admin/flavors/urls.py | 26 +- .../dashboards/admin/flavors/views.py | 1 - .../dashboards/admin/flavors/workflows.py | 52 +- .../dashboards/admin/floating_ips/panel.py | 1 + .../dashboards/admin/floating_ips/tables.py | 4 +- .../floating_ips/templates/floating_ips/index.html | 7 - .../dashboards/admin/floating_ips/views.py | 6 +- .../dashboards/admin/hypervisors/compute/forms.py | 7 +- .../dashboards/admin/hypervisors/views.py | 3 +- .../dashboards/admin/images/panel.py | 2 + .../dashboards/admin/images/tables.py | 2 +- .../admin/images/templates/images/index.html | 7 - .../dashboards/admin/images/urls.py | 8 +- .../dashboards/admin/images/views.py | 6 - openstack_dashboard/dashboards/admin/info/panel.py | 4 + openstack_dashboard/dashboards/admin/info/tabs.py | 2 +- .../dashboards/admin/instances/panel.py | 3 +- .../dashboards/admin/instances/tables.py | 19 +- .../admin/instances/templates/instances/index.html | 7 - .../dashboards/admin/instances/views.py | 47 +- .../dashboards/admin/metadata_defs/constants.py | 2 +- .../dashboards/admin/metadata_defs/panel.py | 3 +- .../dashboards/admin/metadata_defs/tables.py | 2 +- .../dashboards/admin/metadata_defs/tabs.py | 2 +- .../templates/metadata_defs/index.html | 7 - .../dashboards/admin/metering/__init__.py | 0 .../dashboards/admin/metering/forms.py | 65 - .../dashboards/admin/metering/panel.py | 24 - .../dashboards/admin/metering/tables.py | 88 - .../dashboards/admin/metering/tabs.py | 118 - .../admin/metering/templates/metering/_daily.html | 32 - .../admin/metering/templates/metering/daily.html | 7 - .../admin/metering/templates/metering/index.html | 11 - .../admin/metering/templates/metering/stats.html | 175 - .../dashboards/admin/metering/urls.py | 22 - .../dashboards/admin/metering/views.py | 171 - .../dashboards/admin/networks/agents/views.py | 2 +- .../dashboards/admin/networks/forms.py | 9 +- .../dashboards/admin/networks/panel.py | 1 + .../dashboards/admin/networks/ports/forms.py | 4 +- .../dashboards/admin/networks/ports/views.py | 4 +- .../dashboards/admin/networks/subnets/workflows.py | 18 + .../admin/networks/templates/networks/index.html | 17 - .../dashboards/admin/networks/views.py | 3 +- .../dashboards/admin/ngflavors/panel.py | 1 + .../dashboards/admin/overview/panel.py | 3 +- .../dashboards/admin/routers/panel.py | 1 + .../dashboards/admin/routers/ports/tabs.py | 2 +- .../dashboards/admin/routers/tables.py | 3 +- .../admin/routers/templates/routers/index.html | 7 - .../dashboards/admin/routers/views.py | 2 +- .../admin/static/dashboard/admin/admin.module.js | 46 - .../static/dashboard/admin/admin.module.spec.js | 38 - .../admin/flavors/filters/has-extras.filter.js | 44 - .../flavors/filters/has-extras.filter.spec.js | 43 - .../dashboard/admin/flavors/flavors.module.js | 30 - .../dashboard/admin/flavors/flavors.module.spec.js | 24 - .../flavors/table/flavors-table.controller.js | 87 - .../flavors/table/flavors-table.controller.spec.js | 77 - .../admin/flavors/table/flavors-table.html | 63 - .../dashboards/admin/volumes/panel.py | 1 + .../dashboards/admin/volumes/snapshots/tables.py | 3 +- .../dashboards/admin/volumes/snapshots/tabs.py | 2 +- .../dashboards/admin/volumes/snapshots/views.py | 10 +- .../volumes/snapshots/_detail_overview.html | 37 - .../admin/volumes/volume_types/extras/views.py | 8 +- .../admin/volumes/volume_types/qos_specs/views.py | 6 +- .../admin/volumes/volume_types/tables.py | 20 +- .../dashboards/admin/volumes/volume_types/views.py | 10 +- .../dashboards/admin/volumes/volumes/tables.py | 3 +- .../dashboards/admin/volumes/volumes/views.py | 8 +- .../dashboards/identity/domains/urls.py | 24 +- .../dashboards/identity/domains/views.py | 20 +- .../dashboards/identity/groups/forms.py | 5 +- .../dashboards/identity/groups/tables.py | 2 +- .../dashboards/identity/groups/views.py | 23 +- .../identity/identity_providers/protocols/views.py | 1 - .../dashboards/identity/identity_providers/tabs.py | 2 +- .../templates/identity_providers/_register.html | 2 +- .../templates/identity_providers/index.html | 7 - .../identity/identity_providers/views.py | 3 - .../mappings/templates/mappings/index.html | 7 - .../dashboards/identity/mappings/views.py | 3 - .../dashboards/identity/ngusers/__init__.py | 0 .../dashboards/identity/ngusers/panel.py | 24 - .../identity/ngusers/templates/ngusers/index.html | 15 - .../dashboards/identity/ngusers/urls.py | 22 - .../dashboards/identity/ngusers/views.py | 19 - .../dashboards/identity/projects/tables.py | 15 +- .../dashboards/identity/projects/views.py | 22 +- .../dashboards/identity/projects/workflows.py | 10 +- .../identity/roles/templates/roles/index.html | 7 - .../dashboards/identity/roles/urls.py | 22 +- .../dashboards/identity/roles/views.py | 19 +- .../identity/domains/details/details.module.js | 54 + .../domains/details/details.module.spec.js | 36 + .../dashboard/identity/domains/details/drawer.html | 5 + .../domains/details/overview.controller.js | 48 + .../domains/details/overview.controller.spec.js | 50 + .../identity/domains/details/overview.html | 14 + .../dashboard/identity/domains/domains.module.js | 102 + .../identity/domains/domains.module.spec.js | 24 + .../dashboard/identity/domains/domains.service.js | 128 + .../identity/domains/domains.service.spec.js | 92 + .../static/dashboard/identity/domains/panel.html | 4 + .../static/dashboard/identity/identity.module.js | 4 +- .../dashboard/identity/identity.module.spec.js | 2 + .../static/dashboard/identity/roles/panel.html | 4 + .../dashboard/identity/roles/roles.module.js | 84 + .../dashboard/identity/roles/roles.module.spec.js | 40 + .../identity/users/details/details.module.js | 56 + .../dashboard/identity/users/details/drawer.html | 7 + .../identity/users/details/overview.controller.js | 46 + .../users/details/overview.controller.spec.js | 45 + .../dashboard/identity/users/details/overview.html | 16 + .../static/dashboard/identity/users/panel.html | 4 + .../identity/users/table/table.controller.js | 77 - .../identity/users/table/table.controller.spec.js | 94 - .../dashboard/identity/users/table/table.html | 116 - .../dashboard/identity/users/users.module.js | 119 +- .../dashboard/identity/users/users.module.spec.js | 28 +- .../dashboard/identity/users/users.service.js | 98 + .../dashboard/identity/users/users.service.spec.js | 109 + .../dashboards/identity/users/forms.py | 2 +- .../dashboards/identity/users/urls.py | 31 +- .../dashboards/identity/users/views.py | 23 +- .../project/access_and_security/__init__.py | 0 .../access_and_security/api_access/__init__.py | 0 .../access_and_security/api_access/forms.py | 68 - .../access_and_security/api_access/tables.py | 111 - .../project/access_and_security/api_access/urls.py | 33 - .../access_and_security/api_access/views.py | 189 - .../access_and_security/floating_ips/__init__.py | 0 .../access_and_security/floating_ips/forms.py | 55 - .../access_and_security/floating_ips/tables.py | 223 - .../access_and_security/floating_ips/urls.py | 28 - .../access_and_security/floating_ips/views.py | 80 - .../access_and_security/floating_ips/workflows.py | 174 - .../access_and_security/keypairs/__init__.py | 0 .../project/access_and_security/keypairs/forms.py | 84 - .../project/access_and_security/keypairs/tables.py | 108 - .../project/access_and_security/keypairs/urls.py | 36 - .../project/access_and_security/keypairs/views.py | 131 - .../project/access_and_security/panel.py | 23 - .../security_groups/__init__.py | 0 .../access_and_security/security_groups/forms.py | 423 - .../access_and_security/security_groups/tables.py | 286 - .../access_and_security/security_groups/urls.py | 36 - .../access_and_security/security_groups/views.py | 163 - .../dashboards/project/access_and_security/tabs.py | 150 - .../api_access/_credentials.html | 69 - .../api_access/_recreate_credentials.html | 6 - .../api_access/credentials.html | 7 - .../api_access/ec2rc.sh.template | 15 - .../api_access/openrc.sh.template | 43 - .../api_access/openrc_v2.sh.template | 43 - .../api_access/recreate_credentials.html | 7 - .../floating_ips/_allocate.html | 36 - .../access_and_security/floating_ips/allocate.html | 7 - .../templates/access_and_security/index.html | 11 - .../access_and_security/keypairs/_create.html | 8 - .../access_and_security/keypairs/_import.html | 13 - .../access_and_security/keypairs/create.html | 8 - .../access_and_security/keypairs/detail.html | 31 - .../access_and_security/keypairs/download.html | 19 - .../access_and_security/keypairs/import.html | 7 - .../security_groups/_add_rule.html | 10 - .../security_groups/_create.html | 7 - .../security_groups/_update.html | 7 - .../security_groups/add_rule.html | 8 - .../security_groups/create.html | 7 - .../security_groups/detail.html | 16 - .../security_groups/update.html | 7 - .../dashboards/project/access_and_security/urls.py | 40 - .../project/access_and_security/views.py | 35 - .../dashboards/project/api_access/__init__.py | 0 .../dashboards/project/api_access/forms.py | 68 + .../dashboards/project/api_access/panel.py | 21 + .../dashboards/project/api_access/tables.py | 110 + .../templates/api_access/_credentials.html | 63 + .../api_access/_recreate_credentials.html | 6 + .../templates/api_access/credentials.html | 5 + .../templates/api_access/ec2rc.sh.template | 15 + .../templates/api_access/openrc.sh.template | 43 + .../templates/api_access/openrc_v2.sh.template | 43 + .../templates/api_access/recreate_credentials.html | 5 + .../dashboards/project/api_access/urls.py | 31 + .../dashboards/project/api_access/views.py | 208 + .../dashboards/project/containers/browsers.py | 31 - .../dashboards/project/containers/forms.py | 244 - .../dashboards/project/containers/tables.py | 432 - .../templates/containers/_container_detail.html | 29 - .../templates/containers/_container_loader.html | 5 - .../templates/containers/_container_metadata.html | 12 - .../containers/templates/containers/_copy.html | 24 - .../containers/templates/containers/_create.html | 20 - .../containers/_create_pseudo_folder.html | 26 - .../templates/containers/_object_detail.html | 25 - .../containers/templates/containers/_update.html | 28 - .../containers/templates/containers/_upload.html | 29 - .../templates/containers/container_detail.html | 11 - .../containers/templates/containers/copy.html | 7 - .../containers/templates/containers/create.html | 7 - .../templates/containers/create_pseudo_folder.html | 7 - .../containers/templates/containers/index.html | 24 - .../templates/containers/object_detail.html | 11 - .../containers/templates/containers/update.html | 7 - .../containers/templates/containers/upload.html | 7 - .../dashboards/project/containers/urls.py | 60 +- .../dashboards/project/containers/utils.py | 14 + .../dashboards/project/containers/views.py | 319 +- .../templates/firewalls/_update_routers.html | 2 +- .../templates/firewalls/_update_rules.html | 2 +- .../dashboards/project/firewalls/views.py | 7 - .../dashboards/project/floating_ips/__init__.py | 0 .../dashboards/project/floating_ips/forms.py | 55 + .../dashboards/project/floating_ips/panel.py | 27 + .../dashboards/project/floating_ips/tables.py | 223 + .../templates/floating_ips/_allocate.html | 37 + .../templates/floating_ips/allocate.html | 6 + .../dashboards/project/floating_ips/urls.py | 27 + .../dashboards/project/floating_ips/views.py | 130 + .../dashboards/project/floating_ips/workflows.py | 174 + .../dashboards/project/images/images/forms.py | 9 +- .../dashboards/project/images/images/urls.py | 7 +- .../dashboards/project/images/images/views.py | 2 - .../dashboards/project/images/panel.py | 1 + .../dashboards/project/images/snapshots/views.py | 19 +- .../project/images/templates/images/index.html | 7 - .../dashboards/project/images/urls.py | 6 +- .../dashboards/project/images/utils.py | 7 +- .../dashboards/project/images/views.py | 6 - .../dashboards/project/instances/audit_tables.py | 9 +- .../dashboards/project/instances/console.py | 3 +- .../dashboards/project/instances/tables.py | 40 +- .../dashboards/project/instances/tabs.py | 2 +- .../templates/instances/_detail_console.html | 2 +- .../templates/instances/_detail_overview.html | 2 +- .../templates/instances/_instance_ips.html | 4 +- .../instances/templates/instances/index.html | 7 - .../templates/instances/serial_console.html | 4 +- .../dashboards/project/instances/views.py | 62 +- .../project/instances/workflows/create_instance.py | 15 +- .../project/instances/workflows/resize_instance.py | 8 +- .../dashboards/project/key_pairs/__init__.py | 0 .../dashboards/project/key_pairs/forms.py | 84 + .../dashboards/project/key_pairs/panel.py | 25 + .../dashboards/project/key_pairs/tables.py | 107 + .../key_pairs/templates/key_pairs/_create.html | 7 + .../key_pairs/templates/key_pairs/_import.html | 12 + .../key_pairs/templates/key_pairs/create.html | 8 + .../key_pairs/templates/key_pairs/detail.html | 31 + .../key_pairs/templates/key_pairs/download.html | 17 + .../key_pairs/templates/key_pairs/import.html | 7 + .../dashboards/project/key_pairs/urls.py | 34 + .../dashboards/project/key_pairs/views.py | 139 + .../dashboards/project/loadbalancers/__init__.py | 0 .../dashboards/project/loadbalancers/forms.py | 281 - .../dashboards/project/loadbalancers/panel.py | 50 - .../dashboards/project/loadbalancers/tables.py | 566 -- .../dashboards/project/loadbalancers/tabs.py | 151 - .../templates/loadbalancers/_create_pool_help.html | 27 - .../templates/loadbalancers/_create_vip_help.html | 16 - .../templates/loadbalancers/_member_details.html | 30 - .../templates/loadbalancers/_members_tab.html | 5 - .../templates/loadbalancers/_monitor_details.html | 51 - .../templates/loadbalancers/_monitors_tab.html | 5 - .../templates/loadbalancers/_pool_details.html | 74 - .../loadbalancers/_pool_table_subnet_cell.html | 8 - .../loadbalancers/_pool_table_vip_cell.html | 9 - .../templates/loadbalancers/_pools_tab.html | 5 - .../templates/loadbalancers/_updatemember.html | 7 - .../templates/loadbalancers/_updatemonitor.html | 7 - .../templates/loadbalancers/_updatepool.html | 7 - .../templates/loadbalancers/_updatevip.html | 7 - .../templates/loadbalancers/_vip_details.html | 67 - .../templates/loadbalancers/details_tabs.html | 11 - .../templates/loadbalancers/updatemember.html | 7 - .../templates/loadbalancers/updatemonitor.html | 7 - .../templates/loadbalancers/updatepool.html | 7 - .../templates/loadbalancers/updatevip.html | 7 - .../dashboards/project/loadbalancers/urls.py | 50 - .../dashboards/project/loadbalancers/utils.py | 31 - .../dashboards/project/loadbalancers/views.py | 421 - .../dashboards/project/loadbalancers/workflows.py | 745 -- .../client_side/_balloon_port.html | 7 +- .../dashboards/project/network_topology/views.py | 35 +- .../dashboards/project/networks/forms.py | 9 +- .../extensions/allowed_address_pairs/views.py | 3 +- .../dashboards/project/networks/ports/forms.py | 4 +- .../dashboards/project/networks/ports/tabs.py | 2 +- .../dashboards/project/networks/ports/views.py | 4 +- .../dashboards/project/networks/subnets/utils.py | 2 + .../dashboards/project/networks/subnets/views.py | 3 +- .../project/networks/subnets/workflows.py | 1 - .../dashboards/project/networks/tabs.py | 2 +- .../templates/networks/_detail_overview.html | 2 - .../project/networks/templates/networks/index.html | 7 - .../templates/networks/ports/_detail_overview.html | 2 +- .../networks/subnets/_detail_overview.html | 14 +- .../dashboards/project/networks/views.py | 2 - .../dashboards/project/networks/workflows.py | 24 +- .../dashboards/project/ngdetails/urls.py | 22 - .../dashboards/project/ngdetails/views.py | 19 - .../dashboards/project/ngvolumes/urls.py | 7 +- .../dashboards/project/ngvolumes/views.py | 19 - .../dashboards/project/routers/tables.py | 2 +- .../dashboards/project/routers/tabs.py | 2 +- .../project/routers/templates/routers/index.html | 7 - .../dashboards/project/routers/views.py | 3 - .../dashboards/project/security_groups/__init__.py | 0 .../dashboards/project/security_groups/forms.py | 432 + .../dashboards/project/security_groups/panel.py | 21 + .../dashboards/project/security_groups/tables.py | 285 + .../templates/security_groups/_add_rule.html | 10 + .../templates/security_groups/_create.html | 7 + .../templates/security_groups/_update.html | 7 + .../templates/security_groups/add_rule.html | 6 + .../templates/security_groups/create.html | 5 + .../templates/security_groups/detail.html | 13 + .../templates/security_groups/update.html | 5 + .../dashboards/project/security_groups/urls.py | 34 + .../dashboards/project/security_groups/views.py | 178 + .../dashboards/project/stacks/forms.py | 6 +- .../dashboards/project/stacks/mappings.py | 6 - .../project/stacks/resource_types/tables.py | 7 +- .../templates/stacks.resource_types/index.html | 7 - .../project/stacks/resource_types/views.py | 7 +- .../dashboards/project/stacks/tables.py | 10 +- .../project/stacks/template_versions/tables.py | 1 + .../project/stacks/templates/stacks/index.html | 7 - .../dashboards/project/stacks/views.py | 11 +- .../dashboard/project/containers/_containers.scss | 5 +- .../project/containers/containers-model.service.js | 4 +- .../containers/containers-model.service.spec.js | 2 +- .../project/containers/containers.controller.js | 100 +- .../containers/containers.controller.spec.js | 71 +- .../dashboard/project/containers/containers.html | 34 +- .../project/containers/containers.module.js | 48 +- .../project/containers/containers.module.spec.js | 9 +- .../create-container-modal.controller.js | 27 - .../create-container-modal.controller.spec.js | 40 - .../project/containers/create-container-modal.html | 73 - .../project/containers/create-container.help.html | 11 + .../project/containers/create-folder-modal.html | 2 +- .../project/containers/delete-objects-modal.html | 4 +- .../containers/delete-objects.controller.js | 8 +- .../containers/delete-objects.controller.spec.js | 16 +- .../project/containers/file-change-directive.js | 4 +- .../containers/file-change-directive.spec.js | 2 +- .../containers/objects-batch-actions.service.js | 74 +- .../objects-batch-actions.service.spec.js | 46 +- .../containers/objects-row-actions.service.js | 78 +- .../containers/objects-row-actions.service.spec.js | 36 +- .../project/containers/objects.controller.js | 40 +- .../dashboard/project/containers/objects.html | 4 +- .../workflow/launch-instance/details/details.html | 2 +- .../workflow/launch-instance/flavor/flavor.html | 4 +- .../keypair/create-keypair.controller.js | 14 +- .../keypair/create-keypair.controller.spec.js | 2 +- .../keypair/import-keypair.controller.js | 11 +- .../keypair/import-keypair.controller.spec.js | 2 +- .../launch-instance/keypair/keypair.controller.js | 14 +- .../keypair/keypair.controller.spec.js | 22 +- .../launch-instance-modal.service.js | 6 +- .../launch-instance-modal.service.spec.js | 4 +- .../launch-instance-model.service.js | 32 +- .../launch-instance-model.service.spec.js | 16 +- .../workflow/launch-instance/network/network.html | 4 +- .../launch-instance/networkports/ports.html | 4 +- .../security-groups/security-groups.html | 4 +- .../server-groups/server-groups.html | 4 +- .../launch-instance/source/source.controller.js | 35 +- .../source/source.controller.spec.js | 39 +- .../launch-instance/source/source.help.html | 4 +- .../workflow/launch-instance/source/source.html | 17 +- .../dashboards/project/volumes/backups/forms.py | 7 +- .../dashboards/project/volumes/backups/views.py | 6 +- .../project/volumes/cg_snapshots/views.py | 3 +- .../dashboards/project/volumes/cgroups/views.py | 19 +- .../dashboards/project/volumes/panel.py | 2 + .../dashboards/project/volumes/snapshots/tables.py | 21 +- .../dashboards/project/volumes/snapshots/views.py | 4 +- .../volumes/snapshots/_detail_overview.html | 15 +- .../templates/volumes/volumes/_extend_limits.html | 5 +- .../volumes/templates/volumes/volumes/_limits.html | 10 +- .../dashboards/project/volumes/volumes/forms.py | 25 +- .../dashboards/project/volumes/volumes/tables.py | 28 +- .../dashboards/project/volumes/volumes/views.py | 16 +- .../dashboards/project/vpn/views.py | 4 - .../dashboards/settings/password/forms.py | 4 + .../dashboards/settings/user/forms.py | 39 +- .../dashboards/settings/user/views.py | 10 +- .../enabled/_1060_project_access_panel.py | 10 - .../enabled/_1080_project_key_pairs_panel.py | 5 + .../enabled/_1090_project_api_access_panel.py | 6 + .../enabled/_1450_project_loadbalancers_panel.py | 10 - .../enabled/_1480_security_groups_panel.py | 6 + .../enabled/_1490_project_floating_ips_panel.py | 6 + .../enabled/_1920_project_containers_panel.py | 7 - openstack_dashboard/enabled/_2000_admin.py | 1 - .../enabled/_2030_admin_metering_panel.py | 9 - .../enabled/_2080_admin_flavors_panel.py | 15 + .../enabled/_2081_admin_flavors_panel.py | 31 - .../enabled/_3031_identity_users_panel.py | 30 - openstack_dashboard/enabled/_9001_developer.py | 36 - openstack_dashboard/enabled/_9010_preview.py | 21 - .../enabled/_9020_resource_browser.py | 20 - openstack_dashboard/karma.conf.js | 19 +- .../_9030_profiler_settings.py.example | 6 + .../local/local_settings.py.example | 31 +- .../locale/as/LC_MESSAGES/django.po | 1117 +-- .../locale/bn_IN/LC_MESSAGES/django.po | 1104 +-- .../locale/brx/LC_MESSAGES/django.po | 1120 +-- .../locale/cs/LC_MESSAGES/django.po | 1944 +--- .../locale/cs/LC_MESSAGES/djangojs.po | 476 +- .../locale/de/LC_MESSAGES/django.po | 2002 +--- .../locale/de/LC_MESSAGES/djangojs.po | 665 +- .../locale/en_AU/LC_MESSAGES/django.po | 2388 ++--- .../locale/en_AU/LC_MESSAGES/djangojs.po | 856 +- .../locale/en_GB/LC_MESSAGES/django.po | 1547 +-- .../locale/en_GB/LC_MESSAGES/djangojs.po | 81 +- .../locale/es/LC_MESSAGES/django.po | 1538 +-- .../locale/es/LC_MESSAGES/djangojs.po | 182 +- .../locale/fr/LC_MESSAGES/django.po | 2820 +++--- .../locale/fr/LC_MESSAGES/djangojs.po | 653 +- .../locale/gu/LC_MESSAGES/django.po | 1105 +-- .../locale/hi/LC_MESSAGES/django.po | 990 +- .../locale/id/LC_MESSAGES/django.po | 9798 ++++++++++++++++++++ .../locale/id/LC_MESSAGES/djangojs.po | 3043 ++++++ .../locale/it/LC_MESSAGES/django.po | 1523 +-- .../locale/it/LC_MESSAGES/djangojs.po | 53 +- .../locale/ja/LC_MESSAGES/django.po | 2293 ++--- .../locale/ja/LC_MESSAGES/djangojs.po | 715 +- .../locale/kn/LC_MESSAGES/django.po | 1158 +-- .../locale/ko_KR/LC_MESSAGES/django.po | 2504 ++--- .../locale/ko_KR/LC_MESSAGES/djangojs.po | 337 +- .../locale/kok/LC_MESSAGES/django.po | 1103 +-- .../locale/ks/LC_MESSAGES/django.po | 1111 +-- .../locale/mai/LC_MESSAGES/django.po | 1110 +-- .../locale/mni/LC_MESSAGES/django.po | 1111 +-- .../locale/mr/LC_MESSAGES/django.po | 1117 +-- .../locale/ne/LC_MESSAGES/django.po | 1104 +-- .../locale/nl_NL/LC_MESSAGES/django.po | 1000 +- .../locale/pa_IN/LC_MESSAGES/django.po | 1204 +-- .../locale/pl_PL/LC_MESSAGES/django.po | 1750 +--- .../locale/pl_PL/LC_MESSAGES/djangojs.po | 797 -- .../locale/pt_BR/LC_MESSAGES/django.po | 1685 +--- .../locale/pt_BR/LC_MESSAGES/djangojs.po | 217 +- .../locale/ru/LC_MESSAGES/django.po | 2351 ++--- .../locale/ru/LC_MESSAGES/djangojs.po | 719 +- .../locale/sr/LC_MESSAGES/django.po | 1048 +-- .../locale/ta/LC_MESSAGES/django.po | 1126 +-- .../locale/tr_TR/LC_MESSAGES/django.po | 1758 +--- .../locale/tr_TR/LC_MESSAGES/djangojs.po | 983 -- .../locale/ur/LC_MESSAGES/django.po | 1119 +-- .../locale/zh_CN/LC_MESSAGES/django.po | 2759 ++---- .../locale/zh_CN/LC_MESSAGES/djangojs.po | 1489 ++- .../locale/zh_TW/LC_MESSAGES/django.po | 1725 +--- .../locale/zh_TW/LC_MESSAGES/djangojs.po | 128 +- .../management/commands/apache_vhost.conf.template | 2 +- .../management/commands/extract_messages.py | 57 + .../management/commands/make_web_conf.py | 13 +- .../management/commands/update_catalog.py | 122 + openstack_dashboard/policy.py | 4 +- openstack_dashboard/settings.py | 89 +- openstack_dashboard/static/app/app.module.js | 4 + openstack_dashboard/static/app/core/core.module.js | 1 + .../static/app/core/flavors/flavors.module.js | 157 + .../static/app/core/flavors/flavors.service.js | 37 + .../app/core/flavors/flavors.service.spec.js | 41 + .../static/app/core/flavors/panel.html | 3 + .../static/app/core/flavors/summary.html | 19 + .../core/images/actions/create-volume.service.js | 30 +- .../images/actions/create-volume.service.spec.js | 37 +- .../images/actions/create.action.service.spec.js | 5 +- .../app/core/images/details/overview.controller.js | 3 +- .../images/details/overview.controller.spec.js | 30 +- .../static/app/core/images/images.module.js | 10 +- .../static/app/core/images/images.module.spec.js | 2 +- .../static/app/core/images/images.service.js | 1 + .../images/steps/create-image/create-image.html | 21 +- .../create-volume/create-volume.controller.js | 12 +- .../create-volume/create-volume.controller.spec.js | 69 +- .../core/images/steps/edit-image/edit-image.html | 12 +- .../update-metadata/update-metadata.help.html | 1 - .../steps/update-metadata/update-metadata.html | 1 - .../static/app/core/metadata/metadata.service.js | 20 +- .../app/core/metadata/metadata.service.spec.js | 26 + .../app/core/metadata/modal/modal.controller.js | 12 +- .../core/metadata/modal/modal.controller.spec.js | 2 +- .../static/app/core/metadata/modal/modal.html | 3 + .../app/core/metadata/modal/modal.service.js | 6 +- .../app/core/metadata/modal/modal.service.spec.js | 12 +- .../core/openstack-service-api/cinder.service.js | 65 +- .../openstack-service-api/cinder.service.spec.js | 57 + .../core/openstack-service-api/keystone.service.js | 10 +- .../openstack-service-api/keystone.service.spec.js | 6 + .../app/core/openstack-service-api/nova.service.js | 10 +- .../openstack-service-api/nova.service.spec.js | 11 +- .../core/openstack-service-api/policy.service.js | 2 +- .../core/openstack-service-api/settings.service.js | 4 +- .../openstack-service-api/settings.service.spec.js | 10 +- .../core/openstack-service-api/swift.service.js | 15 +- .../static/app/resources/resources.module.js | 14 +- .../static/dashboard/img/favicon.ico | Bin 1150 -> 10174 bytes .../static/dashboard/img/logo-splash.png | Bin 3187 -> 0 bytes .../static/dashboard/img/logo-splash.svg | 377 +- openstack_dashboard/static/dashboard/img/logo.png | Bin 2405 -> 0 bytes openstack_dashboard/static/dashboard/img/logo.svg | 355 +- .../static/dashboard/scss/_layout.scss | 14 +- .../static/dashboard/scss/components/_forms.scss | 7 + .../static/dashboard/scss/components/_login.scss | 6 +- .../static/dashboard/scss/components/_navbar.scss | 2 +- .../static/dashboard/scss/components/_sidebar.scss | 139 +- .../static/dashboard/scss/components/_tab.scss | 3 + .../static/dashboard/scss/horizon.scss | 1 + openstack_dashboard/static/js/.eslintrc | 34 + .../static/js/angular/directives/serialConsole.js | 107 + openstack_dashboard/static/js/horizon.firewalls.js | 28 + .../static/js/horizon.flatnetworktopology.js | 634 ++ openstack_dashboard/static/js/horizon.instances.js | 195 + openstack_dashboard/static/js/horizon.metering.js | 46 + .../static/js/horizon.networktopology.js | 1091 +++ .../static/js/horizon.networktopologycommon.js | 163 + openstack_dashboard/static/js/horizon.quota.js | 471 + openstack_dashboard/static/js/horizon.volumes.js | 95 + openstack_dashboard/templates/500.html | 2 +- openstack_dashboard/templates/angular.html | 2 +- openstack_dashboard/templates/base.html | 1 + openstack_dashboard/templates/header/_brand.html | 2 +- openstack_dashboard/templates/header/_header.html | 14 +- .../header/_keystone_provider_selection.html | 11 + .../templates/header/_user_menu.html | 12 + .../templates/horizon/_scripts.html | 29 +- .../templatetags/context_selection.py | 2 + openstack_dashboard/test/error_pages_urls.py | 12 + openstack_dashboard/test/helpers.py | 14 +- .../pages/admin/system/flavorspage.py | 11 + .../pages/project/compute/instancespage.py | 6 +- .../project/compute/volumes/volumesnapshotspage.py | 2 +- .../pages/project/network/routerspage.py | 2 +- openstack_dashboard/test/settings.py | 30 +- .../test/test_data/ceilometer_data.py | 331 - openstack_dashboard/test/test_data/exceptions.py | 4 - openstack_dashboard/test/test_data/glance_data.py | 5 +- openstack_dashboard/test/test_data/heat_data.py | 6 - .../test/test_data/keystone_data.py | 23 +- openstack_dashboard/test/test_data/neutron_data.py | 225 +- openstack_dashboard/test/test_data/nova_data.py | 15 +- openstack_dashboard/test/test_data/utils.py | 2 - .../static/plugin_panel/plugin_module.js | 16 +- .../themes/material/static/bootstrap/_styles.scss | 2 +- .../material/static/bootstrap/_variables.scss | 4 +- .../themes/material/static/horizon/_icons.scss | 2 + .../static/horizon/components/_sidebar.scss | 4 + .../themes/material/templates/header/_header.html | 3 + .../material/templates/horizon/_sidebar.html | 6 +- openstack_dashboard/usage/quotas.py | 45 +- openstack_dashboard/usage/tables.py | 3 +- openstack_dashboard/utils/identity.py | 28 + openstack_dashboard/utils/metering.py | 249 - openstack_dashboard/utils/settings.py | 7 +- openstack_dashboard/views.py | 18 +- openstack_dashboard/wsgi/django.wsgi | 2 +- package.json | 2 +- releasenotes/notes/bp-dj110-438f26c21f283c46.yaml | 10 + .../notes/bp-k2k-horizon-9577253d626337c1.yaml | 11 + .../notes/bp/enhance-tox-26f73a048b88df2f.yaml | 11 + ...anise-access-and-security-ea7780aa9e7b83e7.yaml | 8 + .../notes/bug-1585682-abd815f290e494d3.yaml | 7 +- .../notes/bug-1618235-59865fa0e5991e63.yaml | 8 + .../notes/bug-1635505-3807fd0151702a5f.yaml | 7 + .../notes/bug-1640049-1195315b5f591ab0.yaml | 10 + .../notes/bug/1637490-c29444e4eb458087.yaml | 5 + .../drop-LBaaS-v1-dashboard-d767b0bde5274af5.yaml | 9 + ...ter-first-identity-panels-139c4a5b7a696707.yaml | 5 + ...keystone-endpoint-message-03129e37a6377715.yaml | 9 + .../flavor-panel-switch-6b5cd5f0964f4ba3.yaml | 13 + releasenotes/notes/glance-v2-ba86ba34611f95ce.yaml | 3 + ...bal-class-name-convention-71ff68913c39b800.yaml | 4 +- .../launch-instance-defaults-c6ab65b7ab822162.yaml | 5 +- ...e-developer-enabled-files-b1ad2265cd79b11e.yaml | 9 + ...er-at-developer-dashboard-da1b1556e30aa858.yaml | 22 + .../provider-net-config-713f0672c8e49888.yaml | 2 +- ...remove-ceilometer-support-376d38802a3ef833.yaml | 5 + ...emove-deprecated-swift-ui-1165b60bab5771d6.yaml | 8 + ...tting-OVERVIEW_DAYS_RANGE-9b87e8b077952a32.yaml | 5 +- ...se-toast-instead-of-alert-ef2f7dec2bd1121a.yaml | 15 + .../notes/xstatic-updates-c3ff5e2b4750ae96.yaml | 14 + releasenotes/source/conf.py | 3 + releasenotes/source/essex.rst | 154 + releasenotes/source/folsom.rst | 159 + releasenotes/source/grizzly.rst | 274 + releasenotes/source/havana.rst | 254 + releasenotes/source/icehouse.rst | 192 + releasenotes/source/index.rst | 8 + releasenotes/source/juno.rst | 181 + releasenotes/source/kilo.rst | 90 + .../source/locale/id/LC_MESSAGES/releasenotes.po | 1614 ---- .../source/locale/ja/LC_MESSAGES/releasenotes.po | 1166 --- releasenotes/source/newton.rst | 6 + requirements.txt | 55 +- test-requirements.txt | 14 +- test-shim.js | 14 + tools/gate/integration/post_test_hook.sh | 6 +- tools/install_venv.py | 4 +- tools/install_venv_common.py | 13 +- tools/pseudo.py | 4 + tox.ini | 147 +- 949 files changed, 45179 insertions(+), 74101 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 2d5a929..7b2cce8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10 +10 @@ -pbr>=1.6 # Apache-2.0 +pbr>=1.8 # Apache-2.0 @@ -17 +17 @@ django-compressor>=2.0 # MIT -django-openstack-auth>=2.4.0 # Apache-2.0 +django-openstack-auth>=3.1.0 # Apache-2.0 @@ -22 +22 @@ oslo.concurrency>=3.8.0 # Apache-2.0 -oslo.config>=3.14.0 # Apache-2.0 +oslo.config!=3.18.0,>=3.14.0 # Apache-2.0 @@ -24 +24 @@ oslo.i18n>=2.1.0 # Apache-2.0 -oslo.policy>=1.9.0 # Apache-2.0 +oslo.policy>=1.17.0 # Apache-2.0 @@ -26 +26,3 @@ oslo.serialization>=1.10.0 # Apache-2.0 -oslo.utils>=3.16.0 # Apache-2.0 +oslo.utils>=3.18.0 # Apache-2.0 +osprofiler>=1.4.0 # Apache-2.0 +pymongo!=3.1,>=3.0.2 # Apache-2.0 @@ -28 +29,0 @@ pyScss!=1.3.5,>=1.3.4 # MIT License -python-ceilometerclient>=2.5.0 # Apache-2.0 @@ -30,3 +31,3 @@ 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-glanceclient>=2.5.0 # Apache-2.0 +python-heatclient>=1.6.1 # Apache-2.0 +python-keystoneclient>=3.8.0 # Apache-2.0 @@ -34,2 +35,2 @@ python-neutronclient>=5.1.0 # Apache-2.0 -python-novaclient!=2.33.0,>=2.29.0 # Apache-2.0 -python-swiftclient>=2.2.0 # Apache-2.0 +python-novaclient!=7.0.0,>=6.0.0 # Apache-2.0 +python-swiftclient>=3.2.0 # Apache-2.0 @@ -37 +38 @@ pytz>=2013.6 # MIT -PyYAML>=3.1.0 # MIT +PyYAML>=3.10.0 # MIT @@ -40,2 +41,2 @@ XStatic>=1.0.0 # MIT License -XStatic-Angular>=1.3.7 # MIT License -XStatic-Angular-Bootstrap>=0.11.0.2 # MIT License +XStatic-Angular>=1.5.8.0 # MIT License +XStatic-Angular-Bootstrap>=2.2.0.0 # MIT License @@ -43 +44 @@ XStatic-Angular-FileUpload>=12.0.4.0 # MIT License -XStatic-Angular-Gettext>=2.1.0.2 # MIT License +XStatic-Angular-Gettext>=2.3.8.0 # MIT License @@ -47,3 +48,3 @@ XStatic-Bootstrap-Datepicker>=1.3.1.0 # Apache 2.0 License -XStatic-Bootstrap-SCSS>=3 # Apache 2.0 License -XStatic-bootswatch>=3.3.5.3 # MIT License -XStatic-D3>=3.1.6.2 # BSD License (3 clause) +XStatic-Bootstrap-SCSS>=3.3.7.1 # Apache 2.0 License +XStatic-bootswatch>=3.3.7.0 # MIT License +XStatic-D3>=3.5.17.0 # BSD License (3 clause) @@ -51,3 +52,3 @@ XStatic-Hogan>=2.0.0.2 # Apache 2.0 License -XStatic-Font-Awesome>=4.3.0 # SIL OFL 1.1 License, MIT License -XStatic-Jasmine>=2.1.2.0 # MIT License -XStatic-jQuery>=1.7.2 # MIT License +XStatic-Font-Awesome>=4.7.0 # SIL OFL 1.1 License, MIT License +XStatic-Jasmine>=2.4.1.1 # MIT License +XStatic-jQuery>=1.8.2.1 # MIT License @@ -57,2 +58,2 @@ XStatic-JQuery.TableSorter>=2.14.5.1 # MIT License -XStatic-jquery-ui>=1.10.1 # MIT License -XStatic-JSEncrypt>=2.0.0.2 # MIT License +XStatic-jquery-ui>=1.10.4.1 # MIT License +XStatic-JSEncrypt>=2.3.1.1 # MIT License @@ -61,3 +62,3 @@ XStatic-objectpath>=1.2.1.0 # MIT -XStatic-Rickshaw>=1.5.0 # BSD License (prior) -XStatic-roboto-fontface>=0.4.3.2 # Apache 2.0 License -XStatic-smart-table!=1.4.13.0,>=1.4.5.3 # MIT License +XStatic-Rickshaw>=1.5.0.0 # BSD License (prior) +XStatic-roboto-fontface>=0.5.0.0 # Apache 2.0 License +XStatic-smart-table>=1.4.13.2 # MIT License @@ -65 +66 @@ XStatic-Spin>=1.2.5.2 # MIT License -XStatic-term.js>=0.0.4 # MIT License +XStatic-term.js>=0.0.7.0 # MIT License diff --git a/test-requirements.txt b/test-requirements.txt index 2096135..79db03b 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -12 +12 @@ hacking<0.11,>=0.10.0 -coverage>=3.6 # Apache-2.0 +coverage>=4.0 # Apache-2.0 @@ -15,2 +15,2 @@ mock>=2.0 # BSD -mox3>=0.7.0 # Apache-2.0 -nodeenv>=0.9.4 # BSD License # BSD +mox3!=0.19.0,>=0.7.0 # Apache-2.0 +nodeenv>=0.9.4 # BSD @@ -22,3 +22,3 @@ openstack.nose-plugin>=0.7 # Apache-2.0 -oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0 -reno>=1.8.0 # Apache2 -requests>=2.10.0 # Apache-2.0 +oslosphinx>=4.7.0 # Apache-2.0 +reno>=1.8.0 # Apache-2.0 +requests!=2.12.2,>=2.10.0 # Apache-2.0 @@ -26 +26 @@ selenium>=2.50.1 # Apache-2.0 -sphinx!=1.3b1,<1.3,>=1.2.1 # BSD +sphinx!=1.3b1,<1.4,>=1.2.1 # BSD
participants (1)
-
no-reply@openstack.org