有一个我自己写的 SLS 文件。安装按预期工作,放置小兵的应用程序按预期返回所有内容。但是当我尝试使用 remove 方法删除同一个应用程序时,minion 会返回错误。
[错误] salt 的全局异常处理程序捕获了一个未处理的异常: KeyError: '8.3.10.2667' Traceback (last recent call last): File "C:\salt\bin\Scripts\salt-call",第 11 行,在 salt_call() 文件“C:\salt\bin\lib\site-packages\salt\scripts.py”中,第 400 行,在 salt_call client.run() 文件中“C:\salt\bin\lib\site-packages \salt\cli\call.py”,第 57 行,运行 caller.run() 文件“C:\salt\bin\lib\site-packages\salt\cli\caller.py”,第 134 行,运行 ret = self.call() 文件“C:\salt\bin\lib\site-packages\salt\cli\caller.py”,第 212 行,调用 ret['return'] = func(*args, **kwargs ) 文件 "C:\salt\bin\lib\site-packages\salt\modules\win_pkg.py",第 1638 行,删除 # 获取卸载程序 KeyError: '8.3.10.2667'回溯(最近一次调用最后):文件“C:\salt\bin\Scripts\salt-call”,第 11 行,在 salt_call() 文件“C:\salt\bin\lib\site-packages\salt\scripts. py”,第 400 行,salt_call client.run() 文件“C:\salt\bin\lib\site-packages\salt\cli\call.py”,第 57 行,运行 caller.run() 文件“C :\salt\bin\lib\site-packages\salt\cli\caller.py",第 134 行,运行中 ret = self.call() 文件 "C:\salt\bin\lib\site-packages\salt\ cli\caller.py”,第 212 行,调用 ret['return'] = func(*args, **kwargs) 文件“C:\salt\bin\lib\site-packages\salt\modules\win_pkg.py ",第 1638 行,删除 # 获取卸载程序 KeyError: '8.3.10.2667'\salt\bin\lib\site-packages\salt\scripts.py”,第 400 行,在 salt_call client.run() 文件“C:\salt\bin\lib\site-packages\salt\cli\call.py ",第 57 行,在运行 caller.run() 文件中 "C:\salt\bin\lib\site-packages\salt\cli\caller.py",第 134 行,在运行 ret = self.call() 文件中" C:\salt\bin\lib\site-packages\salt\cli\caller.py",第 212 行,调用 ret['return'] = func(*args, **kwargs) 文件“C:\salt\ bin\lib\site-packages\salt\modules\win_pkg.py", line 1638, in remove # Get the uninstaller KeyError: '8.3.10.2667'\salt\bin\lib\site-packages\salt\scripts.py”,第 400 行,在 salt_call client.run() 文件“C:\salt\bin\lib\site-packages\salt\cli\call.py ",第 57 行,在运行 caller.run() 文件中 "C:\salt\bin\lib\site-packages\salt\cli\caller.py",第 134 行,在运行 ret = self.call() 文件中" C:\salt\bin\lib\site-packages\salt\cli\caller.py",第 212 行,调用 ret['return'] = func(*args, **kwargs) 文件“C:\salt\ bin\lib\site-packages\salt\modules\win_pkg.py", line 1638, in remove # Get the uninstaller KeyError: '8.3.10.2667'\salt\bin\lib\site-packages\salt\cli\caller.py",第 212 行,调用 ret['return'] = func(*args, **kwargs) 文件“C:\salt\bin\ lib\site-packages\salt\modules\win_pkg.py", line 1638, in remove # Get the uninstaller KeyError: '8.3.10.2667'\salt\bin\lib\site-packages\salt\cli\caller.py",第 212 行,调用 ret['return'] = func(*args, **kwargs) 文件“C:\salt\bin\ lib\site-packages\salt\modules\win_pkg.py", line 1638, in remove # Get the uninstaller KeyError: '8.3.10.2667'
SLS文件的内容是
1c_32_asb:
'8.3.10.2267':
full_name: '1C:Предприятие 8 (8.3.10.2667)'
installer: '//srv-fs/install/1c/8.3.10.2667/windows/x32/1CEnterprise_8.msi'
install_flags: '/qn /norestart /la d:/loginstall1c.txt TRANSFORMS=1049sph.mst DESIGNERALLCLIENTS=1 THINCLIENTFILE=0 THINCLIENT=0 WEBSERVEREXT=0 SERVER=0 CONFREPOSSERVER=0 CONVERTER77=0 SERVERCLIENT=0 LANGUAGES=RU'
uninstaller: '//srv-fs/install/1c/8.3.10.2667/windows/x32/1CEnterprise_8.msi'
uninstall_flags: '/qn /norestart /la d:/loguninstall1c.txt'
reboot: False
msiexec: True
问题很简单,经过几个小时的调试后发现。SLS 文件中的第二行,即“8.3.10.2267”表示错误的版本应该是“8.3.10.2667”。如果突然出现同样的问题,请更仔细地查看版本。也许这将有助于将来的某人。