saltstack / saltstack/salt

Attempt to update win11 finish with error

Open
#65,875 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

Description
Attempt to update win11 finish with error:

[root@tmv2007 ~]# salt 'tml1111*' win_wua.list drivers=True summary=True install=True 
tml1111.minion:
    The minion function caused an exception: Traceback (most recent call last):
      File "C:\Program Files\Salt Project\Salt\lib\site-packages\salt\minion.py", line 1982, in _thread_return
        return_data = minion_instance._execute_job_function(
      File "C:\Program Files\Salt Project\Salt\lib\site-packages\salt\minion.py", line 1941, 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 159, 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 1245, 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 1260, in _run_as
        return _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 159, 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 1245, 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 1260, in _run_as
        return _func_or_method(*args, **kwargs)
      File "C:\Program Files\Salt Project\Salt\Lib\site-packages\salt\modules\win_wua.py", line 541, in list
        ret["Download"] = wua.download(updates)
      File "C:\Program Files\Salt Project\Salt\lib\site-packages\salt\utils\win_update.py", line 691, in download
        ret["Updates"][uid]["AlreadyDownloaded"] = bool(update.IsDownloaded)
      File "C:\Program Files\Salt Project\Salt\lib\site-packages\win32com\client\dynamic.py", line 628, in __getattr__
        ret = self._oleobj_.Invoke(retEntry.dispid, 0, invoke_type, 1)
    pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, None, None, None, 0, -2147024809), None)
ERROR: Minions returned with non-zero exit code
[root@tmv2007 ~]# 
[root@tmv2007 ~]# salt --versions-report
Salt Version:
          Salt: 3006.5
 
Python Version:
        Python: 3.10.13 (main, Nov 15 2023, 04:34:27) [GCC 11.2.0]
 
Dependency Versions:
          cffi: 1.14.6
      cherrypy: unknown
      dateutil: 2.8.1
     docker-py: Not Installed
         gitdb: 4.0.10
     gitpython: 3.1.32
        Jinja2: 3.1.2
       libgit2: Not Installed
  looseversion: 1.0.2
      M2Crypto: Not Installed
          Mako: Not Installed
       msgpack: 1.0.2
  msgpack-pure: Not Installed
  mysql-python: Not Installed
     packaging: 22.0
     pycparser: 2.21
      pycrypto: Not Installed
  pycryptodome: 3.9.8
        pygit2: Not Installed
  python-gnupg: 0.4.8
        PyYAML: 6.0.1
         PyZMQ: 23.2.0
        relenv: 0.14.2
         smmap: 5.0.0
       timelib: 0.2.4
       Tornado: 4.5.3
           ZMQ: 4.3.4
 
System Versions:
          dist: oracle 8.9 n/a
        locale: utf-8
       machine: x86_64
       release: 4.18.0-513.11.0.1.el8_9.x86_64
        system: Linux
       version: Oracle Linux Server 8.9 n/a

