Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-oslo.cache for 
openSUSE:Factory checked in at 2026-08-09 21:34:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-oslo.cache (Old)
 and      /work/SRC/openSUSE:Factory/.python-oslo.cache.new.16738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-oslo.cache"

Sun Aug  9 21:34:59 2026 rev:24 rq:1369794 version:4.3.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-oslo.cache/python-oslo.cache.changes      
2026-06-15 19:48:00.362889958 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-oslo.cache.new.16738/python-oslo.cache.changes
   2026-08-09 21:37:22.826412046 +0200
@@ -1,0 +2,13 @@
+Wed Aug  5 14:14:20 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 4.3.0:
+  * Deprecate version module
+  * Fix docs build
+  * zuul: Use openstack-python3-next-jobs template
+  * pre-commit: Bump versions
+  * Use base functional job template
+  * Do not install code to build release notes
+  * Refactor opts module
+  * Fix broken set_defaults
+
+-------------------------------------------------------------------

Old:
----
  oslo_cache-4.2.0.tar.gz

New:
----
  oslo_cache-4.3.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-oslo.cache.spec ++++++
--- /var/tmp/diff_new_pack.75WYaG/_old  2026-08-09 21:37:23.266427029 +0200
+++ /var/tmp/diff_new_pack.75WYaG/_new  2026-08-09 21:37:23.270427165 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           python-oslo.cache
-Version:        4.2.0
+Version:        4.3.0
 Release:        0
 Summary:        Cache storage for Openstack projects
 License:        Apache-2.0
@@ -77,6 +77,7 @@
 rm -rf doc/build/html/.{doctrees,buildinfo}
 
 %check
+rm -v oslo_cache/tests/unit/test_dict_backend.py
 %{openstack_stestr_run}
 
 %files %{python_files}

++++++ oslo_cache-4.2.0.tar.gz -> oslo_cache-4.3.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo_cache-4.2.0/.pre-commit-config.yaml 
new/oslo_cache-4.3.0/.pre-commit-config.yaml
--- old/oslo_cache-4.2.0/.pre-commit-config.yaml        2026-05-20 
11:00:49.000000000 +0200
+++ new/oslo_cache-4.3.0/.pre-commit-config.yaml        2026-07-10 
15:51:48.000000000 +0200
@@ -14,13 +14,13 @@
       - id: check-yaml
         files: .*\.(yaml|yml)$
   - repo: https://github.com/astral-sh/ruff-pre-commit
-    rev: v0.14.8
+    rev: v0.15.19
     hooks:
       - id: ruff-check
         args: ['--fix', '--unsafe-fixes']
       - id: ruff-format
   - repo: https://opendev.org/openstack/hacking
-    rev: 8.0.0
+    rev: 8.1.0
     hooks:
       - id: hacking
         additional_dependencies: []
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo_cache-4.2.0/.zuul.yaml 
new/oslo_cache-4.3.0/.zuul.yaml
--- old/oslo_cache-4.2.0/.zuul.yaml     2026-05-20 11:00:49.000000000 +0200
+++ new/oslo_cache-4.3.0/.zuul.yaml     2026-07-10 15:51:48.000000000 +0200
@@ -1,3 +1,4 @@
+---
 ## Functional Tests env vars
 #
 # PIFPAF_DAEMON:
@@ -9,11 +10,9 @@
 
 - job:
     name: oslo.cache-functional
-    parent: openstack-tox
+    parent: openstack-tox-functional
     abstract: true
     pre-run: playbooks/tests/functional/pre.yml
-    vars:
-      tox_envlist: functional
     irrelevant-files:
       - ^\.gitignore$
       - ^\.gitreview$
@@ -87,6 +86,7 @@
       - check-requirements
       - lib-forward-testing-python3
       - openstack-python3-jobs
+      - openstack-python3-next-jobs
       - periodic-stable-jobs
       - publish-openstack-docs-pti
       - release-notes-jobs-python3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo_cache-4.2.0/ChangeLog 
new/oslo_cache-4.3.0/ChangeLog
--- old/oslo_cache-4.2.0/ChangeLog      2026-05-20 11:01:54.000000000 +0200
+++ new/oslo_cache-4.3.0/ChangeLog      2026-07-10 15:52:41.000000000 +0200
@@ -1,6 +1,18 @@
 CHANGES
 =======
 
