[Bug]: Issue Installing Salt Minion 3006.27 (Python 3) on Azure VM - salt-call Failure

未关闭
#70,764 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 3 天内回复

@twangboy 已经在做这个了。

开始于 2026年11月12日。

  • #70782 来自 @twangboy —— 未关闭

评估

难度
3/5
预计耗时
1-2 天
新手友好度
53/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
活跃
技术栈
azure, python

调研方向

Start with salt/syspaths.py and salt/utils/win_reg.py, where the traceback reaches the Windows registry lookup and reports missing pywin32; inspect the Windows packaging dependencies for the official exe. Reproduce with the Salt Minion 3006.27 Python 3 installer on Windows Server 2019, then verify salt-call test.ping and salt-minion --versions-report run successfully.

由索引模型根据 Issue 内容生成。

描述

bug
What happened?

We are attempting to install Salt Minion 3006.27 (Python 3) on an Azure VM. However, the installation is not completing successfully because the salt-call command is failing with an error during the setup process.

The VM previously had Salt Minion 3005 installed. As part of the upgrade, we uninstalled the existing version and performed a fresh installation of Salt Minion 3006.27. We have also ruled out potential interference from security software by uninstalling CrowdStrike Antivirus, but the issue persists.

The same Salt Minion package has been successfully installed on other VMs that are connected to the same Salt Master, and those systems are functioning as expected.

Could you please assist in reviewing the issue and help identify the root cause of the salt-call failure?