[root@tmv2007 ~]# salt 'tml1111*' cmd.run 'salt-call.exe -l debug win_wua.list drivers=True summary=True install=True'
tml1111.minion:
    [DEBUG   ] Reading configuration from C:\ProgramData\Salt Project\Salt\conf\minion
    [DEBUG   ] Including configuration from 'C:\ProgramData\Salt Project\Salt\conf\minion.d\_schedule.conf'
    [DEBUG   ] Reading configuration from C:\ProgramData\Salt Project\Salt\conf\minion.d\_schedule.conf
    [WARNING ] Insecure logging configuration detected! Sensitive data may be logged.
    [DEBUG   ] Configuration file path: C:\ProgramData\Salt Project\Salt\conf\minion
    [DEBUG   ] Grains refresh requested. Refreshing grains.
    [DEBUG   ] Reading configuration from C:\ProgramData\Salt Project\Salt\conf\minion
    [DEBUG   ] Including configuration from 'C:\ProgramData\Salt Project\Salt\conf\minion.d\_schedule.conf'
    [DEBUG   ] Reading configuration from C:\ProgramData\Salt Project\Salt\conf\minion.d\_schedule.conf
    [DEBUG   ] The functions from module 'core' are being loaded by dir() on the loaded module
    [DEBUG   ] The functions from module 'disks' are being loaded by dir() on the loaded module
    [DEBUG   ] The functions from module 'extra' are being loaded by dir() on the loaded module
    [DEBUG   ] The functions from module 'lvm' are being loaded by dir() on the loaded module
    [DEBUG   ] The functions from module 'mdadm' are being loaded by dir() on the loaded module
    [DEBUG   ] The functions from module 'minion_process' are being loaded by dir() on the loaded module
    [DEBUG   ] The functions from module 'opts' are being loaded by dir() on the loaded module
    [DEBUG   ] The functions from module 'pending_reboot' are being loaded by dir() on the loaded module
    [DEBUG   ] Override  __utils__: <module 'salt.loaded.int.grains.zfs' from 'C:\\Program Files\\Salt Project\\Salt\\Lib\\site-packages\\salt\\grains\\zfs.py'>
    [DEBUG   ] Connecting to master. Attempt 1 (infinite attempts)
    [DEBUG   ] "tmv2007.home.net" Not an IP address? Assuming it is a hostname.
    [DEBUG   ] Master URI: tcp://192.168.100.9:4506
    [DEBUG   ] Initializing new AsyncAuth for ('C:\\ProgramData\\Salt Project\\Salt\\conf\\pki\\minion', 'tml1111.minion', 'tcp://192.168.100.9:4506')
    [DEBUG   ] Generated random reconnect delay between '1000ms' and '11000ms' (6951)
    [DEBUG   ] Setting zmq_reconnect_ivl to '6951ms'
    [DEBUG   ] Setting zmq_reconnect_ivl_max to '11000ms'
    [DEBUG   ] salt.crypt.get_rsa_key: Loading private key
    [DEBUG   ] salt.crypt._get_key_with_evict: Loading private key
    [DEBUG   ] Loaded minion key: C:\ProgramData\Salt Project\Salt\conf\pki\minion\minion.pem
    [DEBUG   ] SaltEvent PUB socket URI: 4510
    [DEBUG   ] SaltEvent PULL socket URI: 4511
    [DEBUG   ] salt.crypt.get_rsa_pub_key: Loading public key
    [DEBUG   ] Decrypting the current master AES key
    [DEBUG   ] salt.crypt.get_rsa_key: Loading private key
    [DEBUG   ] Loaded minion key: C:\ProgramData\Salt Project\Salt\conf\pki\minion\minion.pem
    [DEBUG   ] salt.crypt.get_rsa_pub_key: Loading public key
    [DEBUG   ] salt.crypt.verify_signature: Loading public key
    [DEBUG   ] salt.crypt.get_rsa_pub_key: Loading public key
    [DEBUG   ] salt.crypt.verify_signature: Verifying signature
    [DEBUG   ] <salt.crypt.AsyncAuth object at 0x0000022FA82D4820> Got new master aes key.
    [DEBUG   ] Closing AsyncReqChannel instance
    [DEBUG   ] Connecting the Minion to the Master publish port, using the URI: tcp://192.168.100.9:4505
    [DEBUG   ] <salt.transport.zeromq.PublishClient object at 0x0000022FA82D4160> connecting to tcp://192.168.100.9:4505
    [DEBUG   ] Sending event: tag = __master_connected; data = {'master': 'tmv2007.home.net', '_stamp': '2024-01-16T16:20:21.539807'}
    [DEBUG   ] salt.crypt.get_rsa_key: Loading private key
    [DEBUG   ] Loaded minion key: C:\ProgramData\Salt Project\Salt\conf\pki\minion\minion.pem
    [DEBUG   ] Closing IPCMessageClient instance
    [DEBUG   ] Determining pillar cache
    [DEBUG   ] Initializing new AsyncAuth for ('C:\\ProgramData\\Salt Project\\Salt\\conf\\pki\\minion', 'tml1111.minion', 'tcp://192.168.100.9:4506')
    [DEBUG   ] salt.crypt.get_rsa_key: Loading private key
    [DEBUG   ] Loaded minion key: C:\ProgramData\Salt Project\Salt\conf\pki\minion\minion.pem
    [DEBUG   ] salt.crypt.verify_signature: Loading public key
    [DEBUG   ] salt.crypt.get_rsa_pub_key: Loading public key
    [DEBUG   ] salt.crypt.verify_signature: Verifying signature
    [DEBUG   ] Closing AsyncReqChannel instance
    [DEBUG   ] The functions from module 'jinja' are being loaded by dir() on the loaded module
    [DEBUG   ] LazyLoaded jinja.render
    [DEBUG   ] The functions from module 'yaml' are being loaded by dir() on the loaded module
    [DEBUG   ] LazyLoaded yaml.render
    [DEBUG   ] The functions from module 'win_wua' are being loaded by dir() on the loaded module
    [DEBUG   ] LazyLoaded win_wua.list
    [DEBUG   ] The functions from module 'direct_call' are being loaded by dir() on the loaded module
    [DEBUG   ] LazyLoaded direct_call.execute
    [DEBUG   ] To Be Downloaded: 39a16871-d41a-4df1-9eac-a7cbc0af7498
    [DEBUG   ]  Title: Intel - Other hardware - Intel(R) Celeron(R)/Pentium(R) SM Bus Controller - 2292
    [DEBUG   ] To Be Downloaded: 63d8f13b-284e-4ff0-a34f-b91f96892863
    [DEBUG   ]  Title: Realtek Semiconduct Corp. - MTD - 8/25/2015 12:00:00 AM - 6.3.9600.29088
    [DEBUG   ] To Be Downloaded: 7008eca0-db9c-4382-9898-179d27fabda8
    [DEBUG   ]  Title: Intel(R) Corporation - MEDIA - 5/10/2016 12:00:00 AM - 6.16.0.3197
    [DEBUG   ] To Be Downloaded: 1ccb92db-0d71-4e37-8ca2-b9f5af9ceb03
    [DEBUG   ]  Title: Elan - Other hardware - Lenovo pointing device
    [ERROR   ] An un-handled exception was caught by Salt's global exception handler:
    com_error: (-2147352567, 'Exception occurred.', (0, None, None, None, 0, -2147024809), None)
    Traceback (most recent call last):
      File "C:\Program Files\Salt Project\Salt\lib\runpy.py", line 196, in _run_module_as_main
        return _run_code(code, main_globals, None,
      File "C:\Program Files\Salt Project\Salt\lib\runpy.py", line 86, in _run_code
        exec(code, run_globals)
      File "C:\Program Files\Salt Project\Salt\salt-call.exe\__main__.py", line 7, in <module>
        sys.exit(salt_call())
      File "C:\Program Files\Salt Project\Salt\lib\site-packages\salt\scripts.py", line 443, in salt_call
        client.run()
      File "C:\Program Files\Salt Project\Salt\lib\site-packages\salt\cli\call.py", line 50, in run
        caller.run()
      File "C:\Program Files\Salt Project\Salt\lib\site-packages\salt\cli\caller.py", line 95, in run
        ret = self.call()
      File "C:\Program Files\Salt Project\Salt\lib\site-packages\salt\cli\caller.py", line 202, in call
        ret["return"] = self.minion.executors[fname](
      File "C:\Program Files\Salt Project\Salt\lib\site-packages\salt\loader\lazy.py", line 159, 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 1245, 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 1260, in _run_as
        return _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 159, 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 1245, 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 1260, in _run_as
        return _func_or_method(*args, **kwargs)
      File "C:\Program Files\Salt Project\Salt\Lib\site-packages\salt\modules\win_wua.py", line 541, in list
        ret["Download"] = wua.download(updates)
      File "C:\Program Files\Salt Project\Salt\lib\site-packages\salt\utils\win_update.py", line 691, in download
        ret["Updates"][uid]["AlreadyDownloaded"] = bool(update.IsDownloaded)
      File "C:\Program Files\Salt Project\Salt\lib\site-packages\win32com\client\dynamic.py", line 628, in __getattr__
        ret = self._oleobj_.Invoke(retEntry.dispid, 0, invoke_type, 1)
    pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, None, None, None, 0, -2147024809), None)
    Traceback (most recent call last):
      File "C:\Program Files\Salt Project\Salt\lib\runpy.py", line 196, in _run_module_as_main
        return _run_code(code, main_globals, None,
      File "C:\Program Files\Salt Project\Salt\lib\runpy.py", line 86, in _run_code
        exec(code, run_globals)
      File "C:\Program Files\Salt Project\Salt\salt-call.exe\__main__.py", line 7, in <module>
      File "C:\Program Files\Salt Project\Salt\lib\site-packages\salt\scripts.py", line 443, in salt_call
        client.run()
      File "C:\Program Files\Salt Project\Salt\lib\site-packages\salt\cli\call.py", line 50, in run
        caller.run()
      File "C:\Program Files\Salt Project\Salt\lib\site-packages\salt\cli\caller.py", line 95, in run
        ret = self.call()
      File "C:\Program Files\Salt Project\Salt\lib\site-packages\salt\cli\caller.py", line 202, in call
        ret["return"] = self.minion.executors[fname](
      File "C:\Program Files\Salt Project\Salt\lib\site-packages\salt\loader\lazy.py", line 159, 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 1245, 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 1260, in _run_as
        return _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 159, 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 1245, 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 1260, in _run_as
        return _func_or_method(*args, **kwargs)
      File "C:\Program Files\Salt Project\Salt\Lib\site-packages\salt\modules\win_wua.py", line 541, in list
        ret["Download"] = wua.download(updates)
      File "C:\Program Files\Salt Project\Salt\lib\site-packages\salt\utils\win_update.py", line 691, in download
        ret["Updates"][uid]["AlreadyDownloaded"] = bool(update.IsDownloaded)
      File "C:\Program Files\Salt Project\Salt\lib\site-packages\win32com\client\dynamic.py", line 628, in __getattr__
        ret = self._oleobj_.Invoke(retEntry.dispid, 0, invoke_type, 1)
    pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, None, None, None, 0, -2147024809), None)

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_wua.py around line 541 and salt/utils/win_update.py around line 691, where the traceback reaches update.IsDownloaded. Reproduce the win_wua.list command on Windows with driver downloads enabled, then determine how this COM error should be handled. Done means the command no longer terminates with an unhandled exception for the reported update set.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
infrastructure, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.