Zed Series Release Notes

18.0.0.0b1-144

New Features

  • The service setup in keystone for gnocchi will now be executed through delegation to the gnocchi_service_setup_host which, by default, is localhost (the deploy host). Deployers can opt to rather change this to the utility container by implementing the following override in user_variables.yml.

    gnocchi_service_setup_host: "{{ groups['utility_all'][0] }}"
    
  • Implemented possibility to natively define gnocchi_incoming_driver separately from gnocchi_storage_driver. Default behaviour is that [incoming] is left unconfigured which means [storage] is used when gnocchi_incoming_driver and gnocchi_storage_driver are equal. Role will install incoming driver dependencies if required.

    To implement that following variables introduced:

    • gnocchi_storage_file_basepath

    • gnocchi_storage_swift_container_prefix

    • gnocchi_incoming_driver

    • gnocchi_incoming_file_basepath

    • gnocchi_incoming_swift_container_prefix

    • gnocchi_ceph_incoming_pool

    • gnocchi_ceph_incoming_username

  • Implemented variable gnocchi_metricd_workers that is designed to controll amount of gnocchi-metricd workers spawned. By default it is equal to number of CPU cores, but no more than 16 workers.

  • Variables gnocchi_storage_redis_url and gnocchi_incoming_redis_url were added to manage redis connection if it’s picked as an storage/incoming driver. Default value is redis://localhost:6379/ Please mention, that OpenStack-Ansible does not provide isntallation of Redis as of today.

Upgrade Notes

  • gnocchi_service_project_name now set by to service even for deployments involving Swift. Nowadays cielometer.middleware exclude service project by default, so no additional protection is required. In case you want to preserve current gnocchi_service_project_name, define it equal to gnocchi_swift in your user_variables.yml

  • Gnocchi migrated from usage of Apache mod_wsgi or native daemon to uWSGI daemon. This means, that some variables are not available and has no effect anymore, specifically * gnocchi_use_mod_wsgi * gnocchi_apache_* * gnocchi_ssl* (except gnocchi_ssl_external - it’s still in place) * gnocchi_user_ssl_*

    During upgrade process role will drop gnocchi_service_port from apache listeners (ports.conf) and gnocchi virtualhost, which by default means misconfigured apache service (since it won’t have any listeners) unless it’s aio build and this apache server is in use by other role/service. Apache server won’t be dropped from gnocchi_api hosts, so deployers are encoureged to remove it manually.

Deprecation Notes

  • The variable gnocchi_requires_pip_packages is no longer required and has therefore been removed.

Security Issues

  • The default TLS version has been set to TLS1.2. This only allows version 1.2 of the protocol to be used when terminating or creating TLS connections. You can change the value with the gnocchi_ssl_protocol variable.

16.0.0.0b2

New Features

  • New variables have been added to allow a deployer to customize a gnocchi systemd unit file to their liking.

  • The task dropping the gnocchi systemd unit files now uses the config_template action plugin allowing deployers access to customize the unit files as they see fit without having to load extra options into the defaults and polute the generic systemd unit file with jinja2 variables and conditionals.

  • For the os_gnocchi role, the systemd unit TimeoutSec value which controls the time between sending a SIGTERM signal and a SIGKILL signal when stopping or restarting the service has been reduced from 300 seconds to 120 seconds. This provides 2 minutes for long-lived sessions to drain while preventing new ones from starting before a restart or a stop. The RestartSec value which controls the time between the service stop and start when restarting has been reduced from 150 seconds to 2 seconds to make the restart happen faster. These values can be adjusted by using the gnocchi_*_init_config_overrides variables which use the config_template task to change template defaults.

Upgrade Notes

  • For the os_gnocchi role, the systemd unit TimeoutSec value which controls the time between sending a SIGTERM signal and a SIGKILL signal when stopping or restarting the service has been reduced from 300 seconds to 120 seconds. This provides 2 minutes for long-lived sessions to drain while preventing new ones from starting before a restart or a stop. The RestartSec value which controls the time between the service stop and start when restarting has been reduced from 150 seconds to 2 seconds to make the restart happen faster. These values can be adjusted by using the gnocchi_*_init_config_overrides variables which use the config_template task to change template defaults.

16.0.0.0b1

New Features

  • Capping the default value for the variable gnocchi_wsgi_processes to 16 when the user doesn’t configure this variable. Default value is twice the number of vCPUs available on the machine with a capping value of 16.

  • The os_gnocchi role now includes a facility where you can place your own default api-paste.ini or policy.json file in /etc/openstack_deploy/gnocchi (by default) and it will be deployed to the target host after being interpreted by the template engine.

  • Several configuration files that were not templated for the os_gnocchi` role are now retrieved from git. The git repository used can be changed using the ``gnocchi_git_config_lookup_location variable. By default this points to git.openstack.org. These files can still be changed using the gnocchi_x_overrides variables.

Upgrade Notes

  • Gnocchi service endpoint variables were not named correctly. Renamed variables to be consistent with other roles.

Deprecation Notes

  • The gnocchi_keystone_auth_plugin variable has been deprecated. gnocchi_keystone_auth_type should be used instead to configure authentication type.

15.0.0.0rc1

New Features

  • Specify the gnocchi_auth_mode var to set the auth_mode for gnocchi. This defaults to basic which has changed from noauth to match upstream. If gnocchi_keystone_auth is true or yes this value will default to keystone.

  • Specify the gnocchi_git_config_lookup_location value to specify the git repository where the gnocchi config files can be retrieved. The api-paste.ini and policy.json files are now retrieved from the specified git repository and are not carried in the os_gnocchi role.

Upgrade Notes

  • The gnocchi_archive_policies and gnocchi_archive_policy_rules variables never had full support in the role so were ineffective at the intended purpose. The task references to them have been removed and the library to perform gnocchi operations has also been removed. This eliminates the need for the gnocchi client to be installed outside the virtual environment as well.

Deprecation Notes

  • The gnocchi_keystone_auth is deprecated, and will be removed in the Queen cycle. Setting gnocchi_auth_mode to keystone will achieve the same result.

15.0.0.0b2

New Features

  • CentOS7/RHEL support has been added to the os_gnocchi role.

Upgrade Notes

  • The variable gnocchi_required_pip_packages was incorrectly named and has been renamed to gnocchi_requires_pip_packages to match the standard across all roles.

15.0.0.0b1

Upgrade Notes

  • The variables gnocchi_requirements_git_repo and gnocchi_requirements_git_install_branch have been removed in favour of using the URL/path to the upper-constraints file using the variable pip_install_upper_constraints instead.

14.0.0.0b3

New Features

  • The os_gnocchi 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 gnocchi_package_state to present.

Upgrade Notes

  • The os_gnocchi 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 gnocchi_package_state should be set to present.

14.0.0.0b2

Upgrade Notes

  • Installation of glance and its dependent pip packages will now only occur within a Python virtual environment. The gnocchi_venv_bin, gnocchi_venv_enabled, gnocchi_venv_etc_dir, and gnocchi_non_venv_etc_dir variables have been removed.