Open Source Development

Power Open Source Development

Explore the open source tools and capabilities for building and deploying modern applications on IBM Power platforms including AIX, IBM i, and Linux.


#Power


#Power

 View Only
Expand all | Collapse all

Problems with salt minion after python3 updates

  • 1.  Problems with salt minion after python3 updates

    Posted Tue July 22, 2025 04:46 AM

    Dear team,
    dear community.

    We are planning to update our environment to AIX 7.3 TL3 and all RPM's to the newest level. For this I have a bunch of test systems for trying.
    Unfortunately, after update all RPM's from the toolbox incl. python3.9 and its python crypto modul, we are facing following errors with salt:

    salt-call state.highstate
    [ERROR   ] Failed to import module tls, this is due most likely to a syntax error:
    Traceback (most recent call last):
      File "/opt/freeware/lib/python3.9/site-packages/salt/loader/lazy.py", line 766, in _load_module
        mod = self.run(spec.loader.load_module)
      File "/opt/freeware/lib/python3.9/site-packages/salt/loader/lazy.py", line 1201, in run
        return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)
      File "/opt/freeware/lib/python3.9/site-packages/salt/loader/lazy.py", line 1216, in _run_as
        return _func_or_method(*args, **kwargs)
      File "<frozen importlib._bootstrap_external>", line 529, in _check_name_wrapper
      File "<frozen importlib._bootstrap_external>", line 1029, in load_module
      File "<frozen importlib._bootstrap_external>", line 854, in load_module
      File "<frozen importlib._bootstrap>", line 274, in _load_module_shim
      File "<frozen importlib._bootstrap>", line 711, in _load
      File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 850, in exec_module
      File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
      File "/opt/freeware/lib/python3.9/site-packages/salt/modules/tls.py", line 122, in <module>
        import OpenSSL
      File "/opt/freeware/lib/python3.9/site-packages/OpenSSL/__init__.py", line 8, in <module>
        from OpenSSL import crypto, SSL
      File "/opt/freeware/lib/python3.9/site-packages/OpenSSL/crypto.py", line 1579, in <module>
        class X509StoreFlags(object):
      File "/opt/freeware/lib/python3.9/site-packages/OpenSSL/crypto.py", line 1598, in X509StoreFlags
        NOTIFY_POLICY = _lib.X509_V_FLAG_NOTIFY_POLICY
    AttributeError: module 'lib' has no attribute 'X509_V_FLAG_NOTIFY_POLICY'
    [ERROR   ] Failed to import module travisci, this is due most likely to a syntax error:
    Traceback (most recent call last):
      File "/opt/freeware/lib/python3.9/site-packages/salt/loader/lazy.py", line 766, in _load_module
        mod = self.run(spec.loader.load_module)
      File "/opt/freeware/lib/python3.9/site-packages/salt/loader/lazy.py", line 1201, in run
        return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)
      File "/opt/freeware/lib/python3.9/site-packages/salt/loader/lazy.py", line 1216, in _run_as
        return _func_or_method(*args, **kwargs)
      File "<frozen importlib._bootstrap_external>", line 529, in _check_name_wrapper
      File "<frozen importlib._bootstrap_external>", line 1029, in load_module
      File "<frozen importlib._bootstrap_external>", line 854, in load_module
      File "<frozen importlib._bootstrap>", line 274, in _load_module_shim
      File "<frozen importlib._bootstrap>", line 711, in _load
      File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 850, in exec_module
      File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
      File "/opt/freeware/lib/python3.9/site-packages/salt/modules/travisci.py", line 13, in <module>
        import OpenSSL
      File "/opt/freeware/lib/python3.9/site-packages/OpenSSL/__init__.py", line 8, in <module>
        from OpenSSL import crypto, SSL
      File "/opt/freeware/lib/python3.9/site-packages/OpenSSL/crypto.py", line 1579, in <module>
        class X509StoreFlags(object):
      File "/opt/freeware/lib/python3.9/site-packages/OpenSSL/crypto.py", line 1598, in X509StoreFlags
        NOTIFY_POLICY = _lib.X509_V_FLAG_NOTIFY_POLICY
    AttributeError: module 'lib' has no attribute 'X509_V_FLAG_NOTIFY_POLICY'
    [ERROR   ] Failed to import module x509, this is due most likely to a syntax error:
    Traceback (most recent call last):
      File "/opt/freeware/lib/python3.9/site-packages/salt/loader/lazy.py", line 766, in _load_module
        mod = self.run(spec.loader.load_module)
      File "/opt/freeware/lib/python3.9/site-packages/salt/loader/lazy.py", line 1201, in run
        return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)
      File "/opt/freeware/lib/python3.9/site-packages/salt/loader/lazy.py", line 1216, in _run_as
        return _func_or_method(*args, **kwargs)
      File "<frozen importlib._bootstrap_external>", line 529, in _check_name_wrapper
      File "<frozen importlib._bootstrap_external>", line 1029, in load_module
      File "<frozen importlib._bootstrap_external>", line 854, in load_module
      File "<frozen importlib._bootstrap>", line 274, in _load_module_shim
      File "<frozen importlib._bootstrap>", line 711, in _load
      File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 850, in exec_module
      File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
      File "/opt/freeware/lib/python3.9/site-packages/salt/modules/x509.py", line 38, in <module>
        import OpenSSL
      File "/opt/freeware/lib/python3.9/site-packages/OpenSSL/__init__.py", line 8, in <module>
        from OpenSSL import crypto, SSL
      File "/opt/freeware/lib/python3.9/site-packages/OpenSSL/crypto.py", line 1579, in <module>
        class X509StoreFlags(object):
      File "/opt/freeware/lib/python3.9/site-packages/OpenSSL/crypto.py", line 1598, in X509StoreFlags
        NOTIFY_POLICY = _lib.X509_V_FLAG_NOTIFY_POLICY
    AttributeError: module 'lib' has no attribute 'X509_V_FLAG_NOTIFY_POLICY'
    

    I tried to downgrade salt and the python crypto modul with no success.
    The salt highstate seems to run successfully even with that error, but it would look better without.

    Do you have any idea?

    Thanks for your time in advance.

    kind regards,
    Joerg



    ------------------------------
    Joerg Kauke
    Unix Administrator
    COOP Switzerland
    ------------------------------

    #AIXOpenSource


  • 2.  RE: Problems with salt minion after python3 updates

    Posted Mon July 28, 2025 03:31 AM
    Edited by Joerg Kauke Mon July 28, 2025 05:02 AM

    Not a single idea?
    So we will try and build venv for Python with the old modules.

    Thanks to all who looked into it.

    Kind regards



    ------------------------------
    Joerg Kauke
    Unix Administrator
    COOP Switzerland
    ------------------------------



  • 3.  RE: Problems with salt minion after python3 updates

    Posted Tue August 05, 2025 02:32 PM
    Edited by Aditya Kamath Tue August 05, 2025 02:32 PM

    @Joerg Kauke

    Hi,

    Can you give me a small code to reproduce?

    Also, what is the outputs of
    # pip3 show pyOpenSSL cryptography??

    And which openssl are you using? 



    ------------------------------
    Aditya Kamath
    https://community.ibm.com/community/user/blogs/aditya-kamath/2025/07/14/monitor-aix-with-elastic-beats-observability-on-ai
    ------------------------------



  • 4.  RE: Problems with salt minion after python3 updates

    Posted Thu August 21, 2025 06:36 AM

    Hello Aditya,

    sorry for my late response, I was on vacation.
    Here is the output you requested:

    /root#pip3 show pyOpenSSL cryptography??
    WARNING: Package(s) not found: cryptography??
    Name: pyOpenSSL
    Version: 21.0.0
    Summary: Python wrapper module around the OpenSSL library
    Home-page: https://pyopenssl.org/
    Author: The pyOpenSSL developers
    Author-email: cryptography-dev@python.org
    License: Apache License, Version 2.0
    Location: /opt/freeware/lib/python3.9/site-packages
    Requires: cryptography, six
    Required-by:
    

    Thanks for getting into this.

    Hopefully that helps. If you need more, please feel free to contact me.

    Kind regards
    Joerg



    ------------------------------
    Joerg Kauke
    Unix Administrator
    COOP Switzerland
    ------------------------------



  • 5.  RE: Problems with salt minion after python3 updates

    Posted Thu August 21, 2025 09:56 AM

    pip3.9 show cryptography

    ar -tuv /usr/lib/libcrypto.a

    Can you tell me the outputs of the above two?

    I think this issue has to do with some version mismatch at first glance in terms of what openssl was used to build pyopenssl and cryptography. 



    ------------------------------
    Aditya Kamath
    ------------------------------



  • 6.  RE: Problems with salt minion after python3 updates

    Posted Wed August 27, 2025 05:36 AM

    Hello Aditya,

    here is the output of the two commands you requested:

    :/root#pip3.9 show cryptography
    Name: cryptography
    Version: 44.0.2
    Summary: cryptography is a package which provides cryptographic recipes and primitives to Python developers.
    Home-page:
    Author: The cryptography developers <cryptography-dev@python.org>
    Author-email: The Python Cryptographic Authority and individual contributors <cryptography-dev@python.org>
    License: Apache-2.0 OR BSD-3-Clause
    Location: /opt/freeware/lib64/python3.9/site-packages
    Requires: cffi
    Required-by: pyOpenSSL
    

    and

    :/root#ar -tuv /usr/lib/libcrypto.a
    rw-r-----     0/0     3081674 Feb 11 11:59 2025 libcrypto.so
    rw-r-----     0/0     2186744 Feb 11 11:59 2025 libcrypto.so.0.9.8
    rw-r-----     0/0     3081674 Feb 11 11:59 2025 libcrypto.so.1.0.0
    rw-r-----     0/0     3081674 Feb 11 11:59 2025 libcrypto.so.1.0.2
    rwxr-xr-x     0/0     4591711 May  5 15:15 2025 libcrypto.so.1.1
    rwxr-xr-x     0/0     7312023 May  5 14:59 2025 libcrypto.so.3
    

    Thanks for your support.

    kind regards,
    Joerg



    ------------------------------
    Joerg Kauke
    Unix Administrator
    COOP Switzerland
    ------------------------------



  • 7.  RE: Problems with salt minion after python3 updates

    Posted Wed September 10, 2025 03:51 AM

    Hello Aditya,

    do you have any findings on that?
    We updated some of the python modules, but without any success.

    Kind regards,



    ------------------------------
    Joerg Kauke
    Unix Administrator
    COOP Switzerland
    ------------------------------



  • 8.  RE: Problems with salt minion after python3 updates

    Posted Wed September 10, 2025 05:32 AM

    Hi Jorge,

    • Version Incompatibility: Newer versions of cryptography (e.g., 42.0.0 and above) removed the X509_V_FLAG_NOTIFY_POLICY flag, and subsequent versions of pyOpenSSL (e.g., 23.2.0 and above) stopped referencing it. If an older version of pyOpenSSL is installed alongside a newer cryptography version, the pyOpenSSL module might try to access this removed flag, leading to the AttributeError.

    I read this online. 

    Can we reinstall pyopenssl to 25 or the latest? Let me know if you want the build steps. I can provide it. 

    I think since yours is 21.0.0 from the pip show output we are hitting this issue.



    ------------------------------
    Aditya Kamath
    ------------------------------



  • 9.  RE: Problems with salt minion after python3 updates

    Posted Wed September 10, 2025 05:34 AM

    You only need to do pip3.9 install --upgrade pyopenssl that's all.



    ------------------------------
    Aditya Kamath
    ------------------------------



  • 10.  RE: Problems with salt minion after python3 updates

    Posted Mon September 15, 2025 05:34 AM

    Hello Aditya,

    thanks for your support. Unfortunately the upgrade is not working.
    I tried it on multiple systems all with the same result.
    On our internal pip repository it looks líke this:

    pip3 --trusted-host nexus3.hs.coop.ch install --upgrade pyopenssl
    Looking in indexes: https://nexus3.hs.coop.ch/repository/py-public/simple
    Requirement already satisfied: pyopenssl in /opt/freeware/lib/python3.9/site-packages (21.0.0)
    User for nexus3.hs.coop.ch: ******
    Password:
    Collecting pyopenssl
      Downloading https://nexus3.hs.coop.ch/repository/py-public/packages/pyopenssl/25.2.0/pyopenssl-25.2.0-py3-none-any.whl (57 kB)
         ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 57.2/57.2 kB 4.4 MB/s eta 0:00:00
    Collecting cryptography<46,>=45.0.7 (from pyopenssl)
      Downloading https://nexus3.hs.coop.ch/repository/py-public/packages/cryptography/45.0.7/cryptography-45.0.7.tar.gz (744 kB)
         ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 745.0/745.0 kB 34.2 MB/s eta 0:00:00
      Installing build dependencies ... error
      error: subprocess-exited-with-error
    
      × pip subprocess to install build dependencies did not run successfully.
      │ exit code: 2
      ╰─> [59 lines of output]
          Looking in indexes: https://nexus3.hs.coop.ch/repository/py-public/simple
          User for nexus3.hs.coop.ch: ERROR: Exception:
          Traceback (most recent call last):
            File "/opt/freeware/lib/python3.9/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper
              status = run_func(*args)
            File "/opt/freeware/lib/python3.9/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper
              return func(self, options, args)
            File "/opt/freeware/lib/python3.9/site-packages/pip/_internal/commands/install.py", line 377, in run
              requirement_set = resolver.resolve(
            File "/opt/freeware/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 95, in resolve
              result = self._result = resolver.resolve(
            File "/opt/freeware/lib/python3.9/site-packages/pip/_vendor/resolvelib/resolvers.py", line 546, in resolve
              state = resolution.resolve(requirements, max_rounds=max_rounds)
            File "/opt/freeware/lib/python3.9/site-packages/pip/_vendor/resolvelib/resolvers.py", line 397, in resolve
              self._add_to_criteria(self.state.criteria, r, parent=None)
            File "/opt/freeware/lib/python3.9/site-packages/pip/_vendor/resolvelib/resolvers.py", line 173, in _add_to_criteria
              if not criterion.candidates:
            File "/opt/freeware/lib/python3.9/site-packages/pip/_vendor/resolvelib/structs.py", line 156, in __bool__
              return bool(self._sequence)
            File "/opt/freeware/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 155, in __bool__
              return any(self)
            File "/opt/freeware/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 143, in <genexpr>
              return (c for c in iterator if id(c) not in self._incompatible_ids)
            File "/opt/freeware/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 44, in _iter_built
              for version, func in infos:
            File "/opt/freeware/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 284, in iter_index_candidate_infos
              result = self._finder.find_best_candidate(
            File "/opt/freeware/lib/python3.9/site-packages/pip/_internal/index/package_finder.py", line 890, in find_best_candidate
              candidates = self.find_all_candidates(project_name)
            File "/opt/freeware/lib/python3.9/site-packages/pip/_internal/index/package_finder.py", line 831, in find_all_candidates
              page_candidates = list(page_candidates_it)
            File "/opt/freeware/lib/python3.9/site-packages/pip/_internal/index/sources.py", line 134, in page_candidates
              yield from self._candidates_from_page(self._link)
            File "/opt/freeware/lib/python3.9/site-packages/pip/_internal/index/package_finder.py", line 791, in process_project_url
              index_response = self._link_collector.fetch_response(project_url)
            File "/opt/freeware/lib/python3.9/site-packages/pip/_internal/index/collector.py", line 461, in fetch_response
              return _get_index_content(location, session=self.session)
            File "/opt/freeware/lib/python3.9/site-packages/pip/_internal/index/collector.py", line 364, in _get_index_content
              resp = _get_simple_response(url, session=session)
            File "/opt/freeware/lib/python3.9/site-packages/pip/_internal/index/collector.py", line 135, in _get_simple_response
              resp = session.get(
            File "/opt/freeware/lib/python3.9/site-packages/pip/_vendor/requests/sessions.py", line 602, in get
              return self.request("GET", url, **kwargs)
            File "/opt/freeware/lib/python3.9/site-packages/pip/_internal/network/session.py", line 519, in request
              return super().request(method, url, *args, **kwargs)
            File "/opt/freeware/lib/python3.9/site-packages/pip/_vendor/requests/sessions.py", line 589, in request
              resp = self.send(prep, **send_kwargs)
            File "/opt/freeware/lib/python3.9/site-packages/pip/_vendor/requests/sessions.py", line 710, in send
              r = dispatch_hook("response", hooks, r, **kwargs)
            File "/opt/freeware/lib/python3.9/site-packages/pip/_vendor/requests/hooks.py", line 30, in dispatch_hook
              _hook_data = hook(hook_data, **kwargs)
            File "/opt/freeware/lib/python3.9/site-packages/pip/_internal/network/auth.py", line 500, in handle_401
              username, password, save = self._prompt_for_password(parsed.netloc)
            File "/opt/freeware/lib/python3.9/site-packages/pip/_internal/network/auth.py", line 455, in _prompt_for_password
              username = ask_input(f"User for {netloc}: ") if self.prompting else None
            File "/opt/freeware/lib/python3.9/site-packages/pip/_internal/utils/misc.py", line 255, in ask_input
              return input(message)
          EOFError: EOF when reading a line
          User for nexus3.hs.coop.ch: WARNING: There was an error checking the latest version of pip.
          [end of output]
    
      note: This error originates from a subprocess, and is likely not a problem with pip.
    error: subprocess-exited-with-error
    
    × pip subprocess to install build dependencies did not run successfully.
    │ exit code: 2
    ╰─> See above for output.
    
    note: This error originates from a subprocess, and is likely not a problem with pip.


    When I use the official pip Repo it looks like this:

    svrsinst5-0:/root#pip3 --trusted-host nexus3.hs.coop.ch install --upgrade pyopenssl
    Requirement already satisfied: pyopenssl in /opt/freeware/lib/python3.9/site-packages (21.0.0)
    Collecting pyopenssl
      Downloading pyopenssl-25.2.0-py3-none-any.whl.metadata (17 kB)
    Collecting cryptography<46,>=45.0.7 (from pyopenssl)
      Downloading cryptography-45.0.7.tar.gz (744 kB)
         ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 745.0/745.0 kB 16.5 MB/s eta 0:00:00
      Installing build dependencies ... error
      error: subprocess-exited-with-error
    
      × pip subprocess to install build dependencies did not run successfully.
      │ exit code: 1
      ╰─> [29 lines of output]
          Collecting maturin<2,>=1.8.6
            Downloading maturin-1.9.4.tar.gz (213 kB)
               ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 213.6/213.6 kB 10.1 MB/s eta 0:00:00
            Installing build dependencies: started
            Installing build dependencies: finished with status 'done'
            Getting requirements to build wheel: started
            Getting requirements to build wheel: finished with status 'done'
            Installing backend dependencies: started
            Installing backend dependencies: finished with status 'done'
            Preparing metadata (pyproject.toml): started
            Preparing metadata (pyproject.toml): finished with status 'error'
            error: subprocess-exited-with-error
    
            × Preparing metadata (pyproject.toml) did not run successfully.
            │ exit code: 1
            ╰─> [3 lines of output]
                Python reports SOABI: cpython-39
                Unsupported platform: 39
                Rust not found, installing into a temporary directory
                [end of output]
    
            note: This error originates from a subprocess, and is likely not a problem with pip.
          error: metadata-generation-failed
    
          × Encountered error while generating package metadata.
          ╰─> See above for output.
    
          note: This is an issue with the package mentioned above, not pip.
          hint: See above for details.
          [end of output]
    
      note: This error originates from a subprocess, and is likely not a problem with pip.
    error: subprocess-exited-with-error
    
    × pip subprocess to install build dependencies did not run successfully.
    │ exit code: 1
    ╰─> See above for output.
    
    note: This error originates from a subprocess, and is likely not a problem with pip.

    If you have some time, please could you take a look.
    This is a list of installed modules and versions:

    svrsinst5-0:/root#pip3 list
    Package             Version
    ------------------- --------
    certifi             2025.8.3
    cffi                1.13.2
    chardet             3.0.4
    charset-normalizer  3.4.2
    coop-checkmk-plugin 0.3.10
    cryptography        44.0.2
    distro              1.5.0
    gpg                 1.13.1
    idna                3.10
    Jinja2              3.1.6
    MarkupSafe          2.1.2
    msgpack             0.6.2
    pip                 23.3.1
    psutil              5.9.0
    pycparser           2.19
    pycryptodomex       3.20.0
    pyOpenSSL           21.0.0
    python-dateutil     2.8.2
    pytz                2025.2
    PyYAML              5.4.1
    pyzmq               21.0.2
    requests            2.32.0
    salt                3004.2
    six                 1.13.0
    tornado             6.0.3
    urllib3             2.2.3
    


    Many thanks in advance.

    kind regards



    ------------------------------
    Joerg Kauke
    Unix Administrator
    COOP Switzerland
    ------------------------------



  • 11.  RE: Problems with salt minion after python3 updates

    Posted Mon September 15, 2025 07:34 AM
    Edited by Aditya Kamath Mon September 15, 2025 07:41 AM

    Hi Jeorg,

    I will help you upgrade this.

    # pip3.9 show pyopenssl
    Name: pyOpenSSL
    Version: 25.1.0
    Summary: Python wrapper module around the OpenSSL library
    Home-page: https://pyopenssl.org/
    Author: The pyOpenSSL developers
    Author-email: cryptography-dev@python.org
    License: Apache License, Version 2.0
    Location: /opt/freeware/lib/python3.9/site-packages
    Requires: cryptography, typing-extensions
    Required-by: 

    If you see above pip show output, when I installed it in my system, it only needed cryptography and typing extensions. Let us try this way.

    pip3.9 install --upgrade typing_extensions pyopenssl -I --no-deps

    If that fails,try

    pip3.9 install --upgrade typing_extensions pyopenssl -I --no-deps --no-build-isolation



    ------------------------------
    Aditya Kamath
    ------------------------------



  • 12.  RE: Problems with salt minion after python3 updates

    Posted Tue September 16, 2025 02:54 AM
    Edited by Joerg Kauke Tue September 16, 2025 07:59 AM

    Hello Aditya,

    thanks for your time, but it is still not updating:

    #pip3.9 show pyopenssl
    Name: pyOpenSSL
    Version: 21.0.0
    Summary: Python wrapper module around the OpenSSL library
    Home-page: https://pyopenssl.org/
    Author: The pyOpenSSL developers
    Author-email: cryptography-dev@python.org
    License: Apache License, Version 2.0
    Location: /opt/freeware/lib/python3.9/site-packages
    Requires: cryptography, six
    Required-by:
    
    #pip3.9 install --upgrade typing_extensions pyopenssl -I --no-deps --trusted-host nexus3.hs.coop.ch
    Looking in indexes: https://nexus3.hs.coop.ch/repository/py-public/simple
    User for nexus3.hs.coop.ch: kauk2
    Password:
    Collecting typing_extensions
      Downloading https://nexus3.hs.coop.ch/repository/py-public/packages/typing-extensions/4.15.0/typing_extensions-4.15.0-py3-none-any.whl (44 kB)
         ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 44.6/44.6 kB 2.7 MB/s eta 0:00:00
    Collecting pyopenssl
      Using cached https://nexus3.hs.coop.ch/repository/py-public/packages/pyopenssl/25.2.0/pyopenssl-25.2.0-py3-none-any.whl (57 kB)
    Installing collected packages: typing_extensions, pyopenssl
    Successfully installed pyopenssl-21.0.0 typing_extensions-4.15.0
    
    

    It is not updating at all, even when it downloads version 25 of pyopenssl.
    When I try to update without the option "--no-deps" it tries to update "cryptography" as well, which fails with:
    "Unsupported platform: 39
     Rust not found, installing into a temporary directory"

    Do you know any other way to update? The cryptographic module is coming from the toolbox python3.9-cryptography-44.0.2-1.ppc.rpm.
    But even when I uninstall the rpm and the module, pip tries to install it in version 45 as dependency for pyopenssl.

    Update:

    I completely removed the pyopenssl module and reinstalled it with the option "--no-deps" and it worked. Salt has no errors or warnings anymore.
    But with every call of pip3 we are getting this error message:

    ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
    pyopenssl 25.2.0 requires cryptography<46,>=45.0.7, but you have cryptography 44.0.2 which is incompatible.

    So, how can we update the cryptography module?



    Kind regards



    ------------------------------
    Joerg Kauke
    Unix Administrator
    COOP Switzerland
    ------------------------------



  • 13.  RE: Problems with salt minion after python3 updates

    Posted Tue September 16, 2025 08:32 AM

    Hi @Joerg Kauke

    Glad it worked.

    ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
    pyopenssl 25.2.0 requires cryptography<46,>=45.0.7, but you have cryptography 44.0.2 which is incompatible.


    So this means we need cryptography at least 45.0.7. Toolbox is at 44.0.2 and it will take me one week to update.

    Can you try the below commands and check if cryptography updates? I hope you are in OS level 7.2 and have a rust compiler install from toolbox using dnf install rust*

    export OBJECT_MODE=64
    export CC=gcc
    export CFLAGS="-maix64 -I/opt/freeware/include -D_ALL_SOURCE -std=c++17 -pthread"
    export CXX=g++
    export CXXFLAGS="-maix64 -I/opt/freeware/include -D_ALL_SOURCE -std=c++17 -pthread"
    export LDFLAGS="-maix64 -L/opt/freeware/lib64 -L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib64:/opt/freeware/lib:/usr/lib:/lib"
    export PKG_CONFIG_PATH=/opt/freeware/lib64/pkgconfig/
    export RUSTFLAGS="-C  link-arg=-bbigtoc -L/opt/freeware/lib -lpython3.9"
    export CRATE_CC_NO_DEFAULTS=true
    export OPENSSL_DIR=/usr
    export OPENSSL_STATIC=0
    export OPENSSL_NO_VENDOR=1
    export LIBZ_SYS_STATIC=0
    export DEP_Z_INCLUDE=/opt/freeware/include
    pip3.9 install --upgrade cryptography -vv -I --no-deps --no-build-isolation

    Once cryptography is updated, your systems should be fine. 



    ------------------------------
    Aditya Kamath
    ------------------------------



  • 14.  RE: Problems with salt minion after python3 updates

    Posted Wed September 17, 2025 07:28 AM
    Edited by Joerg Kauke Wed September 17, 2025 07:32 AM
      |   view attached

    Hello Aditya,

    we are actually in the process of upgrading from AIX 7.3 TL1 to TL3.
    I attached the output of the command you sent. It's a little to much to post it here.
    It also failed.

    Edit: the second log is the correct one.

    kind regards



    ------------------------------
    Joerg Kauke
    Unix Administrator
    COOP Switzerland
    ------------------------------

    Attachment(s)

    log
    pip_crypto_update.log   6 KB 1 version


  • 15.  RE: Problems with salt minion after python3 updates

    Posted Wed September 17, 2025 07:35 AM
      |   view attached

    second log...



    ------------------------------
    Joerg Kauke
    Unix Administrator
    COOP Switzerland
    ------------------------------

    Attachment(s)

    log
    pip_crypto_update.log   1.29 MB 1 version


  • 16.  RE: Problems with salt minion after python3 updates

    Posted Wed September 17, 2025 09:20 AM

    Hi Jeorg,

    >File "/opt/freeware/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 77, in _build_backend
     >   obj = import_module(mod_path)
     > File "/opt/freeware/lib64/python3.9/importlib/__init__.py", line 127, in import_module
     >   return _bootstrap._gcd_import(name[level:], package, level)
     > File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
     > File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
     > File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
    >  ModuleNotFoundError: No module named 'maturin'


    Please install maturin using dnf install python3-maturin

    And then try installing cryptography.



    ------------------------------
    Aditya Kamath
    ------------------------------



  • 17.  RE: Problems with salt minion after python3 updates

    Posted Thu September 18, 2025 01:53 AM

    Hello Aditya,

    I installed the maturin with dnf and just tried to upgrade the cryptography module:

    svrsinst2-0:/root#pip3 install --upgrade cryptography --trusted-host nexus3.hs.coop.ch
    Looking in indexes: https://patrol-nxs:****@nexus3.hs.coop.ch/repository/py-public/simple
    Requirement already satisfied: cryptography in /opt/freeware/lib64/python3.9/site-packages (44.0.2)
    Collecting cryptography
      Using cached https://nexus3.hs.coop.ch/repository/py-public/packages/cryptography/46.0.1/cryptography-46.0.1.tar.gz (749 kB)
      Installing build dependencies ... error
      error: subprocess-exited-with-error
    
      × pip subprocess to install build dependencies did not run successfully.
      │ exit code: 1
      ╰─> [80 lines of output]
          Looking in indexes: https://patrol-nxs:****@nexus3.hs.coop.ch/repository/py-public/simple
          Ignoring cffi: markers 'platform_python_implementation != "PyPy" and python_version == "3.8"' don't match your environment
          Collecting maturin<2,>=1.9.4
            Downloading https://nexus3.hs.coop.ch/repository/py-public/packages/maturin/1.9.4/maturin-1.9.4.tar.gz (213 kB)
               ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 213.6/213.6 kB 11.9 MB/s eta 0:00:00
            Installing build dependencies: started
            Installing build dependencies: finished with status 'done'
            Getting requirements to build wheel: started
            Getting requirements to build wheel: finished with status 'done'
            Preparing metadata (pyproject.toml): started
            Preparing metadata (pyproject.toml): finished with status 'done'
          Collecting cffi>=2.0.0
            Downloading https://nexus3.hs.coop.ch/repository/py-public/packages/cffi/2.0.0/cffi-2.0.0.tar.gz (523 kB)
               ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 523.6/523.6 kB 19.4 MB/s eta 0:00:00
            Installing build dependencies: started
            Installing build dependencies: finished with status 'done'
            Getting requirements to build wheel: started
            Getting requirements to build wheel: finished with status 'done'
            Preparing metadata (pyproject.toml): started
            Preparing metadata (pyproject.toml): finished with status 'done'
          Collecting setuptools!=74.0.0,!=74.1.0,!=74.1.1,!=74.1.2
            Using cached https://nexus3.hs.coop.ch/repository/py-public/packages/setuptools/80.9.0/setuptools-80.9.0-py3-none-any.whl (1.2 MB)
          Collecting tomli>=1.1.0 (from maturin<2,>=1.9.4)
            Using cached https://nexus3.hs.coop.ch/repository/py-public/packages/tomli/2.2.1/tomli-2.2.1-py3-none-any.whl (14 kB)
          Collecting pycparser (from cffi>=2.0.0)
            Downloading https://nexus3.hs.coop.ch/repository/py-public/packages/pycparser/2.23/pycparser-2.23-py3-none-any.whl (118 kB)
               ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 118.1/118.1 kB 7.1 MB/s eta 0:00:00
          Building wheels for collected packages: maturin, cffi
            Building wheel for maturin (pyproject.toml): started
            Building wheel for maturin (pyproject.toml): finished with status 'error'
            error: subprocess-exited-with-error
    
            × Building wheel for maturin (pyproject.toml) did not run successfully.
            │ exit code: 1
            ╰─> [34 lines of output]
                running bdist_wheel
                running build
                running build_py
                creating build/lib.aix-7303-2520-64-cpython-39/maturin
                copying maturin/__init__.py -> build/lib.aix-7303-2520-64-cpython-39/maturin
                copying maturin/__main__.py -> build/lib.aix-7303-2520-64-cpython-39/maturin
                copying maturin/bootstrap.py -> build/lib.aix-7303-2520-64-cpython-39/maturin
                running egg_info
                creating maturin.egg-info
                writing maturin.egg-info/PKG-INFO
                writing dependency_links to maturin.egg-info/dependency_links.txt
                writing requirements to maturin.egg-info/requires.txt
                writing top-level names to maturin.egg-info/top_level.txt
                writing manifest file 'maturin.egg-info/SOURCES.txt'
                reading manifest file 'maturin.egg-info/SOURCES.txt'
                reading manifest template 'MANIFEST.in'
                warning: no files found matching '*.json' under directory 'src/python_interpreter'
                adding license file 'license-mit'
                adding license file 'license-apache'
                writing manifest file 'maturin.egg-info/SOURCES.txt'
                running build_ext
                running build_rust
                    Updating crates.io index
                error: failed to get `anyhow` as a dependency of package `maturin v1.9.4 (/tmp/pip-install-bqz93fkg/maturin_a7696cc05d6f44ebafde2d8ee2f65b2a)`
    
                Caused by:
                  download of config.json failed
    
                Caused by:
                  failed to get successful HTTP response from `https://index.crates.io/config.json` (), got 0
                  body:
                error: `cargo metadata --manifest-path Cargo.toml --format-version 1 --locked` failed with code 101
                -- Output captured from stdout:
    
                [end of output]
    
            note: This error originates from a subprocess, and is likely not a problem with pip.
            ERROR: Failed building wheel for maturin
            Building wheel for cffi (pyproject.toml): started
            Building wheel for cffi (pyproject.toml): finished with status 'done'
            Created wheel for cffi: filename=cffi-2.0.0-cp39-cp39-aix_7303_2520_64.whl size=548772 sha256=19a254339633f6edb69aa90616c8c0f6edb645566064f3d60cc7e908fade05a3
            Stored in directory: /root/.cache/pip/wheels/43/ee/b5/95c1a4628fd7fb9b53d24b4154d84a1b70c2e6bb2219c5bf5d
          Successfully built cffi
          Failed to build maturin
          ERROR: Could not build wheels for maturin, which is required to install pyproject.toml-based projects
          [end of output]
    
      note: This error originates from a subprocess, and is likely not a problem with pip.
    error: subprocess-exited-with-error
    
    × pip subprocess to install build dependencies did not run successfully.
    │ exit code: 1
    ╰─> See above for output.
    
    note: This error originates from a subprocess, and is likely not a problem with pip.
    

    In German, there is a saying: That's a case of the cat biting its own tail.
    Meaning: it's a vicious circle.

    I think I will wait for the new Crypto RPM.

    Many thanks and kind regards.



    ------------------------------
    Joerg Kauke
    Unix Administrator
    COOP Switzerland
    ------------------------------



  • 18.  RE: Problems with salt minion after python3 updates

    Posted Thu September 18, 2025 04:53 AM

    Hi Joerge,

    Sure. 

    As a workaround you can also try installing a little lower version of pyopenssl like 25.0.0

    https://pypi.org/project/pyOpenSSL/25.0.0/
    If we check the document it supports 44.0.x

    Kindly uninstall pyopenssl and in the pip install command give pyopenssl==25.0.0.

    Give it a try and let me know.



    ------------------------------
    Aditya Kamath
    ------------------------------



  • 19.  RE: Problems with salt minion after python3 updates

    Posted Thu September 18, 2025 09:14 AM

    Hi Aditya,

    great finding. pyoppenssl Version 25.0.0 seems to work. I will try it on more systems the next days.
    Many thanks to you.

    Kind regards.



    ------------------------------
    Joerg Kauke
    Unix Administrator
    COOP Switzerland
    ------------------------------



  • 20.  RE: Problems with salt minion after python3 updates

    Posted Fri September 19, 2025 01:20 AM

    HI Jeorg,

    Sure. 

    Also, I read in another thread here that you are looking for beats in AIX. We do have it updated, and you can read our blog here.
    https://community.ibm.com/community/user/blogs/aditya-kamath/2025/07/14/monitor-aix-with-elastic-beats-observability-on-ai

    If you can let us know your use case for Beats and Logstash, i.e., how you are using them for observability in AIX, then it will be useful information for us to develop the upcoming releases for Beats. 



    ------------------------------
    Aditya Kamath
    ------------------------------