[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.
Menu follows the search input position as the user adds more facets
The developer enabled files have been moved from
openstack_dashboard/contrib/developer/enabled. To enable them, copy into
DEBUG = True.
There will no longer be any
WARNINGmessages regarding the developer panels in logs.
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).
Many of Horizons XStatic packages were updated during this cycle.
现在，一个资源类型（如镜像）的详情页可用使用 Angular 应用级注册表来注册视图，从而使开发人员可用方便地创建或扩展详情视图中地内容。在这个版本中，这些视图作为标签页出现在详情页中。
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.
An action-result service provides convenience methods for construction of the result, and for parsing of a resolved object
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] Admin dashboard Floating IPs panel has been added to Horizon.
[blueprint 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-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 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] 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]. 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] Support an ability to treat additional information for project and user as an extra attribute.
[blueprint navigation-improvements] Breadcrumb navigation has been added across Horizon.
directive (hz-details) 提供了智能显示一组视图的功能（通常与详情相关）。
Horizon now has a (non-navigational) route in Django so generic details pages are deep-linked.
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.
ANGULAR_FEATURESsetting 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
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.
[blueprint operation-history-log] Added a feature to log operation history of users.
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.
添加了一个新的设置 – OVERVIEW_DAYS_RANGE，它定义了详情框中的计费器的默认日期范围（如果它的值是整数 N，则是今天减去 N 天；如果设置为 None, 则是从当前月开始直到今天）。使用这个设置可以在生成详情框的内容时限制需要获取的数据数量。和以前不同，它的默认值是 1 （以前的设置会导致在大型环境中出现严重的滞后问题）。
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.
TOKEN_DELETE_DISABLEDsetting, so that deployers can customise the revocation of a users token on log out.
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.
TEMPLATE_*settings have been replaced with a
TEMPLATEdict. 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
is_anonymous()functions in Django OpenStack Auth’s
Userclass 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
The breadcrumb navigation inside the details pages now applies across Horizon. A small change in the logic means that
custom_breadcrumbitems in the context no longer need to specify the panel name and link. See [blueprint 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.
The OPENSTACK_IMAGE_FORMATS variable must be added to the REST_API_REQUIRED_SETTINGS setting in local_settings.py
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.
status_unknowntable row class has been replaced with the default bootstrap
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.
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).
XStatic-Bootswatch updated from 126.96.36.199 to 188.8.131.52
XStatic-Font-Awesome updated from 184.108.40.206 to 220.127.116.11
XStatic-Jasmine updated from 18.104.22.168 to 22.214.171.124
XStatic-MDI updated from 126.96.36.199 to 188.8.131.52
XStatic-Rickshaw updated from 184.108.40.206 to 220.127.116.11
XStatic-Smart-Table updated from 18.104.22.168 to 22.214.171.124
Glance v2 doesn’t support the copy-from feature, so this feature is disabled in Horizon when using Glance v2.