Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Symbolic link in plugin directory pointing to itself causes issues in plugin install #201

Open
MartinFlores751 opened this issue Apr 29, 2024 · 2 comments
Labels
bug Something isn't working

Comments

@MartinFlores751
Copy link
Contributor

Mini explanation

When running the test for prep (initially concurrently) tests would fail. Tried running serially, still got an error.
Adding some more verbosity, the error seems to be that the installation process may be trying to do something recursive?

Issue Notes:

Command executed (after sourcing testing virtualenv):

python3 /home/marflo/Documents/iRODS/irods_testing_environment/run_plugin_tests.py --project-directory /home/marflo/Documents/iRODS/irods_testing_environment/projects/rockylinux-9/rockylinux-9-postgres-14.8/ --irods-package-directory /home/marflo/Documents/iRODS/build-artifacts/rockylinux-9/packages/ --output-directory /home/marflo/Documents/iRODS/build-artifacts/rockylinux-9/logs/ --plugin-package-directory /home/marflo/Documents/iRODS/build-artifacts/rockylinux-9/prep -vv irods_rule_engine_plugin_python

From the logs (with extra before & after error):

...
2024-04-29 12:47:32,655 - [rockylinux-9-postgres-148_irods-catalog-provider_1]: running test [None]                                                                                                                
2024-04-29 12:47:34,266 - Processing /tmp/tmpz9gyo_bk/irods_python_ci_utilities                                                                                                                                    
                                                                                                                                                                                                                   
2024-04-29 12:47:34,266 -   DEPRECATION: A future pip version will change local packages to be built in-place without first copying to a temporary directory. We recommend you use --use-feature=in-tree-build to t
est your packages with this new behavior before it becomes the default.                                                                                                                                            
   pip 21.3 will remove support for this functionality. You can find discussion regarding this at https://github.com/pypa/pip/issues/7555.                                                                         
                                                                                                                                                                                                                   
2024-04-29 12:47:34,607 - Using legacy 'setup.py install' for irods-python-ci-utilities, since package 'wheel' is not installed.                                                                                   
                                                                                                                                                                                                                   
2024-04-29 12:47:34,732 - Installing collected packages: irods-python-ci-utilities                                                                                                                                 
                                                                                                                                                                                                                   
2024-04-29 12:47:34,734 -     Running setup.py install for irods-python-ci-utilities: started                                                                                                                      
                                                                                                                                                                                                                   
2024-04-29 12:47:35,084 -     Running setup.py install for irods-python-ci-utilities: finished with status 'done'                                                                                                  
                                                                                                                                                                                                                   
2024-04-29 12:47:35,093 - Successfully installed irods-python-ci-utilities-0.1                                                                                                                                     
                                                                                                                                                                                                                   
2024-04-29 12:47:35,093 - WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instea
d: https://pip.pypa.io/warnings/venv                                                                                                                                                                               
                                                                                                                                                                                                                   
2024-04-29 12:47:37,879 - Traceback (most recent call last):                                                                                                                                                       
  File "/tmp/tmpcaq1wrbz/irods_rule_engine_plugin_python/irods_consortium_continuous_integration_test_hook.py", line 46, in <module>                                                                               
                                                                                                                                                                                                                   
2024-04-29 12:47:37,880 - Last metadata expiration check: 0:00:28 ago on Mon Apr 29 17:47:08 2024.                                                                                                                 
Dependencies resolved.                                                                                                                                                                                             
Nothing to do.                                                                                                                                                                                                     
Complete!                                                                                                                                                                                                          
                                                                                                                                                                                                                   
Last metadata expiration check: 0:00:29 ago on Mon Apr 29 17:47:08 2024.                                                                                                                                           
Not a valid rpm file path: /home/marflo/Documents/iRODS/build-artifacts/rockylinux-9/prep/Rocky linux_9/Rocky linux_9                                                                                              
                                                                                                                                                                                                                   
Error: Nothing to do.                                                                                                                                                                                              
                                                                                                                                                                                                                   
                                                                                                                                                                                                                   
2024-04-29 12:47:37,880 -     main()                                                                                                                                                                               
  File "/tmp/tmpcaq1wrbz/irods_rule_engine_plugin_python/irods_consortium_continuous_integration_test_hook.py", line 25, in main                                                                                   
                                                                                                                                                                                                                   
2024-04-29 12:47:37,881 -     irods_python_ci_utilities.install_os_packages_from_files([os.path.join(plugin_dir, entry) for entry in os.listdir(plugin_dir)])                                                      
  File "/usr/local/lib/python3.9/site-packages/irods_python_ci_utilities/irods_python_ci_utilities.py", line 139, in install_os_packages_from_files                                                                
                                                                                                                                                                                                                   
2024-04-29 12:47:37,881 -     dispatch_map[get_distribution()](files)                                                                                                                                              
  File "/usr/local/lib/python3.9/site-packages/irods_python_ci_utilities/irods_python_ci_utilities.py", line 115, in install_os_packages_from_files_dnf                                                            
                                                                                                                                                                                                                   
2024-04-29 12:47:37,881 -     subprocess_get_output(args, check_rc=True)                                                                                                                                           
  File "/usr/local/lib/python3.9/site-packages/irods_python_ci_utilities/irods_python_ci_utilities.py", line 64, in subprocess_get_output

2024-04-29 12:47:37,882 -     raise RuntimeError('''subprocess_get_output() failed
RuntimeError: subprocess_get_output() failed
args: (['sudo', 'dnf', 'localinstall', '-y', '--nogpgcheck', '/home/marflo/Documents/iRODS/build-artifacts/rockylinux-9/prep/Rocky linux_9/irods-rule-engine-plugin-python-4.3.2.0-0.el9.x86_64.rpm', '/home/marflo/Documents/iRODS/build-artifacts/rockylinux-9/prep/Rocky linux_9/Rocky linux_9'],)
kwargs: {'stdout': -1, 'stderr': -1}
returncode: 1
stdout: Last metadata expiration check: 0:00:29 ago on Mon Apr 29 17:47:08 2024.
Not a valid rpm file path: /home/marflo/Documents/iRODS/build-artifacts/rockylinux-9/prep/Rocky linux_9/Rocky linux_9

stderr: Error: Nothing to do.



2024-04-29 12:47:37,907 - [rockylinux-9-postgres-148_irods-catalog-provider_1]: cmd [1] [['python3', '/tmp/tmpcaq1wrbz/irods_rule_engine_plugin_python/irods_consortium_continuous_integration_test_hook.py', '--built_packages_root_directory', '/home/marflo/Documents/iRODS/build-artifacts/rockylinux-9/prep']]
2024-04-29 12:47:37,907 - [rockylinux-9-postgres-148_irods-catalog-provider_1]: test failed [[   5.2512]s] [all tests]
2024-04-29 12:47:37,907 - [rockylinux-9-postgres-148_irods-catalog-provider_1]: Queue is empty!
2024-04-29 12:47:37,908 - [rockylinux-9-postgres-148_irods-catalog-provider_1]: tests that failed [[(None, 5.251229763031006)]]
2024-04-29 12:47:37,908 - [rockylinux-9-postgres-148_irods-catalog-provider_1]: some tests failed
2024-04-29 12:47:37,909 - [[1]]
2024-04-29 12:47:37,909 - [[1]]
2024-04-29 12:47:37,909 - ==== begin test run results ====
...

Directory of prep looks like so:

marflo@westwing:~/Documents/iRODS$ ls -l build-artifacts/rockylinux-9/prep
total 2144
-rw-r--r-- 1 root   root   2194183 Apr 29 09:51  irods-rule-engine-plugin-python-4.3.2.0-0.el9.x86_64.rpm
lrwxrwxrwx 1 marflo marflo       1 Apr 29 09:29 'Rocky linux_9' -> .

Mini Note

This might be prep specific? This sym-link style worked with some other plugins (curl, index, logical, metadata).

@MartinFlores751 MartinFlores751 added the bug Something isn't working label Apr 29, 2024
@alanking
Copy link
Contributor

Just noting here that this may be an issue for https://github.com/irods/irods_python_ci_utilities rather than the testing environment. But let's keep it here for now.

@SwooshyCueb
Copy link
Member

I have not observed this issue myself, despite using symbolic links like this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Development

No branches or pull requests

3 participants