Merge "Improve way of cache backend selection"

This commit is contained in:
Zuul
2022年10月31日 14:13:31 +00:00
committed by Gerrit Code Review

View File

@@ -25,7 +25,10 @@ nova_ceilometer_enabled: "{{ (groups['ceilometer_all'] is defined) and (groups['
# Enable/Disable nova versioned notification
nova_versioned_notification_enabled:False
nova_memcached_servers:"{{ memcached_servers }}"
# Caching
nova_cache_servers:"{{ nova_memcached_servers | default(memcached_servers) }}"
nova_cache_backend:"{{ openstack_cache_backend | default('oslo_cache.memcache_pool') }}"
nova_cache_backend_map:"{{ openstack_cache_backend_map | default(_nova_cache_backend_map) }}"
## Verbosity Options
debug:False
@@ -496,8 +499,7 @@ nova_pip_packages:
- "git+{{ nova_git_repo }}@{{ nova_git_install_branch }}#egg=nova"
- osprofiler
- PyMySQL
- pymemcache
- python-memcached
- "{{ _nova_cache_backend_package }}"
- systemd-python
# Specific pip packages provided by the user

View File

@@ -0,0 +1,7 @@
---
deprecations:
- |
Variable ``nova_memcached_servers`` has been deprecated and replaced with
``nova_cache_servers`` that defaults to ``memcached_servers``. For
backpwards compatability ``nova_memcached_servers`` is still respected
but will be removed in future releases.

View File

@@ -68,8 +68,10 @@ manager_interval = {{ nova_image_cache_manager_interval }}
# Cache
[cache]
enabled = true
backend = oslo_cache.memcache_pool
memcache_servers = {{ nova_memcached_servers }}
backend = {{ nova_cache_backend }}
{% if nova_cache_backend in nova_cache_backend_map['dogpile'] %}
memcache_servers = {{ nova_cache_servers }}
{% endif %}
# Cinder
@@ -194,13 +196,15 @@ service_token_roles_required = {{ nova_service_token_roles_required | bool }}
service_token_roles = {{ nova_service_token_roles | join(',') }}
service_type = {{ nova_service_type }}
memcached_servers = {{ memcached_servers }}
{% if nova_cache_backend in nova_cache_backend_map['dogpile'] %}
memcached_servers = {{ nova_cache_servers }}
token_cache_time = 300
# if your memcached server is shared, use these settings to avoid cache poisoning
memcache_security_strategy = ENCRYPT
memcache_secret_key = {{ memcached_encryption_key }}
{% endif %}
{% if group_names | intersect(nova_services.keys() | difference('nova-compute') | map('extract', nova_services, 'group') | list) | count > 0 %}
[database]

View File

@@ -116,3 +116,23 @@ _qemu_default_conf_dict: |-
_nova_qemu_conf:"{{ _qemu_default_conf_dict | combine(qemu_conf_dict) }}"
_nova_oslomsg_heartbeat_in_pthread:"{{ (nova_services['nova-compute']['group'] in group_names) | ternary(False, True) }}"
_nova_cache_backend_map:
dogpile:
- oslo_cache.memcache_pool
- dogpile.cache.pymemcache
- dogpile.cache.memcached
- dogpile.cache.bmemcached
mongo:
- oslo_cache.mongo
etcd3gw:
- oslo_cache.etcd3gw
_nova_cache_backend_package:|-
{% set oslo = namespace(backend='dogpile') %}
{% for key, value in _nova_cache_backend_map.items() %}
{% if nova_cache_backend in value %}
{% set oslo.backend = key %}
{%- endif %}
{%- endfor %}
oslo.cache[{{ oslo.backend }}]
Reference in New Issue
openstack/openstack-ansible-os_nova
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.

The note is not visible to the blocked user.