Bug 2160708

Summary: behave ends up with traceback due to allegedly missing pyftpdlib
Product: [Fedora] Fedora Reporter: Eva Mrakova <emrakova>
Component: python-behaveAssignee: Ali Erdinc Koroglu <aekoroglu>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 38CC: aekoroglu, besser82, python-packagers-sig
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-02-08 01:02:19 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2164342    
Bug Blocks:    

Description Eva Mrakova 2023-01-13 12:04:35 UTC
Description of problem:
behave ends up with traceback and error message
Exception ModuleNotFoundError: No module named 'pyftpdlib'
while pyftpdlib is installed

Version-Release number of selected component (if applicable):
python3-behave-1.2.6-19.fc38

How reproducible:
always

Steps to Reproduce:
1. install dnf upstream test suite according to 
   https://github.com/rpm-software-management/ci-dnf-stack/blob/main/dnf-behave-tests/README.md
2. run any available test, e.g. 
   behave dnf/repolist.feature
   
Actual results:

# behave dnf/repolist.feature
Exception ModuleNotFoundError: No module named 'pyftpdlib'
Traceback (most recent call last):
  File "/usr/bin/behave", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/usr/lib/python3.11/site-packages/behave/__main__.py", line 183, in main
    return run_behave(config)
           ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/behave/__main__.py", line 127, in run_behave
    failed = runner.run()
             ^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/behave/runner.py", line 804, in run
    return self.run_with_paths()
           ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/behave/runner.py", line 809, in run_with_paths
    self.load_step_definitions()
  File "/usr/lib/python3.11/site-packages/behave/runner.py", line 796, in load_step_definitions
    load_step_modules(step_paths)
  File "/usr/lib/python3.11/site-packages/behave/runner_util.py", line 412, in load_step_modules
    exec_file(os.path.join(path, name), step_module_globals)
  File "/usr/lib/python3.11/site-packages/behave/runner_util.py", line 386, in exec_file
    exec(code, globals_, locals_)
  File "dnf/steps/cmd.py", line 15, in <module>
    from fixtures import start_server_based_on_type
  File "/root/ci-dnf-stack-main/dnf-behave-tests/dnf/steps/fixtures/__init__.py", line 8, in <module>
    from steps.fixtures.ftpd import ftpd_fixture
  File "/root/ci-dnf-stack-main/dnf-behave-tests/dnf/steps/fixtures/__init__.py", line 8, in <module>
    from steps.fixtures.ftpd import ftpd_fixture
  File "/root/ci-dnf-stack-main/dnf-behave-tests/dnf/steps/fixtures/ftpd.py", line 6, in <module>
    from pyftpdlib.authorizers import DummyAuthorizer
ModuleNotFoundError: No module named 'pyftpdlib'

Expected results:
no traceback, the test is run

Additional info:
* pyftpdlib is installed:
# pip3 list | grep pyf
pyftpdlib          1.5.7
# ls -l /usr/local/lib/python3.11/site-packages
total 8
drwxr-xr-x. 4 root root 4096 Jan 13 05:30 pyftpdlib
drwxr-xr-x. 2 root root 4096 Jan 13 05:30 pyftpdlib-1.5.7-py3.11.egg-info

* behave works OK in F37, python3-behave-1.2.6-17.fc37

Comment 1 Eva Mrakova 2023-01-20 13:33:19 UTC
Additional info:

when pyftpdlib is imported directly from python, it works OK:
# python3
Python 3.11.1 (main, Jan  6 2023, 00:00:00) [GCC 12.2.1 20221121 (Red Hat 12.2.1-4)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from pyftpdlib.authorizers import DummyAuthorizer
>>> import pyftpdlib
>>>

Comment 2 Ali Erdinc Koroglu 2023-01-25 09:54:47 UTC
Package unretirement issue created: https://pagure.io/releng/issue/11242

Comment 3 Fedora Update System 2023-01-30 10:16:35 UTC
FEDORA-2023-e9b7221e78 has been submitted as an update to Fedora 37. https://bodhi.fedoraproject.org/updates/FEDORA-2023-e9b7221e78

Comment 4 Fedora Update System 2023-01-30 10:16:36 UTC
FEDORA-2023-73c88d3686 has been submitted as an update to Fedora 36. https://bodhi.fedoraproject.org/updates/FEDORA-2023-73c88d3686

Comment 5 Fedora Update System 2023-01-31 01:48:33 UTC
FEDORA-2023-e9b7221e78 has been pushed to the Fedora 37 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-e9b7221e78`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-e9b7221e78

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 6 Fedora Update System 2023-01-31 02:28:19 UTC
FEDORA-2023-73c88d3686 has been pushed to the Fedora 36 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-73c88d3686`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-73c88d3686

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 7 Ben Cotton 2023-02-07 15:14:09 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 38 development cycle.
Changing version to 38.

Comment 8 Fedora Update System 2023-02-08 01:02:19 UTC
FEDORA-2023-e9b7221e78 has been pushed to the Fedora 37 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 9 Fedora Update System 2023-02-08 01:55:53 UTC
FEDORA-2023-73c88d3686 has been pushed to the Fedora 36 stable repository.
If problem still persists, please make note of it in this bug report.