C:\salt\salt-call.exe : Traceback (most recent call last):
At line:1 char:1
+ C:\salt\salt-call.exe test.ping
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (Traceback (most recent call last)::String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\salt\salt-call.exe\__main__.py", line 6, in <module>
  File "C:\salt\Lib\site-packages\salt\scripts.py", line 459, in salt_call
    import salt.cli.call
  File "C:\salt\Lib\site-packages\salt\cli\call.py", line 4, in <module>
    import salt.cli.caller
  File "C:\salt\Lib\site-packages\salt\cli\caller.py", line 12, in <module>
    import salt.channel.client
  File "C:\salt\Lib\site-packages\salt\channel\client.py", line 12, in <module>
    import salt.crypt
  File "C:\salt\Lib\site-packages\salt\crypt.py", line 31, in <module>
    import salt.utils.event
  File "C:\salt\Lib\site-packages\salt\utils\event.py", line 66, in <module>
    import salt.config
  File "C:\salt\Lib\site-packages\salt\config\__init__.py", line 20, in <module>
    import salt.syspaths
  File "C:\salt\Lib\site-packages\salt\syspaths.py", line 128, in <module>
    ROOT_DIR = _get_windows_root_dir()
               ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\salt\Lib\site-packages\salt\syspaths.py", line 99, in _get_windows_root_dir
    root_dir = salt.utils.win_reg.read_value(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\salt\Lib\site-packages\salt\utils\win_reg.py", line 540, in read_value
    registry = Registry()
               ^^^^^^^^^^
  File "C:\salt\Lib\site-packages\salt\utils\win_reg.py", line 102, in __init__
    raise CommandExecutionError(
salt.exceptions.CommandExecutionError: Registry functionality requires 'pywin32' to be installed.
[ERROR   ] An un-handled exception was caught by Salt's global exception handler:
CommandExecutionError: Registry functionality requires 'pywin32' to be installed.
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\salt\salt-call.exe\__main__.py", line 6, in <module>
    sys.exit(salt_call())
             ^^^^^^^^^^^
  File "C:\salt\Lib\site-packages\salt\scripts.py", line 459, in salt_call
    import salt.cli.call
  File "C:\salt\Lib\site-packages\salt\cli\call.py", line 4, in <module>
    import salt.cli.caller
  File "C:\salt\Lib\site-packages\salt\cli\caller.py", line 12, in <module>
    import salt.channel.client
  File "C:\salt\Lib\site-packages\salt\channel\client.py", line 12, in <module>
    import salt.crypt
  File "C:\salt\Lib\site-packages\salt\crypt.py", line 31, in <module>
    import salt.utils.event
  File "C:\salt\Lib\site-packages\salt\utils\event.py", line 66, in <module>
    import salt.config
  File "C:\salt\Lib\site-packages\salt\config\__init__.py", line 20, in <module>
    import salt.syspaths
  File "C:\salt\Lib\site-packages\salt\syspaths.py", line 128, in <module>
    ROOT_DIR = _get_windows_root_dir()
               ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\salt\Lib\site-packages\salt\syspaths.py", line 99, in _get_windows_root_dir
    root_dir = salt.utils.win_reg.read_value(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\salt\Lib\site-packages\salt\utils\win_reg.py", line 540, in read_value
    registry = Registry()
               ^^^^^^^^^^
  File "C:\salt\Lib\site-packages\salt\utils\win_reg.py", line 102, in __init__
    raise CommandExecutionError(
salt.exceptions.CommandExecutionError: Registry functionality requires 'pywin32' to be installed.
Type of salt install

Official exe

Major version

3006.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-2019

salt --versions-report output
PS C:\salt> .\salt-minion.exe --versions-report
.\salt-minion.exe : Traceback (most recent call last):
At line:1 char:1
+ .\salt-minion.exe --versions-report
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (Traceback (most recent call last)::String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError
 
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\salt\salt-minion.exe\__main__.py", line 6, in <module>
  File "C:\salt\Lib\site-packages\salt\scripts.py", line 175, in salt_minion
    import salt.cli.daemons
  File "C:\salt\Lib\site-packages\salt\cli\daemons.py", line 11, in <module>
    from salt.utils import migrations
  File "C:\salt\Lib\site-packages\salt\utils\migrations.py", line 8, in <module>
    import salt.syspaths as syspaths
  File "C:\salt\Lib\site-packages\salt\syspaths.py", line 128, in <module>
    ROOT_DIR = _get_windows_root_dir()
               ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\salt\Lib\site-packages\salt\syspaths.py", line 99, in _get_windows_root_dir
    root_dir = salt.utils.win_reg.read_value(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\salt\Lib\site-packages\salt\utils\win_reg.py", line 540, in read_value
    registry = Registry()
               ^^^^^^^^^^
  File "C:\salt\Lib\site-packages\salt\utils\win_reg.py", line 102, in __init__
    raise CommandExecutionError(
salt.exceptions.CommandExecutionError: Registry functionality requires 'pywin32' to be installed.
[ERROR   ] An un-handled exception was caught by Salt's global exception handler:
CommandExecutionError: Registry functionality requires 'pywin32' to be installed.
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\salt\salt-minion.exe\__main__.py", line 6, in <module>
    sys.exit(salt_minion())
             ^^^^^^^^^^^^^
  File "C:\salt\Lib\site-packages\salt\scripts.py", line 175, in salt_minion
    import salt.cli.daemons
  File "C:\salt\Lib\site-packages\salt\cli\daemons.py", line 11, in <module>
    from salt.utils import migrations
  File "C:\salt\Lib\site-packages\salt\utils\migrations.py", line 8, in <module>
    import salt.syspaths as syspaths
  File "C:\salt\Lib\site-packages\salt\syspaths.py", line 128, in <module>
    ROOT_DIR = _get_windows_root_dir()
               ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\salt\Lib\site-packages\salt\syspaths.py", line 99, in _get_windows_root_dir
    root_dir = salt.utils.win_reg.read_value(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\salt\Lib\site-packages\salt\utils\win_reg.py", line 540, in read_value
    registry = Registry()
               ^^^^^^^^^^
  File "C:\salt\Lib\site-packages\salt\utils\win_reg.py", line 102, in __init__
    raise CommandExecutionError(
salt.exceptions.CommandExecutionError: Registry functionality requires 'pywin32' to be installed.
主要语言
Python
星标
15.8k
派生
5.6k
平均合并
5 天 9 小时
30 天内合并 PR
99

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

saltstack/salt 的其他 Issue

查看 saltstack/salt 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。