We are exuberant to announce the release of: openstack-ansible-os_horizon 14.0.0: OpenStack Horizon role for OpenStack Ansible This release is part of the newton release series. Download the package from: https://tarballs.openstack.org/openstack-ansible-os_horizon/ For more details, please see below. 14.0.0 ^^^^^^ New Features ************ * The os_horizon role now has support for the horizon ironic-ui dashboard. The dashboard may be enabled by setting "horizon_enable_ironic_ui" to "True" in "/etc/openstack_deploy/user_variables.yml". * The os_horizon role now has support for the horizon magnum-ui dashboard. The dashboard may be enabled by setting "horizon_enable_magnum_ui" to "True" in "/etc/openstack_deploy/user_variables.yml". * The "horizon_keystone_admin_roles" variable is added to support the "OPENSTACK_KEYSTONE_ADMIN_ROLES" list in the horizon_local_settings.py file. * Deployers can now blacklist certain Nova extensions by providing a list of such extensions in "horizon_nova_extensions_blacklist" variable, for example: horizon_nova_extensions_blacklist: - "SimpleTenantUsage" * Horizon now has the ability to set arbitrary configuration options using global option "horizon_config_overrides" in YAML format. The overrides follow the same pattern found within the other OpenStack service overrides. General documentation on overrides can be found here (http://docs.openstack.org/developer/openstack-ansible/install- guide/configure-openstack.html#overriding-openstack-configuration- defaults). * The "os_horizon" role now supports configuration of custom themes. Deployers can use the new "horizon_custom_themes" and "horizon_default_theme" variables to configure the dashboard with custom themes and default to a specific theme respectively. * The new LBaaS v2 dashboard is available in Horizon. Deployers can enable the panel by setting the following Ansible variable: horizon_enable_neutron_lbaas: True * Horizon now has a boolean variable named "horizon_enable_ha_router" to enable Neutron HA router management. * Horizon's IPv6 support is now enabled by default. This allows users to manage subnets with IPv6 addresses within the Horizon interface. Deployers can disable IPv6 support in Horizon by setting the following variable: horizon_enable_ipv6: False Please note: Horizon will still display IPv6 addresses in various panels with IPv6 support disabled. However, it will not allow any direct management of IPv6 configuration. * The horizon next generation instance management panels have been enabled by default. This changes horizon to use the upstream defaults instead of the legacy panels. Documentation can be found here (http://docs.openstack.org/developer/horizon/topics/settings.html #launch-instance-ng-enabled). * Added "horizon_apache_custom_log_format" tunable to the os-horizon role for changing CustomLog format. Default is "combined". * The os_horizon role now supports the ability to configure whether apt/yum tasks install the latest available package, or just ensure that the package is present. The default action is to ensure that the latest package is present. The action taken may be changed to only ensure that the package is present by setting "horizon_package_state" to "present". * The Sahara dashboard is available in Horizon. Deployers can enable the panel by setting the following Ansible variable: horizon_enable_sahara_ui: True Upgrade Notes ************* * The default horizon instance launch panels have been changed to the next generation panels. To enable legacy functionality set the following options accordingly: horizon_launch_instance_legacy: True horizon_launch_instance_ng: False * Installation of horizon and its dependent pip packages will now only occur within a Python virtual environment. The "horizon_venv_bin", "horizon_venv_enabled", "horizon_venv_lib_dir", and "horizon_non_venv_lib_dir" variables have been removed. * The variable "horizon_apt_packages" has been renamed to "horizon_distro_packages". * The os_horizon role always checks whether the latest package is installed when executed. If a deployer wishes to change the check to only validate the presence of the package, the option "horizon_package_state" should be set to "present". * The database and user creates have been removed from the "os_horizon" role. These tasks have been relocated to the playbooks. Security Issues *************** * Horizon disables password autocompletion in the browser by default, but deployers can now enable autocompletion by setting "horizon_enable_password_autocomplete" to "True". Bug Fixes ********* * The standard collectstatic and compression process in the os_horizon role now happens after horizon customizations are installed, so that all static resources will be collected and compressed. Changes in openstack-ansible-os_horizon 13.0.0..14.0.0 ------------------------------------------------------ 0001ead Add conditional for multi-domain support 2b0d10a magnum_ui filename changes 04a0e09 Update tox.ini tests target for stable/newton 1ab7462 Update ansible-role-requirements to stable/newton 1958d83 Update default git branch to stable/newton beb356f Use centralised test scripts 691cbf8 Update UPPER_CONSTRAINTS_FILE for stable/newton c7c490c Update .gitreview for stable/newton 020676b Revert dynamic includes for inventory-based conditionals e2f240b Add xenial support to the Vagrantfile 09185c5 Ansible 2.1.1 role testing 1f682b0 Force Ansible to use dynamic includes 988006d Update homepage with developer documentation page f327437 Compress test execution logs 0b6085c Rename package lists (and related vars) appropriately df0293c Enable log collection after functional testing 02b0439 Enable Sahara panel in Horizon a555868 Make all linting tests use upper-constraints 51cb64f Remove apt update from Vagrantfile 0afea1f Added SNI support for os_horizon role via OS packages c991bcc Updated from global requirements c7ebd28 Add variable override for OPENSTACK_KEYSTONE_ADMIN_ROLES f370ce6 [DOCS] Add project links to README; fix typos c9d245b Add python packages for SNI support in tests f40f7d1 [DOCS] Move horizon docs to roles cc1d885 Move other-requirements.txt to bindep.txt 0883726 Include ansible commands for ansible linting d1dd1aa Add required gettext package for compilemessages 387abfa Compile locale to be able to change language 0b98489 Add Magnum-UI plugin support to Horizon 78215c0 Add project group to role 05daa35 Add ability to change apt/yum package state 961d117 Create nova endpoints for tempest test 4dbde0e Ensure that doc linting is included in the linters test 097c01f Enable Horizon Ironic dashboard plugin ee4d926 Removing unused test playbook 7f7ad45 Remove openstack_hosts from test requirements 9b4c1cc Optimise pip install tasks e241c37 Use plugins repo version of the human_log callback plugin b4cb4aa Updated from global requirements 984fae7 Remove duplicates from .gitignore ad77b18 Implement doc8 checks for docs 87b7057 Update sphinx configuration cc71003 Updated tests and role for Xenial support 605f176 Cleanup/standardize usage of tags 4937692 Add support for custom Horizon themes 9a104b5 Update tox configuration 4559edf Only install to virtual environment 3983911 Added variable to allow for arbitrary HORIZON_CONFIG dfda6bc Compress static files after customizations 6a84a06 Add enable_lb option back to horizon 16b8d25 Clean up container cache prep in tests 4dcf0fa Pin test-requirements to match OpenStack requirements 583c370 Add support for CustomLog format modification cec81d7 Remove pip_lock_down dependency 2c67361 Consistency for multi-os in the includes e0d3d44 Add Nova extensions blacklisting 7232b74 Use tempest-horizon plugin c82ef96 Updating os_horizon to use the Multi-Distro framework 42e77ea Removed the db create tasks 4f891b5 Removing unused verbose variable e66542c Use tempest for role testing 7610572 Enable ha router support in Horizon f0dc519 Enable next gneration instance launch in Horizon 1111f3d Enable IPv6 support in Horizon 568debe Enable new LBaaS panel in Horizon 2fe3566 Add .swp files to .gitignore bc92d06 Change pip install task state to 'latest' f30714d Remove py_from_git role 30138c2 Add dependencies for paramiko 2.0 126a7c1 Ansible 2.x - Address deprecation warning of bare variables 62f3f37 Remove Liberty releasenote index deec1c9 Fix server/hostname for RFC 1034/1035 76e009d blacklist Ansible 1.9.6 8667dce Optionally allow autocomplete in Horizon f210743 Add option to enable from VPNaaS in Horizon 5838bfd Update SSL key / cert distribution for Horizon 298f728 Update min_ansible_version to 1.9 afcf852 Add reno scaffolding for release notes management 125f1b0 Switch defaults/tests to use master branch Diffstat (except docs and test files) ------------------------------------- .gitignore | 10 +- .gitreview | 1 + README.rst | 68 +---- Vagrantfile | 29 ++- bindep.txt | 43 ++++ defaults/main.yml | 134 +++++++--- examples/playbook.yml | 32 +++ handlers/main.yml | 2 +- manual-test.rc | 33 +++ meta/main.yml | 12 +- other-requirements.txt | 17 -- releasenotes/notes/.placeholder | 0 ...-ironic-dashboard-support-3eb5168d71e4dddd.yaml | 5 + ...-magnum-dashboard-support-4fcddedffb83bc28.yaml | 5 + ...stone-admin-roles-setting-83198a721c64ee3c.yaml | 5 + ...nova-extensions-blacklist-8ed18f45aba6a7fb.yaml | 11 + .../compress-customization-a7d03162d837085f.yaml | 5 + .../horizon-arbitrary-config-8a36e4bd6818afe1.yaml | 6 + ...ble-password-autocomplete-5f8f78a6c8f1edb3.yaml | 5 + .../horizon_custom_themes-4ee1fd9444b8a5ae.yaml | 6 + .../lbaasv2-horizon-panel-8f99026b025ca2fd.yaml | 9 + .../make-ha-router-a-toggle-eefd61fc7978240d.yaml | 4 + .../notes/make-ipv6-a-toggle-63d9c839e204cdda.yaml | 14 + .../ng-instance-management-f9134fc283aa289c.yaml | 16 ++ ...apache-log-format-support-34c9ef74b3bcce31.yaml | 5 + ...horizon-only-install-venv-0fd3292d2b61e840.yaml | 6 + ...package-list-name-changes-4a42f561dac5754e.yaml | 4 + .../notes/package-state-fda322f5e667bbec.yaml | 13 + .../removed-db-create-tasks-8ae301041fe46cfb.yaml | 5 + .../sahara-horizon-panel-d80d17da528b4c07.yaml | 9 + releasenotes/source/_static/.placeholder | 0 releasenotes/source/_templates/.placeholder | 0 releasenotes/source/conf.py | 281 +++++++++++++++++++++ releasenotes/source/index.rst | 9 + releasenotes/source/mitaka.rst | 6 + releasenotes/source/unreleased.rst | 5 + setup.cfg | 2 +- setup.py | 11 +- tasks/horizon_apache.yml | 16 -- tasks/horizon_db_setup.yml | 33 --- tasks/horizon_install.yml | 147 ++--------- tasks/horizon_post_install.yml | 106 +++++--- tasks/horizon_pre_install.yml | 24 -- tasks/horizon_service_setup.yml | 2 - tasks/horizon_ssl_key_create.yml | 4 - tasks/horizon_ssl_key_distribute.yml | 34 ++- tasks/horizon_ssl_key_store.yml | 32 +-- tasks/horizon_ssl_self_signed.yml | 9 +- tasks/horizon_ssl_user_provided.yml | 9 - tasks/install-apt.yml | 37 +++ tasks/main.yml | 43 +++- templates/horizon-manage.py.j2 | 2 +- templates/horizon_local_settings.py.j2 | 42 ++- templates/openstack_dashboard.conf.j2 | 4 +- test-requirements.txt | 19 +- tox.ini | 166 ++++++------ vars/debian.yml | 29 +++ 71 files changed, 1504 insertions(+), 854 deletions(-) Requirements updates -------------------- diff --git a/test-requirements.txt b/test-requirements.txt index 7f0134b..8fdd8d8 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,4 +1,9 @@ -ansible-lint<=2.3.9 -ansible>=1.9.1,<2.0.0 -bashate -flake8 +# The order of packages is significant, because pip processes them in the order +# of appearance. Changing the order has an impact on the overall integration +# process, which may cause wedges in the gate later. +bashate>=0.2 # Apache-2.0 +flake8<2.6.0,>=2.5.4 # MIT +pyasn1 # BSD +pyOpenSSL>=0.14 # Apache-2.0 +requests>=2.10.0 # Apache-2.0 +ndg-httpsclient>=0.4.2;python_version<'3.0' # BSD @@ -7,2 +12,4 @@ flake8 -sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 -oslosphinx>=2.5.0 # Apache-2.0 \ No newline at end of file +sphinx!=1.3b1,<1.3,>=1.2.1 # BSD +oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0 +doc8 # Apache-2.0 +reno>=1.8.0 # Apache2