saltstack / saltstack/salt

[Bug]: Timezone problems

Open
#69,815 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug needs-triage
Dominant language
Python
Stars
15.7k
Forks
5.6k
Avg merge
2d 44m
Merged PRs (30d)
80

Description

What happened?

Log error on minion:

Unable to obtain correct timezone offset, defaulting to 0000

and salt '*' timezone.get_offset:

The minion function caused an exception: Traceback (most recent call last):
      File "C:\Program Files\Salt Project\Salt\Lib\zoneinfo\_common.py", line 12, in load_tzdata
        path = resources.files(package_name).joinpath(resource_name)
               ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
      File "C:\Program Files\Salt Project\Salt\Lib\importlib\resources\_common.py", line 46, in wrapper
        return func(anchor)
      File "C:\Program Files\Salt Project\Salt\Lib\importlib\resources\_common.py", line 56, in files
        return from_package(resolve(anchor))
                            ~~~~~~~^^^^^^^^
      File "C:\Program Files\Salt Project\Salt\Lib\functools.py", line 982, in wrapper
        return dispatch(args[0].__class__)(*args, **kw)
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
      File "C:\Program Files\Salt Project\Salt\Lib\importlib\resources\_common.py", line 82, in _
        return importlib.import_module(cand)
               ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
      File "C:\Program Files\Salt Project\Salt\Lib\importlib\__init__.py", line 88, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
               ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "<frozen importlib._bootstrap>", line 1406, in _gcd_import
      File "<frozen importlib._bootstrap>", line 1371, in _find_and_load
      File "<frozen importlib._bootstrap>", line 1314, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 491, in _call_with_frames_removed
      File "<frozen importlib._bootstrap>", line 1406, in _gcd_import
      File "<frozen importlib._bootstrap>", line 1371, in _find_and_load
      File "<frozen importlib._bootstrap>", line 1314, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 491, in _call_with_frames_removed
      File "<frozen importlib._bootstrap>", line 1406, in _gcd_import
      File "<frozen importlib._bootstrap>", line 1371, in _find_and_load
      File "<frozen importlib._bootstrap>", line 1335, in _find_and_load_unlocked
    ModuleNotFoundError: No module named 'tzdata'

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "C:\Program Files\Salt Project\Salt\Lib\site-packages\salt\minion.py", line 2962, in _thread_return
        return_data = minion_instance._execute_job_function(
            function_name,
        ...<4 lines>...
            functions=functions_to_use,
        )
      File "C:\Program Files\Salt Project\Salt\Lib\site-packages\salt\minion.py", line 2836, in _execute_job_function
        return_data = self.executors[fname](opts, data, func, args, kwargs)
      File "C:\Program Files\Salt Project\Salt\Lib\site-packages\salt\loader\lazy.py", line 177, in __call__
        ret = self.loader.run(run_func, *args, **kwargs)
      File "C:\Program Files\Salt Project\Salt\Lib\site-packages\salt\loader\lazy.py", line 1480, in run
        return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)
               ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "C:\Program Files\Salt Project\Salt\Lib\site-packages\salt\loader\lazy.py", line 1495, in _run_as
        ret = _func_or_method(*args, **kwargs)
      File "C:\Program Files\Salt Project\Salt\Lib\site-packages\salt\executors\direct_call.py", line 10, in execute
        return func(*args, **kwargs)
      File "C:\Program Files\Salt Project\Salt\Lib\site-packages\salt\loader\lazy.py", line 177, in __call__
        ret = self.loader.run(run_func, *args, **kwargs)
      File "C:\Program Files\Salt Project\Salt\Lib\site-packages\salt\loader\lazy.py", line 1480, in run
        return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)
               ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "C:\Program Files\Salt Project\Salt\Lib\site-packages\salt\loader\lazy.py", line 1495, in _run_as
        ret = _func_or_method(*args, **kwargs)
      File "C:\Program Files\Salt Project\Salt\Lib\site-packages\salt\modules\win_timezone.py", line 239, in get_offset
        tz = ZoneInfo(get_zone())
      File "C:\Program Files\Salt Project\Salt\Lib\zoneinfo\_common.py", line 29, in load_tzdata
        raise ZoneInfoNotFoundError(f"No time zone found with key {key}")
    zoneinfo._common.ZoneInfoNotFoundError: 'No time zone found with key Asia/Vladivostok'

Type of salt install

Official deb

Major version

3007.x

What supported OS are you seeing the problem on? Can select multiple. (If bug appears on an unsupported OS, please open a GitHub Discussion instead)

windows-desktop-10

salt --versions-report output
Salt Version:
          Salt: 3008.2

Python Version:
        Python: 3.14.6 (main, Jun 11 2026, 02:19:05) [GCC 11.2.0]

Dependency Versions:
          cffi: 2.0.0
      cherrypy: 18.10.0
  cryptography: 48.0.0
      dateutil: 2.9.0.post0
     docker-py: Not Installed
         gitdb: 4.0.12
     gitpython: Not Installed
        Jinja2: 3.1.6
       libgit2: Not Installed
  looseversion: 1.3.0
      M2Crypto: Not Installed
          Mako: Not Installed
       msgpack: 1.1.2
  msgpack-pure: Not Installed
  mysql-python: Not Installed
     packaging: 24.0
     pycparser: 3.00
      pycrypto: Not Installed
  pycryptodome: 3.23.0
        pygit2: Not Installed
  python-gnupg: 0.5.6
        PyYAML: 6.0.3
         PyZMQ: 27.1.0
        relenv: 0.22.14
         smmap: 5.0.2
       timelib: 0.3.0
       Tornado: 6.5.7
           ZMQ: 4.3.5

Salt Package Information:
  Package Type: onedir

System Versions:
          dist: debian 13.5 trixie
        locale: utf-8
       machine: x86_64
       release: 6.12.95+deb13-amd64
        system: Linux
       version: Debian GNU/Linux 13.5 trixie

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with salt/modules/win_timezone.py around get_offset and the bundled zoneinfo implementation shown in the traceback. Reproduce salt '*' timezone.get_offset with the reported Asia/Vladivostok timezone, then determine why tzdata is unavailable in this installation. Done means the command returns the correct offset without the exception or fallback warning.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
devops, operating-systems
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.