saltstack / saltstack/salt

Http error on windows11 minion

Open
#65,456 9 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Description
Attempt to install application on windows 11 is interrupted with error:

[root@tmv2007 win]# salt tml1115.minion pkg.install vlc
tml1115.minion:
    The minion function caused an exception: Traceback (most recent call last):
      File "C:\Program Files\Salt Project\Salt\lib\site-packages\salt\utils\http.py", line 639, in query
        result = download_client.fetch(url_full, **req_kwargs)
      File "C:\Program Files\Salt Project\Salt\lib\site-packages\salt\ext\tornado\httpclient.py", line 102, in fetch
        response = self._io_loop.run_sync(functools.partial(
      File "C:\Program Files\Salt Project\Salt\lib\site-packages\salt\ext\tornado\ioloop.py", line 459, in run_sync
        return future_cell[0].result()
      File "C:\Program Files\Salt Project\Salt\lib\site-packages\salt\ext\tornado\concurrent.py", line 249, in result
        raise_exc_info(self._exc_info)
      File "<string>", line 4, in raise_exc_info
      File "C:\Program Files\Salt Project\Salt\lib\site-packages\salt\ext\tornado\stack_context.py", line 317, in wrapped
        ret = fn(*args, **kwargs)
      File "C:\Program Files\Salt Project\Salt\lib\site-packages\salt\ext\tornado\simple_httpclient.py", line 308, in _on_timeout
        raise HTTPError(599, error_message)
    salt.ext.tornado.httpclient.HTTPError: HTTP 599: Timeout while connecting
    
    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 1943, in _thread_return
        return_data = minion_instance._execute_job_function(
      File "C:\Program Files\Salt Project\Salt\lib\site-packages\salt\minion.py", line 1902, 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_pkg.py", line 1708, in install
        cached_pkg = __salt__["cp.cache_file"](
      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\cp.py", line 546, in cache_file
        result = client.cache_file(
      File "C:\Program Files\Salt Project\Salt\lib\site-packages\salt\fileclient.py", line 187, in cache_file
        return self.get_url(
      File "C:\Program Files\Salt Project\Salt\lib\site-packages\salt\fileclient.py", line 787, in get_url
        query = salt.utils.http.query(
      File "C:\Program Files\Salt Project\Salt\lib\site-packages\salt\utils\http.py", line 644, in query
        exc.response.body,
    AttributeError: 'NoneType' object has no attribute 'body'
ERROR: Minions returned with non-zero exit code

[root@tmv2007 ~]# salt-master --versions-report
Salt Version:
          Salt: 3006.3
 
Python Version:
        Python: 3.10.13 (main, Sep  6 2023, 02:11:27) [GCC 11.2.0]
 
Dependency Versions:
          cffi: 1.14.6
      cherrypy: 18.6.1
      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.13.10
         smmap: 5.0.0
       timelib: 0.2.4
       Tornado: 4.5.3
           ZMQ: 4.3.4
 
System Versions:
          dist: oracle 8.8 n/a
        locale: utf-8
       machine: x86_64
       release: 4.18.0-477.13.1.el8_8.x86_64
        system: Linux
       version: Oracle Linux Server 8.8 n/a

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 by reproducing salt tml1115.minion pkg.install vlc on Windows 11 with the reported environment. Read salt/utils/http.py around query, then follow the callers through salt/fileclient.py and salt/modules/win_pkg.py; done means the timeout path no longer raises the secondary AttributeError and the reported package-install behavior is understood or corrected.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.