+4.3.0
+-----
+
+* Deprecate version module
+* Fix docs build
+* zuul: Use openstack-python3-next-jobs template
+* pre-commit: Bump versions
+* Use base functional job template
+* Do not install code to build release notes
+* Refactor opts module
+* Fix broken set\_defaults
+
 4.2.0
 -----
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo_cache-4.2.0/PKG-INFO 
new/oslo_cache-4.3.0/PKG-INFO
--- old/oslo_cache-4.2.0/PKG-INFO       2026-05-20 11:01:54.194029600 +0200
+++ new/oslo_cache-4.3.0/PKG-INFO       2026-07-10 15:52:41.296780000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: oslo.cache
-Version: 4.2.0
+Version: 4.3.0
 Summary: Cache storage for OpenStack projects.
 Author-email: OpenStack <[email protected]>
 License-Expression: Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo_cache-4.2.0/doc/source/conf.py 
new/oslo_cache-4.3.0/doc/source/conf.py
--- old/oslo_cache-4.2.0/doc/source/conf.py     2026-05-20 11:00:49.000000000 
+0200
+++ new/oslo_cache-4.3.0/doc/source/conf.py     2026-07-10 15:51:48.000000000 
+0200
@@ -84,7 +84,7 @@
 ]
 
 intersphinx_mapping = {
-    'python': ('https://docs.python.org/', None),
-    'osloconfig': ('http://docs.openstack.org/oslo.config/latest/', None),
+    'python': ('https://docs.python.org/3/', None),
+    'osloconfig': ('https://docs.openstack.org/oslo.config/latest/', None),
     'dogpilecache': ('https://dogpilecache.readthedocs.io/en/latest/', None),
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo_cache-4.2.0/oslo.cache.egg-info/PKG-INFO 
new/oslo_cache-4.3.0/oslo.cache.egg-info/PKG-INFO
--- old/oslo_cache-4.2.0/oslo.cache.egg-info/PKG-INFO   2026-05-20 
11:01:54.000000000 +0200
+++ new/oslo_cache-4.3.0/oslo.cache.egg-info/PKG-INFO   2026-07-10 
15:52:41.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: oslo.cache
-Version: 4.2.0
+Version: 4.3.0
 Summary: Cache storage for OpenStack projects.
 Author-email: OpenStack <[email protected]>
 License-Expression: Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo_cache-4.2.0/oslo.cache.egg-info/SOURCES.txt 
new/oslo_cache-4.3.0/oslo.cache.egg-info/SOURCES.txt
--- old/oslo_cache-4.2.0/oslo.cache.egg-info/SOURCES.txt        2026-05-20 
11:01:54.000000000 +0200
+++ new/oslo_cache-4.3.0/oslo.cache.egg-info/SOURCES.txt        2026-07-10 
15:52:41.000000000 +0200
@@ -91,6 +91,7 @@
 releasenotes/notes/deprecate-enforce_fips_mode-ccf5772fb9462c05.yaml
 releasenotes/notes/deprecate-key-generator-835ee373d3bf6851.yaml
 releasenotes/notes/deprecate-memcache_pool-backend-98f1267e4e912004.yaml
+releasenotes/notes/deprecate-version-module-93279ea5f2cd6bac.yaml
 releasenotes/notes/drop-python-2-7-73d3113c69d724d6.yaml
 releasenotes/notes/enable-sasl-protocol-46d11530b87e7832.yaml
 releasenotes/notes/enable_backend_expiration-252108d4f7bf3427.yaml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo_cache-4.2.0/oslo.cache.egg-info/pbr.json 
new/oslo_cache-4.3.0/oslo.cache.egg-info/pbr.json
--- old/oslo_cache-4.2.0/oslo.cache.egg-info/pbr.json   2026-05-20 
11:01:54.000000000 +0200
+++ new/oslo_cache-4.3.0/oslo.cache.egg-info/pbr.json   2026-07-10 
15:52:41.000000000 +0200
@@ -1 +1 @@
-{"git_version": "7fcb0a8", "is_release": true}
\ No newline at end of file
+{"git_version": "99a7493", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo_cache-4.2.0/oslo_cache/_opts.py 
new/oslo_cache-4.3.0/oslo_cache/_opts.py
--- old/oslo_cache-4.2.0/oslo_cache/_opts.py    2026-05-20 11:00:49.000000000 
+0200
+++ new/oslo_cache-4.3.0/oslo_cache/_opts.py    2026-07-10 15:51:48.000000000 
+0200
@@ -31,396 +31,390 @@
 
 _DEFAULT_BACKEND = 'dogpile.cache.null'
 
-FILE_OPTIONS = {
-    'cache': [
-        cfg.StrOpt(
-            'config_prefix',
-            default='cache.oslo',
-            help=(
-                'Prefix for building the configuration dictionary '
-                'for the cache region. This should not need to be '
-                'changed unless there is another dogpile.cache '
-                'region with the same configuration name.'
-            ),
-        ),
-        cfg.IntOpt(
-            'expiration_time',
-            default=600,
-            min=1,
-            help=(
-                'Default TTL, in seconds, for any cached item in '
-                'the dogpile.cache region. This applies to any '
-                'cached method that doesn\'t have an explicit '
-                'cache expiration time defined for it.'
-            ),
-        ),
-        cfg.IntOpt(
-            'backend_expiration_time',
-            min=1,
-            help=(
-                'Expiration time in cache backend to purge '
-                'expired records automatically. This should be '
-                'greater than expiration_time and all cache_time '
-                'options'
-            ),
-        ),
-        # NOTE(morganfainberg): It is recommended that either Redis or
-        # Memcached are used as the dogpile backend for real workloads. To
-        # prevent issues with the memory cache ending up in "production"
-        # unintentionally, we register a no-op as the default caching backend.
-        cfg.StrOpt(
-            'backend',
-            default=_DEFAULT_BACKEND,
-            choices=[
-                'oslo_cache.memcache_pool',
-                'oslo_cache.dict',
-                'oslo_cache.etcd3gw',
-                'dogpile.cache.pymemcache',
-                'dogpile.cache.memcached',
-                'dogpile.cache.pylibmc',
-                'dogpile.cache.bmemcached',
-                'dogpile.cache.dbm',
-                'dogpile.cache.redis',
-                'dogpile.cache.redis_sentinel',
-                'dogpile.cache.memory',
-                'dogpile.cache.memory_pickle',
-                'dogpile.cache.null',
-            ],
-            help=(
-                'Cache backend module. For eventlet-based or '
-                'environments with hundreds of threaded servers, Memcache '
-                'with pooling (oslo_cache.memcache_pool) is recommended. '
-                'For environments with less than 100 threaded servers, '
-                'Memcached (dogpile.cache.memcached) or Redis '
-                '(dogpile.cache.redis) is recommended. Test environments '
-                'with a single instance of the server can use the '
-                'dogpile.cache.memory backend.'
-            ),
-        ),
-        cfg.MultiStrOpt(
-            'backend_argument',
-            default=[],
-            secret=True,
-            help=(
-                'Arguments supplied to the backend module. '
-                'Specify this option once per argument to be '
-                'passed to the dogpile.cache backend. Example '
-                'format: "<argname>:<value>".'
-            ),
-        ),
-        cfg.ListOpt(
-            'proxies',
-            default=[],
-            help=(
-                'Proxy classes to import that will affect the way '
-                'the dogpile.cache backend functions. See the '
-                'dogpile.cache documentation on '
-                'changing-backend-behavior.'
-            ),
-        ),
-        cfg.BoolOpt(
-            'enabled', default=False, help='Global toggle for caching.'
-        ),
-        cfg.BoolOpt(
-            'debug_cache_backend',
-            default=False,
-            help=(
-                'Extra debugging from the cache backend (cache '
-                'keys, get/set/delete/etc calls). This is only '
-                'really useful if you need to see the specific '
-                'cache-backend get/set/delete calls with the '
-                'keys/values.  Typically this should be left set '
-                'to false.'
-            ),
-        ),
-        cfg.ListOpt(
-            'memcache_servers',
-            default=['localhost:11211'],
-            help=(
-                'Memcache servers in the format of "host:port". '
-                'This is used by backends dependent on Memcached.'
-                'If ``dogpile.cache.memcached`` or '
-                '``oslo_cache.memcache_pool`` is used and a given '
-                'host refer to an IPv6 or a given domain refer to '
-                'IPv6 then you should prefix the given address with '
-                'the address family (``inet6``) '
-                '(e.g ``inet6:[::1]:11211``, '
-                '``inet6:[fd12:3456:789a:1::1]:11211``, '
-                '``inet6:[controller-0.internalapi]:11211``). '
-                'If the address family is not given then these '
-                'backends will use the default ``inet`` address '
-                'family which corresponds to IPv4'
-            ),
-        ),
-        cfg.IntOpt(
-            'memcache_dead_retry',
-            default=5 * 60,
-            help=(
-                'Number of seconds memcached server is considered dead '
-                'before it is tried again. (dogpile.cache.memcache and '
-                'oslo_cache.memcache_pool backends only).'
-            ),
-        ),
-        cfg.IntOpt(
-            'memcache_pool_maxsize',
-            default=10,
-            help=(
-                'Max total number of open connections to every '
-                'memcached server. (oslo_cache.memcache_pool backend '
-                'only).'
-            ),
-        ),
-        cfg.IntOpt(
-            'memcache_pool_unused_timeout',
-            default=60,
-            help=(
-                'Number of seconds a connection to memcached is held '
-                'unused in the pool before it is closed. '
-                '(oslo_cache.memcache_pool backend only).'
-            ),
-        ),
-        cfg.IntOpt(
-            'memcache_pool_connection_get_timeout',
-            default=10,
-            help=(
-                'Number of seconds that an operation will wait to get '
-                'a memcache client connection.'
-            ),
-        ),
-        cfg.BoolOpt(
-            'memcache_pool_flush_on_reconnect',
-            default=False,
-            help=(
-                'Global toggle if memcache will be flushed '
-                'on reconnect. '
-                '(oslo_cache.memcache_pool backend only).'
-            ),
-        ),
-        cfg.BoolOpt(
-            'memcache_sasl_enabled',
-            default=False,
-            help=(
-                'Enable the SASL(Simple Authentication and Security'
-                'Layer) if the SASL_enable is true, else disable.'
-            ),
-        ),
-        cfg.StrOpt(
-            'redis_server',
-            default='localhost:6379',
-            help='Redis server in the format of "host:port"',
-        ),
-        cfg.IntOpt(
-            'redis_db', default=0, min=0, help='Database id in Redis server'
-        ),
-        cfg.ListOpt(
-            'redis_sentinels',
-            default=['localhost:26379'],
-            help='Redis sentinel servers in the format of "host:port"',
-        ),
-        cfg.StrOpt(
-            'redis_sentinel_service_name',
-            default='mymaster',
-            help='Service name of the redis sentinel cluster.',
-        ),
-        cfg.StrOpt(
-            'username',
-            help='the user name for authentication to backend.',
-            deprecated_opts=[
-                cfg.DeprecatedOpt('memcache_username', group='cache'),
-                cfg.DeprecatedOpt('redis_username', group='cache'),
-            ],
-        ),
-        cfg.StrOpt(
-            'password',
-            secret=True,
-            help='the password for authentication to backend.',
-            deprecated_opts=[
-                cfg.DeprecatedOpt('memcache_password', group='cache'),
-                cfg.DeprecatedOpt('redis_password', group='cache'),
-            ],
-        ),
-        cfg.BoolOpt(
-            'tls_enabled',
-            default=False,
-            help=(
-                'Global toggle for TLS usage when communicating with'
-                ' the caching servers.'
-                + _supported_backends_msg(
-                    [
-                        'dogpile.cache.bmemcache',
-                        'dogpile.cache.pymemcache',
-                        'oslo_cache.memcache_pool',
-                        'dogpile.cache.redis',
-                        'dogpile.cache.redis_sentinel',
-                    ]
-                )
-            ),
-        ),
-        cfg.StrOpt(
-            'tls_cafile',
-            default=None,
-            help=(
-                'Path to a file of concatenated CA certificates in PEM '
-                'format necessary to establish the caching servers\' '
-                'authenticity. If tls_enabled is False, this option is '
-                'ignored.'
-            ),
-        ),
-        cfg.StrOpt(
-            'tls_certfile',
-            default=None,
-            help=(
-                'Path to a single file in PEM format containing the '
-                'client\'s certificate as well as any number of CA '
-                'certificates needed to establish the certificate\'s '
-                'authenticity. This file is only required when client side '
-                'authentication is necessary. If tls_enabled is False, '
-                'this option is ignored.'
-            ),
-        ),
-        cfg.StrOpt(
-            'tls_keyfile',
-            default=None,
-            help=(
-                'Path to a single file containing the client\'s '
-                'private key in. Otherwise the private key will be taken '
-                'from the file specified in tls_certfile. If tls_enabled '
-                'is False, this option is ignored.'
-            ),
-        ),
-        cfg.StrOpt(
-            'tls_allowed_ciphers',
-            default=None,
-            help=(
-                'Set the available ciphers for sockets created with '
-                'the TLS context. It should be a string in the OpenSSL '
-                'cipher list format. If not specified, all OpenSSL enabled '
-                'ciphers will be available. '
-                + _supported_backends_msg(
-                    [
-                        'dogpile.cache.bmemcache',
-                        'dogpile.cache.pymemcache',
-                        'oslo_cache.memcache_pool',
-                        'dogpile.cache.redis',
-                        'dogpile.cache.redis_sentinel',
-                    ]
-                )
-            ),
-        ),
-        cfg.FloatOpt(
-            'socket_timeout',
-            default=1.0,
-            deprecated_opts=[
-                cfg.DeprecatedOpt('memcache_socket_timeout', group='cache'),
-                cfg.DeprecatedOpt('redis_socket_timeout', group='cache'),
-            ],
-            help=(
-                'Timeout in seconds for every call to a server. '
-                + _supported_backends_msg(
-                    [
-                        'dogpile.cache.memcache',
-                        'oslo_cache.memcache_pool',
-                        'dogpile.cache.redis',
-                        'dogpile.cache.redis_sentinel',
-                    ]
-                )
-            ),
-        ),
-        cfg.BoolOpt(
-            'enable_socket_keepalive',
-            default=False,
-            help=(
-                "Global toggle for the socket keepalive of "
-                "dogpile's pymemcache backend"
-            ),
-        ),
-        cfg.IntOpt(
-            'socket_keepalive_idle',
-            default=1,
-            min=0,
-            help=(
-                'The time (in seconds) the connection needs to '
-                'remain idle before TCP starts sending keepalive probes. '
-                'Should be a positive integer most greater than zero.'
-            ),
-        ),
-        cfg.IntOpt(
-            'socket_keepalive_interval',
-            default=1,
-            min=0,
-            help=(
-                'The time (in seconds) between individual keepalive '
-                'probes. Should be a positive integer greater '
-                'than zero.'
-            ),
-        ),
-        cfg.IntOpt(
-            'socket_keepalive_count',
-            default=1,
-            min=0,
-            help=(
-                'The maximum number of keepalive probes TCP should '
-                'send before dropping the connection. Should be a '
-                'positive integer greater than zero.'
-            ),
-        ),
-        cfg.BoolOpt(
-            'enable_retry_client',
-            default=False,
-            help=(
-                'Enable retry client mechanisms to handle failure. '
-                'Those mechanisms can be used to wrap all kind of pymemcache '
-                'clients. The wrapper allows you to define how many attempts '
-                'to make and how long to wait between attempts.'
-            ),
-        ),
-        cfg.IntOpt(
-            'retry_attempts',
-            min=1,
-            default=2,
-            help='Number of times to attempt an action before failing.',
-        ),
-        cfg.FloatOpt(
-            'retry_delay',
-            default=0,
-            help='Number of seconds to sleep between each attempt.',
-        ),
-        cfg.IntOpt(
-            'hashclient_retry_attempts',
-            min=1,
-            default=2,
-            help=(
-                'Amount of times a client should be tried '
-                'before it is marked dead and removed from the pool in '
-                'the HashClient\'s internal mechanisms.'
-            ),
-        ),
-        cfg.FloatOpt(
-            'hashclient_retry_timeout',
-            deprecated_name='hashclient_retry_delay',
-            default=1,
-            help=(
-                'Time in seconds that should pass between '
-                'retry attempts in the HashClient\'s internal mechanisms.'
-            ),
-        ),
-        cfg.FloatOpt(
-            'hashclient_dead_timeout',
-            deprecated_name='dead_timeout',
-            default=60,
-            help=(
-                'Time in seconds before attempting to add a node '
-                'back in the pool in the HashClient\'s internal mechanisms.'
-            ),
+OPTS = [
+    cfg.StrOpt(
+        'config_prefix',
+        default='cache.oslo',
+        help=(
+            'Prefix for building the configuration dictionary '
+            'for the cache region. This should not need to be '
+            'changed unless there is another dogpile.cache '
+            'region with the same configuration name.'
+        ),
+    ),
+    cfg.IntOpt(
+        'expiration_time',
+        default=600,
+        min=1,
+        help=(
+            'Default TTL, in seconds, for any cached item in '
+            'the dogpile.cache region. This applies to any '
+            'cached method that doesn\'t have an explicit '
+            'cache expiration time defined for it.'
+        ),
+    ),
+    cfg.IntOpt(
+        'backend_expiration_time',
+        min=1,
+        help=(
+            'Expiration time in cache backend to purge '
+            'expired records automatically. This should be '
+            'greater than expiration_time and all cache_time '
+            'options'
+        ),
+    ),
+    # NOTE(morganfainberg): It is recommended that either Redis or
+    # Memcached are used as the dogpile backend for real workloads. To
+    # prevent issues with the memory cache ending up in "production"
+    # unintentionally, we register a no-op as the default caching backend.
+    cfg.StrOpt(
+        'backend',
+        default=_DEFAULT_BACKEND,
+        choices=[
+            'oslo_cache.memcache_pool',
+            'oslo_cache.dict',
+            'oslo_cache.etcd3gw',
+            'dogpile.cache.pymemcache',
+            'dogpile.cache.memcached',
+            'dogpile.cache.pylibmc',
+            'dogpile.cache.bmemcached',
+            'dogpile.cache.dbm',
+            'dogpile.cache.redis',
+            'dogpile.cache.redis_sentinel',
+            'dogpile.cache.memory',
+            'dogpile.cache.memory_pickle',
+            'dogpile.cache.null',
+        ],
+        help=(
+            'Cache backend module. For eventlet-based or '
+            'environments with hundreds of threaded servers, Memcache '
+            'with pooling (oslo_cache.memcache_pool) is recommended. '
+            'For environments with less than 100 threaded servers, '
+            'Memcached (dogpile.cache.memcached) or Redis '
+            '(dogpile.cache.redis) is recommended. Test environments '
+            'with a single instance of the server can use the '
+            'dogpile.cache.memory backend.'
+        ),
+    ),
+    cfg.MultiStrOpt(
+        'backend_argument',
+        default=[],
+        secret=True,
+        help=(
+            'Arguments supplied to the backend module. '
+            'Specify this option once per argument to be '
+            'passed to the dogpile.cache backend. Example '
+            'format: "<argname>:<value>".'
+        ),
+    ),
+    cfg.ListOpt(
+        'proxies',
+        default=[],
+        help=(
+            'Proxy classes to import that will affect the way '
+            'the dogpile.cache backend functions. See the '
+            'dogpile.cache documentation on '
+            'changing-backend-behavior.'
+        ),
+    ),
+    cfg.BoolOpt('enabled', default=False, help='Global toggle for caching.'),
+    cfg.BoolOpt(
+        'debug_cache_backend',
+        default=False,
+        help=(
+            'Extra debugging from the cache backend (cache '
+            'keys, get/set/delete/etc calls). This is only '
+            'really useful if you need to see the specific '
+            'cache-backend get/set/delete calls with the '
+            'keys/values.  Typically this should be left set '
+            'to false.'
+        ),
+    ),
+    cfg.ListOpt(
+        'memcache_servers',
+        default=['localhost:11211'],
+        help=(
+            'Memcache servers in the format of "host:port". '
+            'This is used by backends dependent on Memcached.'
+            'If ``dogpile.cache.memcached`` or '
+            '``oslo_cache.memcache_pool`` is used and a given '
+            'host refer to an IPv6 or a given domain refer to '
+            'IPv6 then you should prefix the given address with '
+            'the address family (``inet6``) '
+            '(e.g ``inet6:[::1]:11211``, '
+            '``inet6:[fd12:3456:789a:1::1]:11211``, '
+            '``inet6:[controller-0.internalapi]:11211``). '
+            'If the address family is not given then these '
+            'backends will use the default ``inet`` address '
+            'family which corresponds to IPv4'
+        ),
+    ),
+    cfg.IntOpt(
+        'memcache_dead_retry',
+        default=5 * 60,
+        help=(
+            'Number of seconds memcached server is considered dead '
+            'before it is tried again. (dogpile.cache.memcache and '
+            'oslo_cache.memcache_pool backends only).'
+        ),
+    ),
+    cfg.IntOpt(
+        'memcache_pool_maxsize',
+        default=10,
+        help=(
+            'Max total number of open connections to every '
+            'memcached server. (oslo_cache.memcache_pool backend '
+            'only).'
+        ),
+    ),
+    cfg.IntOpt(
+        'memcache_pool_unused_timeout',
+        default=60,
+        help=(
+            'Number of seconds a connection to memcached is held '
+            'unused in the pool before it is closed. '
+            '(oslo_cache.memcache_pool backend only).'
+        ),
+    ),
+    cfg.IntOpt(
+        'memcache_pool_connection_get_timeout',
+        default=10,
+        help=(
+            'Number of seconds that an operation will wait to get '
+            'a memcache client connection.'
+        ),
+    ),
+    cfg.BoolOpt(
+        'memcache_pool_flush_on_reconnect',
+        default=False,
+        help=(
+            'Global toggle if memcache will be flushed '
+            'on reconnect. '
+            '(oslo_cache.memcache_pool backend only).'
+        ),
+    ),
+    cfg.BoolOpt(
+        'memcache_sasl_enabled',
+        default=False,
+        help=(
+            'Enable the SASL(Simple Authentication and Security'
+            'Layer) if the SASL_enable is true, else disable.'
+        ),
+    ),
+    cfg.StrOpt(
+        'redis_server',
+        default='localhost:6379',
+        help='Redis server in the format of "host:port"',
+    ),
+    cfg.IntOpt(
+        'redis_db', default=0, min=0, help='Database id in Redis server'
+    ),
+    cfg.ListOpt(
+        'redis_sentinels',
+        default=['localhost:26379'],
+        help='Redis sentinel servers in the format of "host:port"',
+    ),
+    cfg.StrOpt(
+        'redis_sentinel_service_name',
+        default='mymaster',
+        help='Service name of the redis sentinel cluster.',
+    ),
+    cfg.StrOpt(
+        'username',
+        help='the user name for authentication to backend.',
+        deprecated_opts=[
+            cfg.DeprecatedOpt('memcache_username', group='cache'),
+            cfg.DeprecatedOpt('redis_username', group='cache'),
+        ],
+    ),
+    cfg.StrOpt(
+        'password',
+        secret=True,
+        help='the password for authentication to backend.',
+        deprecated_opts=[
+            cfg.DeprecatedOpt('memcache_password', group='cache'),
+            cfg.DeprecatedOpt('redis_password', group='cache'),
+        ],
+    ),
+    cfg.BoolOpt(
+        'tls_enabled',
+        default=False,
+        help=(
+            'Global toggle for TLS usage when communicating with'
+            ' the caching servers.'
+            + _supported_backends_msg(
+                [
+                    'dogpile.cache.bmemcache',
+                    'dogpile.cache.pymemcache',
+                    'oslo_cache.memcache_pool',
+                    'dogpile.cache.redis',
+                    'dogpile.cache.redis_sentinel',
+                ]
+            )
+        ),
+    ),
+    cfg.StrOpt(
+        'tls_cafile',
+        default=None,
+        help=(
+            'Path to a file of concatenated CA certificates in PEM '
+            'format necessary to establish the caching servers\' '
+            'authenticity. If tls_enabled is False, this option is '
+            'ignored.'
+        ),
+    ),
+    cfg.StrOpt(
+        'tls_certfile',
+        default=None,
+        help=(
+            'Path to a single file in PEM format containing the '
+            'client\'s certificate as well as any number of CA '
+            'certificates needed to establish the certificate\'s '
+            'authenticity. This file is only required when client side '
+            'authentication is necessary. If tls_enabled is False, '
+            'this option is ignored.'
+        ),
+    ),
+    cfg.StrOpt(
+        'tls_keyfile',
+        default=None,
+        help=(
+            'Path to a single file containing the client\'s '
+            'private key in. Otherwise the private key will be taken '
+            'from the file specified in tls_certfile. If tls_enabled '
+            'is False, this option is ignored.'
+        ),
+    ),
+    cfg.StrOpt(
+        'tls_allowed_ciphers',
+        default=None,
+        help=(
+            'Set the available ciphers for sockets created with '
+            'the TLS context. It should be a string in the OpenSSL '
+            'cipher list format. If not specified, all OpenSSL enabled '
+            'ciphers will be available. '
+            + _supported_backends_msg(
+                [
+                    'dogpile.cache.bmemcache',
+                    'dogpile.cache.pymemcache',
+                    'oslo_cache.memcache_pool',
+                    'dogpile.cache.redis',
+                    'dogpile.cache.redis_sentinel',
+                ]
+            )
+        ),
+    ),
+    cfg.FloatOpt(
+        'socket_timeout',
+        default=1.0,
+        deprecated_opts=[
+            cfg.DeprecatedOpt('memcache_socket_timeout', group='cache'),
+            cfg.DeprecatedOpt('redis_socket_timeout', group='cache'),
+        ],
+        help=(
+            'Timeout in seconds for every call to a server. '
+            + _supported_backends_msg(
+                [
+                    'dogpile.cache.memcache',
+                    'oslo_cache.memcache_pool',
+                    'dogpile.cache.redis',
+                    'dogpile.cache.redis_sentinel',
+                ]
+            )
+        ),
+    ),
+    cfg.BoolOpt(
+        'enable_socket_keepalive',
+        default=False,
+        help=(
+            "Global toggle for the socket keepalive of "
+            "dogpile's pymemcache backend"
+        ),
+    ),
+    cfg.IntOpt(
+        'socket_keepalive_idle',
+        default=1,
+        min=0,
+        help=(
+            'The time (in seconds) the connection needs to '
+            'remain idle before TCP starts sending keepalive probes. '
+            'Should be a positive integer most greater than zero.'
+        ),
+    ),
+    cfg.IntOpt(
+        'socket_keepalive_interval',
+        default=1,
+        min=0,
+        help=(
+            'The time (in seconds) between individual keepalive '
+            'probes. Should be a positive integer greater '
+            'than zero.'
+        ),
+    ),
+    cfg.IntOpt(
+        'socket_keepalive_count',
+        default=1,
+        min=0,
+        help=(
+            'The maximum number of keepalive probes TCP should '
+            'send before dropping the connection. Should be a '
+            'positive integer greater than zero.'
+        ),
+    ),
+    cfg.BoolOpt(
+        'enable_retry_client',
+        default=False,
+        help=(
+            'Enable retry client mechanisms to handle failure. '
+            'Those mechanisms can be used to wrap all kind of pymemcache '
+            'clients. The wrapper allows you to define how many attempts '
+            'to make and how long to wait between attempts.'
+        ),
+    ),
+    cfg.IntOpt(
+        'retry_attempts',
+        min=1,
+        default=2,
+        help='Number of times to attempt an action before failing.',
+    ),
+    cfg.FloatOpt(
+        'retry_delay',
+        default=0,
+        help='Number of seconds to sleep between each attempt.',
+    ),
+    cfg.IntOpt(
+        'hashclient_retry_attempts',
+        min=1,
+        default=2,
+        help=(
+            'Amount of times a client should be tried '
+            'before it is marked dead and removed from the pool in '
+            'the HashClient\'s internal mechanisms.'
+        ),
+    ),
+    cfg.FloatOpt(
+        'hashclient_retry_timeout',
+        deprecated_name='hashclient_retry_delay',
+        default=1,
+        help=(
+            'Time in seconds that should pass between '
+            'retry attempts in the HashClient\'s internal mechanisms.'
+        ),
+    ),
+    cfg.FloatOpt(
+        'hashclient_dead_timeout',
+        deprecated_name='dead_timeout',
+        default=60,
+        help=(
+            'Time in seconds before attempting to add a node '
+            'back in the pool in the HashClient\'s internal mechanisms.'
         ),
-    ],
-}
+    ),
+]
 
 
 def configure(conf: cfg.ConfigOpts) -> None:
-    for section in FILE_OPTIONS:
-        for option in FILE_OPTIONS[section]:
-            conf.register_opt(option, group=section)
+    conf.register_opts(OPTS, 'cache')
 
 
 def set_defaults(
@@ -437,10 +431,10 @@
         ``flush_on_reconnect`` flag. By default deactivated
     :type memcache_pool_flush_on_reconnect: bool
     """
-    conf.register_opt(FILE_OPTIONS, group='cache')
+    conf.register_opt(OPTS, group='cache')
 
     cfg.set_defaults(
-        FILE_OPTIONS,
+        OPTS,
         memcache_pool_flush_on_reconnect=memcache_pool_flush_on_reconnect,
     )
 
@@ -449,7 +443,7 @@
     """Return a list of oslo_config options.
 
     The returned list includes all oslo_config options which are registered as
-    the "FILE_OPTIONS".
+    the "OPTS".
 
     Each object in the list is a two element tuple. The first element of
     each tuple is the name of the group under which the list of options in the
@@ -464,4 +458,4 @@
 
     :returns: a list of (group_name, opts) tuples
     """
-    return list(FILE_OPTIONS.items())
+    return [('cache', OPTS)]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo_cache-4.2.0/oslo_cache/version.py 
new/oslo_cache-4.3.0/oslo_cache/version.py
--- old/oslo_cache-4.2.0/oslo_cache/version.py  2026-05-20 11:00:49.000000000 
+0200
+++ new/oslo_cache-4.3.0/oslo_cache/version.py  2026-07-10 15:51:48.000000000 
+0200
@@ -12,7 +12,14 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
+import warnings
 
 import pbr.version
 
+warnings.warn(
+    f'The {__name__} module is deprecated. Prefer use of importlib.metadata '
+    f'to inspect version information for packages.',
+    DeprecationWarning,
+)
+
 version_info = pbr.version.VersionInfo('oslo.cache')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo_cache-4.2.0/pyproject.toml 
new/oslo_cache-4.3.0/pyproject.toml
--- old/oslo_cache-4.2.0/pyproject.toml 2026-05-20 11:00:49.000000000 +0200
+++ new/oslo_cache-4.3.0/pyproject.toml 2026-07-10 15:51:48.000000000 +0200
@@ -53,7 +53,7 @@
 include = ["oslo_cache"]
 
 [tool.mypy]
-python_version = "3.10"
+python_version = "3.11"
 show_column_numbers = true
 show_error_context = true
 strict = true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/oslo_cache-4.2.0/releasenotes/notes/deprecate-version-module-93279ea5f2cd6bac.yaml
 
new/oslo_cache-4.3.0/releasenotes/notes/deprecate-version-module-93279ea5f2cd6bac.yaml
--- 
old/oslo_cache-4.2.0/releasenotes/notes/deprecate-version-module-93279ea5f2cd6bac.yaml
      1970-01-01 01:00:00.000000000 +0100
+++ 
new/oslo_cache-4.3.0/releasenotes/notes/deprecate-version-module-93279ea5f2cd6bac.yaml
      2026-07-10 15:51:48.000000000 +0200
@@ -0,0 +1,6 @@
+---
+deprecations:
+  - |
+    The ``oslo_cache.version`` module and associated objects has been 
deprecated
+    for removal. Prefer use of ``importlib.metadata`` to inspect version
+    information for installed packages.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oslo_cache-4.2.0/tox.ini new/oslo_cache-4.3.0/tox.ini
--- old/oslo_cache-4.2.0/tox.ini        2026-05-20 11:00:49.000000000 +0200
+++ new/oslo_cache-4.3.0/tox.ini        2026-07-10 15:51:48.000000000 +0200
@@ -53,6 +53,7 @@
   sphinx-build -W --keep-going -b html doc/source doc/build/html
 
 [testenv:releasenotes]
+skip_install = true
 allowlist_externals =
   rm
 deps = {[testenv:docs]deps}

Reply via email to