Uploaded image for project: 'CPE Infrastructure'
  1. CPE Infrastructure
  2. CPE-3401

duffy client doesn't seem to work on centos stream 10 (python 3.12)

XMLWordPrintable

    • False
    • Hide

      None

      Show
      None
    • False
    • None
    • Testable

      https://github.com/CentOS/duffy/issues/1131

      Switched main laptop to centos stream 10 and just installed python3-pip (python3-pip-23.3.2-7.el10.noarch) and base os has python3-3.12.9-1.el10.x86_64

      ```
      pip3 install --user duffy[client]
      Collecting duffy[client]
      Downloading duffy-3.3.9-py3-none-any.whl.metadata (5.7 kB)
      Requirement already satisfied: PyYAML<7,>=6 in /usr/lib64/python3.12/site-packages (from duffy[client]) (6.0.1)
      Collecting click<9.0.0,>=8.0.3 (from duffy[client])
      Downloading click-8.1.8-py3-none-any.whl.metadata (2.3 kB)
      Collecting httpx<0.25,>=0.18.2 (from duffy[client])
      Downloading httpx-0.24.1-py3-none-any.whl.metadata (7.4 kB)
      Collecting pydantic<2.0.0,>=1.6.2 (from duffy[client])
      Downloading pydantic-1.10.21-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (153 kB)
      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 153.9/153.9 kB 4.0 MB/s eta 0:00:00
      Requirement already satisfied: pyxdg<0.29,>=0.27 in /usr/lib/python3.12/site-packages (from duffy[client]) (0.27)
      Collecting certifi (from httpx<0.25,>=0.18.2->duffy[client])
      Downloading certifi-2025.1.31-py3-none-any.whl.metadata (2.5 kB)
      Collecting httpcore<0.18.0,>=0.15.0 (from httpx<0.25,>=0.18.2->duffy[client])
      Downloading httpcore-0.17.3-py3-none-any.whl.metadata (18 kB)
      Requirement already satisfied: idna in /usr/lib/python3.12/site-packages (from httpx<0.25,>=0.18.2->duffy[client]) (3.7)
      Collecting sniffio (from httpx<0.25,>=0.18.2->duffy[client])
      Downloading sniffio-1.3.1-py3-none-any.whl.metadata (3.9 kB)
      Collecting typing-extensions>=4.2.0 (from pydantic<2.0.0,>=1.6.2->duffy[client])
      Downloading typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)
      Collecting h11<0.15,>=0.13 (from httpcore<0.18.0,>=0.15.0->httpx<0.25,>=0.18.2->duffy[client])
      Downloading h11-0.14.0-py3-none-any.whl.metadata (8.2 kB)
      Collecting anyio<5.0,>=3.0 (from httpcore<0.18.0,>=0.15.0->httpx<0.25,>=0.18.2->duffy[client])
      Downloading anyio-4.8.0-py3-none-any.whl.metadata (4.6 kB)
      Downloading click-8.1.8-py3-none-any.whl (98 kB)
      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 98.2/98.2 kB 14.7 MB/s eta 0:00:00
      Downloading httpx-0.24.1-py3-none-any.whl (75 kB)
      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 75.4/75.4 kB 14.4 MB/s eta 0:00:00
      Downloading pydantic-1.10.21-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.0 MB)
      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.0/3.0 MB 44.5 MB/s eta 0:00:00
      Downloading duffy-3.3.9-py3-none-any.whl (61 kB)
      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.8/61.8 kB 13.5 MB/s eta 0:00:00
      Downloading httpcore-0.17.3-py3-none-any.whl (74 kB)
      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 74.5/74.5 kB 24.7 MB/s eta 0:00:00
      Downloading sniffio-1.3.1-py3-none-any.whl (10 kB)
      Downloading typing_extensions-4.12.2-py3-none-any.whl (37 kB)
      Downloading certifi-2025.1.31-py3-none-any.whl (166 kB)
      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 166.4/166.4 kB 41.1 MB/s eta 0:00:00
      Downloading anyio-4.8.0-py3-none-any.whl (96 kB)
      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 96.0/96.0 kB 29.0 MB/s eta 0:00:00
      Downloading h11-0.14.0-py3-none-any.whl (58 kB)
      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 58.3/58.3 kB 20.6 MB/s eta 0:00:00
      Installing collected packages: typing-extensions, sniffio, h11, click, certifi, pydantic, anyio, httpcore, duffy, httpx
      Successfully installed anyio-4.8.0 certifi-2025.1.31 click-8.1.8 duffy-3.3.9 h11-0.14.0 httpcore-0.17.3 httpx-0.24.1 pydantic-1.10.21 sniffio-1.3.1 typing-extensions-4.12.2
      ```

      But then it doesn't work :

      ```
      duffy client list-sessions
      Traceback (most recent call last):
      File "/home/arrfab/.local/bin/duffy", line 8, in <module>
      sys.exit(cli())
      ^^^^^
      File "/home/arrfab/.local/lib/python3.12/site-packages/click/core.py", line 1161, in _call_
      return self.main(*args, **kwargs)
      ^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/home/arrfab/.local/lib/python3.12/site-packages/click/core.py", line 1082, in main
      rv = self.invoke(ctx)
      ^^^^^^^^^^^^^^^^
      File "/home/arrfab/.local/lib/python3.12/site-packages/click/core.py", line 1697, in invoke
      return _process_result(sub_ctx.command.invoke(sub_ctx))
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/home/arrfab/.local/lib/python3.12/site-packages/click/core.py", line 1697, in invoke
      return _process_result(sub_ctx.command.invoke(sub_ctx))
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/home/arrfab/.local/lib/python3.12/site-packages/click/core.py", line 1443, in invoke
      return ctx.invoke(self.callback, **ctx.params)
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/home/arrfab/.local/lib/python3.12/site-packages/click/core.py", line 788, in invoke
      return __callback(*args, **kwargs)
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/home/arrfab/.local/lib/python3.12/site-packages/click/decorators.py", line 45, in new_func
      return f(get_current_context().obj, *args, **kwargs)
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/home/arrfab/.local/lib/python3.12/site-packages/duffy/cli.py", line 670, in client_list_sessions
      result = obj["client"].list_sessions()
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/home/arrfab/.local/lib/python3.12/site-packages/duffy/client/main.py", line 109, in list_sessions
      return self._query_method(
      ^^^^^^^^^^^^^^^^^^^
      File "/home/arrfab/.local/lib/python3.12/site-packages/duffy/client/main.py", line 106, in _query_method
      return out_model(**response.json())
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "pydantic/main.py", line 347, in pydantic.main.BaseModel._init_
      pydantic.error_wrappers.ValidationError: 2 validation errors for SessionResultCollection
      sessions -> 0 -> tenant -> effective_session_lifetime
      invalid duration format (type=value_error.duration)
      sessions -> 0 -> tenant -> effective_session_lifetime_max
      invalid duration format (type=value_error.duration)
      ```

              rhn-engineering-nphilipp Nils Philippsen
              rh-ee-mkonecny Michal Konecny
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: